Systèmes de Gestion de Version

Documents pareils
Les systèmes de gestion de version

Serveur Subversion Debian GNU/Linux

Le système de gestion de version Git et GitHub

Plan global Outils de développement et compilation. Ce que l on veut éviter. Plan. Git : gestion de code source et versionnement.

Systèmes de gestion de code source

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

TP Git. Author : Cedric Dumoulin Date : 2 déc Rev : 9 Dec. 2014

Développement de portails et outils de travail collaboratifs. Mehdi Louizi

La magie de SVN. Découverte & usage du logiciel

21 mars Simulations et Méthodes de Monte Carlo. DADI Charles-Abner. Objectifs et intérêt de ce T.E.R. Générer l'aléatoire.

FusionInventory. I-Détails et explication de l installation de l agent FusionInventory

Les logiciels de gestion de version exemple de GIT et application avec SmartGIT

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

Gestion de projet Gestion de configuration Gestion de Conflits. Lydie du Bousquet Philippe Lalanda

Outils de développement collaboratif

Cours Plugin Eclipse. Université Paris VI / Parcours STL / Master I Pierre-Arnaud Marcelot - Iktek - pamarcelot@iktek.com

Connaître les Menaces d Insécurité du Système d Information

Maarch V1.4

Motivations (many2many) Motivations (many2one) Sur le thème de la Version. La gestion de version. La gestion de configuration.

Tutoriel git. Régis Briant, Youngseob Kim & Dmitry Khvorostyanov. Table des matières. 1 Configurer git 2

Playzilla - Chargement par clé usb

TD/TP 1 Introduction au SDK d Android

RTE Technologies. RTE Geoloc. Configuration avec Proxy ou Firewall

Créer et partager des fichiers

Groupe Eyrolles, 2006, ISBN :

Installation et prise en main

Guide des Développeurs SITools2 V3

Déclarer un serveur MySQL dans l annuaire LDAP. Associer un utilisateur DiaClientSQL à son compte Windows (SSO)

VMware Infrastructure The New Computing Platform. Stéphane CROIX Systems Engineer

Correspondances Windows-Linux

Utilisation de GCM (Google Cloud Messaging) pour Android. Partie préliminaire éventuelle : Création d'un AVD lisant GCM

Basée sur un puissant moteur de bases de données, cette solution a été conçue pour une exploitation en multi ou monoposte.

IN Tech - 12 janvier 2010 Open Source et innovation : le Libre comme méthodologie de développement

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1

HTTP Commander. Table des matières. 1-Présentation de HTTP Commander

Cellier Clément, Maginot Quentin, Tripier Axel, Zaorski Jean, Zini Robin. 18 mars 2015

Générer du code à partir d une description de haut niveau

Système clients serveur Kwartz Vulgarisation, identification, dossier personnel

Documentation FOG. 3. Choisir le nom de la machine, le nom d utilisateur et le mot de passe correspondant (par exemple : fog, password)

Serveur DNS et DHCP couplé à LDAP Debian GNU/Linux

Hudson Serveur d Intégration Continue. Adrien Lecharpentier IR3 Ingénieurs2000, Université de Marne la Vallée

Slony1 2.1 Londiste 3

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

TABLE DES MATIÈRES CHAPITRE I. INTRODUCTION À LA VEILLE... 3

Technologie Esthétique Services. Logiciel pour avocats sensibles aussi à... l esthétique. SECIB Le choix de l excellence

Architecture distribuée

Création d installateurs pour Windows avec InnoSetup

Alors pour vous simplifiez la vie, voici un petit tuto sur le logiciel de sauvegarde (gratuit) SyncBack.

RACCOURCIS CLAVIERS. DEFINITION : Une «combinaison de touches» est un appui simultané sur plusieurs touches.

Mendeley, pour gérer sa bibliographie et la partager. Patricia Volland-Nail

Manuel d utilisation de l outil collaboratif

Gestion Electronique d'informations et de Documents pour l'entreprise

L installation du module Webmail nécessite également quelques prérequis, à savoir :

NIMEGUE V3. Fiche technique 3.07 : Sauvegarde / Restauration manuelle

LiveUSB clefisn. Meilland jean claude et Kbida Abdellatif. 16 septembre 2012

CONFIGURATION DE L'ACCÈS À DISTANCE POUR LE SYSTÈME D'ENREGISTREMENT VIDÉO NUMÉRIQUE QT17D324SC

