Une introduction à la gestion de configurations. Pascal Molli web: molli September 25, 2006

Dimension: px
Commencer à balayer dès la page:

Download "Une introduction à la gestion de configurations. Pascal Molli email: molli@loria.fr web: http://www.loria.fr/ molli September 25, 2006"

Transcription

1 Une introduction à la gestion de configurations Pascal Molli web: molli September 25,

2 Pascal Molli 2 LORIA

3 Section 1. Introduction 1 Introduction Une introduction à la gestion de configuration Pascal Molli web: molli September 25, 2006 Slide 1 Pascal Molli 3 Équipe ECOO

4 1.1 Définitions Section 1. Objectifs Avoir des connaissances générales les gestionnaires de configuration : les problèmes, les fonctionnalités, les concepts... Manipuler des (petits) outils pour un peu démystifier (RCS,CVS... ) Situer la place d un CM dans l organisation générale d un développement. Vous convaincre d utiliser ce type d outils... Slide 2 Cette présentation s adresse à des personnes qui ne connaissent pas les gestionnaires de configuration. Nous introduisons la problématique de la gestion de configuration à partir d un exemple concret : plusieurs personnes veulent travailler au développement d un logiciel Définitions Pascal Molli 4 LORIA

5 Section Définitions Définition Standard Définition (IEEE ) Identification : des composants. ex: Quelles versions des composants sont dans la dernière release? Contrôle : des changements. ex: Quels changements ont été effectués sur cette release? Accounting : traces, rapport d état. ex: Quels est l état des changements proposés Audit et review : validation. ex: Est ce que la dernière release contient des versions correctes? Slide 3 Définition étendue Construction : gérer la construction du logiciel (make par exemple) Modélisation du procédé : Assurer le respect du cycle de vie. Travail d équipe : Contrôler les interactions dans une équipe (coordination, synchronisation, concurrence d accès...). Slide 4 Pascal Molli 5 Équipe ECOO

6 1.2 Un progrès n existe que si il est mesurable... Section 1. Points de vue sur le CM CCC: Corporation Configuration Management. Release externes, bug report... PCM: Project Configuration Management: travail en équipe, notification, rôles. DCM: Developper Configuration Management: accéder les composants pour apporter des changements, espace de travail, travail en isolation. ACM: Application Configuration Management: Distribution, tolérance de pannes Slide Un progrès n existe que si il est mesurable... Situer quelle est l avancée dans la mise en place d un procédé de l utilisation d un gestionnaire de conf. Pascal Molli 6 LORIA

7 Section Un progrès n existe que si il est mesurable... Slide 6 Slide 7 Pascal Molli 7 Équipe ECOO

8 1.3 Spectre des fonctionnalités d un gestionnaire de configuration Section Spectre des fonctionnalités d un gestionnaire de configuration Spectre des fonctionalités (S. Dart) Slide 8 Finalement, comme je l avais signalé au début de ce document, nous n avons couvert qu une petite partie du domaine de la gestion de configuration : Pascal Molli 8 LORIA

9 Section Spectre des fonctionnalités d un gestionnaire de configuration Contrôle Comment et quand les changements sont opérés: Contrôle d accès Requêtes de changement: conduite du procédé de changement Suivi d erreurs: suivi des erreurs et des corrections Propagation des changements Partitionnement: limiter les effets d un changement Slide 9 Construction Supporter la construction d un produit: Construction: système de construction Snapshot: geler l état d un produit Optimisation: réduire les temps de compilation et la place disque. Analyse d impact: prédire les effets d un changement Régénération. Slide 10 Pascal Molli 9 Équipe ECOO

10 1.3 Spectre des fonctionnalités d un gestionnaire de configuration Section 1. Audit Maintenir une trace des produits et des procédés: Historique: maintenir l historique des changements Traçabilité. Logging: enregistrement des détail des changements pour audit de la trace. Slide 11 Travail d équipe Synchroniser et coordonner le travail d équipe: Espace de travail : travail en isolation Résolution de conflit : fusion... Famille : développement de produits interdépendant. Slide 12 Pascal Molli 10 LORIA

11 Section Spectre des fonctionnalités d un gestionnaire de configuration Accounting Corréler les faits entre les produits et le procédé: Statistiques: enregistrer et générer des statistiques Détermination d état. Rapport d avancement. Slide 13 Procédé de fabrication Gestion de l évolution du produit: Support au cycle de vie: assurer le respect d un procédé de fabrication Gestion des tâches: Suivit des tâches de développement Gestion des communications entre les tâches (en respect avec le procédés) Documentation: enregistrement du savoir-faire... Slide 14 Pascal Molli 11 Équipe ECOO

12 Problématique Section 2. Plan Problématique Modèles de gestion de configuration Modèle Checkin/Checkout : RCS Modèle par composition : CVS Conclusions - perspectives Slide 15 2 Problématique Pascal Molli 12 LORIA

