La Gestion De Configuration
Total Page:16
File Type:pdf, Size:1020Kb
Gestion de configuration Gestion de versions L'outil Subversion > La gestion de configuration | Suivre l'´evolutionde son produit tout en travaillant en ´equipe Jean-Yves Didier Universit´ed'Evry-Val d'Essonne Jean-Yves Didier La gestion de configuration 1/42 Gestion de configuration Gestion de versions L'outil Subversion > 1 Gestion de configuration 2 Gestion de versions G´en´eralit´es Concepts 3 Subversion : un outil de gestion de version Fonctionnement g´en´eral D´eploiementde subversion Jean-Yves Didier La gestion de configuration 2/42 Gestion de configuration Gestion de versions L'outil Subversion > Probl´ematique Questions classiques • O`use trouve la derni`ereversion en cours de d´eveloppement ? • Quelle version a ´et´evalid´eeet a ´et´efabriqu´ee? • Comment d´efinirun r´ef´erentielcommun entre tous les acteurs d'un projet ? R´esolutiondes probl`emessuivants • La duplication des donn´eesnum´eriques; • La gestion des it´erationset des versions ; • La gestion des configurations ; • La cr´eationd'un r´ef´erentiel; • Le contr^olede l'acc`esaux donn´ees. Jean-Yves Didier La gestion de configuration 3/42 Gestion de configuration Gestion de versions L'outil Subversion > Gestion de configuration (1/3) D´efinition: Gestion de configuration • Instantan´edes caract´eristiquesfonctionnelles et physiques d'un syst`emecon¸cupour r´epondre `aun ensemble d'exigences • Ensemble des activit´es,manuelles ou automatis´ees, permettant d’identifier et de d´efinirles articles de configuration d'un syst`eme et toutes leurs relations ; D´efinition: Article de configuration • Ensembles et sous-ensembles du syst`emequi remplissent une fonction int´eressantles utilisateurs ; • Tout article (document papier, logiciel ou mat´eriel),contenant des informations n´ecessaires`ala r´ealisationd'un projet ou au suivi de cette derni`ere. Jean-Yves Didier La gestion de configuration 4/42 Gestion de configuration Gestion de versions L'outil Subversion > Gestion de configuration (2/3) Caract´erisation • G`erela description technique d'un syst`emeet de ses divers composants (configuration) ; • G`erel'ensemble des modifications apport´eesau cours de l'´evolutiondu syst`eme; • Adapt´eaux syst`emescomplexes. Contraintes sur les articles de configuration • Identifiables de mani`ereunivoque, localisable, archiv´es; • Description des relations de d´ependance entre articles de configuration dans leurs diff´erentesversions. Jean-Yves Didier La gestion de configuration 5/42 Gestion de configuration Gestion de versions L'outil Subversion > Gestion de configuration (3/3) Secteurs int´eress´es • Informatique ; • A´eronautique; • Automobile ; • Armement ; • ... Jean-Yves Didier La gestion de configuration 6/42 Gestion de configuration Gestion de versions L'outil Subversion > Processus affili´es`ala gestion de configuration 4 processus principaux 1 Identification : I Inventaire, identification du p´erim`etreet des composants du syst`eme. 2 Ma^ıtrisede la configuration : I Coh´erencede l'ensemble des donn´ees de la configuration pendant la dur´eede vie du produit. 3 Enregistrement des ´etatsde la configuration : I Ma^ıtrisede l'´evolutionde la configuration et de ses constituants, conservation de l'historique. 4 Audit et revue : I Ad´equationentre la configuration et les exigences formul´ees. Jean-Yves Didier La gestion de configuration 7/42 Gestion de configuration Gestion de versions L'outil Subversion > Enjeu ´economiquede la gestion de configuration Le programme Airbus A380 2005 : Airbus annonce un d´elaidans la production des A380. Probl`eme : industrialisation des c^ablages`ainstaller dans l'appareil (530 km de c^ables); Cause : probl`emesd'interop´erabilit´esentre deux versions du m^emelogiciel : Catia v4 (Espagne, Allemagne), Catia v5 (France, Angleterre) ; Cons´equences: • 18 mois de retard sur le programme ; • Surco^utdu programme : 4,8 milliards d'euros ; • P´enalit´esde retard, annulations de commandes. Jean-Yves Didier La gestion de configuration 8/42 Gestion de configuration Gestion de versions L'outil Subversion > Gestion de configuration et normalisation Normes, r´ef´erentiels,recommandations IEEE 729-1983 IEEE Standard Glossary of Software Engineering Terminology (IEEE : Institute of Electrical and Electronics Engineers); ITILv3 (2011) Information Technology Infrastructure Library (R´ef´erentielde bonnes pratiques) ; ISO/IEC 20000:2011 IT Service Management System Standard ; IEEE 828-2012 IEEE Standard for Configuration Management in Systems and Software Engineering ; RG 000101-105 Recommandations g´en´eralesa´eronautiquesdu BNAE (Bureau de Normalisation de l'A´eronautique et de l'Espace) { 2010. Jean-Yves Didier La gestion de configuration 9/42 Gestion de configuration Gestion de versions L'outil Subversion > Liens entre gestion de configuration et informatique 3 utilisations majeures • Tracer les diff´erentesversions ou r´evisionsde toute information destin´ee`a^etreutilis´ee par un syst`eme; • D´eployer les configurations `atravers un parc informatique sous forme de fichiers et donn´ees; • G´ererle code source de d´eveloppements informatiques. Jean-Yves Didier La gestion de configuration 10/42 Gestion de configuration Gestion de versions L'outil Subversion > 1 Gestion de configuration 2 Gestion de versions G´en´eralit´es Concepts 3 Subversion : un outil de gestion de version Fonctionnement g´en´eral D´eploiementde subversion Jean-Yves Didier La gestion de configuration 11/42 Gestion de configuration Gestion de versions L'outil Subversion > Gestion de versions D´efinition La gestion de versions consiste `amaintenir l'ensemble des versions d'un ensemble ou d'une arborescence de fichiers (Processus 3 de la gestion de configuration). Applications • Suivi de l'´evolutionde la documentation technique ; • Gestion d'art´efactsinformatiques (fichiers CAO, etc.) ; • Gestion du code source d'une application ; Un concept non limit´e`al'informatique Solidworks Entreprise PDM { Dassault Syst`emes. Probl´ematiquedes PLM. Jean-Yves Didier La gestion de configuration 12/42 I Logiciel de contr^olede version git. • Processus assist´epar la machine : Rendre possible une telle cadence de production • Gestion manuelle impossible ; Gestion de configuration Gestion de versions L'outil Subversion > L'exemple du noyau Linux Version 3.2 (avril 2012) De la v 3.1 `ala v 3.2 (source : h-online.com) 1 400 000 lignes modifi´ees, 14 998 651 lignes de code, 200 000 lignes ajout´ees, 37 617 fichiers, 12 608 fichiers modifi´es, 7 800 d´eveloppeurs, 73 jours, 800 entreprises. 6 correctifs/heure. Jean-Yves Didier La gestion de configuration 13/42 I Logiciel de contr^olede version git. Gestion de configuration Gestion de versions L'outil Subversion > L'exemple du noyau Linux (Sujets sensibles au vertige s'abstenir) Version 3.2 (avril 2012) De la v 3.1 `ala v 3.2 (source : h-online.com) 1 400 000 lignes modifi´ees, 14 998 651 lignes de code, 200 000 lignes ajout´ees, 37 617 fichiers, 12 608 fichiers modifi´es, 7 800 d´eveloppeurs, 73 jours, 800 entreprises. 6 correctifs/heure. Rendre possible une telle cadence de production • Gestion manuelle impossible ; • Processus assist´epar la machine : Jean-Yves Didier La gestion de configuration 13/42 Gestion de configuration Gestion de versions L'outil Subversion > L'exemple du noyau Linux (Sujets sensibles au vertige s'abstenir) Version 3.2 (avril 2012) De la v 3.1 `ala v 3.2 (source : h-online.com) 1 400 000 lignes modifi´ees, 14 998 651 lignes de code, 200 000 lignes ajout´ees, 37 617 fichiers, 12 608 fichiers modifi´es, 7 800 d´eveloppeurs, 73 jours, 800 entreprises. 6 correctifs/heure. Rendre possible une telle cadence de production • Gestion manuelle impossible ; • Processus assist´epar la machine : I Logiciel de contr^olede version git. Jean-Yves Didier La gestion de configuration 13/42 A. Bob et Alice effectuent ensemble les modifications `aapporter sur la partie `aAlice ; B. Bob effectue les modifications, les envoie `aAlice qui joue au jeu des 10 diff´erencessur les fichiers ; C. Bob et Alice utilisent un logiciel de contr^olede version, donc Bob effectue les modifications et Alice en b´en´eficieen moins de 10 secondes sans que cela d´emolisseson travail ; Gestion de configuration Gestion de versions L'outil Subversion > Sc´enario D´eveloppement en ´equipe Alice et Bob d´eveloppent de nouvelles fonctionnalit´espour un logiciel. Apr`ess'^etrepartag´esle travail, Bob s'aper¸coitque, pour que sa partie fonctionne, la partie d'Alice doit ^etremodifi´eemais Alice a d´ej`acommenc´e`atravailler. Comment vont-ils s'y prendre ? Jean-Yves Didier La gestion de configuration 14/42 B. Bob effectue les modifications, les envoie `aAlice qui joue au jeu des 10 diff´erencessur les fichiers ; C. Bob et Alice utilisent un logiciel de contr^olede version, donc Bob effectue les modifications et Alice en b´en´eficieen moins de 10 secondes sans que cela d´emolisseson travail ; Gestion de configuration Gestion de versions L'outil Subversion > Sc´enario D´eveloppement en ´equipe Alice et Bob d´eveloppent de nouvelles fonctionnalit´espour un logiciel. Apr`ess'^etrepartag´esle travail, Bob s'aper¸coitque, pour que sa partie fonctionne, la partie d'Alice doit ^etremodifi´eemais Alice a d´ej`acommenc´e`atravailler. Comment vont-ils s'y prendre ? A. Bob et Alice effectuent ensemble les modifications `aapporter sur la partie `aAlice ; Jean-Yves Didier La gestion de configuration 14/42 C. Bob et Alice utilisent un logiciel de contr^olede version, donc Bob effectue les modifications et Alice en b´en´eficieen moins de 10 secondes sans que cela d´emolisseson travail ; Gestion de configuration Gestion de versions L'outil Subversion > Sc´enario D´eveloppement en ´equipe Alice et Bob d´eveloppent de nouvelles fonctionnalit´espour un logiciel. Apr`ess'^etrepartag´esle travail, Bob s'aper¸coitque, pour que sa partie fonctionne, la partie d'Alice doit ^etremodifi´eemais Alice a d´ej`acommenc´e`atravailler. Comment vont-ils s'y prendre ? A. Bob et Alice effectuent ensemble les modifications `aapporter sur la partie `aAlice ; B. Bob effectue les modifications, les envoie `aAlice qui joue au jeu des 10 diff´erencessur les fichiers ; Jean-Yves Didier La gestion de configuration 14/42 Gestion de configuration Gestion de versions L'outil Subversion > Sc´enario D´eveloppement en ´equipe Alice et Bob d´eveloppent de nouvelles fonctionnalit´espour un logiciel.