Devenez votre propre Webmaster

Pourquoi créer une plateforme de test pour votre site Internet

sécuriser votre site InternetQuand j'ai débuté dans l'ingénierie Informatique, dans le milieu des télécoms, l'air de l'industrie informatique en était encore à ses débuts. De très grosses erreurs furent faites et beaucoup ont porté préjudice au business des plus grands opérateurs de la planète. Beaucoup de ces erreurs auraient pu être évitées et des dizaines de millions d'euro auraient pût être économisés.

Quand les clients ne peuvent plus accéder au site Internet, on ne vend plus !

Pour éviter ces erreurs,  il suffit de respecter quelques règles de bases, faciles à mettre en place et c'est ce que je vous propose de voir dans cet article. Surtout la première règle des règles ... on ne fait pas n'importe quoi sur la machine de production !

Pourquoi aurais-je besoin d'une plateforme de test pour mon site Internet ?

Le site web de votre entreprise est votre vitrine, votre contact avec vos clients. Si comme moi, vous avez un site marchand où vos clients peuvent commander en ligne, il est dans votre Intérêt que votre site ne connaisse pas de panne, même de courte durée. Cela nuira à vos ventes et ça nuira aussi à votre réputation.

On appelle généralement le site Internet accessible par vos clients le "live" ou le "site de production". Je vous préviens que vous compreniez mes propos à venir.

Qu'est ce qui pourrait mettre hors service votre site Internet ?

Énormément de choses :

  • Un piratage,
  • Une attaque DDoS,
  • Une erreur machine, comme une erreur d'écriture de disque,
  • L'inaccessibilité du serveur de base de données
  • Une mise à jour de votre CMS qui tourne mal,
  • Une mise à jour d'un plugin qui tourne mal,
  • Une incompatibilité du fait d'une nouvelle installation,
  • Une erreur de programmation lors d'une mise à jour,
  • Les tests d'intégration, directement sur le site de production.

Utilité d'une plateforme de test pour mon site Internet

Même si une machine de test, ne pourra pas vous éviter les attaque DDoS ou la défaillance machine, elle vous évitera toutes les erreurs de manipulation ou de mise à jour. La machine de test vous permettra

  • de réaliser vos tests de performance, pour mesurer l'amélioration qu'apporte vos optimisations,
  • de réaliser vos modifications applicatives pour tester vos nouvelles fonctions,
  • de mesurer l'impact de vos modifications sur un panel de testeurs,
  • de tester les mises à jours de vos extensions (plugins), que vous ne développez pas vous-même,
  • Faire vos tests d'intégration d'un nouveau plugin.
  • ..

Comment créer une plate-forme de test pour votre site Internet ?

De quoi avez-vous besoin, pour créer une plate-forme de test de votre site Internet ?

Faire fonctionner un site Internet en terme de ressources est assez simple. Vous avez besoin

  • D'un serveur Web
  • D'un serveur d'application ou un CGI
  • D'un serveur de base de données
  • Une base de données
  • L'applicatif de votre site (la page Internet)

Les deux derniers éléments sont installés automatiquement par votre CMS quand vous l'installé. Il vous suffit donc de disposer d'un serveur Internet (souvent apache) et d'un serveur de base de données (souvent MySql).

Vous pouvez disposer de ces trois serveurs facilement dans des solutions "tout en un" qui s'installe sur votre ordinateur comme tous les autres logiciels.

Les CMS standard qui constituent 90% des sites Internet que vous pouvez croiser, fonctionnent sur les serveurs Web Apache, utilisent PHP en serveur d'application et MySql pour le serveur de base de données.

Chez vous sur votre ordinateur PC ou votre Macintosh

Il existe plusieurs possibilités, faciles à mettre en place sur votre propre ordinateur. L'avantage de cette solution est que vous ne risquez pas de créer des problèmes sur votre site Internet de production. Par exemple en créant par erreur une boucle infinie dans l'applicatif de votre site, vous pouvez  ralentir, voir effondrer, les performances de votre site.

En manipulant les données dans la base, vous ne risquez pas de mettre à mal votre site de production en effaçant par erreur les données de votre site Internet.

Pour les ordinateurs type PC