13 Section 2. Problématique Figure 1: Thèmes abordés en gestion de configuration Problématique Plusieurs personnes veulent coopérer pour développer *ENSEMBLE* un logiciel. Comment faire? Tout le monde travaille dans un repertoire UNIX? mais comment travailler sans être gêné par les autres... Tous les participants ont chacun une copie? mais comment propager les changements chez les autres? comment se synchroniser en évitant des mises à jour perdues? Slide 16 Nous abordons les problèmes de gestion de configuration en partant de problèmes de travail coopératif. Il faut bien se rendre compte que cela ne constitue qu un des thèmes abordés en gestion de configuration parmi d autres tout aussi importants (cf figure 1 : mécanismes de construction du logiciel (Make et consort), traçabilité (versions, variant...), procédés de fabrication du logiciel... Le travail coopératif est en fait un biais intéressant pour présenter une des facettes de ce que l on peut trouver dans le domaine de la gestion de configuration. Le lecteur pourra Pascal Molli 13 Équipe ECOO

14 Modèles de gestion de configuration Section 3. se reporter à la bibliographie si il s intéresse à l ensemble du domaine. 3 Modèles de gestion de configuration Modèles CM 4 grands modèles [3]: Checkin/Checkout Composition Transactions longues Change Sets Slide 17 La définition de ces modèles est en fait le fruit d un travail réalisé au Software Engineering Institute. Ils ont tous un point commun : les utilisateurs travaillent sur des copies obtenues auprès d un référentiel commun. Pour travailler de manière coopérative, il faut pouvoir propager les modifications effectuées sur un copie vers les autres copies Modèle des Checkin/Checkout Pascal Molli 14 LORIA

15 Section Modèle des Checkin/Checkout Modèle Checkin/Checkout Slide 18 Le modèle [4] est construit autour d un référentiel avec des espaces de travail (cf figure??). Le référentiel stocke un ensemble de fichiers multi-versionnés. Les versions sont organisées selon un graphe direct acyclique (cf figure 2). Ce graphe comporte toujours un branche principale et des branches annexes. Figure 2: Un graphe de versions Un espace de travail est un sous-ensemble mono-versionné du référentiel ; plus concrètement ce peut-être un répertoire UNIX peuplé de fichiers. Pascal Molli 15 Équipe ECOO

16 3.1 Modèle des Checkin/Checkout Section 3. Checkin/Checkout L utilisateur dispose de 2 opérations: Checkout(id-objet,id-version) : id-objet référence un objet dans le référentiel. id-version référence la version de cet objet. La valeur de l objet ainsi déterminée est copiée dans l espace de travail de l utilisateur. Checkin(id-objet) : Si id-objet appartient à l espace de travail de l utilisateur alors une nouvelle version de id-objet est créée dans le référentiel avec pour valeur la valeur de id-objet dans l espace de travail. Slide 19 Gestion de la concurrence En fait, le Checkout peut se faire en lecture ou en écriture + table de verrouillage. Checkout(id-objet,id-version,READ) : a priori, il n y aura pas de checkin... Checkout(id-objet,id-version.WRITE) : seul l utilisateur aura le droit de créer la prochaine version. Attention! ce n est pas la sémantique habituelle d un verrou en écriture... Illustration : scénario du Quick bug fix... Slide 20 Pascal Molli 16 LORIA

17 Section Modèle des Checkin/Checkout La accès concurrents sont gérés en utilisant des verrous en lecture/écriture. Si un fichier est extrait du référentiel en écriture alors son utilisateur est assuré de pouvoir créer la prochaine version du fichier dans la même branche. Ce mode de fonctionnement permet : le développement en parallèle En effet il est possible de développer un même fichier selon deux voies différentes dans deux branches séparées. Une branche peut être ultérieurement fusionnée avec une autre ou abandonnée. La gestion des mises à jour conflictuelles Supposons qu un fichier soit en cours de modification. Cette modification est longue, le fichier est verrouillé. Un autre utilisateur désire effectuer rapidement un changement mineur. Il peut accéder au fichier, le modifier et créer une nouvelle version dans une autre branche. Cette nouvelle version peut être fusionnée à la version principale ultérieurement. La fusion de deux branches de développement peut devenir une tache complexe. En effet, cette fusion peut être vue comme une tache d intégration des différentes versions du fichier. Son issue est incertaine, elle peut être anodine ou impossible et remettre tout le développement initial en cause. Des outils sont disponibles pour assister cette tâche mais ne peuvent l automatiser. Quick bug fix (1) Slide 21 Pascal Molli 17 Équipe ECOO

18 3.1 Modèle des Checkin/Checkout Section 3. Quick bug fix (2) Slide 22 Quick bug fix (3) Slide 23 Pascal Molli 18 LORIA

19 Section Modèle des Checkin/Checkout Quick bug fix (4) Slide 24 Voilà une des raisons pour lesquelles il faut un gestion de version non-linéaire... Pascal Molli 19 Équipe ECOO

20 3.1 Modèle des Checkin/Checkout Section 3. Gestion des branches À quoi ça sert? Développement en parallèle Représentation de variantes (unix,pc..) Développement expérimental Fusion... Slide 25 Bon. Il faut se faire un peu au vocabulaire : baseline c est une branche privilégiée du développement. Attention les fusions, c est pas automatique... Pascal Molli 20 LORIA

21 Section Composition Conclusion Gestion de version fichier par fichier Identification : composant fichier Contrôle : checkin, checkout + protocole de contrôle de la concurrence (préserve des mises-à-jour perdues) État/accounting/audit : graphe direct acyclique des versions Ex: SCCS, RCS, Razor... Slide 26 Ce modèle supporte le développement en parallèle. Ceci est possible dans le mesure où les utilisateurs prennent eux-même en charge la gestion des versions. Par contre, la correction des exécutions concurrentes n est pas prise en compte. Par exemple, prenons l exemple suivant : deux utilisateurs travaillent sur deux fichiers x.c et y.c. Le premier fait du développement, le second de la revue de code. Nous pouvons obtenir l exécution suivante : Produire(x.c, y.c) checkout(x.c) checkout(y.c) edit(x.c) edit(y.c) checkin(x.c) checkin(y.c) Vérifier(x.c, y.c) checkout(x.c) checkout(y.c) lire(x.c, y.c) Dans ce cas, la revue se fait avec des valeurs incohérentes de x.c et y.c. Cette exécution montre en fait une lecture impropre de l activité de revue. Ce modèle permet effectivement de travailler en parallèle sur un même objet en utilisant plusieurs versions d un même objet mais ne contrôle pas la correction proprement dite des exécutions concurrentes. Toutefois il faut remarquer que dans ce modèle, les objets sont toujours disponibles en lecture. 3.2 Composition Ce modèle s inscrit comme une suite logique du premier. Il est construit lui-aussi autour d un référentiel et d espaces de travail mais avec la notion de configuration. Une configuration Pascal Molli 21 Équipe ECOO

22 3.2 Composition Section 3. est sous-ensemble nommé, cohérent et mono-versionné du référentiel. Les opérateurs de transferts entre le référentiel et les espaces de travail restent les mêmes mais peuvent s appliquer sur une configuration (cf figure??). Dans ce cas la configuration est transférée de manière atomique. Modèle par composition Slide 27 Le transparent 27 montre comment deux utilisateurs travaillent sur deux configurations différentes du même ensemble d objets. Il faut remarquer que les utilisateurs ont transféré non plus un fichier comme dans le modèle précédent, mais une configuration dans leurs espaces de travail respectifs. Pascal Molli 22 LORIA

23 Section Composition Configuration configuration : un sous-ensemble nommé, mono-versionné, cohérent d objets. checkin, checkout sur une configuration! oui mais comment obtenir cette configuration?? Slide 28 Détermination d une configuration En deux temps : Agrégation des composants (basée sur le modèle d objet) Selection de la version appropriée de chaque composant de l agrégation finalement ça ressemble à une requête... Slide 29 Pascal Molli 23 Équipe ECOO

24 3.2 Composition Section 3. Agrégation des composants agrégation basée sur les dépendances entre les composants. Comment déterminer ces dépendances? : Les dépendances entre objets sont déclarés explicitement pourquoi pas dans une base de données. Évidemment, plus le modèle d objet du référentiel est riche plus il est facile de représenter directement les dépendances entre objets. Slide 30 Selection des versions (de l agrégat) chemin de recherche dans les branches de version : branche de développement sun3, autres espaces de travail... basée sur des propriétés (attributs sur les objets) : windowsystem==x11 and WSrelease > R3 & (status == tested or reserved=me) Slide 31 Pascal Molli 24 LORIA

25 Section Composition Gestion de la concurrence Finalement comme dans le checkin/checkout model... Mais en gérant cette fois des configurations Slide 32 Conclusions Identification: Agrégation + selection de version Contrôle: checkin/checkout + graphe de versions Accounting/Audit: graphe de versions Ex: La plupart des outils de CM actuel : clearcase, continuus... Slide 33 Pascal Molli 25 Équipe ECOO

26 3.3 Transactions longues Section 3. Les différents acteurs d un développement peuvent coopérer en publiant des configurations successives d une configuration. Mais le protocole même de coopération reste entre les mains des utilisateurs. Quand faut-il publier ses résultats, quand faut-il absolument les relire, tout cela n est pas défini dans ce modèle. Il faut tout de même remarquer que dans ce modèle, un espace de travail se comporte comme une sphère d isolation où tout changement ne peut être opéré que de l intérieur. L utilisateur d un espace de travail est donc protégé des actions effectuées au sein des autres espaces mais peut à tout moment se resynchroniser avec le référentiel à son initiative. 3.3 Transactions longues Dans ce modèle [2, 1], le référentiel est vu comme une base de données. Une activité de développement s effectue au sein d une transaction et fait passer la base d un état cohérent dans un autre. Les états cohérents sont représentés comme des configurations. Le modèle adopte la stratégie suivante : 1. Chaque transaction à sa création copie dans un espace de travail une configuration d objets. Elle est alors en mesure de travailler librement sur ces objets. La transaction fournit à l utilisateur une sphère de stabilité où tous les changements sont faits à son initiative. Il est important de noter que les changements opérés dans la transaction ne seront visibles qu à sa terminaison. 2. À sa terminaison, la transaction produit une nouvelle configuration des objets à partir des valeurs présentes dans son contexte. Rappels transactionnels Transactions ACID: Atomicité : tout ou rien Consistance : Si la transaction individuellement fait passer la base d un état correct dans un autre alors l exécution concurrente n introduit pas d inconsistance (sérialisabilité). Isolation : pas de visibilité sur les résultats partiels Durabilité : les résultats validés ne sont pas remis en cause. Slide 34 Pascal Molli 26 LORIA

27 Section Transactions longues Modèle des transactions longues Encapsuler une activité de développement dans une transaction Voir un développement comme une transaction imbriquée. PB: Durée indéterminée transaction plus longue qu une session. PB: Isolation trop forte... Slide 35 Ce modèle permet également d emboîter les transactions. Le référentiel peut être considéré comme la mémoire locale d une transaction racine. Les transactions s organisent alors selon un arbre ; l espace de travail d une transaction constitue le référentiel de ses sous-transactions. Cette approche permet de structurer le développement en décomposant une activité en sous-activités, chaque activité s exécutant au sein d une transaction. Par exemple, il est possible de décomposer l activité projet selon l arbre d activité décrit dans la figure??. Pascal Molli 27 Équipe ECOO

28 3.3 Transactions longues Section 3. Slide 36 Idée Représenter les états corrects de la base comme une configuration Représenter la transaction et sa mémoire locale comme un espace de travail. Slide 37 Pascal Molli 28 LORIA

29 Section Transactions longues Slide 38 Gestion de la concurrence Les résultats d une transaction sont produits à la fin de la transaction. (pas de publication de résultats avant la fin!!). Possibilité de gestion de la concurrence optimiste : paradigme du copier-modifier-fusionner. Slide 39 Pascal Molli 29 Équipe ECOO

30 3.3 Transactions longues Section 3. Figure 3: Copier-modifier-fusionner: copier et modifier Figure 4: Copier-modifier-fusionner: fusionner Le modèle propose un protocole de contrôle des accès concurrents optimiste. Prenons un exemple : Soit deux transactions ayant démarrées avec la même configuration R1 (cf figure 3). Elles développent en parallèle deux nouvelles configurations (R2 et R3 sur notre figure). La première transaction termine et rend la configuration R2 durable. La seconde transaction ne peut alors terminer sous peine d écraser R2. Elle est obligée de relire R2 et de fusionner avec R3 pour pouvoir terminer sur une configuration R4 (cf figure 4). Il faut remarquer que cette stratégie de contrôle des accès concurrents évite les mises à jour perdues et ne fait pas appel à un procédé de fabrication particulier. Il ne peut exister non plus de lectures impropres dans la mesure où toute transaction termine en produisant une configuration cohérente. Le référentiel est donc toujours dans un état cohérent. Pascal Molli 30 LORIA

31 Section Transactions longues Slide 40 Slide 41 Pascal Molli 31 Équipe ECOO

32 3.4 Change sets Section 3. Conclusions Identification: read/write dans le référentiel, transparente Contrôle: Transactions (begin, terminate). Accounting/audit: graphe de versions. Ex: NSE [1]. Slide Change sets Pascal Molli 32 LORIA

33 Section Change sets Change sets Au lieu de nommer les versions, on nomme les deltas Orienté changement vs Orienté version. Un Change-Set : l ensemble des deltas entre deux configurations. Pour déterminer une configuration, on part d une configuration de base et an applique des change-sets. Slide 43 R2 = R1 + {δ A1, δ C1 } Slide 44 Pascal Molli 33 Équipe ECOO

34 3.4 Change sets Section 3. Change Sets La connaissance des change-set permet de déduire beaucoup d information : Déterminer quels composants ont été modifiés comme partie d un même changement logique : exprime les dépendances entre composants Déterminer la collection des change sets dont un composant fait partie : information sur la stabilité des composants Déterminer quels change set sont inclus dans une configuration (infos sur les capacités de la configuration... ) Déterminer quelles configurations incluent un changement particulier (infos sur la propagation d un changement) Slide 45 Composition consistantes Création de nouvelles configurations. par compositions de change set. Toutes les combinaisons de change set ne sont pas consistantes. Certains change set sont incompatibles avec d autres ou bien dépendent de la présence d autres. La consistance d une composition peut être déterminée en analysant les read-set et write-set de chaque change set. même read-set et write-set différent : un conflit, d où une fusion nécessaire. Trouver un ordre de composition où les read-set, write-set sont compatibles une sorte de sérialisation a posteriori des activités de changement. Slide 46 Pascal Molli 34 LORIA

35 Section Conclusion Conclusions Identification: baseline + change-sets Contrôle: création de change-sets. Pas vraiment de gestion de concurrence dans le modèle. C est un problème orthogonal. Accounting/review: analyse des change-sets Ex: Aide-de-camp. Slide Conclusion Pascal Molli 35 Équipe ECOO

36 3.5 Conclusion Section 3. Conclusions Pour l instant, les modèles utilisés : Checkin/checkout et composition. Attention, ces modèles ne constitue qu un petite partie de ce que l on peut dans le domaine de la gestion de configuration : modèles d objets, systèmes de construction, suivi de problèmes... Technologie en pleine évolution. perspectives: gestion des procédés de fabrication (continuus), gestion du travail d équipe (coopération) et gestion de la distribution à large échelle. Maintenant, RCS pour checkin/checkout et CVS pour composition. Slide 48 Attention, on ne peut pas vraiment parler de gestionnaire de configuration pour CVS, il manque trop de fonctionnalités de bases que l on peut trouver dans un vrai gestionnaire de configuration comme Clearcase ou Continuus... On peut tout de même aborder une certaine classe de problèmes qui sont déjà très intéressant et notamment le travail à plusieurs... Pascal Molli 36 LORIA

37 Section 4. RCS : Revision Control System 4 RCS : Revision Control System RCS: checkin/checkout model Objectifs. Connaître les fonctionnalités de outils fonctionnant sur ce modèle et surtout la surcharge de travail lié a leur utilisation (coût/gain). Environnement de développement. RCS + Emacs. Documentation man rcsintro et [5] Slide 49 Gère des révisions multiples de fichiers. automatise le stockage, la récupération, l historique, l identification, et la fusion de révision. 4.1 Architecture générale Pascal Molli 37 Équipe ECOO

38 4.2 Fonctionnalités Section 4. Architecture Générale Slide 50 Bon, on instancie le modèle avec un système de fichier. Les référentiel est en fait un répertoire contenant des fichiers au format RCS (extension,v). Ce format permet d archiver (de manière efficace) plusieurs versions d un fichier dans un fichier. Les espaces de travail sont de simples repertoire UNIX contenant des fichiers ordinaires. Un lien UNIX relie les espaces de travail au référentiel. Ce lien doit impérativement s appeler RCS. Il est possible de stocker à la fois les fichiers RCS et les fichiers de travail dans le même répertoire, mais il me semble que la première façon de procéder est bien meilleure pour travailler en multi-utilisateur. 4.2 Fonctionnalités Pascal Molli 38 LORIA

39 Section Fonctionnalités Fonctionnalités Stocker et récupérer. Des opérateurs (co, ci). Des identificateurs de version. Un référentiel pour le stockage proprement dit (f.c f.c,v soit dans le repertoire courant, soit dans un sous répertoire RCS). Historique. à chaque checkin qui a fait (auteur)? quoi (msg)? quand (date:time)? pourquoi... stocker l historique où dans le fichier Résoudre les conflits d accès. Alerter deux programmeurs qui veulent modifier la même version en même temps. Maintenir des branches de développement. Slide 51 Fonctionnalités Fusionner des révisions. deux fichiers avec deux lignes différente au même endroit sont marquée comme conflictuelles et l utilisateur est alerté. Contrôler des révisions. nom symbolique pour un ensemble de fichiers (flat). Identification des révisions. par le nom, l id, la date de création... minimiser la taille du stockage. Gestion de deltas vitesse de récupération. Slide 52 Pascal Molli 39 Équipe ECOO

40 4.2 Fonctionnalités Section 4. Mise sous RCS d un fichier de travail Création de f.c,v avec f.c 1.1, destruction de f.c: % edit f.c % mkdir RCS % ci f.c RCS/f.c,v <-- f.c enter description, terminated with single. or end of file: NOTE: This is NOT the log message! >> first version >>. initial revision: 1.1 done Slide 53 Extraction d un fichier RCS extraction de f.c:1.1 dans un fichier de travail en lecture % co f.c RCS/f.c,v --> f.c revision 1.1 done extraction de f.c:1.1 dans un fichier de travail en écriture % co -l f.c RCS/f.c,v --> f.c revision 1.1 (locked) done Slide 54 Pascal Molli 40 LORIA

41 Section Fonctionnalités Travail sur le fichier On travaille sur le fichier de travail de manière tout fait normale... % emacs f.c On dispose tout de même d informations supplémentaires, par exemple le diff % rcsdiff f.c =================================================================== RCS file: RCS/f.c,v retrieving revision 1.1 diff -r1.1 f.c 0a1 > pouet Slide 55 Rlog statut d un fichier RCS : rlog % rlog f.c RCS file: RCS/f.c,v Working file: f.c head: 1.2 branch: locks: strict access list: symbolic names: comment leader: " * " keyword substitution: kv total revisions: 2; selected revisions: 2 description: first version Slide 56 Pascal Molli 41 Équipe ECOO

42 4.2 Fonctionnalités Section revision 1.2 date: 1997/04/21 16:40:12; author: molli; state: Exp; lines: +1-0 yo ============================================================================= Slide 57 Slide 58 Pascal Molli 42 LORIA

43 Section Fonctionnalités On peut tout de même travailler avec des outils un peu plus évolué que les commandes en lignes... RCS est remarquablement intégré dans emacs (No de version dans la modeline, appel au package ediff pour voir les différences entre deux versions, checkin/checkout depuis emacs... ) Slide 59 l opération la plus complexe reste le checkin. Le transparent 59 illustre les différents scénario possible. au moment du checkin, il peut y avoir deux cas de figure : 1. soit l utilisateur possède un verrou en écriture sur f.c : dans ce cas, c est très simple, il y a création d un nouvelle version de f.c et la version de travail est détruite. 2. soit l utilisateur ne possède pas de verrou en écriture et dans ce cas il lui faut essayer de l acquérir a posteriori : (a) Si f.c n est pas verrouillé, alors retour au checkin normal (b) sinon 3 cas de figure : i. RCS donne le nom de la personne propriétaire du verrou, on peut donc envoyer un mail et tenter de négocier... ii. La modification est urgente est prioritaire. Dans ce cas, il est possible de voler le verrou. Un mail est envoyé à l innocente victime de ce vol qualifié pour l avertir de l effraction. iii. Dernier cas de figure : créer une nouvelle branche de développement, et nous retombons dans le modèle du checkin/checkout. Quelques remarques avant de passer à la gestion de branches dans RCS : Pascal Molli 43 Équipe ECOO

44 4.2 Fonctionnalités Section 4. Verrouillage Comportement différent pour la personne possédant le fichier off pas de test de lock pour le propriétaire en cas de checkin % rcs -U f.c on : test de lock pour le propriétaire en cas de checkin % rcs -L f.c Slide 60 Verrouillage Pour empêcher la destruction du fichier pendant le checkin checkin suivi immédiatement de co avec lock. % ci -l f.c checkin suivi immédiatement de co sans lock. % co -u f.c Slide 61 Pascal Molli 44 LORIA

45 Section Gestion des branches 4.3 Gestion des branches Numérotation RCS nombre pair de chiffres : numéro de révision nombre impair : numéro de branche Slide 62 Pascal Molli 45 Équipe ECOO

46 4.3 Gestion des branches Section 4. Gestion des branches dans la baseline 2.1, 2.2, % ci -r2 f.c Démarrage d une nouvelle branche à partir de la révision 1.3. % ci -r2.1 f.c % co -r2 f.c % ci -r1.3.1 f.c Slide 63 Scénario du Quick Bug fix au début: 1.1 -> 1.2 -> 1.3 -> 2.1 -> distribuée au client! bug fix demandé : co -r1.3 f.c edit f.c ci -l -r1.3.1 f.c edit f.c ci -l -r1.3.1 f.c > 1.2 -> 1.3 -> 2.1 -> 2.2 \-> > Slide 64 Pascal Molli 46 LORIA

47 Section Gestion des branches Intégration des deux branches En fait sortir les deux dernières révision de chaque branche et appeler l opération de fusion semi-automatique : % co -j1.3.1 f.c revision 2.2 revision 1.3 revision merging... merge warning: overlaps during merge done % edit f.c Slide 65 Cette syntaxe est maintenant obsolète depuis l apparition de rcsmerge : rcsmerge -p -r r2.2 f.c >f.merged.c edit f.merged.c mv f.merged.c f.c; ci f.c Mais ça marche toujours et je la trouve plus agréable que le rcsmerge... Pascal Molli 47 Équipe ECOO

48 4.4 Gestion des deltas Section 4. Exemple de résultat d une fusion more f.c riri <<<<<<< 2.2 fifi ======= loulou >>>>>>> Slide Gestion des deltas Pascal Molli 48 LORIA

49 Section Trace Gestion des deltas Minimiser la taille de stockage sans trop pénaliser le co. reverse deltas vs delta. <1.1 -> <1.2 -> 1.3 -> 2.1 -> 2.2 \> > Slide Trace Pascal Molli 49 Équipe ECOO

50 4.5 Trace Section 4. Trace Macro expansion de symboles RCS au ci Par exemple /* dans un code C ou C++ */ static char rcsid[]"$id$"; Slide 68 $Author$ The login name of the user who checked in the revision. $Date$ The date and time (UTC) the revision was checked in. $Header$ A standard header containing the full pathname of the RCS file, the revision number, the date (UTC), the author, the state, and the locker (if locked). $Id$ Same as $Header$, except that the RCS filename is without a path. $Locker$ The login name of the user who locked the revision (empty if not locked). $Log$ The log message supplied during checkin, preceded by a header containing the RCS filename, the revision number, the author, and the date (UTC). Existing log messages are not replaced. Instead, the new log mes- sage is inserted after Log :... This is useful for accumulating a complete change log in a source file. $RCSfile$ The name of the RCS file without a path. $Revision$ The revision number assigned to the revision. $Source$ The full pathname of the RCS file. $State$ The state assigned to the revision with the -s option of rcs(1) or ci(1). Pascal Molli 50 LORIA

51 Section Trace Entêtes de fichiers % $Source$ % $Revision$ % $Date$ % $Author$ % $State$ % CONTENU-DESCRIPTION <...> % Change History % % $Log$ % Slide 69 % $Source: /local/genielog/cvspres/cvs.tex,v $ % $Revision: $ % $Date: 1993/12/23 14:48:10 $ % $Author: molli $ % $State: Exp $ % CONTENU-DESCRIPTION % Transparents et commentaires de présentation % de cvs pour la journée de présentation des % moyens informatiques CRIN-INRIA % Change History % % $Log: cvs.tex,v $ % Revision /12/23 14:48:10 molli % expo CVS % % Revision /12/02 14:42:06 garti % Version de la presentation pour la "vrai" % installation du CRIN Slide 70 Pascal Molli 51 Équipe ECOO

52 4.6 Contrôle d accès Section Contrôle d accès liste d accès gestion nominative des accès au fichier RCS. chaque fichier rcs contient une liste des utilisateur qui ont le droit de faire des mises à jour: rcs -alogins rcs -elogins... Slide Intégration avec Make Pascal Molli 52 LORIA

53 Section Intégration avec Make Make et RCS auto-checkout des fichiers nécessaire à la compilation (avec gnu-make) gregory [19:31] 135 tam -> gmake co RCS/TamArmor.hh,v TamArmor.hh RCS/TamArmor.hh,v --> TamArmor.hh revision 1.2 done <...> co RCS/TamMap.icc,v TamMap.icc RCS/TamMap.icc,v --> TamMap.icc revision 1.2 done g++ -g -I/usr/local/X11R5/include \ -c TamMap.cc -o TamMap.o Slide 72 <...> Slide 73 Pascal Molli 53 Équipe ECOO

54 4.8 Autres commandes Section Autres commandes Autres commandes ident extract ident marker rcs set/unset RCS file attributes rcsclean remove unchanged files from working dir rcsdiff compare rev. rcsmerge merge revision rlog read log message Slide Conclusions Pascal Molli 54 LORIA

55 Section Conclusions Conclusions Modèle Checkin/Checkout. utile pour la gestion de quelques fichiers faiblesse dans la gestion d un ensemble de fichiers eparpillés dans un arbre de directory CVS. Slide 75 Pascal Molli 55 Équipe ECOO

56 CVS : Concurrent Version System Section 5. 5 CVS : Concurrent Version System 5.1 Qu est ce que CVS? CVS est un outil de contrôle de révision destiné à des groupes de développeurs travaillant sur les mêmes fichiers. CVS leur permet de travailler en isolement et de se resynchroniser les uns par rapport aux autres quand ils le désirent. Travailler à plusieurs sur les même objets en même temps. La différence majeure de CVS par rapport à d autres outils plus vieux comme RCS ou SCCS est de permettre à plusieurs développeurs de travailler sur les mêmes fichiers en même temps. Chaque développeur travaille isolément dans son espace de travail (un répertoire UNIX). Un répertoire partagé est utilisé comme point de rendez-vous pour rendre publics des fichiers locaux ou pour inclure le travail effectué en parallèle par les autres développeurs. Gérer les versions des sources d un développement. Jusqu alors des outils comme RCS ou SCCS se limitaient à la gestion de version d un seul fichier. CVS réutilise RCS pour sa gestion de version de fichiers mais permet aussi la gestion de version d un répertoire. Suivre les versions d un logiciel externe. L installation de logiciels externes demande très souvent des modifications locales au site. Un travail pénible consiste a répercuter ces modifications lorsqu une nouvelle version du logiciel arrive. CVS permet à l installateur de détecter quelles modifications il avait effectué, quels sont les changements apportés par la nouvelle version, fichier par fichier et donc, de se rendre compte si les modifications locales ont toujours lieu d être ou pas. Gestion des branches de développement. RCS permet une gestion non linéaire des versions pour un fichier. CVS offre la même possibilité mais pour un répertoire. Un groupe de développeurs peut travailler dans chacune des branches. CVS fournit des primitives pour fusionner deux branches. 5.2 Ce que CVS ne fait pas CVS est un outil de contrôle de révision, ce n est pas un système de gestion de configuration. 5.3 CVS : un modèle par composition Pascal Molli 56 LORIA

57 Section CVS : un modèle par composition CVS : un modèle par composition Slide 76 C est une instanciation du modèle par composition sur un système de fichier. Une configuration est un aggrégat d objets mono-versionnés. L aggrégat apparait à travers la notion de modules! Un module est soit un nom de fichier, soit un nom de repertoire, soit une liste de nom de modules. Les carrés gris représentent des sous-types de répertoire. Les carrés blancs, des soustypes de fichier. Les fléches fines représentent une relation 1-1, les fléches doubles une relation 1-n (pas de relation n-n dans ce schéma). La flèche épaisse représente une relation de sous-typage. Enfin, les carrés aux bords arrondis représentent les méthodes associées aux types. La partie administrateur représente les objets présents dans le repository, la partie util- Pascal Molli 57 Équipe ECOO

58 5.3 CVS : un modèle par composition Section 5. isateur les objets présents dans une copie de travail. CVS : un modèle par composition Une configuration : un aggrégat d objets mono-versionnés. Il faut donc : 1. déterminer l aggrégat puis, 2. sélectionner une version pour chaque composant de l aggrégat. Sous CVS, un aggrégat est représenté par un module : module := [module]+ répertoire fichier Slide 77 Pascal Molli 58 LORIA

59 Section Créer un référentiel CVS : un modèle par composition CVS ne dispose pas d un mécanisme de selection de version perfectionné. Pour un module : Configuration : la dernière version de chaque composant du module Étiquette symboliques : nommage explicite par l utilisateur (rcs tag...) Slide Créer un référentiel Pascal Molli 59 Équipe ECOO

60 5.5 Travailler dans les espaces de travail Section 5. Créer le référentiel % setenv CVSROOT /local/lang/script/cvs} % cvs init % cvs import -m "CVS 1.9 distribution" cvs CVS CVS1_9 N cvs/readme N cvs/changes <...> No conflicts created by this import Slide 79 La première tâche de l administrateur est bien sûr de créer le repository grâce à la commande cvs init. cvsinit crée un référentiel CVS à l endroit précisé dans la variable d environnement CV SROOT. Ensuite, c est à lui de créer les modules grâce à la commande import. Ensuite l administrateur importe, par exemple, la distribution de CVS dans le repository. 5.5 Travailler dans les espaces de travail Pascal Molli 60 LORIA

