Blogue

Bitbucket et le secret du source control

Bitbucket c’est quoi ?

Imaginez la situation : un site ou une application contient bien souvent des centaines de fichiers de code. Un changement dans l’un de ceux-ci peut avoir des impacts majeurs sur de nombreuses fonctionnalités. Rajoutez à cela de nombreuses modifications par jour, probablement effectuées par plusieurs personnes travaillant sur des aspects différents d’un même projet, et on obtient la recette parfaite pour quelques maux de tête.

Pourquoi cette fonctionnalité donne une erreur ce matin, elle fonctionnait bien hier pourtant ? Qui a modifié menu.css? Est-ce que ces fichiers correspondent à ce qui est déployé en production ?

C’est là que les bons outils et les bonnes pratiques de travail entrent en jeux, dans une équipe de développement efficace. La pierre angulaire en est le logiciel de gestion de versions (communément appelé « source control ».) De tous ces logiciels, l’un des plus populaires est sans aucun doute Git. Voici au minimum comment un programmeur utiliserait un tel logiciel :

  1. Il ou elle obtient la version la plus récente du code du projet entier depuis Git ;
  2. Effectue sa modification localement sur son poste de travail et la teste.
  3. Valide qu’il n’y a pas de conflit avec les plus récents changements concurrents de son équipe ;
  4. Passe en revue ses changements, s’assure que ça correspond à une tâche précise pour les pousser vers le dépôt.

 

« Si du code n’est pas dans le contrôle de source, alors il n’existe pas »

J’ai lu et entendu de nombreuses versions de cette citation, la plus ancienne étant sans aucun doute de ce billet de Coding Horror, où Jeff Atwood écrit « if the code isn’t checked into source control, it doesn’t exist ».

Même le plus petit des projets ne peut s’en passer, et devrait constamment l’utiliser. Hector effectue une modification rapide sur un site, et ne met pas à jour le fichier dans Git. 2 semaines plus tard, Bernard effectue un changement différent. Le lendemain, on constate qu’un problème que l’on croyait déjà résolu est réapparu. Centraliser le code et ses révisions permet d’éviter de tels problèmes.

Décrire et documenter

À défaut de rédiger une documentation exhaustive, un commentaire clair et concis avec un lien vers une tâche dans un logiciel de collaboration tel que JIRA, facilite la recherche à travers l’historique de modification dans un projet. Pouvoir retrouver facilement quelle version a été déployée s’avère également très utile.

Tester

Toute modification devrait être testée pour valider son bon fonctionnement, idéalement avant de la partager avec son équipe. Ça devrait également être effectué sur les versions fusionnées avec les révisions de ses collaborateurs.

Automatiser

Le code des projets est déjà bien géré et versionné ? Pourquoi ne pas automatiser davantage ? Le code peut être récupéré de Git par un serveur d’intégration continue pour être testé, et déployé automatiquement, réduisant les erreurs courantes et oublis pouvant survenir lors d’opérations manuelles.

Un tel outil est incontournable pour notre équipe afin de maintenir la qualité de nos projets. Bitbucket s’avérait pour nous un excellent choix au niveau de la facilité d’utilisation et de la productivité, du prix et des possibilités d’intégrations à d’autres services. Et vous, quel est votre outil de prédilection ?

ARTICLES RÉCENTS

Les 10 raisons de rejoindre l’équipe de GTI
Bénéficiez d’un service en ligne sur mesure avec le Centre de soutien
Que la meilleure équipe gagne !