Pour les ordinateurs PC il existe deux solutions très connues parmi d'autres et qui proposent les mêmes serveurs que ce que vous trouvez sur la très grande majorité des hébergeurs de sites Internet :

  • EasyPhp : qui permet d'utiliser un serveur Web Apache, avec un serveur application PHP et un serveur MySql
  • WampServer : comme le précédent, propose les serveurs Web Apache, application PHP et MySql

C'est deux solutions s'installent très simplement en double cliquant sur un fichier télécharger depuis le site de ces distributions. Ensuite,  vous n'aurez plus qu'à démarrer les serveurs comme vous démarrer n'importe quels logiciels et d'ouvrir votre navigateur Web pour vous rendre sur votre site local à l'adresse "http://localhost" ou "http://127.0.0.1"

Vous pourrez créer autant de sites Web locaux que vous en avez besoin sur votre PC. Il vous suffira de faire un export de votre site Internet de production et d'importer les pages et les données sur la copie de votre Ordinateur.

Pour les ordinateurs type Macintosh

Pour Macintosh, le problème est que, même si cet OS est déjà livré avec un serveur Apache et PHP, il y a quelques manipulations à réaliser,  en plus d'installer trois éléments pour Mysql. Il faut configurer le serveur Apache, le serveur Mysql et PHP pour que ces trois éléments fonctionnent ensemble. Cela devra faire le sujet d'un article à part, car trop long pour expliquer ici.

Avantages et inconvénients de cette méthode

Le premier avantage de cette méthode est que vous n'avez pas besoin de transférer vos fichiers sur le serveur de votre site à chaque petite modification pour observer le résultat sur votre navigateur. Il suffit de recharger la page pour observer les modifications rapidement.

Un autre avantage est que si vous faites attention de ne pas ouvrir en même temps une session sur votre site de production et une sur votre site local sur votre Ordinateur sur le même navigateur Internet, vous n'avez aucune possibilité de modifier par erreur le live en pensant être sur le site de test. Croyez-moi ça peut arriver si on ne fait  pas attention et plus vite qu'on ne le pense. Généralement si j'ai réellement besoin d'avoir une session sur le site de production en parallèle du site de test, j'ouvre une session sur Firefox et l'autre avec Google Chrome. Mais tant que possible je n'ouvre pas de session parallèle sur le site de production et le site de test.

Par contre, il faudra bien gérer votre politique de versionning pour ne pas écraser l'ancienne version sans possibilité de revenir en arrière.

Un autre inconvénient est que dans ce cas, l'environnement du site de test n'est pas le même que l'environnement du site de production. Par exemple si vous développez le site de test sur un OS comme Windows et que votre site de production est sur un OS comme Linux, il peut y avoir des différences de réactions de l'applicatif. Même si la version de Windows que vous utilisez sur votre ordinateur n'est pas la même que celle du serveur où se trouve votre site, cela peut avoir des conséquences.

Sur le même hébergement que votre site Internet de production

Cette seconde solution est possible de plusieurs façons.

La première chose à faire et commune à toutes les solutions, c'est de créer un sous répertoire dans le répertoire où se trouve déjà votre site Web. Par exemple un répertoire du nom "version-test" Pour accéder à cette seconde installation il vous suffira de le faire par l'URL "http://www.monsite.com/version-test" dans notre exemple.

Deux solutions pour la base de données

Soit vous disposez de deux bases de données MySql et dans ce cas, au moment de l'installation de la version test de votre CMS dans le sous-répertoire, il faudra indiquer l'accès de la base de données non utilisé.

Soit vous ne disposez que d'une seule base de données MySql et dans ce cas, la plupart des CMS standards permettent de définir le préfixe des tables de la base de données lors de l'installation. Il vous suffira de définir un préfixe différent que l'installation "live" de votre site. Par conte j'ai déjà rencontré des problèmes avec cette méthode, car certains plugins ne respectent pas la norme du CMS et n'utilise pas le préfixe standard pour les tables créées par le plugin. Du coup avec deux installations dans la même base de données il peut y avoir des conflits concurrentiels sur ces tables.

Avantages et inconvénients de cette méthode

L'avantage est que les tests sont réalisés exactement dans le même environnement que votre site de production.

Par contre, il faudra bien gérer votre politique de versionning pour ne pas écraser l'ancienne version sans possibilité de revenir en arrière.