61 Section Travailler dans les espaces de travail Travailler sur un module 1. setenv CVSROOT /local/lang/script/cvs 2. cvs checkout cvs; cd cvs 3. emacs README 4. cvs diff README; cvs status README 5. cvs commit README Slide 80 La première chose à faire pour un utilisateur CVS est un checkout du module sur lequel il désire travailler. Cette commande crée une copie locale du module. Il a désormais un nouveau répertoire (généralement du nom du module) dans le répertoire courant. Il peut alors travailler dans son nouvel espace de travail sans que les modifications des autres développeurs viennent le perturber. Il peut a tout moment rendre public tout ou partie de son travail en utilisant la commande commit. CVS peut être configuré de telle sorte que tous les utilisateurs du module soient prévenus par mail lorsque l un d entre eux effectue un commit. Ainsi, lorsqu une modification vient d être rendue publique, chaque utilisateur du module peut décider de se resynchroniser avec la nouvelle version du module grâce à la commande update. Pour créer son espace de travail, l utilisateur précise le référentiel qu il veut utiliser (CVSROOT), puis effectue un checkout du module qu il veut éditer. On peut remarquer qu un répertoire CVS est créé dans chaque répertoire de la copie locale. Ce répertoire est à l usage de CVS, il ne faut ni le détruire, ni modifier les fichiers qui s y trouve (sauf si on est un guru CVS... ). L utilisateur peut ensuite travailler comme d habitude sur ses fichiers. CVS est tout de même capable de lui donner des information supplémentaires... Pascal Molli 61 Équipe ECOO

