Blog post main image

Avez-vous peur que quelque chose tourne mal avant une mise en œuvre ?

Introduire des changements sur un site web est le moment où le site du client est le plus vulnérable aux erreurs. De nombreuses blagues partagées parmi les développeurs concernent des implémentations faites avant des dates importantes. Chez Droptica, nous avons développé un système qui nous évite de craindre les implémentations - même le vendredi ;)

Problème lors de l'implémentation des changements

Pourquoi l'implémentation de changements sur un site web en fonctionnement le rend-il plus vulnérable aux erreurs ? 
Supposons que vous ayez un site web tout prêt qui sert des centaines de clients par jour. Tous ses éléments ont été minutieusement testés et fonctionnent bien ensemble. Mettre un tel site hors ligne pour tester tranquillement de nouvelles fonctionnalités n'est pas une option, car cela signifierait des pertes pour le propriétaire du site. En même temps, ajouter un élément qui n'était pas précédemment dans le système signifie courir le risque que son fonctionnement bloque les parties existantes. La situation peut s'avérer dangereuse, surtout si l'erreur n'est pas détectée à temps, car l'implémentation a eu lieu juste avant le week-end ou les vacances. De nombreuses histoires sont partagées sur Internet à propos de ces cas - ainsi que d'innombrables mèmes. 

Lors de l'implémentation, vous devez vous assurer que tout a été vérifié et testé, et qu'il n'y aura pas de problèmes avec la version "live" d'un site web. C'est un peu comme essayer d'attacher des wagons de chemin de fer à un train en marche... Alors comment se fait-il que l'équipe de maintenance et de support chez Droptica ajoute régulièrement de nouvelles fonctionnalités à des sites web existants sans les casser ?

Test de sites web

CodeCeption

CodeCeption est un framework populaire qui permet de créer des tests logiciels automatisés. En utilisant CodeCeption, vous pouvez créer les tests suivants, parmi d'autres :

  • tests unitaires
  • tests d'acceptation
  • tests fonctionnels

Des tests approfondis – parfois répétés plusieurs fois – de chaque morceau de code avant de l'introduire dans la version de production d'un site web vous permettent de détecter très tôt les erreurs et d'éviter les retards. Cela est dû au fait que l'équipe ne perd pas de temps à tester manuellement chaque morceau de code et peut se concentrer sur la fourniture des prochaines fonctionnalités demandées par le client.

VisualCeption

VisualCeption est un outil que nous utilisons pour les tests graphiques de tous les sites web. Lors du premier lancement, le programme crée une capture d'écran qui servira de base pour les comparaisons. Les tests suivants créent une série de captures d'écran qui sont comparées à l'original. Sur leur base, vous obtenez des informations sur le pourcentage de changements par rapport à l'original. Par exemple, vous savez si après l'introduction de changements, les bonnes proportions d'une image ou la taille et le style de la police ont été respectés. Ceci est particulièrement important pour les sites web dont l'apparence est une priorité.

Vous pouvez en savoir plus sur VisualCeption pour automatiser les tests de vos projets sur notre blog.

Avec CodeCeption et VisualCeption, vous pouvez être sûr à 100% que vous n'avez rien cassé sur votre site :) Nous fournissons plus d'informations sur les possibilités de ces outils utiles dans les articles liés.

Système de contrôle de version et conservation des changements de code

Introduire de nouvelles fonctions, améliorer les anciennes ou supprimer les éléments inutiles ou incorrects sont tous des éléments naturels du cycle de vie de chaque site web. Les sites web changent et évoluent. Leur code doit donc également être soumis à des changements. Il est important de pouvoir suivre ces changements et de restaurer rapidement la version correcte en cas de problème. 
Restaurer la version complète d'un site web à partir d'une sauvegarde, alors qu'un petit élément nécessite uniquement une correction, peut être fastidieux et long. Au lieu de cela, nous utilisons le système de contrôle de version (GIT) et gardons tous les changements dans les branches appropriées du code. Cela présente de nombreux avantages :

  • Il nous permet de suivre les changements dans toutes les versions du code.
  • Il permet à plusieurs développeurs de travailler indépendamment sur le site web.
  • Il fournit une sauvegarde du site web facile à modifier.
  • Il conserve tout le code en un seul endroit - aucun script supplémentaire n'est envoyé par e-mail ou autres moyens.
  • Il permet la création rapide de versions de test.

Déploiement en un clic

L'automatisation du processus de développement et de test logiciel nous a également permis d'automatiser l'implémentation du code vers la version de production d'un site web. Parfois, appeler l'implémentation de nouveaux changements en production se fait littéralement en "appuyant sur un bouton" ou en lançant un script. L'équipe peut ainsi envoyer de petits changements plus fréquemment, même quotidiennement. Si une erreur se produit, au lieu de parcourir de nombreuses lignes de code pour trouver le "coupable", il est beaucoup plus facile de localiser la cause du problème. Le client obtiendra la fonction plus rapidement et sera certain qu'elle fonctionne correctement avec le reste du site. 

Réflexions finales

Le processus que nous avons développé rend non seulement l'introduction de changements sûre mais assure aussi que le site web reste stable même s'il est fréquemment modifié. La bonne approche nous permet également d'introduire rapidement des changements, ce qui, à son tour, fait gagner du temps et de l'argent à nos clients. En conséquence, le client et l'équipe tirent plus de satisfaction de la coopération et du développement du projet. Le site web du client peut évoluer selon les besoins de son entreprise, réussissant avec chaque implémentation.

As part of Drupal support, we maintain existing websites and expand them with new functionalities