Développement des systèmes informatiques
Introduction
Voir aussi :
- un logiciel de gestion de versions ("version control", "revision control") est un logiciel
qui permet de stocker plusieurs ressources informatiques et qui permet de récupérer toutes les versions
intermédiaires des ressources, ainsi que les différences entre les versions
- indispensable dans le développement d'un système informatique
exemple : l'historique d'un article de Wikipédia)
- les possibilités pour les développeurs d'accéder en même temps à un même fichier pour le modifier;
les développeurs sont souvent dispersés dans le monde entier
- les fichiers versionnés sont mis sur un dépôt ("repository");
pour pouvoir effectuer des modifications, le développeur doit faire une copie locale des fichiers qu'il souhaite modifier, ou de tout le dépôt;
le développeur fait des modifications et effectue ses tests localement, indépendamment des modifications faites sur le dépôt par d'autres développeurs;
il doit ensuite soumettre ses modifications ("commit"), afin qu'elles soient enregistrées sur le dépôt.
Stockage de données
- les données sont organisées sur le serveur sous forme de modules;
chaque module correspond à un répertoire du nom de ce module;
les fichiers contiennent une
description des modifications apportées par les développeurs par rapport
à la version précédente
- l'image suivante illustre la numérotation de fichiers par CVS
- les développeurs peuvent extraire un ou plusieurs modules sur leur poste local pour faire des modifications
Branches
Les branches sont utilisées pour permettre :
- la maintenance d'anciennes versions du logiciel tout en continuant le développement des futures versions (sur le tronc)
- le développement parallèle de plusieurs fonctionnalités sans bloquer le travail quotidien sur les autres fonctionnalités
Exemple d'arbre de gestion de versions
Source : Wikipedia
Systèmes centralisés et décentralisés