62 5.5 Travailler dans les espaces de travail Section 5. Diff cvs diff README =============================================== RCS file: /local/lang/script/cvs/cvs/readme,v retrieving revision 1.2 diff -r1.2 README 4,5d3 < AAAAYYYOUUUUto!! < Slide 81 Si il demande un status : Pascal Molli 62 LORIA

63 Section Travailler avec les autres Status cvs status README ======================================================== File: README Status: Locally Modified Version: 1.2 Wed Dec 15 11:47: RCS Version: 1.2 /local/lang/script/cvs/cvs/readme,v Sticky Tag: (none) Sticky Date: (none) Sticky Options: (none) Slide Travailler avec les autres Pour gérer le travail coopératif avec les autres utilisateurs, CVS utilise le paradigme du copier-modifier fusionner (à l image de ce que l on peut trouver le modèle des transactions longues... ) Pascal Molli 63 Équipe ECOO

64 5.6 Travailler avec les autres Section 5. Travailler avec les autres Paradigme du copier-modifier-fusionner (copy-modify-merge) : Chaque utilisateur prend un module dans un espace de travail où il est à l abri des problèmes de concurrence d accès Chaque utilisateur modifie librement les copies dont il dispose Chaque utilisateur se resynchronise avec la dernière version du référentiel avant de publier ses modifications. Il peut y avoir fusion suite à la resynchronisation. Slide 83 Supposons que l utilisateur veut rendre sa version de README publique... Pascal Molli 64 LORIA

65 Section Travailler avec les autres Commit Si il n y a pas de problèmes de changements concurrent, rendre publique un module est très simple : cvs commit -m "tout est bon" README Checking in README; /local/lang/script/cvs/cvs/readme,v <-- README new revision: 1.3; previous revision: 1.2 done Slide 84 Travailler avec les autres Si il y a eu des changements concurrents alors : cvs commit -m "tout est bon?". cvs commit: Examining. cvs commit: Up-to-date check failed for README cvs [commit aborted]: correct above errors first! Slide 85 Pascal Molli 65 Équipe ECOO

