Boite à outils gestion de projet (orienté web) #3 : Gestion de version / Source Control Management

 

La gestion des versions est un système qui permet de garantir un historique des modifications des fichiers (version) d’où le terme anglais  Source Control Management  . Une gestion des branches est aussi mise en place afin de permettre la maintenance d’anciennes versions (mise à jour de sécurité, etc), de faire des projets divergents mais d’une même base à partir d’un « fork ». Ces gestionnaires de versions sont soit centralisé ou décentralisé.

Les centralisés n’ont qu’un seul dépôt de fichier sur lequel on synchronise notre travail avec des commit, merge, entre autre.Toutefois, nous ne gardons qu’une seule version sur sa machine ce qui est peu intéressant pour ceux désirant changer de version sans connexion au serveur.  Le plus connu/utilisé de ce type est SVN.

 

Les gestionnaires décentralisés, tel que GIT ou Mercurial, fonctionnent de manière indépendante c’est à dire chacun son dépôt de fichier. Chaque dépôt contient l’intégralité des versions et permet de basculer vers une autre version simplement même en mode hors ligne ce qui est pratique pour développer de manière itinérante (train, parc, dans les toilettes d’une station orbitale, chez la grand-mère pendant les feux de l’amour,…).

 

Pourquoi en avoir un?

Tout simplement pour vous permettre de revenir en arrière en cas de régression du code source (votre code qui marchait ne marche plus à cause de changements récents) pour voir les changements opérés entre deux versions. Une autre utilisation serait pour pouvoir scinder un projet en deux ou plus afin de pouvoir avoir un projet qui évolue de deux manières différentes comme une application version lite et une autre version complète ou même deux logiciels partant d’une même base mais étant différents au final.

Lié avec les bons outils, on peut facilement créer un workflow efficace et un déploiement rapide.

 

Solution gratuite d’hébergement de gestion de version :

GitHub, le plus connu et sans doute le plus utilisé permet d’avoir une infinité de dépôt GIT publique gratuit avec une infinité de collaborateurs. Toutefois, pour pouvoir y avoir des dépots privés ou dans le cadre d’un travail professionnel une équipe il faudra débourser quelques dollars/euros. Je ne me suis jamais personnellement servit de Github pour le manque de dépôt privé mais je n’ai eu que des retours positifs pour la plupart des usages. Le service fourni semble robuste et disponible donc à conseiller.

Bettercodes, ce service fourni des dépots GIT ou SVN gratuitement jusqu’à 2GB de stockage. Bien que le service soit relativement bien, il n’y avait pas de suivi des modifications comme dans d’autres outils, par exemple GitHub.

BitBucket a été l’outil que j’ai sélectionné pour mes dépôts, il permet d’avoir des dépôts GIT gratuits et de pouvoir suivre l’évolution de mon code en ligne. Contrairement à GitHub, BitBucket fait payer au nombre de collaborateur là ou GitHub facture au nombre de projet privé.

Tous les services précédemment cités fournissent une gestion de l’équipe afin de pouvoir travailler à plusieurs sur les projets et permet de discuter et de faire des retour divers sur les projets.

Pour résumer, je n’en ai gardé que deux : BitBucket pour les projets personnels et privés  et GitHub pour les projets open sources.

 

Commentaire (0)

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *