Un worflow Git éprouvé pour les projets web à moyen ou long terme
Git est un logiciel de gestion de versions décentralisé créé par Linus Torvalds (concepteur du noyau Linux) et distribué selon les termes de la licence GPL v2. Il s’adapte à toutes les typologies de projets et j’ai eu l’occasion d’éprouver un workflow Git très efficace sur un projet web métier (développement d’une GMAO) qui dure depuis maintenant 2 ans.
Je ne vais pas décrire ici le worklow en lui même puisque Florent Lebreton (le designer de ce workflow Git, merci à lui !) l’a très bien fait dans deux posts de blog :
- En français : Un workflow Git efficace pour les projets à moyen/long terme
- En Anglais : An efficient GIT workflow for mid/long term projects
Juste pour donner l’envie de découvrir ce workflow Git, en voici les avantages :
- La branche master est toujours propre et fonctionnelle ;
- Les développeurs n’ont pas à se préoccuper du workflow Git complet ;
- Des corrections peuvent être déployées rapidement, sans stress ;
- Chaque release stable contient les nouvelles fonctionnalités et les éventuelles corrections ;
- Travailler dans des branches systématiquement et utiliser l’option –no-ff permet d’avoir un historique vraiment clair ;
- Ce workflow est évolutif (un accroissement du nombre de branches ou de développeurs n’a pas vraiment d’impact).
La description du projet pour les besoins duquel ce workflow a été mis en place est consultable sur le site de Makina Corpus . Il s’agit d’une application de GMAO (Gestion de Maintenance Assistée par Ordinateur) permettant d’automatiser intégralement le processus de gestion des interventions sur un parc d’équipements (camions, dépôts pétroliers, …) à travers une application web offrant une interface efficace et ergonomique en lien avec les applications métiers de l’entreprise (ERP, gestion des stocks, pré-facturation, …). Cette application est réalisée en Django et Twitter Bootstrap (entre autres).