66 5.6 Travailler avec les autres Section 5. Il faut noter qu ici le Up-to-date check est effectué sur TOUS les composants du module. Si il échoue pour un seul des composants, alors toute la publication de résultats est annulée. Se resynchroniser : cvs update. pour chaque composant de l espace de travail, cvs essaye de déterminer si il est dans l un des états suivants : (?) unknown Le fichier en question n est pas connu dans CVS. Pour l ajouter, l utilisateur peut utiliser la commande cvs add [nom du fichier]. Le fichier passe alors dans l état (A)dded. (A)dded L utilisateur a ajouté un nouveau fichier (commande add) mais le fichier n est pas encore rendu public. Il sera ajouté au repository lors du prochain commit. (U)pdated Le fichier n existait pas dans la copie privée ou n avait pas été modifié localement. La nouvelle version remplace alors l ancienne. Slide 86 Pascal Molli 66 LORIA

67 Section Travailler avec les autres Se resynchroniser : cvs update. (R)emoved Dans la nouvelle version du module (dans le repository), le fichier en question n existe plus. Il est donc détruit de la copie locale. (M)odified Le fichier a été modifié localement, mais pas encore rendu public. Slide 87 CVS update (suite) (M)erged Le fichier a été modifié par un autre utilisateur mais aussi localement. Cependant CVS a réussit a effectuer un RCS merge sans détection de conflits. Une copie de sauvegarde est créée dans la copie privée. (C)onflict Le fichier a été modifié par un autre utilisateur mais aussi localement. CVS a détecté un conflit lors de la fusion. Une copie de sauvegarde du fichier local est créée. Le nouveau fichier contient des indications sur la position des conflits dans le fichier lui-même. Slide 88 Pascal Molli 67 Équipe ECOO

68 5.6 Travailler avec les autres Section 5. On peut bien sur avoir un compte-rendu plus agréable à regarder que le résultat de la commande en ligne, que ce soit avec une interface graphique ou encore mieux, une interface emacs : Slide 89 Pascal Molli 68 LORIA

69 Section Travailler avec les autres Slide 90 Point d entrée : M-X cvs-update [return] [chemin vers la copie locale]. Emacs lance alors un update sur le répertoire précisé en paramètre. Le résultat de update est alors présenté dans un buffer emacs. Toutes les commandes usuelles : commit, remove, add, diff,..., sont alors accessibles simplement. L interface Emacs ne propose pas certaines commandes (tag, import,...), mais elle reste très pratique pour les mises à jour quotidiennes. Pascal Molli 69 Équipe ECOO

CVS : Gestion de configuration client-serveur

CVS : Gestion de configuration client-serveur CVS : Gestion de configuration client-serveur Linux Gazette numéro 66 Kapil Sharma kapil@linux4biz.net Jérôme Fenal jerome@fenal.org 1. Introduction CVS est un système de gestion de configuration. En l

Plus en détail

Gestion des configurations

Gestion des configurations Gestion des configurations Objectifs et plan du cours Introduire les concepts de base de la gestion des configurations Introduction à l utilisation (très basique) de l outil cvs 2 A propos de changements

Plus en détail

Génie logiciel, conduite de projets... Mémo. Utilisation de subversion et de forge. Bruno Zanuttini, Jean-Luc Lambert, François Rioult

Génie logiciel, conduite de projets... Mémo. Utilisation de subversion et de forge. Bruno Zanuttini, Jean-Luc Lambert, François Rioult Université de Caen Basse-Normandie Département d informatique Tous diplômes, 2012 2013 Unité : N/A Génie logiciel, conduite de projets... Mémo. Utilisation de subversion et de forge Bruno Zanuttini, Jean-Luc

Plus en détail

Groupe Eyrolles, 2006, ISBN : 2-212-11919-4

Groupe Eyrolles, 2006, ISBN : 2-212-11919-4 Groupe Eyrolles, 2006, ISBN : 2-212-11919-4 Table des matières Préface... III Remerciements................................................... III Conventions typographiques........................................

Plus en détail

Utilisation de SVN. 1 Introduction. 2 Architecture. 3 Références et aide en ligne

Utilisation de SVN. 1 Introduction. 2 Architecture. 3 Références et aide en ligne N7 1IMA TECHNOLOGIE OBJET TP 3 18/02/2015 (Séance TP 2) Objectifs : Comprendre le principe d un outil de gestion de configuration Savoir utiliser SVN (subversion) 1 Introduction Pour travailler en groupe

Plus en détail

Guide d utilisation de Subversion

Guide d utilisation de Subversion Guide d utilisation de Subversion D. Renault 20 septembre 2011 Résumé Le but de ce document est de donner une introduction sur Subversion, un système de gestion de version. Il définit les notions liées

Plus en détail

Gestion de version avec SubVersion et NetBeans. Bruno Mermet Master 2 SIRES Le Havre

Gestion de version avec SubVersion et NetBeans. Bruno Mermet Master 2 SIRES Le Havre Gestion de version avec SubVersion et NetBeans Bruno Mermet Master 2 SIRES Le Havre Plan Principes de la Gestion de Version Installation d'un serveur SVN Configuration de NetBeans Faire gérer un projet

Plus en détail

Au menu... Plan. 1 objectifs des gestionnaires de version. 2 fonctionnement général des outils. 3 prise en main d un gestionnaire.

Au menu... Plan. 1 objectifs des gestionnaires de version. 2 fonctionnement général des outils. 3 prise en main d un gestionnaire. Au menu... Gestion de version Guillaume Wisniewski guillaume.wisniewski@limsi.fr LIMSI UPS septembre 2014 Plan 1 objectifs des gestionnaires de version 2 fonctionnement général des outils 3 prise en main

Plus en détail

CONTEXTE. GESTION DE VERSIONS Programmation Avancée - IMA / Polytech Lille L. Gonnord & J. Dequidt CONTEXTE CONTEXTE. Développement logiciel

CONTEXTE. GESTION DE VERSIONS Programmation Avancée - IMA / Polytech Lille L. Gonnord & J. Dequidt CONTEXTE CONTEXTE. Développement logiciel CONTEXTE Développement logiciel Collaboratif: une équipe accè au même co source Gestion s sauvegars (journalières par exemple) GESTION DE VERSIONS Programmation Avancée - IMA / Polytech Lille L. Gonnord

Plus en détail

Les transactions 1/40. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

Les transactions 1/40. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions 1/40 2/40 Pourquoi? Anne-Cécile Caron Master MAGE - BDA 1er trimestre 2013-2014 Le concept de transaction va permettre de définir des processus garantissant que l état de la base est toujours cohérent

Plus en détail

La gestion de version avec Subversion. Konrad HINSEN Centre de Biophysique Moléculaire (Orléans) et Synchrotron Soleil (St Aubin)

La gestion de version avec Subversion. Konrad HINSEN Centre de Biophysique Moléculaire (Orléans) et Synchrotron Soleil (St Aubin) La gestion de version avec Subversion Konrad HINSEN Centre de Biophysique Moléculaire (Orléans) et Synchrotron Soleil (St Aubin) Architecture client-serveur Serveur Client Revision 1 Makefile src/init.c

Plus en détail

Gestion de version et de configuration : de svn à git

Gestion de version et de configuration : de svn à git Projet Informatique Gestion de version et de configuration : de svn à git Philippe Collet Licence 3 Informatique S5 2014-2015 http://deptinfo.unice.fr/twiki/bin/view/linfo/projetinfo201415 Motivations

Plus en détail

Projet de Programmation Benoit Donnet Année Académique 2015-2016

Projet de Programmation Benoit Donnet Année Académique 2015-2016 Projet de Programmation Benoit Donnet Année Académique 2015-2016 1 Agenda Partie 2: Outils Chapitre 1: Compilation Chapitre 2: Librairie Chapitre 3: Tests Chapitre 4: Documentation Chapitre 5: Débogage

Plus en détail

Définition: Transaction

Définition: Transaction Concurrence des accès Atomicité à la concurrence Concurrency atomicity Concepts 2PL Définition: Transaction Une transaction est une unité de travail Un ensemble d actions qui prend la base de données dans

Plus en détail

1ère année. On découvre ainsi la sous-commande create : svnadmin create -- help

1ère année. On découvre ainsi la sous-commande create : svnadmin create -- help TD OMGL/VCS n 4 SVN IUT Orléans 1ère année Dans ce TD, vous allez commencer à vous familiariser avec SVN (Subversion). La commande principale pour cet utilitaire est svn. Les fonctionalités qu il offre

Plus en détail

Séance n o 1 : Diff, Patch, Subversion

Séance n o 1 : Diff, Patch, Subversion 1 Introduction Licence Professionnelle ASRALL Outils Logiciels Libres Séance n o 1 : Diff, Patch, Subversion La gestion de projet nécessite des outils évolués permettant de faciliter cette gestion. En

Plus en détail

Les systèmes de gestion de version

Les systèmes de gestion de version Les systèmes de gestion de version Matthieu Herrb Envol 2010 http://homepages.laas.fr/matthieu/talks/envol10-sgv.pdf Systèmes de gestion de version - kesako? Logiciel permettant de gérer l historique des

Plus en détail

Gestion de configuration avec CVS et Subversion

Gestion de configuration avec CVS et Subversion Gestion de configuration avec CVS et Subversion Maxence Guesdon et Guillaume Rousse 31 mars 2011 Table des matières 1 Introduction 2 1.1 Gestion de version..................................... 2 1.1.1

Plus en détail

Systèmes de gestion de code source

Systèmes de gestion de code source Systèmes de gestion de code source Matthieu Herrb CNRS-LAAS Envol, 22 octobre 2008 http://www.laas.fr/~matthieu/talks/envol08-sgv.pdf Agenda 1 Introduction 2 Concepts d un système de gestion de version

Plus en détail

PROGRAMMATION WEB. Introduction à SVN. 20 septembre 2015 Denis Monnerat. IUT de Fontainebleau. monnerat@u-pec.fr. Introduction à SVN 1

