Articles

L’importance de l’environnement de pré-production (sandbox) dans un projet web

Le 18 décembre 2020

Quels sont les différents types d’environnements d’un site web ?

Quel que soit le projet web engagé : refonte, migration, changement de thème ou simplement installation ou mise à jour d’un module, une bonne gestion des différents environnements est indispensable. Mais avant d’entrer dans le vif du sujet, faisons le point sur ce qu’est un environnement en termes de site web.

Dans le cadre d’un projet web, on a tendance à parler d’environnement de développement. C’est un ensemble d’outils et d’applications servant le site web et permettant de développer, gérer les fichiers sources, ou encore travailler directement sur le code source. L’environnement est composé de plusieurs éléments :

  • Une série de services, qui, dans le cadre d’un site web va correspondre au serveur web, à la base de données, à un serveur FTP, un serveur de cache…

  • Un éditeur de code source qui va permettre de réaliser les développements et modifications directement dans le code du site

  • Un gestionnaire de version permettant de conserver une chronologie de toutes les modifications réalisées sur le code source

On pourrait penser qu’un simple environnement de développement soit suffisant pour gérer correctement un site web. Ce n’est évidemment pas le cas. Dans de nombreuses situations, différents environnements seront nécessaires, chacun avec un rôle qui lui est propre :

  • L’environnement de développement : comme son nom l’indique, c’est l’environnement propre au développeur, généralement géré directement par l’agence de développement. Nous l’avons détaillé précédemment, mais c’est dans cet environnement que l’ensemble du travail de modification ou de création sera réalisé. Ces environnements peuvent être démultipliés, notamment avec une version locale.

  • L’environnement de production : il correspond à l’environnement utilisé par le client. Les front et back office d’un site web sont gérés directement sur l’environnement de production. C’est également cet environnement qui sera visible par les moteurs de recherche et par les visiteurs du site web. Il se doit d’être entièrement fonctionnel.

  • L’environnement de pré-production : c’est l’environnement intermédiaire. Il fait le lien entre l’environnement de développement et l’environnement de production. Lorsque des modifications sont réalisées sur la partie développement, elles sont d’abord envoyées en pré-production afin d’être testées pour ensuite passer sur l’environnement de production.
    De nombreux marchands n’ont pas la connaissance ou le temps pour utiliser ce type d’environnement. Ils s’exposent alors à de gros risques en sautant cet intermédiaire et en travaillant directement sur la production. Nous allons analyser en détail l’importance de cet environnement ainsi que les solutions pour l’intégrer efficacement à son projet web.

Qu’est-ce qu’un environnement de pré-production ?

L’environnement de pré-production est l’étape intermédiaire, celle qui permet de tester et valider les modifications réalisées.

Cet environnement n’est généralement pas accessible à tous et est souvent protégé de différentes manières (mot de passe, fichier .htaccess, restrictions par adresses IP etc.) afin de le rendre inaccessible à tous les utilisateurs non désirés ainsi qu’aux moteurs de recherche.

La préproduction est placée sur une autre url que la production, souvent sur un sous-domaine de type preprod.nomdusite.com. L’environnement est identique à celui de production afin que les tests et vérifications réalisés soient pertinents.  

Pourquoi travailler en pré-production ?

Travailler directement sur l’environnement de production est extrêmement risqué. En effet, toute modification apportée à la structure même d’un site web est susceptible de générer une panne. Pour un marchand, une panne signifie automatiquement une perte de chiffre d’affaires. Celle-ci va alors demander une intervention rapide qui va également coûter de l’argent et l’opération sera alors un véritable échec.

C’est pour éviter ce genre de désagrément, qui peut s’avérer vraiment problématique, qu’il est toujours conseillé de travailler et valider les modifications sur un environnement de pré-production. 

Dans quels cas utiliser la pré-production ?