GUIDE D INSTALLATION DE L APPLICATION GECOL SUR

PROJET AZURE (par Florent Picard, A2011)

FreeMind. Freeplane XMind. 2 e édition. Bien démarrer avec le Mind Mapping. . Groupe Eyrolles, 2010, ISBN :

Réinventer la sensation de lire

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

Contrôle de versions et travail collaboratif. Organisation du travail collaboratif. Organisation du travail collaboratif

EXA1415 : Annotations

Déclarer un serveur MySQL dans l annuaire LDAP. Associer un utilisateur DiaClientSQL à son compte Windows (SSO)

Hands on Openstack : Introduction

NatStar V8.00. Ce document présente la liste des nouvelles fonctionnalités de la 8.00, disponible à partir de septembre 2013.

MISE EN PLACE DU FIREWALL SHOREWALL

Migration et import de données

ECLIPSE ET PDT (Php development tools)

Gestion de configuration

Réplication des données

Réparer un disque dur passé en RAW

Warren PAULUS. Android SDK et Android x86

2 Formation utilisateur

La réplication sous SQL Server 2005

Gestion des documents avec ALFRESCO

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

Mise en place d un cluster. De basculement. Et DHCP Failover. Installation. Préparation. Vérification

Extensions, Documentation, Tutoriels, Astuces

Formation subversion (svn) Marc-Olivier Buob

Technique opératoire de la division (1)

Inconvénient les micro paiements (très faibles montants) ne sont pas toujours possibles.

Quick Start Installation de MDweb version 2.3

4. Utilisation d un SGBD : le langage SQL. 5. Normalisation

DIFF AVANCÉE. Samy.

Alfresco Guide Utilisateur

Jeudi 17 février Nicolas Darcheville Vincent Goessens

PREREQUIS TECHNIQUES. Yourcegid Etafi Start

Gestion d identités PSL Exploitation IdP Authentic

Objet du document. Version document : 1.00

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Introduction à Linux (pour le HPC) «Linux 101» Présentation :

INGÉNIEUR - DÉVELOPPEUR EXPÉRIMENT É PHP - MAGENT O. 30 ans - 6 ans d'expérience

Mobile OGSI.NET: Grid Computing on Mobile Devices

Quelques mots à propos de Sage

DEMARREZ RAPIDEMENT VOTRE EVALUATION

Présentation de l outil AppliDis ESX Console Viewer

Un business model d éditeur open source

Gestion des sauvegardes

Transcription:

Systèmes de Gestion de Version F. Langrognet F. Langrognet () Systèmes de gestion de version Mars 2014 1 / 39

PLAN 1 Objectifs d un Système de Gestion de Version (SGV) 2 Un SGV, comment ça marche? 3 Petit tour d horizon des SGV 4 Petit zoom sur SVN et Git SVN Git 5 Conclusion F. Langrognet () Systèmes de gestion de version Mars 2014 2 / 39

PLAN 1 Objectifs d un Système de Gestion de Version (SGV) 2 Un SGV, comment ça marche? 3 Petit tour d horizon des SGV 4 Petit zoom sur SVN et Git SVN Git 5 Conclusion F. Langrognet () Systèmes de gestion de version Mars 2014 3 / 39

Objectifs d un Système de Gestion de Version Travailler à plusieurs Conserver l historique Pouvoir revenir en arrière Qui a modifié pour la dernière fois ce fichier? Quelles sont les différences entre 2 versions de ce fichier? Quelle est la version du 15 mars 2007? F. Langrognet () Systèmes de gestion de version Mars 2014 4 / 39

Objectifs d un Système de Gestion de Version (suite) Et aussi... Gestion des branches Objectif : mener en parallèle plusieurs versions (stable, testing,...) Utilisation de tags Objectif : donner un nom explicite à une version pour pouvoir y accéder facilement Sécurité Intégrité, Disponibilité, Confidentialité F. Langrognet () Systèmes de gestion de version Mars 2014 5 / 39

PLAN 1 Objectifs d un Système de Gestion de Version (SGV) 2 Un SGV, comment ça marche? 3 Petit tour d horizon des SGV 4 Petit zoom sur SVN et Git SVN Git 5 Conclusion F. Langrognet () Systèmes de gestion de version Mars 2014 6 / 39

Principe de base Notion de dépôt et copie locale Les accès (écriture/lecture) se font via le système de gestion de version F. Langrognet () Systèmes de gestion de version Mars 2014 7 / 39