PROGRAMMATION WEB. Introduction à SVN. 20 septembre 2015 Denis Monnerat. IUT de Fontainebleau. monnerat@u-pec.fr. Introduction à SVN 1 PROGRAMMATION WEB Introduction à SVN 20 septembre 2015 Denis Monnerat monnerat@u-pec.fr IUT de Fontainebleau Introduction à SVN 1 Sommaire 1. Introduction 2. Notions de bases 3. Cycle d utilisation 4.

Plus en détail

Introduction à Subversion

Introduction à Subversion Introduction à Subversion Julien Barnier 2 août 2005 Introduction à Subversion 2 Table des matières 1 Introduction 1.1 Objectifs de ce document Ce document a pour objectif de servir d aide-mémoire et de

Plus en détail

Team Foundation Server Côté utilisateur

Team Foundation Server Côté utilisateur Team Foundation Server Côté utilisateur Version 1.0 Z Sylvain Lieu Franck Boisgibault 2 Team Foundation Server Côté utilisateur Sommaire 1 Accès... 3 1.1 Team Explorer... 3 1.2 Portail web... 3 1.3 Intégration

Plus en détail

Utiliser la forge de l'ubp pour gérer un projet avec SVN - Les bases -

Utiliser la forge de l'ubp pour gérer un projet avec SVN - Les bases - Utiliser la forge de l'ubp pour gérer un projet avec SVN - Les bases - Hélène Toussaint, 27 novembre 2012 But du document : Le but de ce document est de découvrir la gestion de projets à l'aide des outils

Plus en détail

Guide d installation de l add-in TestDirector Version Control

Guide d installation de l add-in TestDirector Version Control Guide d installation de l add-in TestDirector Version Control Borland Software Corporation 100 Enterprise Way Scotts Valley, California 95066-3249 www.borland.com Les applications mentionnées dans ce manuel

Plus en détail

Unix/Linux I. 1 ere année DUT. Université marne la vallée

Unix/Linux I. 1 ere année DUT. Université marne la vallée Unix/Linux I 1 ere année DUT Université marne la vallée 1 Introduction 2 Fonctions et spécifité d Unix Architecture 3 4 5 Fichier Unix Arborescence de fichiers Quelques commandes sur les fichiers Chemins

Plus en détail

Sauvegarde et Restauration d un environnement SAS

Sauvegarde et Restauration d un environnement SAS Sauvegarde et Restauration d un environnement SAS 1 INTRODUCTION 3 1.1 OBJECTIFS 3 1.2 PERIMETRE 3 2 LA SAUVEGARDE 4 2.1 QUELQUES REGLES D ORGANISATION 4 2.2 DEFINIR LES BESOINS 5 2.3 LA SAUVEGARDE, ETAPE

Plus en détail

LA GESTION DE FICHIERS

LA GESTION DE FICHIERS CHAPITRE 6 : LA GESTION DE FICHIERS Objectifs spécifiques Connaître la notion de fichier, ses caractéristiques Connaître la notion de répertoires et partitions Connaître les différentes stratégies d allocation

Plus en détail

Outils supportant le DEVeloppement, le déploiement et la maintenance collaborative des Applications (ODEVA)

Outils supportant le DEVeloppement, le déploiement et la maintenance collaborative des Applications (ODEVA) Outils supportant le DEVeloppement, le déploiement et la maintenance collaborative des Applications (ODEVA) a) Systèmes de Contrôle de Versions (Source Control Management) Centralisés : svn Distribués

Plus en détail

2 Spécicités SVN. 3 Verrouiller ou copier-modier-fusionner. 4 Commandes SVN. 5 Références

2 Spécicités SVN. 3 Verrouiller ou copier-modier-fusionner. 4 Commandes SVN. 5 Références Table des matières Apache Subversion (SVN) 1 Michel Meynard UM2 2 Spécicités SVN 3 Verrouiller ou copier-modier-fusionner Univ. Montpellier 2 4 5 Références Michel Meynard (UM2) Apache Subversion (SVN)

Plus en détail

Principe de fonctionnement et commandes essentielles de CVS

Principe de fonctionnement et commandes essentielles de CVS Principe de fonctionnement et commandes essentielles de CVS I. Le Concept CVS : CVS est un outil de développement permettant le versionning. CVS va créer des versions au fur et à mesure du développement,

Plus en détail

1 Introduction. 2 Propriétés. 3 git log - historique du projet. 4 git add et rm - ajout et suppression. 5 git commit - validation

1 Introduction. 2 Propriétés. 3 git log - historique du projet. 4 git add et rm - ajout et suppression. 5 git commit - validation Table des matières 1 Introduction Git Michel Meynard UM Université Montpellier 2 Propriétés 3 git log - historique du projet 4 git add et rm - ajout et suppression 5 git commit - validation 6 Travailler

Plus en détail

Team Foundation Server Côté chef de projet

Team Foundation Server Côté chef de projet Team Foundation Server Côté chef de projet Version 1.0 Z Sylvain Lieu Franck Boisgibault 2 Chapitre 03 - Partie chef de projet Sommaire 1 Introduction... 3 2 Rôles et groupes... 4 2.1 Groupes par défaut...

Plus en détail

Groupe Eyrolles, 2006, ISBN : 2-212-11919-4

Groupe Eyrolles, 2006, ISBN : 2-212-11919-4 Groupe Eyrolles, 2006, ISBN : 2-212-11919-4 A Résumé des commandes Résumé des commandes de Subversion Récapitulons les commandes de Subversion. Certaines options sont communes à plusieurs d entre elles

Plus en détail

SOMMAIRE EXMERGE. Chapitre 1 Installation EXMERGE 2. Chapitre 2 Modification ExMerge 6. Chapitre 3 Exécution sans erreur 23

SOMMAIRE EXMERGE. Chapitre 1 Installation EXMERGE 2. Chapitre 2 Modification ExMerge 6. Chapitre 3 Exécution sans erreur 23 Exchange 2003 Page 1 sur 32 SOMMAIRE Chapitre 1 Installation 2 1.1 Téléchargement 2 1.2 Installation 4 1.3 1 er lancement 5 Chapitre 2 Modification ExMerge 6 2.1 2 nd lancement 6 2.2 3ème lancement 11

Plus en détail

INSTALLATION ET CONFIGURATION DE OPENLDAP

INSTALLATION ET CONFIGURATION DE OPENLDAP INSTALLATION ET CONFIGURATION DE OPENLDAP Ce document a pour intérêt de décrire les étapes de l installation et de la configuration de l outil OpenLDAP sous l OS FreeBSD 4.8 Installation et Configuration

Plus en détail

Les journées SQL Server 2013

Les journées SQL Server 2013 Les journées SQL Server 2013 Un événement organisé par GUSS Les journées SQL Server 2013 Les Verrous Arian Papillon, MVP SQL Server Frédéric Brouard, MVP SQL Server Un événement organisé par GUSS Arian

Plus en détail

TP 1 - Installer Git

TP 1 - Installer Git par la pratique TP 1 - Installer Git Rendez-vous à la page de téléchargement : http://git-scm.com/ download Suivez les instructions suivant votre plateforme (Windows, Linux, Mac) Vérification de l installation

Plus en détail

Bases de données et sites WEB Licence d informatique LI345

Bases de données et sites WEB Licence d informatique LI345 Bases de données et sites WEB Licence d informatique LI345 Anne Doucet Anne.Doucet@lip6.fr http://www-bd.lip6.fr/ens/li345-2013/index.php/lescours 1 Contenu Transactions en pratique Modèle relationnel-objet

Plus en détail

Les Systèmes de Gestion de Version

Les Systèmes de Gestion de Version Les Systèmes de Gestion de Version Journées Mathrice - Mars 2011 - Dijon-Besançon F. Langrognet F. Langrognet () Les Systèmes de Gestion de Version Mars 2011 1 / 49 PLAN 1 Objectifs d un Système de Gestion

Plus en détail

Cours de Base de Données Cours n.12

Cours de Base de Données Cours n.12 Cours de Base de Données Cours n.12 Gestion des transactions : contrôle de concurrence Elisabetta De Maria - http://www.i3s.unice.fr/ edemaria/ UFR Sciences et Laboratoire I3S, CNRS 2013-2014 Université

Plus en détail

UE1 - Langage C Fiche TP1

UE1 - Langage C Fiche TP1 1 UE1 - Langage C Fiche TP1 Objectifs 1. Connaître quelques commandes linux 2. Savoir manipuler les outils de compilation tels que gcc, make 3. Ecrire des algorithmes, les coder en C, et les exécuter 1.

Plus en détail

Sage 100 CRM Guide de l Analyseur de Logs Intégration de Sage 100 CRM Version 8

Sage 100 CRM Guide de l Analyseur de Logs Intégration de Sage 100 CRM Version 8 Sage 100 CRM Guide de l Analyseur de Logs Intégration de Sage 100 CRM Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant :

Plus en détail

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8 Sage 100 CRM Guide de l Import Plus avec Talend Version 8 Mise à jour : 2015 version 8 Composition du progiciel Votre progiciel est composé d un boîtier de rangement comprenant : le cédérom sur lequel

Plus en détail

Installer et configurer le serveur de fichier et contrôleur de domaine basé sur samba 3

Installer et configurer le serveur de fichier et contrôleur de domaine basé sur samba 3 Installer et configurer le serveur de fichier et contrôleur de domaine basé sur samba 3 SOMMAIRE INTRODUCTION... 2 PRE-REQUIS... 2 ENVIRONNEMENT TECHNIQUE... 2 MIGRATION DE DONNEES ET DE CONFIGURATION...

Plus en détail

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions 1/46 2/46 Pourquoi? Anne-Cécile Caron Master MAGE - SGBD 1er trimestre 2014-2015 Le concept de transaction va permettre de définir des processus garantissant que l état de la base est toujours cohérent