Un autre inconvénient est qu'il vous faudra transférer à chaque fois, les fichiers modifiés depuis votre ordinateur vers la plate-forme de test, pour vérifier le résultat des modifications.

Un autre inconvénient majeur est que si l'installation du CMS utilise la même base de données, il vous faudra bien vérifier de ne pas vous tromper si jamais vous deviez modifier des données dans vos tables.

Idem pour les fichiers, il vous faudra bien de vérifier qu'à chaque transfère vous ne fassiez pas d'erreur et que vous ne transfériez pas vos modifications sur la plate forme de production en pensant être sur la plate forme de test.

En conclusion

La plateforme de test est primordiale pour tester toutes les modifications et en étudier les impacts et les bugs avant de mettre ces modifications sur le site de production.

Pour ma part, j'ai un site de test pour chacun de mes sites et blogs sur mon ordinateur, où je fais toutes mes modifications et ma batterie de tests. J'ai un second site de test pour chacun de mes sites et blog sur le même serveur que mes sites de productions pour tester les modifications sur le même environnement que le site de production.

Cette technique est celle que j'ai utilisé pendant les années d'ingénierie pour que le site de production de mes clients ne connaissent pas de problème lors des évolutions de l'applicatives.

 

Posts Similaires
A propos de

Consultant en informatique et concepteur de sites Internet.

Il a travaillé pendant plus de quinze ans pour une multinationale dans le secteur de l'ingénierie Informatique.

Durant ces années, il a participé à des projets sur les systêmes de facturation et la conception des sites Internet de différentes Banques et opérateurs téléphonique à travers le monde

Senior Analyst Programmer/Team Leader, il a participé et dirigé des projets sur les plus gros clusters d'Europe.

Il habite à Paris, en ile de France .

Le Site :

Le Blog :

4 commentaires pour "Pourquoi créer une plateforme de test pour votre site Internet"
  • Philoubtz64
    C' ça le Net
    Commentaire 452

    Encore un article fort intéressant.

    Le site de test est aussi utile au moment de la création d'un site internet, puisqu'il permet de tester le design et les divers widgets ou application.
    Je suis en plein dedans en ce moment

    • C' ça le Net
      Commentaire 454

      Oui effectivement, il ne faut pas non plus développer son site en live. Il faut le développer en local ou au moins ne pas le rendre accessible tant qu'il n'est pas entièrement fini.




  • C' ça le Net
    Commentaire 1239

    Le test devient actuellement une poste intéressante et à exiger, pourquoi ? Les développeurs n’arrivent pas à gérer tout et à reconnaitre leurs erreurs. C’est une très bonne solution de mettre en place une plateforme pour tester un site. Pour une meilleure création sans avoir centaines bugs, je recommande énormément cette idée!

  • Eric Bertolaso
    C' ça le Net
    Commentaire 3960

    Bonjour Benoit,
    Merci pour cet article très intéressant. Il devrait aider beaucoup de débutants. Mais il est dommage que tu ne laisses pas la possibilité de conserver tes articles sur leurs bibliothèques numériques dans leur machines, pour les consulter quand ils en ont besoin. Tu es un des rares qui fait cela, en général notre communauté s'entraide, s'épaule mais ne rend jamais ses articles "Privateurs". Laisses les "Microsoft", "Apple", et les autres avoir ce genre de comportement, mais pas toi, Benoit ! Tu es un pure, un vrai dans notre métier, soit bon et partageur ! De quoi as tu peur ? Tes articles peuvent sans problèmes être copiés par l'un d'entre nous. Mais ceux à qui ils sont vraiment destinés, eux ne peuvent pas garder une trace de ton travail ! Et progresser grâce à toi ! Tu es "stérile" dans notre communauté tu ne produit rien, pour ceux qui ont le plus besoin de "chefs de file" dans le monde du numérique qui est le nôtre. Notre génération a le devoir d'enseigner l'informatique à TOUS et dans TOUT les domaines. Tu as un don particulier ? Fais en profiter tes congénères !
    Réfléchis, enlèves tes "verrous" et à ma prochaine visite chez toi je saurais si tu es vraiment avec nous, digne de la mission qui est la nôtre.
    EB.
    PS. Tu te rends compte que l'on ne peut même pas corriger nos fautes en bloquant le clic droit, ni même garder une copie du message que nous t'adressons ?