Le problème... F. Langrognet () Systèmes de gestion de version Mars 2014 8 / 39

Problème Fred et Léa veulent accèder au même fichier F. Langrognet () Systèmes de gestion de version Mars 2014 9 / 39

Problème Fred et Léa accèdent au même fichier et le copient chez eux F. Langrognet () Systèmes de gestion de version Mars 2014 10 / 39

Problème (suite) Fred et Léa font chacun des modifications F. Langrognet () Systèmes de gestion de version Mars 2014 11 / 39

Problème (suite) Fred écrit sur le dépôt F. Langrognet () Systèmes de gestion de version Mars 2014 12 / 39

Problème (suite) Léa écrit sur le dépôt en écrasant la version de Fred F. Langrognet () Systèmes de gestion de version Mars 2014 13 / 39

La solution! F. Langrognet () Systèmes de gestion de version Mars 2014 14 / 39

Solution Léa ne peut pas écrire sur le dépôt car sa version n est pas à jour F. Langrognet () Systèmes de gestion de version Mars 2014 15 / 39

Solution (suite) Léa met à jour : elle récupère la version du dépôt sans perdre ses modifications F. Langrognet () Systèmes de gestion de version Mars 2014 16 / 39

Solution (suite) Léa fusionne la version du dépôt (A ) avec sa version (A ) A,A -> A* F. Langrognet () Systèmes de gestion de version Mars 2014 17 / 39

Solution (suite) Léa peut écrire sur le dépôt F. Langrognet () Systèmes de gestion de version Mars 2014 18 / 39

Solution (suite) Fred récupère la nouvelle version F. Langrognet () Systèmes de gestion de version Mars 2014 19 / 39

Système de Gestion de Version Système de Gestion de Version Un SGV gère le mécanisme de lecture-fusion-écriture Les demandes de lecture, écriture se font via le SGV La fusion automatique est possible si il s agit d un fichier texte (ascii) (utilisation de diff) les modifications ne touchent pas aux même contenus Le SGV conserve l historique Et aussi : gestion des branches, tags,... F. Langrognet () Systèmes de gestion de version Mars 2014 20 / 39

PLAN 1 Objectifs d un Système de Gestion de Version (SGV) 2 Un SGV, comment ça marche? 3 Petit tour d horizon des SGV 4 Petit zoom sur SVN et Git SVN Git 5 Conclusion F. Langrognet () Systèmes de gestion de version Mars 2014 21 / 39

2 grandes catégories de SGV 1. Les systèmes centralisés Un seul dépôt centralisé Des qualités... Technologie éprouvée Largement disponible (IDE, Forges) Portabilité Sécurité et des défauts! Échange entre les dépôts impossible Échange entre les copies locales impossible Travail hors connexion impossible Temps de mise à jour long pour de gros projets Et si le serveur tombe en panne? F. Langrognet () Systèmes de gestion de version Mars 2014 22 / 39

2 grandes catégories de SGV (suite) 2. Les systèmes décentralisés Objectifs : pallier les limites/problèmes des systèmes centralisés Pouvoir utiliser ce système hors connexion Ne pas être dépendant d un dépôt centralisé (panne, temps,... ) Pouvoir échanger ses fichiers avec une partie des développeurs... Chaque développeur possède son propre dépôt (et sa copie de travail) F. Langrognet () Systèmes de gestion de version Mars 2014 23 / 39

Les sytèmes décentralisés Les avantages d un système centralisé (en local) Chaque développeur a son propre dépôt et sa copie de travail Il peut donc utiliser un SGV décentralisé pour (par exemple) conserver l historique ou gérer des branches en local F. Langrognet () Systèmes de gestion de version Mars 2014 24 / 39

Les sytèmes décentralisés (suite) Travail entre dépôts Les dépôts locaux peuvent communiquer Clone d un dépôt vers un autre (en conservant l historique) Écriture/Lecture d un dépôt vers un autre F. Langrognet () Systèmes de gestion de version Mars 2014 25 / 39

Les sytèmes décentralisés (suite) Avec un dépôt central? Si le nombre d utilisateurs est grand, il peut être utile de mettre en pace un dépôt central pour stocker la version la plus à jour du système F. Langrognet () Systèmes de gestion de version Mars 2014 26 / 39

Quel SGV choisir? Cartographie (incomplète) des SGV F. Langrognet () Systèmes de gestion de version Mars 2014 27 / 39