Plus en détail

LE SAS SOFTWARE DEPOT

LE SAS SOFTWARE DEPOT LE SAS SOFTWARE DEPOT Depuis SAS 9, l ensemble des logiciels SAS peuvent être installés depuis un unique répertoire : le SAS Software Depot. Il contient tous les exécutables permettant d installer les

Plus en détail

Cours 7 : Langage de définition, manipulation et contrôle des données

Cours 7 : Langage de définition, manipulation et contrôle des données Cours 7 : Langage de définition, manipulation et contrôle des données Objets d une base de données Dans un schéma Tables, vues Index, clusters, séquences, synonymes Packages, procédures, fonctions, déclencheurs

Plus en détail

Cours d Analyse, Algorithmique Elements de programmation

Cours d Analyse, Algorithmique Elements de programmation 1 de 33 Cours d Analyse, Algorithmique Elements de programmation Florent Hivert Mél : Florent.Hivert@lri.fr Adresse universelle : http://www.lri.fr/ hivert 2 de 33 Données et instructions Un programme

Plus en détail

Multi-processeurs, multi-cœurs, cohérence mémoire et cache

Multi-processeurs, multi-cœurs, cohérence mémoire et cache Multi-processeurs, multi-cœurs, cohérence mémoire et cache Intervenant : Thomas Robert Institut Mines-Télécom Parallélisme inter instructions n Exécution : une séquence d instructions appliquées à un 1

Plus en détail

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Tutoriel Création d une source Cydia et compilation des packages sous Linux Tutoriel Création d une source Cydia et compilation des packages sous Linux 1. Pré-requis 1. Quelques connaissances sous Linux 2. Avoir à disposition un Serveur FTP pour héberger votre source 3. Un thème

Plus en détail

Programme accédant et/ou modifiant des données persistantes (fichier ou BD) avec propriétés :