Dans le cadre d’un site internet, et notamment d’une boutique PrestaShop, de nombreuses modifications sont susceptibles de créer des soucis lors de leur intégration. Voici les plus courantes :

  • Installation d’un nouveau thème : le thème PrestaShop va impacter l’ensemble des fichiers templates (.tpl) de la boutique. Ces fichiers contiennent un grand nombre de règles qui définissent l’affichage des éléments du site ainsi que divers fichiers JavaScript et CSS. La modification de ces éléments impacte directement le visuel et il est très vite possible de rendre un type de page (produit, catégorie, etc.) inaccessible à la suite d’une mauvaise manipulation. Ces modifications visuelles peuvent également générer des soucis d’ergonomie véritablement néfastes pour une boutique PrestaShop. L’utilisation d’un environnement de pré-production va ici permettre de réaliser tous les tests nécessaires avant de mettre en ligne les modifications.

  • Installation d’un nouveau module : la solution PrestaShop bénéficie d’un catalogue très riche de modules avec un large spectre d’applications. On peut alors trouver des modules pour gérer le menu principal, la navigation par filtres, le tracking, le paiement ou encore l’affichage de blocs supplémentaires. En fonction de la thématique, il est évident que l’installation de ce type d’application peut avoir un impact considérable sur la boutique. Un module de paiement mal configuré risque d’empêcher les internautes de valider une commande, ce qui signifie automatiquement une perte de chiffre d’affaires. L’internaute risque également de ne plus revenir commander sur la boutique. Un module de menu va directement impacter la navigation et le risque de rendre certaines pages inaccessibles est grand. L’impact sur le fonctionnement et la réputation de la boutique est énorme et peut créer des dégâts irréversibles. Vérifier la compatibilité d’un module avec la version de la solution PrestaShop est primordial, mais ne prémunit pas toujours de rencontrer des problèmes par la suite, lors de l’installation… Encore une fois, le travail de configuration sur un environnement de pré-production reste la solution la plus sûre.

  • Mise à jour d’un module : de la même façon que l’installation d’un nouveau module, une simple mise à jour peut vite casser le fonctionnement du module concerné à cause d’une incompatibilité non anticipée. Il peut en effet arriver que la mise à jour d’un module génère des conflits avec le fonctionnement d’un autre, ou encore, que cela provoque des problèmes d’intégration avec le thème du site. Une mauvaise gestion de la mise à jour peut également déclencher la suppression de certaines modifications qui avaient été apportées préalablement. Si l’on n’a pas fait de sauvegardes en amont, cela peut être un réel problème. Afin d’anticiper ce genre d’incompatibilités, l’environnement de pré-production est nécessaire.

  • Upgrade de la solution : lorsque l’on utilise un CMS (Content Manager System), on utilise une solution en constante évolution. Des outils comme PrestaShop ou WordPress bénéficient régulièrement de mises à jour, tantôt mineures, tantôt majeures. Dans tous les cas, réaliser ces mises à jour sans se soucier de l’impact qu’elles pourraient avoir sur l’ensemble des éléments du site est très risqué. Analyser le backlog des modifications et des éléments impactés est très important, et l’utilisation d’une sandbox pour anticiper les problèmes est primordiale.

  • Autres modifications de fichiers : il arrive que les modules ou thèmes installés ne permettent pas de réaliser les modifications d’affichage et de fonctionnement souhaitées. Dans ce genre de situation, il est possible d’aller directement modifier les fichiers .tpl ou le code des modules. Comme pour toute modification apportée, et particulièrement si l’on n’est pas développeur, on commence généralement par tâtonner. On essaye de comprendre la construction du code, et d’identifier le paramètre qui nous permettra de réaliser la modification souhaitée. C’est dans ce genre de situation que des erreurs sont commises, erreurs qui peuvent impacter et casser des éléments indispensables au bon fonctionnement du site web. L’environnement de pré-production permet alors de répondre à ce besoin, en offrant la possibilité de réaliser les modifications en toute sécurité.

La solution Parachute

S’il semble évident qu’un environnement de pré-production est indispensable à la bonne santé d’un site web, il est important de comprendre ce qui pousse pourtant les e-commerçants à travailler souvent directement en production. Pour qu’une version de pré-production soit parfaitement fonctionnelle, une simple copie de la production ne suffit pas. Il faut procéder à des configurations de fichiers et des modifications d’éléments de la base de données qui nécessitent des compétences techniques, et qui ont un certain coût. C’est dans cette optique que la solution Parachute a été développée.

Qu’est-ce que la solution Parachute ?

Parachute est une solution de clonage de site web vers un environnement de pré-production qui permet de réaliser divers développements, tests et autres opérations techniques sans risquer d’endommager le fonctionnement de la boutique en version de production. Parachute est la solution idéale pour travailler en pré-production. 

En effet, Parachute ne se contente pas de créer une simple copie des fichiers du site en ligne. Lorsque vous clonez votre version de production à travers Parachute, elle est automatiquement configurée pour fonctionner comme si vous travailliez sur le site de production. Pas besoin de compétence technique pour la rendre fonctionnelle, c’est déjà le cas ! D’autre part, vous avez à votre disposition un véritable espace de travail depuis lequel vous pouvez réaliser des sauvegardes à différentes étapes de votre travail, créer des accès personnalisés pour votre webmaster par exemple, ou revenir en arrière si une modification ne vous convient pas. Tous les changements apportés sont visibles et historisés grâce à un outil de suivi performant et peuvent être annulés à tout moment. Lorsque vous êtes convaincu des changements, vous récupérez, en un clic, uniquement les fichiers modifiés qui diffèrent de la version de production pour une publication en toute sérénité.

Combien coûte la solution Parachute ?

Parachute est disponible sur abonnement à partir de 49€ par mois. C’est sans engagement, cela signifie que vous pouvez vous désabonner à tout moment, lorsque vous n’avez plus besoin de travailler sur votre site par exemple, puis vous ré-abonner lorsque vous avez de nouveau besoin de votre Parachute.

La solution peut être testée gratuitement et sans engagement pendant 3 jours. Durant cette période, aucune information bancaire n’est demandée et toutes les fonctionnalités de la solution sont disponibles.