Gestion de version : définition & objectifs
C’est un outil (logiciel) permettant d’enregistrer, de suivre et de gérer plusieurs versions d’un fichier ou d’un code source. Il permet d’établir un historique de toutes les modifications effectuées sur un élément, pour ainsi avoir la possibilité de récupérer une version antérieure selon la date et l’heure de la sauvegarde, et ce en cas d’erreur ou de problème sur une version actuelle.
Le premier objectif d’un gestionnaire de version est de garder un historique des différentes mises à jour d’une application ou d’un logiciel.
Le second objectif permet un meilleur travail collaboratif : gestion de plusieurs versions du code source.
Qui est concerné ?
Les éditeurs de logiciels et tous les développeurs de tous les domaines d’activités sont concernés. Chacun est amené à travailler sur différentes parties du code source lors d’un développement logiciel. Il est donc important d’installer un logiciel de gestion de version pour optimiser ce travail en équipe et s’y retrouver.
Comment ça marche ? Quelles sont les notions de base ?
Il faut comprendre les notions de base de dépôt, copie locale, lecture et écriture.
- Dépôt : espace de stockage public géré par le logiciel de gestion de version.
- Copie locale : copie d’une version en local
- Lecture : téléchargement d’un fichier situé sur le dépôt
- Écriture : soumettre les modifications sur le dépôt
Les étapes d’un système de gestion de version :
1 – X et Y récupèrent un fichier situé sur le dépôt et font une copie locale sur leurs postes de travail.
2 – Ils effectuent leurs modifications et X « écrit » sur le dépôt (soumission de sa version)
3 – Y souhaite aussi écrire sur le dépôt, mais avant de le faire, il doit récupérer la dernière version (lecture du dépôt) et la fusionner avec la sienne
4 – Y peut maintenant écrire sur le dépôt et X pourra récupérer cette version ultérieurement.
Logiciels de gestion de version centralisée et décentralisée
Gestion de version centralisée
Il n’y a qu’un seul dépôt disponible, on parle de dépôt centralisé. Ce système de gestion centralisé présente des avantages en termes de fiabilité, mais aussi des inconvénients en termes d’échanges entre les dépôts et entre les copies locales impossibles et avec un temps de mise à jour long.
Exemple de logiciels de gestion de version centralisée : CVS (Concurrent Version Système) et Apache Subversion.
Gestion de version décentralisée
Ici, les développeurs possèdent leurs propres dépôts et leur propre copie locale. L’intérêt d’un gestionnaire de version décentralisée est de permettre la communication entre les dépôts locaux : possibilité de cloner ces dépôts et de « lire/écrire » depuis un dépôt vers un autre. À la différence du système de gestion de version centralisée, il est possible de travailler hors connexion. Aussi, chacun peut travailler à son rythme sur son dépôt local et permet d’avoir plus de sécurité, car il n’y a pas qu’un seul dépôt de référence, mais plusieurs.
Exemple de logiciels de gestion de version centralisée : GNU Arch, Git et Mercurial.
Éditeurs de logiciels : se faire accompagner par des experts
Faire appel à un expert Linux vous permet de bénéficier de conseils dans le choix d’un système de gestion de version adapté à vos besoins. Il vous garantit également la bonne installation du logiciel. Consultez notre offre dédiée aux éditeurs de logiciels et contactez-nous pour plus d’information.
Les commentaires sont fermés.