Programme accédant et/ou modifiant des données persistantes (fichier ou BD) avec propriétés : Transaction réservation(date, nbplace) select reste into r from RESERVATION where dateresa=:date si (r >= nbplace) alors update RESERVATION set reste=reste-nbplace where dateresa=:date éditer-place(date,

Plus en détail

SURETE DE FONCTIONNEMENT ET REPRISE APRES PANNE

SURETE DE FONCTIONNEMENT ET REPRISE APRES PANNE Université des sciences et de la Technologie Houari Boumediene USTHB Alger Département d Informatique ARCHITECTURE ET ADMINISTRATION DES BASES DE DONNÉES 2013-2014 RESPONSABLES M. KAMEL BOUKHALFA (SII)

Plus en détail

Module BDR Master d Informatique

Module BDR Master d Informatique Module BDR Master d Informatique Cours 8- Reprise sur pannes Anne Doucet Anne.Doucet@lip6.fr 1 Gestion de transactions Définition Exemples Propriétés des transactions Fiabilité et tolérance aux pannes

Plus en détail

UE : Génie Logiciel Maîtrise d informatrique TP svn. Christian Gentil

UE : Génie Logiciel Maîtrise d informatrique TP svn. Christian Gentil UE : Génie Logiciel Maîtrise d informatrique TP svn Christian Gentil March 8, 2013 Introduction Ce TP est conçu pour être réalisé en ligne de commande sous un environnement linux avec le paquet subversion

Plus en détail

PRESENTATION DE PENTAHO DATA INTEGRATION (PDI)

PRESENTATION DE PENTAHO DATA INTEGRATION (PDI) PRESENTATION DE PENTAHO DATA INTEGRATION (PDI) Août 2006 Version: 1.0 Auteur: Samatar HASSAN PDI 2.3 http://www.pentaho.org/ Présentation Pentaho Data Integration 2.3 Page 1 sur 8 PLAN I Présentation...3

Plus en détail

Systèmes de fichiers. Didier Verna

Systèmes de fichiers. Didier Verna 1/23 de fichiers didier@lrde.epita.fr http://www.lrde.epita.fr/ didier 2/23 Table des matières 1 2 Structure des fichiers 3 Structure des répertoires 4 Protection et sécurité 4/23 Répondre aux problèmes

Plus en détail

RevGED 3 Manuel d installation

RevGED 3 Manuel d installation RevGED 3 Manuel d installation RevGED est un logiciel de gestion électronique de document. Ce présent document explique comment l installer que vous ayez eu RevGED 2 ou non. Il est complété de configurations

Plus en détail

Intégration de CaliberRM avec Mercury Quality Center

Intégration de CaliberRM avec Mercury Quality Center Intégration de CaliberRM avec Mercury Quality Center Les applications mentionnées dans ce manuel sont brevetées par Borland Software Corporation ou en attente de brevet. Reportez-vous au CD du produit

Plus en détail

MEGA TeamWork. Guide d utilisation

MEGA TeamWork. Guide d utilisation MEGA TeamWork Guide d utilisation MEGA HOPEX V1R1 1ère édition (juillet 2013) Les informations contenues dans ce document pourront faire l objet de modifications sans préavis et ne sauraient en aucune

Plus en détail

MEGA Administration-Supervisor. Guide de l administrateur

MEGA Administration-Supervisor. Guide de l administrateur MEGA Administration-Supervisor Guide de l administrateur MEGA 2009 SP4 1ère édition (juin 2010) Les informations contenues dans ce document pourront faire l objet de modifications sans préavis et ne sauraient

Plus en détail

MEGA TeamWork. Guide d utilisation

MEGA TeamWork. Guide d utilisation MEGA TeamWork Guide d utilisation MEGA 2009 SP4 1ère édition (juin 2010) Les informations contenues dans ce document pourront faire l objet de modifications sans préavis et ne sauraient en aucune manière

Plus en détail

Automatisation en génie logiciel

Automatisation en génie logiciel Automatisation en génie logiciel Plan: Pourquoi et quoi automatiser? Gestion de configuration logicielle. Intégration continue. Traçabilité des changements. Tests unitaires automatisés. 1 Automatisation

Plus en détail

MEGA Administration-Supervisor. Guide de l administrateur

MEGA Administration-Supervisor. Guide de l administrateur MEGA Administration-Supervisor Guide de l administrateur MEGA HOPEX V1R2-V1R3 10ème édition (novembre 2015) Les informations contenues dans ce document pourront faire l objet de modifications sans préavis

Plus en détail

L outil Cup. Licence info et GMI documentation COMPIL 2007-2008. Pour toutes remarques, questions, suggestions : mirabelle.nebut@lifl.

L outil Cup. Licence info et GMI documentation COMPIL 2007-2008. Pour toutes remarques, questions, suggestions : mirabelle.nebut@lifl. UFR IEEA Licence info et GMI documentation COMPIL 2007-2008 FIL Pour toutes remarques, questions, suggestions : mirabelle.nebut@lifl.fr 1 raccourci pour Java-Based Constructor of Useful Parsers est un

Plus en détail

Créer et partager des fichiers

Créer et partager des fichiers Créer et partager des fichiers Le rôle Services de fichiers... 246 Les autorisations de fichiers NTFS... 255 Recherche de comptes d utilisateurs et d ordinateurs dans Active Directory... 262 Délégation

Plus en détail

Introduction aux concepts d ez Publish

Introduction aux concepts d ez Publish Introduction aux concepts d ez Publish Tutoriel rédigé par Bergfrid Skaara. Traduit de l Anglais par Benjamin Lemoine Mercredi 30 Janvier 2008 Sommaire Concepts d ez Publish... 3 Système de Gestion de

Plus en détail

Réplication des données

Réplication des données Réplication des données Christelle Pierkot FMIN 306 : Gestion de données distribuées Année 2009-2010 Echange d information distribuée Grâce à un serveur central Une seule copie cohérente Accès à distance

Plus en détail

Faire sa bibliographie avec. Noël Thiboud

Faire sa bibliographie avec. Noël Thiboud Faire sa bibliographie avec Noël Thiboud Qu est-ce que Mendeley? Version actuelle : 1.12.3 Application multiplateforme Tous navigateurs Accès par iphone, ipod, ipad A la fois Un logiciel de gestion de

Plus en détail

LE SAS SOFTWARE DEPOT EN VERSION 9.3

LE SAS SOFTWARE DEPOT EN VERSION 9.3 LE SAS SOFTWARE DEPOT EN VERSION 9.3 Depuis SAS 9, l ensemble des logiciels SAS peuvent être installés depuis un répertoire unique : le «SAS Software Depot», que nous appellerons plus simplement «dépôt»

Plus en détail

PLAN DE GESTION DE LA CONFIGURATION DU LOGICIEL

PLAN DE GESTION DE LA CONFIGURATION DU LOGICIEL PLAN DE GESTION DE LA CONFIGURATION DU LOGICIEL TRAVAIL PRÉSENTÉ À MME SOUMAYA CHERKAOUI DANS LE CADRE DU COURS GEI450, PROJET DE CONCEPTION DE LOGICIELS PAR L'ÉQUIPE SOKRATE : SIMON BÉLANGER YANNICK BROSSEAU

Plus en détail

Intégration du module de paiement pour la plateforme Virtuemart 3

Intégration du module de paiement pour la plateforme Virtuemart 3 Intégration du module de paiement pour la plateforme Virtuemart 3 Version 2.0.1 Notes de Versions Version Date Commentaires 2.0.1 05/03/2015 Correction de bug : 1.1 19/01/2015 1.0 14/01/2015 Création du

Plus en détail

Quelques éléments de compilation en C et makefiles

Quelques éléments de compilation en C et makefiles Quelques éléments de compilation en C et makefiles Guillaume Feuillade 1 Compiler un programme C Le principe de la compilation consiste à passer d un ensemble de fichiers de code à un programme exécutable

Plus en détail

2010 Ing. Punzenberger COPA-DATA GmbH. Tous droits réservés.

2010 Ing. Punzenberger COPA-DATA GmbH. Tous droits réservés. 2010 Ing. Punzenberger COPA-DATA GmbH Tous droits réservés. La distribution et/ou reproduction de ce document ou partie de ce document sous n'importe quelle forme n'est autorisée qu'avec la permission

Plus en détail

Subversion (SVN) Système de gestion de version Successeur de CVS

Subversion (SVN) Système de gestion de version Successeur de CVS Subversion (SVN) Système de gestion de version Successeur de CVS Sommaire Qu'entend-on par gestion de version? Introduction à SVN Principes de base Différences avec CVS Commandes Exemples Configuration

Plus en détail

UT Installation et paramétrage logiciel de sauvegarde INSTALLATION ET PARAMETRAGE LOGICIEL DE SAUVEGARDE. Groupe PROGMAG

UT Installation et paramétrage logiciel de sauvegarde INSTALLATION ET PARAMETRAGE LOGICIEL DE SAUVEGARDE. Groupe PROGMAG GUIDE UTILISATION POINT DE VENTE INSTALLATION ET PARAMETRAGE LOGICIEL DE SAUVEGARDE SOMMAIRE 1 Créer une tâche de sauvegarde... 4 1.1 Paramètres de la tâche... 4 1.1.1 Nommer la tâche... 4 1.1.2 Emplacement

Plus en détail

Fathom: C est installé maintenant? Paul Koufalis Président Progresswiz Informatique

Fathom: C est installé maintenant? Paul Koufalis Président Progresswiz Informatique : C est installé é et maintenant? Paul Koufalis Président Progresswiz Informatique Progresswiz Informatique Offre de l expertise technique Progress, UNIX, Windows et plus depuis 1999 Spécialisé en matière

Plus en détail

Gestion de versions avec Git

Gestion de versions avec Git Gestion de versions avec Git Lucas Nussbaum lucas.nussbaum@univ-lorraine.fr Lucas Nussbaum Gestion de versions avec Git 1 / 17 Logiciels de gestion de versions Ou Version Control System (VCS) ou RCS :

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

De protection des données dans SharePoint de l entreprise

De protection des données dans SharePoint de l entreprise De protection des données dans SharePoint de l entreprise Saguenay (Sag) Baruss TSP principal, AvePoint Canada ** ** Cette présentation a été créé et distribué indépendamment de AvePoint. Pour plus d'informations

Plus en détail

Industrialisateur Open Source

Industrialisateur Open Source NORMES ET STANDARDS SCRIPTS D EXPLOITATION Copyright BV Associates 2013 IMEPSIA TM est une marque déposée par BV Associates Page 1 SOMMAIRE 1 INTRODUCTION 3 2.1 3 2.2 Utilisation des normes et standards

Plus en détail

Cours Windows 2008-2009 Franck Rupin - Laurent Gydé. Administration Windows

Cours Windows 2008-2009 Franck Rupin - Laurent Gydé. Administration Windows Cours Windows 2008-2009 Franck Rupin - Laurent Gydé 1 Gestion des disques Types de stockage Outils Disques dynamiques Montage de volumes Défragmentation Tâches de gestion et réparation des volumes 2 Gestion

Plus en détail

Installation d'un serveur Forefront Threat Management Gateway 2010 (TMG 2010)

Installation d'un serveur Forefront Threat Management Gateway 2010 (TMG 2010) Installation d'un serveur Forefront Threat Management Gateway 2010 (TMG 2010) Par LoiselJP Le 01/05/2013 1 Objectifs Ce document décrit le plus succinctement possible une manière, parmi d'autres, d installer

Plus en détail

Copyright (C) 1997-2007. JM Rodriguez. Tous droits réservés. Reproduction interdite par tous moyens sauf à des fins de citation.

Copyright (C) 1997-2007. JM Rodriguez. Tous droits réservés. Reproduction interdite par tous moyens sauf à des fins de citation. 1 Les Transactions Une transaction est une séquence d opérations sur un serveur. 1.1 Le concept Le principe s'inspire des transactions tout ou rien de l'époque primitive des bandes magnétiques sans l'utilisation

Plus en détail

Programmation C++ Utilisation de QtCreator pour la gestion de projet TD 0

Programmation C++ Utilisation de QtCreator pour la gestion de projet TD 0 Programmation C++ Utilisation de QtCreator pour la gestion de projet TD 0 B. Raymond and R. Pacanowski September 25, 2014 1 Motivation Ecrire dans un fichier hello_word.cpp, un programme qui affiche «Hello

Plus en détail

Comparaison de tables à distance

Comparaison de tables à distance Rapport de recherche A/375/CRI Fabien Coelho fabien@coelho.net composé avec LAT E X, révision 463 du document 1 Fabien Coelho job enseignant-chercheur à MINES ParisTech ingénieur civil 1993, docteur en

Plus en détail

ISLOG Logon Tools Manuel utilisateur

ISLOG Logon Tools Manuel utilisateur ISLOG Logon Tools Manuel utilisateur Document révision 02 Copyright 2013 ISLOG Network. Tout droit réservé. Historique de version Date Auteur Description Document Version 23/08/13 F Godinho Version initiale

Plus en détail

Projet gestion d'objets dupliqués

Projet gestion d'objets dupliqués Projet gestion d'objets dupliqués Daniel Hagimont Daniel.Hagimont@enseeiht.fr 1 Projet Service de gestion d'objets dupliqués Mise en cohérence lors de la prise d'un verrou sur un objet Pas de verrous imbriqués

Plus en détail

Conception et Développement Orientés Objets Cours 1 : Introduction. 2 Les paradigmes de programmation. 3 Les concepts de la programmation objet

Conception et Développement Orientés Objets Cours 1 : Introduction. 2 Les paradigmes de programmation. 3 Les concepts de la programmation objet CNAM UV 19357 Année 2003-2004 David Delahaye David.Delahaye@cnam.fr Conception et Développement Orientés Objets Cours 1 : Introduction 1 Présentation de la valeur Ce cours s adresse à toute personne ayant

Plus en détail

Les procédures stockées et les fonctions utilisateur

Les procédures stockées et les fonctions utilisateur Les procédures stockées et les fonctions utilisateur Z Grégory CASANOVA 2 Les procédures stockées et les fonctions utilisateur [08/07/09] Sommaire 1 Introduction... 3 2 Pré-requis... 4 3 Les procédures

Plus en détail

TP Contraintes - Triggers

TP Contraintes - Triggers TP Contraintes - Triggers 1. Préambule Oracle est accessible sur le serveur Venus et vous êtes autorisés à accéder à une instance licence. Vous utiliserez l interface d accés SQL*Plus qui permet l exécution

Plus en détail

Le système de gestion de version Git et GitHub

Le système de gestion de version Git et GitHub Le système de gestion de version Git et GitHub Génie Logiciel - MPRI GROSSHANS Nathan nathan.grosshans@lsv.ens-cachan.fr 9 octobre 2014 Introduction Système de gestion de version Système logiciel permettant

Plus en détail

Manuel du développeur de l'application Vitamin version 1.0

Manuel du développeur de l'application Vitamin version 1.0 Manuel du développeur de l'application Vitamin version 1.0 Ce document a pour but de décrire la démarche pour intervenir sur le code de l'application Vitamin Manuel d'exploitation de l'application vitamin,

Plus en détail

Commandes et scripts Bash. 1 Commandes de gestion des fichiers et répertoires

Commandes et scripts Bash. 1 Commandes de gestion des fichiers et répertoires Commandes et scripts Bash Seules certaines options sont indiquées. Pour plus de détails voir les pages de manuel (cf commande man). Si une commande est indiquée comme étant interne, cela signifie qu elle

Plus en détail

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château Rappel TP3 Intégration de pratiques agiles En direct-live du château 40 41 Scénario d intégration agile 1. User Stories (1) 1. Rédiger les User Stories (exigences) 2. Planifier les Itérations (quoi / quand)

Plus en détail

C.M. 1 & 2 : Prise en main de Linux

C.M. 1 & 2 : Prise en main de Linux Grégory Bonnet gregory.bonnet@unicaen.fr GREYC Université Caen Basse Normandie Diaporama original : Jean-Philippe Métivier - Boris Lesner But de cet enseignement 1 - Apprendre à manipuler un système Unix/Linux

Plus en détail

BTS SIO. Session 2013 2015

BTS SIO. Session 2013 2015 BTS SIO Services Informatiques aux Organisations Session 2013 2015 Collé Maxime Année 2013-2014 Option : SLAM Activité professionnelle N 1 NATURE DE L'ACTIVITE : DÉVELOPPEMENT DE L APPLICATION WEB «GESTION

Plus en détail

IN104. Programmation orientée objet Introduction aux objets

IN104. Programmation orientée objet Introduction aux objets IN104 Programmation orientée objet Introduction aux objets Séance de Travaux Dirigés du 24 septembre 2009 B. Monsuez, F. Védrine Exercice 1 Notre compteur en C++ Nous étudions dans cet exercice l exemple

Plus en détail

Manuel d utilisation. InCD. ahead

Manuel d utilisation. InCD. ahead Manuel d utilisation InCD ahead Table des matières 1 À propos de InCD...1 1.1 InCD : de quoi s agit-il?...1 1.2 Conditions préliminaires pour utiliser InCD...1 1.3 Mise à jour...2 1.3.1 Conseils pour les

Plus en détail

TP1 - Prise en main de l environnement Unix.

TP1 - Prise en main de l environnement Unix. Mise à niveau UNIX Licence Bio-informatique TP1 - Prise en main de l environnement Unix. Les sujets de TP sont disponibles à l adresse http://www.pps.jussieu.fr/~tasson/enseignement/bioinfo/ Les documents

Plus en détail

Comment se documenter?

Comment se documenter? Comment se documenter? Olivier Aubert 1/26 RTFM Réfère-Toi au Fameux Manuel Read The Fine Manual Read The F...ing Manual Variantes RTFS : Read The F...ing Source UTSL : Use The Source, Luke.... 2/26 Le

Plus en détail