Quel SGV choisir? Vaste choix Technologie en pleine évolution De nouveaux systèmes apparaissent régulièrement Elements à prendre en compte Pérénité : systèmes leaders vs. systèmes émergents Intégré dans des IDE Proposé par des Forges Interfaces graphiques Portabilité (multi OS) Sécurité Documentations abondantes Outils connexes (ex : cvs2svn) F. Langrognet () Systèmes de gestion de version Mars 2014 28 / 39

PLAN 1 Objectifs d un Système de Gestion de Version (SGV) 2 Un SGV, comment ça marche? 3 Petit tour d horizon des SGV 4 Petit zoom sur SVN et Git SVN Git 5 Conclusion F. Langrognet () Systèmes de gestion de version Mars 2014 29 / 39

SVN et Git Caractéristiques communes Logiciels libres Multi OS (linux, windows, MacOS,...) Très répandus (documentations abondantes, support,...) Sécurisés (protocole https,...) F. Langrognet () Systèmes de gestion de version Mars 2014 30 / 39

SVN et Git Des outils utilisables simplement aussi sous windows Plugins Tortoisegit et Tortoisesvn pour l explorateur Windows F. Langrognet () Systèmes de gestion de version Mars 2014 31 / 39

PLAN 1 Objectifs d un Système de Gestion de Version (SGV) 2 Un SGV, comment ça marche? 3 Petit tour d horizon des SGV 4 Petit zoom sur SVN et Git SVN Git 5 Conclusion F. Langrognet () Systèmes de gestion de version Mars 2014 32 / 39

Subversion (SVN) Un SGV très répandu SGV centralisé Documentations très riches, forums actifs Interfaces graphiques Linux : rapidsvn, kdesvn, esvn, Qsvn,... Windows : intégré à l explorateur via le plugin TortoiseSVN Proposé dans les Forges et intégré dans certains IDE (Eclipse, Kdevelop) Le successeur de CVS Reprend le modèle de CVS en comblant certains manques : Renommage et déplacement de fichiers sans perte de l historique Gestion des répertoires commits atomiques Gestion des metadonnées (ex : permissions) Possibilité de migrer de CVS vers SVN sans perte de l historique (cvs2svn) Protocoles réseaux sécurisés (HTTPS) F. Langrognet () Systèmes de gestion de version Mars 2014 33 / 39

Subversion (suite) Principales commandes svnadmin create : créer un nouveau dépôt Interfaces graphiques esvn svn import : importer un projet dans le dépôt svn checkout : lire tout un projet svn update : lire/mettre à jour depuis le dépôt svn commit : écrire/modifier le dépôt (nouvelle révision) svn status : état de la copie locale Qsvn svn add : ajouter un fichier svn rm : enlever un fichier svn mv : déplacer un fichier svn mkdir : créer un répertoire F. Langrognet () Systèmes de gestion de version Mars 2014 34 / 39

PLAN 1 Objectifs d un Système de Gestion de Version (SGV) 2 Un SGV, comment ça marche? 3 Petit tour d horizon des SGV 4 Petit zoom sur SVN et Git SVN Git 5 Conclusion F. Langrognet () Systèmes de gestion de version Mars 2014 35 / 39

git GIT en 1 page... SGV décentralisé Très répandu (surtout dans le monde du logiciel libre) Développement actif Ressources croissantes (documentations, outils graphiques,...) Principales commandes git init : créer un dépôt local git git add : ajouter un élément git commit : propager sa version sur le dépôt git clone : copier un dépôt existant (/distant) git pull : tirer les modifications du dépôt distant vers le dépôt local git push : pousser les modifications du dépôt local vers le dépôt distant F. Langrognet () Systèmes de gestion de version Mars 2014 36 / 39

PLAN 1 Objectifs d un Système de Gestion de Version (SGV) 2 Un SGV, comment ça marche? 3 Petit tour d horizon des SGV 4 Petit zoom sur SVN et Git SVN Git 5 Conclusion F. Langrognet () Systèmes de gestion de version Mars 2014 37 / 39

Conclusion Utilisation d un SGV Indispensable lorsque l on travaille à plusieurs Sécurité, efficacité... même quand on seul sur un projet Effort d utilisation négligeable (avec ou sans interface graphique) Ne pas utiliser de SGV est une faute professionnelle F. Langrognet () Systèmes de gestion de version Mars 2014 38 / 39

Systèmes de Gestion de Version F. Langrognet F. Langrognet () Systèmes de gestion de version Mars 2014 39 / 39