* Designer Logo Sevran
***Web2007 est un bureau indépendant situé à Genève et a l'habitude de travailler pour des entreprises PARTOUT en France et en Europe
Designer Logo Sevran
Article:
La gestion de versions (en anglais version control ou revision control) permet d'entretenir l'ensemble des versions d'un ou plusieurs fichiers (généralement en texte). Essentiellement usée dans le domaine de la création de logiciels, elle concerne surtout la gestion des codes source. Cette activité étant fastise et relativement complexe, un appui logiciel est presque indispensable. À cet effet, il existe différents logiciels de gestion de versions qui, bien que disposant des concepts communs, apportent chacun leur propre vocabulaire et leurs propres usages. À titre d'exemple, on trouve un mécanisme élémentaire de gestion de versions dans Wikipédia : pour chaque article, l'historique est disponible en cliquant sur le lien Afficher l'historique ; chaque ligne forme une version de l'article. Un tel système est gondole, par opposition à une gestion de contenu plus élaborée, selon une structure arborescente.
Les logiciels évoluant, chaque étape d'avancement est baptisée version (ou revision). Les différentes versions sont nécessairement liées à travers des modifications (diff ou patch) : une modification est un ensemble d'ajouts, de modifications, et de suppressions de données. Schématiquement, on passera de la version N à la version N + 1 en appliquant une modification M. Un logiciel de gestion de versions applique ou retire ces modifications une par une pour fournir la version du fichier voulue.
On choisit parfois le terme « révision » afin de ne pas confondre la version d'un fichier et la version d'un logiciel, qui reste une étape de distion sous forme "finie", c'est-à-dire principalement binaire. Une modification constitue donc l'évolution entre deux versions. On peut donc aussi bien exprimer la différence entre deux versions que de modifications ayant amené à une nouvelle version.
On opte généralement pour la gestion de versions à un ensemble de fichiers qui constitue un projet. De ce fait, il est courant de parler de modifications pour un seul fichier et d'ensemble de modifications (change set) lorsqu'il s'agit du projet (et donc de plusieurs fichiers). En effet, les deux n'évoluent pas au même rythme.
Pour illustrer, prenons l'exemple d'un logiciel susnommé « Toto ». Il est constitué des fichiers A, B et C. À la version 1.0 de « Toto » correspondent les versions 1.0 de chacun des fichiers. Admettons que l'adjonction d'une fonctionnalité à « Toto » impose la modification de A et de C.
Les fichiers versionnés sont mis à dispositions sur un dépôt, c'est-à-dire un espace de stockage public géré par un logiciel de gestion de versions. Pour pouvoir réaliser des modifications, le développeur doit d'abord faire une copie locale des fichiers qu'il souhaite modifier, ou de tout le dépôt. Selon les systèmes de gestion de version, certains fichiers peuvent être verrouillés ou protégés en écriture pour tout le monde, ou pour certaines personnes.