Groupe Eyrolles, 2006, ISBN :

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

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

Transcription

1 Groupe Eyrolles, 2006, ISBN :

2 2 Qu est-ce que le contrôle de versions? Le concept du contrôle de versions est assez simple. Il s agit d enregistrer toutes les révisions de ce qui peut être codé ou rédigé lors du développement d une application. Malheureusement, la confusion s est vite installée entre les termes utilisés pour les différents composants du système de versions. Nous commencerons donc par définir les termes employés dans cet ouvrage, tout en indiquant les autres terminologies que vous pourrez trouver, en français ou en anglais. Cette dernière langue est en effet fréquemment utilisée car elle correspond aux commandes employées dans la majorité des systèmes de contrôle de versions. Un dépôt central, ou référentiel Nous avons jusqu ici présenté le système de contrôle de versions comme «l endroit où enregistrer ce que vous produisez», sans précision. En fait, le cœur du système est appelé dépôt (repository), ou encore référentiel. Le dépôt contient, pour presque tous les systèmes de contrôle de versions, la copie de référence de toutes les versions des fichiers de votre projet. Il peut prendre la forme d une base de données, d un ensemble de fichiers normaux ou de la combinaison des

3 8 Pratique du développement collaboratif avec Subversion deux approches. Il s agit dans tous les cas d un élément essentiel de votre gestion de versions et doit à ce titre se trouver sur un ordinateur sécurisé et fiable, régulièrement sauvegardé. Un serveur et des clients distants Avant que les systèmes de versions ne prennent en charge les opérations réseau, les utilisateurs devaient travailler sur le même ordinateur que le dépôt ou, a minima, accéder directement à son système de fichiers. Il était donc difficile de travailler depuis des sites distants et sur des systèmes d exploitation ou des types de machines variés. Cette lacune a été corrigée : de nos jours, vous pouvez accéder à vos données par le biais du réseau. Le dépôt fait office de serveur et les outils de contrôle de versions en sont autant de clients. Le travail devient donc beaucoup plus flexible : les développeurs peuvent se trouver à n importe quel endroit du monde disposant d une connexion réseau et néanmoins accéder à tout le code du projet et à son historique. Ceci se fait en toute sécurité : vous ouvrez à vos collaborateurs l accès Internet à votre dépôt sans que vos concurrents puissent atteindre votre précieux code source. Différentes déclinaisons de l accès réseau Deux définitions du terme «accès réseau» cohabitent chez les concepteurs de systèmes de contrôle de versions. Pour certains, cela signifie simplement un accès aux fichiers d un dépôt via des lecteurs réseau partagés (comme les partages Windows ou les montages NFS). Pour d autres, il s agit d une architecture client-serveur : les clients travaillent avec un dépôt serveur à travers un réseau. Ces deux solutions peuvent fonctionner (la première est cependant assez difficile à concevoir correctement si le mécanisme sous-jacent ne permet pas de verrouiller les fichiers). L utilisation de l un ou l autre de ces systèmes dépend de vos contraintes en termes de déploiement et de sécurité. Si vous utilisez un système basé sur des lecteurs réseau et si vous devez y accéder depuis l extérieur, il faut vous assurer de pouvoir atteindre les données. C est entre autres à cela que servent les VPN (Virtual Private Networks, réseaux privés virtuels), mais toutes les entreprises n en disposent pas. Subversion, lui, est basé sur une architecture client-serveur pour les accès distants. La possibilité de travailler hors ligne Une question se pose immédiatement : que se passe-t-il lorsque vous devez développer mais ne disposez pas d un accès réseau au dépôt? La réponse simple est : «ça dépend». Certains systèmes de contrôle de versions n envisagent pas que vous puissiez être déconnecté du dépôt central lorsque vous travaillez. D autres, dont Subver-

4 Qu est-ce que le contrôle de versions? CHAPITRE 2 9 sion, sont plus souples. Modifier le code dans l avion sur un portable et le re-synchroniser en arrivant à l hôtel ne pose pas de problème. Le mode connecté/ déconnecté est un élément clé pour le choix d un système de contrôle de versions. Assurez-vous que celui que vous choisissez correspond à vos méthodes de travail. ALTERNATIVE Dépôts multiples décentralisés Certains systèmes utilisent des dépôts multiples en lieu et place d un dépôt central unique. Les développeurs s échangent des ensembles de modifications entre les différents dépôts. Ces systèmes décentralisés sont très populaires lorsque de nombreux développeurs doivent travailler de manière semi-autonome. L exemple le plus célèbre est Bitkeeper a, le système utilisé jusque récemment pour le développement du noyau Linux. Arch et SVK en sont d autres exemples. Leur utilisation et le style de développement associé sont très différents et nous n en parlerons pas plus dans cet ouvrage. a. Il a été remplacé par un autre outil, Git, développé spécialement suite à des problèmes de licence de Bitkeeper. Quels éléments enregistrer sur le dépôt? Il faut enregistrer tous les éléments importants d un projet, mais quels sont-ils? Bien évidemment, il faut enregistrer les fichiers de code source que vous utilisez pour compiler votre projet, qu il s agisse de Java, C#, Ruby ou de n importe quel autre langage de programmation. D ailleurs, certains utilisent le terme «systèmes de contrôle de codes sources» pour désigner les systèmes de contrôle de versions. Toutefois, bien d autres éléments, souvent oubliés, doivent également être enregistrés sous contrôle de versions. Par exemple, il peut s agir du script build.xml utilisé par Ant si vous travaillez en Java, car sans lui vous aurez du mal à compiler l application. De même, de nombreux projets utilisent des métadonnées concernant leur configuration ; celles-ci ont également leur place dans le dépôt. Il en est de même pour les scripts de production d images pour les CD-Rom, pour les jeux de données de tests du département qualité, etc. RÈGLE D OR Éléments à enregistrer absolument Il suffit en fait de se poser la question «Si je ne dispose pas d une version à jour de tel fichier, est-ce que je peux construire, tester et livrer l application?». Si la réponse est «non», le fichier en question doit être enregistré dans le dépôt. En plus de ce qui est nécessaire pour effectuer une livraison de votre projet, nous vous conseillons d enregistrer dans le système de contrôle de versions tout ce qui, de manière générale, est utile au projet. Cela inclut en particulier la documentation (à la

5 10 Pratique du développement collaboratif avec Subversion fois celle qui est destinée aux clients et celle à l usage des développeurs), certains courriers électroniques importants, les comptes-rendus de réunions, les informations que vous trouvez sur le Web tout ce qui, d une manière ou d une autre, contribue au projet. Qu en est-il des fichiers annexes générés? Si nous enregistrons tout ce qui est nécessaire à la compilation du projet, faut-il y ajouter les fichiers générés? Par exemple, nous pouvons lancer JavaDoc pour produire la documentation de l API de notre arborescence de source. La documentation doit-elle dans ce cas être enregistrée dans le système de contrôle de versions? La réponse est «non». Si un fichier peut être reconstitué à partir des autres, l enregistrer dans le dépôt n est que de la duplication de données. Ce n est pas tant un problème de place disque qu une question de contrôle sur ce qui se passe : si nous modifions le code source et oublions de mettre la documentation à jour dans le dépôt, elle ne correspondra plus au code source qui s y trouve. Dans ce cas, ne gardons que la source des informations, en l occurrence le code. On peut appliquer cette règle à la plupart des fichiers générés. En pratique néanmoins, ces fichiers peuvent être délicats à regénérer. Peut-être ne possédez-vous qu une seule licence pour l outil qui produit un fichier donné dont tous les développeurs ont besoin. Un fichier peut également nécessiter des heures de génération. Les enregistrer dans le dépôt n est alors pas une si mauvaise idée mais il faut penser à les garder à jour par rapport à ce dont ils sont issus. Des copies de travail locales pour manipuler des fichiers Le dépôt contient tous les fichiers de notre projet, mais cela ne nous aide pas en soi à ajouter des fonctionnalités à notre application. Nous avons besoin des fichiers là où nous pouvons les modifier. C est ce que l on appelle une copie de travail (working copy). On trouve dans la copie locale tout ce qui est nécessaire à un développeur pour faire son travail. Lorsque le projet n est pas d une taille démesurée, il s agit souvent d une copie de l ensemble du code et des fichiers annexes. Pour des projets plus ambitieux, les développeurs peuvent n avoir à se préoccuper que d une partie du code, ce qui leur économise du temps à la compilation et aide à la modularisation générale du projet. La copie de travail est alors parfois appelée «répertoire de travail» (working directory) ou «espace de travail» (workspace).

6 Qu est-ce que le contrôle de versions? CHAPITRE 2 11 Récupérer une première copie (checkout) Tâchons d obtenir notre première copie de travail depuis le dépôt. Les systèmes de contrôle de versions disposent de différents noms pour cette opération, mais le plus courant (et celui que Subversion utilise) est l extraction (checking out), ou encore la récupération. Lorsque vous extrayez une version du dépôt, vous faites des copies locales des fichiers dans votre espace de travail. Il faut impérativement extraire les fichiers, même si vous travaillez sur l ordinateur hébergeant le dépôt. Ce dernier doit être traité comme une boîte noire : vous ne devez vous soucier ni de l endroit où il est, ni de la manière d y accéder. Extraire les fichiers vous fournit une copie à jour des fichiers que vous avez demandés dans une arborescence de répertoires qui correspond à celle du dépôt. On peut aussi exporter les fichiers du dépôt ce qui est une opération légèrement différente de la récupération dont nous venons de traiter. Après une exportation, vous n obtenez pas une copie de travail, mais seulement un instantané des fichiers dans le dépôt. Cela peut être utile pour faire un paquetage du code en vue de sa distribution. Propager ses modifications Lorsque vous travaillez sur un projet, vous modifiez votre copie de travail. De temps en temps, il faudra enregistrer ces modifications dans le dépôt. On appelle cela propager (committing) ou valider les modifications dans le dépôt. Actualiser sa copie de travail Vous n êtes bien sûr pas le seul à travailler et faire des modifications. Les autres membres de votre équipe propagent aussi leurs changements dans le dépôt. Votre copie locale ne reflète pas cet état elle n est pas mise à jour automatiquement à chaque évolution du dépôt. Il faut le demander explicitement au système de contrôle de versions c est l opération d actualisation (update) ou de mise à jour. Vous recevez ainsi la dernière version des fichiers du dépôt. De même, lorsque vos collègues actualisent leur copie locale, ils reçoivent vos dernières modifications. VOCABULAIRE Précisons que certains utilisent indifféremment les termes d actualisation et d extraction car ils estiment extraire les derniers changements.

7 12 Pratique du développement collaboratif avec Subversion Il s agit d un vocable courant que nous utiliserons de temps à autre dans ce livre. La figure 2-1 montre ces différentes interactions. Figure 2 1 Travailler à plusieurs : dépôt et les copies de travail Nous voyons apparaître un problème potentiel : que se passe-t-il si un collègue et vous-même décidez de modifier le même fichier source au même moment? Cela dépend du système de contrôle de versions que vous utilisez, mais tous disposent de méthodes pour gérer la situation. Nous en parlerons plus en détail dans la section Options de verrouillage. Organisation en projets, répertoires et fichiers Jusqu ici, nous avons parlé d enregistrer des éléments sans expliquer comment ces éléments sont organisés. L élément de base de la plupart des systèmes de contrôle de versions est le fichier 1 : chaque fichier de votre projet est enregistré par son nom dans le dépôt. Mais cette organisation ne convient pas lorsque le projet se compose de centaines ou de milliers de fichiers et une entreprise dispose souvent de dizaines de projets. C est pour cela que presque tous les systèmes de contrôle de versions permettent de structurer le dépôt. Prenons l exemple d une application de commande de livres en ligne. Au niveau le plus haut, votre travail est divisé en projets. Tous les fichiers nécessaires au déploiement de l application seront enregistrés dans un projet du dépôt et, si vous le désirez, vous pouvez récupérer celui-ci intégralement sur votre disque dur. Au niveau immédiatement inférieur, le projet est divisé en différents modules indépendants. Dans 1. Dans certains environnements de développement, l'élément atomique est la méthode d un code source, mais ils sont relativement peu courants.

8 Qu est-ce que le contrôle de versions? CHAPITRE 2 13 notre exemple, une équipe travaille peut-être sur le traitement des cartes bancaires et une autre sur la prise en charge des commandes. Les personnes impliquées dans le sous-projet «carte bancaire» n ont pas nécessairement besoin de tout le code source du projet pour travailler. Lorsqu ils extraient le code, ils ne veulent en fait récupérer que ce qui les concerne. Dans le cas de Subversion, le dépôt est organisé en répertoires. Un projet est un répertoire au plus haut niveau et les modules et sous-modules sont des sous-répertoires de votre projet. Cette organisation peut suffire pour les projets simples. Pour les projets plus complexes, vous disposez de modules externes (externals) : définir un module externe vous permet d ajouter un autre dépôt Subversion dans un répertoire de votre projet. Remarque pour les utilisateurs de CVS L organisation de Subversion en répertoires correspond à peu près à la notion de modules CVS. Les modules externes correspondent aux «alias de modules». L organisation en répertoires est tout aussi puissante que l organisation en modules et bien plus simple à comprendre pour la majorité des gens. Nous parlerons plus en détail de cette approche «tout est répertoire» au chapitre 7, Organiser votre dépôt. Le rôle des versions Pour l instant, nous n avons parlé que d enregistrer et obtenir des fichiers dans et depuis un dépôt. Qu en est-il des versions? En fait, le dépôt ne se contente pas de stocker les différents fichiers qui lui sont ajoutés ; il enregistre toutes les versions qui y sont propagées. Si vous extrayez un fichier, le modifiez et propagez vos changements, le dépôt contiendra la version originale et la version modifiée. Les systèmes de contrôle de versions ne gardent pour la plupart que les différentiels entre les versions et non leurs copies complètes. Ainsi Subversion enregistre complètement la dernière version en date et quelques révisions soigneusement choisies. C est un bon compromis entre la taille du répertoire sur le disque et la rapidité des mises à jour et des récupérations. Numérotation des versions On trouve deux approches pour la numérotation des versions : dans un cas ce sont les fichiers qui sont repérés, dans l autre c est tout le dépôt. Lorsque les fichiers sont

9 14 Pratique du développement collaboratif avec Subversion numérotés, la première révision du fichier est nommée 1.1, la suivante 1.2 et ainsi de suite. Par exemple, si vous avez les versions 1.2 de Noeud.cs et 1.6 de Graphe.cs, propager une modification de Noeud.cs l amènera à sa version 1.3 tandis que Graphe.cs restera à 1.6. Lorsque la numérotation s applique au dépôt, le dépôt complet commence à la révision 0 et propager une modification passe la révision de l ensemble à 1, puis 2, et ainsi de suite. Dans cette configuration, on parlera plutôt de «Panel.java de la révision 7» que de «la révision 7 de Panel.java». C est le choix effectué par Subversion. Celui-ci s avère extrêmement pratique lorsqu il s agit de faire référence à des modifications une fois qu elles ont été validées. La section Correctifs de bogues simples, dans le chapitre 8, expliquera comment utiliser les numéros de révision pour fusionner les corrections de bogues entre les branches. Remarque pour les utilisateurs de CVS CVS numérote les fichiers plutôt que le dépôt ; certaines personnes se basent sur le numéro de version d un fichier pour estimer l activité du fichier en question. La numérotation du dépôt utilisée par Subversion ne permet pas cela ; on utilise la commande svn log pour afficher les modifications dans l historique. La figure 2-2 illustre le principe de numérotation appliquée au dépôt. Elle représente trois fichiers : Trains.java, Graphe.java et Noeud.java. Nous propageons d abord une modification dans Graphe.java, le dépôt passe donc à sa révision 2. Si nous modifions Trains.java et Noeud.java, le dépôt passe en révision 3. La révision de Graphe.java est également 3, même si ce fichier n a pas été modifié dans cette révision (les modifications des fichiers sont représentées par les changements de symboles dans les cases de la figure 2-2). Figure 2 2 Numérotation des révisions dans le dépôt Par conséquent, les numéros de révision de Subversion ne sont pas d une grande aide pour connaître l état d un fichier ou groupe de fichiers donné 2. Si vous êtes habitué à une numérotation par fichier, il se peut que vous soyez perdu en voyant votre dépôt passer d un numéro à l autre sans que vous n ayez rien modifié. Cela a plus de sens si

10 Qu est-ce que le contrôle de versions? CHAPITRE 2 15 vous réalisez que la numérotation s applique à toutes les validations et non aux vôtres seules. Enregistrement des versions L enregistrement des révisions est extrêmement puissant. Le système peut s en servir pour récupérer une version donnée d un fichier, obtenir le code source d une application exactement tel qu il était un mois avant ou encore vous dire ce qui a changé dans un fichier donné entre les révisions 7 et 9. Cela peut également servir à annuler des erreurs. Si vous vous apercevez en fin de semaine que vous vous êtes engagé dans une impasse, vous pouvez annuler vos modifications et revenir au code du lundi matin. Marquer l état du projet à un instant donné La numérotation des versions est très pratique, mais en général les humains se souviennent mieux d un nom tel que «PréLivraison2» que d un numéro tel que «r347». Vous pouvez assigner un nom à un groupe de fichiers (ou un répertoire ou un projet entier) à une date donnée grâce à une marque (tag). Si vous avez nommé un groupe de fichiers «PreLivraison2», vous pouvez les récupérer avec cette même marque. Les marques permettent une bonne gestion des événements de la vie du projet. Nous les utiliserons beaucoup dans cet ouvrage. Nous parlerons des marques et des branches (qui feront l objet de la prochaine section) au chapitre 8. Créer plusieurs branches Un problème fréquent : gérer le code à livrer En temps normal, la base de code est commune à tous les développeurs du projet (même s ils travaillent probablement sur différentes parties de cette base). Ceux-ci récupèrent du code, le modifient dans leur copie de travail et propagent leurs modifications, le tout étant partagé. Cette base de code s appelle le tronc commun (trunk) 2. Cette méthode est de toutes manières assez aléatoire. Une seule révision peut concerner toutes les lignes d un fichier il est bien plus sûr d utiliser les fonctions de navigation de votre système de gestion de versions pour savoir à quel point vos données ont été modifiées.

11 16 Pratique du développement collaboratif avec Subversion et est illustrée par la figure 2-3. Dans cette figure (et celles qui suivent), l axe de temps va de gauche à droite. La ligne la plus épaisse représente la progression du tronc commun au cours du développement. Les développeurs en extraient le code et y propagent leurs modifications. Figure 2 3 Un tronc commun simple Supposons maintenant que l heure de la livraison approche : nous sortons du fonctionnement normal du projet. Une partie de l équipe s occupe des bogues de dernière minute ; il leur faut pour cela du code stable car ajouter une fonctionnalité (prévue pour la livraison suivante) est source potentielle de nouveaux bogues. Une première solution est d arrêter tout développement pendant la préparation de la livraison ce qui revient à mettre en chômage technique le reste de l équipe. On peut aussi envisager de copier le code source sur une autre machine et demander à l équipe de livraison de ne travailler que sur cette machine. Qu adviendra-t-il alors des modifications qu ils font? Comment en garder trace? S ils trouvent des bogues dans le code livré qui sont également présents dans le tronc commun, comment y réintégrer leurs correctifs? Et une fois que le logiciel a été livré, comment réparer les bogues signalés par les clients? Comment être sûr que le code dont nous disposons est bien le même que celui que nous avions livré? La solution : utiliser des branches Il est bien plus judicieux d utiliser la gestion des branches proposée par les systèmes de contrôle de versions. Lorsque l on crée une nouvelle branche, on sépare l avenir du code en deux possibilités. Revenons à notre exemple : l équipe doit livrer une nouvelle version du produit. Jusqu ici, tout le monde a travaillé dans le tronc commun, la base de code montrée en figure 2-3. Les développeurs qui s occupent de la livraison veulent s isoler de ce tronc commun et créent une branche dans le dépôt. Désormais, et jusqu à la livraison, ils travailleront uniquement dans cette branche. Une fois que l application sera livrée, la

12 Qu est-ce que le contrôle de versions? CHAPITRE 2 17 branche restera active : on y placera les corrections des bogues signalés par les clients. Cela est illustré à la figure 2-4. Figure 2 4 Tronc commun et branche de livraison Une branche se comporte presque comme un dépôt complètement différent : les gens qui l utilisent voient le code qu elle contient et travaillent indépendamment des gens qui utilisent une autre branche ou le tronc commun. Chaque branche a son propre historique et trace les modifications indépendamment du tronc commun à partir du moment où les branches se différencient. C est exactement le comportement désiré lors d une livraison. Les développeurs qui travaillent sur la livraison disposent d une base de code stable à peaufiner et le reste de l équipe peut continuer à travailler sur la base de code principale. De plus, lorsque les clients signalent un problème, le code sera disponible dans la branche de livraison, ce qui facilite la correction des bogues sans pour autant inclure du code récent du tronc commun. Gestion des branches Les branches sont gérées elles aussi sous forme de répertoires dans Subversion : vous pouvez créer une branche en copiant le tronc commun dans un nouvel emplacement. En interne, le mécanisme de copie de Subversion est dit «paresseux» (lazy copies), ce qui améliore son efficacité. Lorsque vous copiez un fichier ou un répertoire, Subversion fait un lien vers l original. Il enregistre ensuite uniquement les modifications par rapport à cet original. De cette manière, Subversion peut copier des arborescences lourdes rapidement et sur très peu d espace disque. Il vaut mieux utiliser les branches avec parcimonie. Ce mécanisme est certes fort pratique lorsqu il s agit de ne pas mettre tous vos œufs dans le même panier mais la fusion entre les branches peut vite devenir coûteuse : il faut fusionner plusieurs bases

13 18 Pratique du développement collaboratif avec Subversion de développement sans en oublier. Il est à noter que si vous créez de nombreuses branches, en particulier pour paralléliser différentes approches de développement plutôt que pour préparer des livraisons, c est peut-être le signe qu il y a un problème. Dans ce livre, nous décrirons un schéma simple pour répondre à vos besoins sans ajouter de complexité inutile. ATTENTION Et des branches de branches? En théorie, on peut créer des branches de branches. En pratique, il est rare d y recourir. Nous avons rencontré de nombreux développeurs qui ont abandonné définitivement l usage de branches après une mauvaise expérience due à un schéma de branches trop complexe. Fusionner des branches Plusieurs branches d un dépôt peuvent cohabiter sur le même ordinateur, dans des répertoires différents. Un développeur travaillera ainsi en parallèle sur le tronc commun et sur les correctifs de bogues de la branche de livraison. Les systèmes de contrôle de versions permettent aussi de fusionner deux branches. Si vous corrigez un bogue dans la branche de livraison et si le même bogue est présent dans le tronc commun, vous demanderez au système de contrôle de versions d appliquer au tronc commun les changements que vous avez effectués dans la branche. Vous pouvez aussi fusionner plusieurs branches de livraison. Cela évite la plupart des opérations de copier-coller entre les différentes versions. Nous parlerons de la fusion plus en détail dans la suite. Les différents types de verrouillage Supposons que deux développeurs travaillent sur le même projet. Ils ont tous les deux récupéré les fichiers du projet dans leurs espaces de travail respectifs et ils veulent tous deux modifier leur copie de Fichier1.java. Que va-t-il se passer lorsqu ils valideront les modifications? Dans le pire des cas, le système de contrôle de versions accepte les modifications du premier développeur, puis celles du second. Comme celui-ci n a pas intégré les premières modifications, ces dernières sont alors perdues. Pour éviter cela, les systèmes de contrôle de versions disposent d un processus de résolution de conflits. Il en existe principalement deux types.

14 Qu est-ce que le contrôle de versions? CHAPITRE 2 19 Verrouillage strict Tous les fichiers extraits depuis le dépôt sont marqués en lecture seule. Vous pouvez les lire et compiler votre application mais vous ne pouvez pas les modifier. Pour cela, il faut demander la permission au dépôt. Si personne d autre n édite le fichier, le dépôt vous accorde cette permission en écriture sur votre copie locale. Si quelqu un d autre réclame le fichier pendant cet intervalle de temps, la permission lui sera refusée. La copie ne sera disponible pour les autres membres de l équipe que lorsque vous aurez terminé et propagé vos modifications. Votre copie locale revient alors en lecture seule. Verrouillage optimiste Le second type de résolution de conflits est souvent désigné par le nom de «verrouillage optimiste», même s il ne s agit pas à proprement parler d un verrouillage. Dans ce cas, tous les développeurs peuvent modifier tous les fichiers qu ils ont extraits. En revanche, le dépôt ne permet pas de propager un fichier qui n est pas à jour par rapport à la version du dépôt : vous devez d abord actualiser votre copie locale pour inclure les dernières modifications avant de propager les vôtres. Toute l intelligence du système réside dans le fait que, plutôt que d effacer vos modifications en les remplaçant par celles du dépôt, il essaie de fusionner les deux jeux de modifications. Considérons par exemple le fichier Fichier1.java : public class File1 { public String getname(){ return "Toto"; } public int getsize() { return 42; } } Les deux développeurs extraient tous deux ce fichier. Le premier modifie la ligne 3 : return "TOTO"; et propage cette modification. La copie du deuxième développeur est alors périmée, sans que celui-ci en soit conscient. Il change alors la ligne 6 pour retourner 99 et non 42. Lorsqu il tente de propager cette modification, le dépôt lui indique que sa copie n est pas à jour : il doit fusionner les modifications apportées à la copie de

15 20 Pratique du développement collaboratif avec Subversion dépôt. Cela correspond à l étoile marquée «DÉSYNCHRONISATION» de la figure 2-5. Figure 2 5 Deux développeurs modifient le même fichier mais le conflit est résolu par une fusion. Les deux modifications touchent des parties différentes du fichier ; le système de contrôle de versions met à jour la ligne 3 de la copie locale du second développeur sans toucher au reste. Ainsi, les deux versions sont fusionnées sans problème. Le verrouillage optimiste peut vous paraître téméraire puisque plusieurs personnes peuvent travailler sur les mêmes fichiers en même temps. C est souvent ce que craignent les gens qui n ont jamais essayé de le mettre en pratique : ils estiment que cela ne peut pas marcher et refusent de travailler avec un système de contrôle de versions qui ne permet pas un verrouillage strict des fichiers.

16 Qu est-ce que le contrôle de versions? CHAPITRE 2 21 Un conflit peut arriver Que se serait-il passé s ils avaient tous deux modifié la ligne 3 de manière différente? De la même façon, le dépôt aurait signalé au deuxième développeur que sa copie locale n était plus valable. En revanche, lors de la mise à jour, le système ne sait pas quelle modification garder : nous sommes en présence d un conflit. Un avertissement est indiqué dans sa copie du fichier source. Il faudra le résoudre à la main et probablement discuter de la raison pour laquelle ils travaillaient tous deux sur la même ligne de code. En fait, le verrouillage strict apporte plus d ennuis que de bénéfices. Les conflits dans un système à verrouillage optimiste (comme Subversion) sont finalement assez rares. Les membres d une équipe donnée travaillent en général sur des parties différentes du code et les collisions ne sont pas très fréquentes. S ils doivent vraiment travailler sur le même fichier, c est souvent sur des portions de code différentes. Dans un système de verrouillage strict, il faudrait attendre que l autre personne ait terminé avant de pouvoir prendre la main sur le fichier. Ce problème ne se pose pas lorsqu on utilise un système de verrouillage optimiste. Nous avons testé les deux systèmes : pour la très grande majorité des gens, le système de verrouillage optimiste est le plus intéressant. Contrôle de versions ou gestion de configuration Il est possible que vous entendiez parler de systèmes de gestion de configuration (configuration management ou CM) ou de gestion de configuration logicielle (software configuration management, SCM). Ceux-ci peuvent ressembler à première vue à du contrôle de versions, ce qui est en grande partie vrai. En effet, la gestion de configuration s appuie largement sur un bon système de contrôle de versions. Cela n en est cependant pas le seul aspect. La gestion de configuration est une branche du génie logiciel qui vise à obtenir des livraisons de logiciel précises et reproductibles. La partie technique peut en être assurée par un système de contrôle de versions, mais ce travail nécessite de nombreuses interventions humaines pour vérifier que rien n a été oublié. Si la gestion de configuration consiste en l identification des éléments à ne pas oublier pour la livraison, le système de contrôle de versions permet d enregistrer cette identification. La gestion de configuration est un vaste sujet que nous ne pouvons pas traiter dans cet ouvrage. Si vous désirez en savoir plus à ce sujet, le livre Software Configuration Management Patterns : effective teamwork, practical integration (de Sephan P. Berczule et Brad Appleton, Addison-Wesley, 2003) vous fournira bien plus de détails. Pour le moment, voyons comment utiliser les systèmes de contrôle de versions pour gérer notre travail. Les chapitres suivants s articulent autour de l utilisation d un système particulier, Subversion.

17 22 Pratique du développement collaboratif avec Subversion Mise en œuvre Le contrôle de versions présente des avantages évidents pour la gestion de projet ; pourtant, peu d équipes le mettent en œuvre. Pour certaines, c est le passage à la pratique qui pose problème : «créer une branche de livraison» est clair, mais la traduction en commandes Subversion l est nettement moins. D autres équipes partent dans l excès inverse et créent de splendides structures extrêmement complexes, ce qui rend le tout impossible à gérer au quotidien. Pour résoudre ces deux problématiques, nous présenterons à la fois une méthode simple pour organiser votre système de contrôle de versions et un ensemble de «recettes de cuisine» pour son usage quotidien. Essayez de ne pas trop vous en éloigner. Si vous estimez avoir besoin d un scénario que nous ne couvrons pas, réfléchissez-y à deux fois : ce n est peut-être pas nécessaire. Comme pour toutes les recettes de cuisine, celles-ci vous deviendront de plus en plus familières au fur et à mesure que vous les exécuterez ; vous pourrez alors commencer à faire d autres expériences. Évitez cependant de les mener dans un dépôt de production. Il vaut mieux tester le scénario que vous envisagez dans un dépôt dédié aux manipulations hasardeuses (comme celui que nous allons mettre en place au chapitre suivant) ne mettant pas en jeu l intégrité du système de production. Principes de base Le contrôle de versions doit être un des trois piliers pratiques que toute équipe projet doit maîtriser (les deux autres, le test unitaire et l automatisation de projets, sont couverts dans les ouvrages Pragmatic Unit Testing in Java with JUnit 3 et Pragmatic Project Automation : How to build, deploy and monitor Java applications 4 ). Toute équipe devrait utiliser un système de contrôle de versions, quelles que soient les circonstances et quel que soit ce qu elle produit. Pour que cela soit le cas, il faut que le système soit simple, transparent et léger. Simplicité. Elle implique que quelque chose qui doit a priori être simple l est effectivement. Propager toutes les modifications est une opération simple et courante ; cela doit donc se faire en une ou deux actions. Créer une livraison pour un client est plus complexe et moins courant : on peut se permettre d y consacrer plus d étapes, tout en gardant le processus le plus simple possible. 3. Andrew Hunt and David Thomas. The Pragmatic programmers, LLC, Raleigh, NC and Dallas, TX, Mike Clark. The Pragmatic programmers, LLC, Raleigh, NC and Dallas, TX, 2004.

18 Qu est-ce que le contrôle de versions? CHAPITRE 2 23 Transparence. Il nous faut savoir précisément ce que nous sommes en train de faire et pour quelle version du projet. Le développement logiciel ne supporte pas les devinettes... Légèreté. Aucune interférence ne sera admise avec le déroulement normal du travail. Éléments importants lors de l usage du contrôle de versions Voici un ensemble de règles générales à suivre lorsque vous utilisez un système de contrôle de versions : Assurez-vous avant de commencer que vous disposez d une connexion efficace et sécurisée à votre dépôt. Une fois que vous avez contacté le serveur Subversion, vous n utiliserez de façon quotidienne qu un petit nombre de commandes. Chaque projet de votre entreprise doit disposer de son propre répertoire dans le dépôt Subversion. Il faut pouvoir récupérer tout le code source d un projet donné à partir d un seul endroit. Si un projet contient des sous-composants autonomes ou partagés, ceux-ci devraient disposer d un projet propre et être inclus comme ressources externes dans d autres projets. Si du code de parties tierces intervient (fournisseurs ou projets libres), il doit être géré comme une ressource. Les développeurs doivent utiliser des branches pour séparer la base de code principale des autres bases, comme les branches de livraison et les expériences volumineuses. Il faut aussi utiliser les marques pour identifier les points saillants du développement, y compris les livraisons et corrections de bogues. Nous aborderons chacun de ces points dans les chapitres qui suivent.

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

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

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

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

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

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

Guide pour utilisateurs de portable

Guide pour utilisateurs de portable Guide pour utilisateurs de portable Version : 1.0 Date : 8 septembre 2008 Présenté à Par Usagers ayant un ordinateur portable STI Commission scolaire Beauce-Etchemin 11780, 10 e Avenue Saint-Georges (Québec),

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

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

MISE A JOUR : 04 FEVRIER 2011 PROCÉDURE D INSTALLATION. Cegid Business COMMENT INSTALLER CEGID BUSINESS V8 SOUS WINDOWS XP, VISTA ET 7

MISE A JOUR : 04 FEVRIER 2011 PROCÉDURE D INSTALLATION. Cegid Business COMMENT INSTALLER CEGID BUSINESS V8 SOUS WINDOWS XP, VISTA ET 7 PROCÉDURE D INSTALLATION Cegid Business V8 COMMENT INSTALLER CEGID BUSINESS V8 SOUS WINDOWS XP, VISTA ET 7 Sommaire 1. Introduction 2. Installation de SQL Server 2005 ou 2008 3. Installation de Cegid Business

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

MISE A JOUR : 04 FEVRIER 2011 PROCÉDURE D INSTALLATION. Cegid Business COMMENT INSTALLER CEGID BUSINESS V9 SOUS WINDOWS XP, VISTA ET 7

MISE A JOUR : 04 FEVRIER 2011 PROCÉDURE D INSTALLATION. Cegid Business COMMENT INSTALLER CEGID BUSINESS V9 SOUS WINDOWS XP, VISTA ET 7 PROCÉDURE D INSTALLATION Cegid Business V9 COMMENT INSTALLER CEGID BUSINESS V9 SOUS WINDOWS XP, VISTA ET 7 Sommaire 1. Introduction 2. Installation de SQL Server 2005 ou 2008 3. Installation de Cegid Business

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

Philosophie des extensions WordPress

Philosophie des extensions WordPress 8 Philosophie des extensions WordPress Le concept L une des forces de WordPress dans la jungle CMS, c est la simplicité de création d extensions. Il y a plusieurs raisons à cela. Des raisons techniques

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

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

ULCO-L3Info-Projets-CM2

ULCO-L3Info-Projets-CM2 ULCO-L3Info-Projets-CM2 Arnaud Lewandowski, Eric Ramat, Julien Dehos Université du Littoral Côte d Opale 18 juin 2015 A Lewandowski, E Ramat, J Dehos ULCO-L3Info-Projets-CM2 1/44 Sommaire 1 Conception

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

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

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

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

Atelier Le gestionnaire de fichier

Atelier Le gestionnaire de fichier Chapitre 12 Atelier Le gestionnaire de fichier I Présentation Nautilus est un gestionnaire de fichiers pour l environnement de bureau Gnome. Il offre toutes les fonctions de gestion de fichier en local

Plus en détail

LD Paye pour Windows

LD Paye pour Windows LD Paye pour Windows Version 5 Installation du progiciel Installation des programmes Ce paragraphe et ceux qui suivent décrivent l ensemble des tâches d installation de LDPaye pour Windows relatives à

Plus en détail

FASTCREATHEME DOCUMENTATION TECHNIQUE MODULE DEVIS. Documentation technique. commercial@fastcreatheme.com. contact@fastcreatheme.

FASTCREATHEME DOCUMENTATION TECHNIQUE MODULE DEVIS. Documentation technique. commercial@fastcreatheme.com. contact@fastcreatheme. DOCUMENTATION TECHNIQUE MODULE DEVIS 1 PRÉSENTATION DU MODULE De la demande de prix originelle de vos clients ou visiteurs jusqu à la prise de commande, ce module intègre une fonction commerciale indispensable

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

Comment connecter plusieurs PBX entre eux?

Comment connecter plusieurs PBX entre eux? Comment connecter plusieurs PBX entre eux? Cahiers du support technique Table des matières Mise en garde...3 Mise en situation...4 Configuration des groupes («Trunk»)...8 Création des postes téléphoniques...10

Plus en détail

Guide d installation de NewWayService 2

Guide d installation de NewWayService 2 Guide d installation de Copyright 2003 OroLogic Inc. http://www.orologic.com Table des matières I Table des matières Guide d installation de 2 Introduction 2 Installation de 2 Installation de sur un seul

Plus en détail

SchoolPoint Manuel utilisateur

SchoolPoint Manuel utilisateur SchoolPoint Manuel utilisateur SchoolPoint - manuel d utilisation 1 Table des matières Présentation de SchoolPoint... 3 Accès au serveur...3 Interface de travail...4 Profil... 4 Echange de news... 4 SkyDrive...

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

Lightroom 2. pour les photographes. Traduction et adaptation Volker Gilbert avec la collaboration de Stéphane Brunet.

Lightroom 2. pour les photographes. Traduction et adaptation Volker Gilbert avec la collaboration de Stéphane Brunet. Lightroom 2 pour les photographes Martin Evening Traduction et adaptation Volker Gilbert avec la collaboration de Stéphane Brunet Groupe Eyrolles, 2009, pour la présente édition, ISBN : 978-2-212-12368-5

Plus en détail

LD Paye pour Windows

LD Paye pour Windows LD Paye pour Windows Version 4 Installation du progiciel Installation des programmes Ce paragraphe et ceux qui suivent décrivent l ensemble des tâches d installation de LDPaye pour Windows relatives à

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

Accès à distance sécurisé au Parlement (ADSP)

Accès à distance sécurisé au Parlement (ADSP) Accès à distance sécurisé au Parlement (ADSP) Le service d Accès à distance sécurisé au Parlement (ADSP) permet un accès à distance aux applications de Microsoft Office, à l Intranet du Parlement et aux

Plus en détail

Installation Client (licence de site) de IBM SPSS Modeler 14.2

Installation Client (licence de site) de IBM SPSS Modeler 14.2 Installation Client (licence de site) de IBM SPSS Modeler 14.2 Les instructions suivantes permettent d installer IBM SPSS Modeler Client version 14.2 en utilisant un licence de site. Ce présent document

Plus en détail

ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges. c Copyleft 2006, ELSE Team

ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges. c Copyleft 2006, ELSE Team ETNA Projet de Fin d Étude 2005-2007 RimElse Cahier des charges c Copyleft 2006, ELSE Team 18 avril 2006 Table des matières 1 Introduction 2 2 Présentation du projet 3 2.1 Une distribution Évolulable..................

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

Projet 1A :Atelier SVN. Plateforme de travail :SourceForge

Projet 1A :Atelier SVN. Plateforme de travail :SourceForge Projet 1A :Atelier SVN Plateforme de travail :SourceForge Introduction Le but de ce tutorial est de vous initier à l utilisation de l outil Subversion sous la plateforme SourceForge. Cet outil vous facilitera

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

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

Projet «Evolution» Référentiel d activités et de compétences : Administrer un parc informatique. Objectifs pédagogiques :

Projet «Evolution» Référentiel d activités et de compétences : Administrer un parc informatique. Objectifs pédagogiques : Référentiel d activités et de compétences : Administrer un parc informatique Objectifs pédagogiques : Mettre en œuvre les outils d'administration de Windows server Mettre en œuvre les outils d'administration

Plus en détail

CONNECTIVITÉ. Options de connectivité de Microsoft Dynamics AX. Microsoft Dynamics AX. Livre blanc

CONNECTIVITÉ. Options de connectivité de Microsoft Dynamics AX. Microsoft Dynamics AX. Livre blanc CONNECTIVITÉ Microsoft Dynamics AX Options de connectivité de Microsoft Dynamics AX Livre blanc Ce document décrit les possibilités offertes par Microsoft Dynamics AX en terme de connectivité et de montée

Plus en détail

Plateforme de capture et d analyse de sites Web AspirWeb

Plateforme de capture et d analyse de sites Web AspirWeb Projet Java ESIAL 2A 2009-2010 Plateforme de capture et d analyse de sites Web AspirWeb 1. Contexte Ce projet de deuxième année permet d approfondir par la pratique les méthodes et techniques acquises

Plus en détail

Pourquoi un appareil photo numérique?

Pourquoi un appareil photo numérique? Pourquoi un appareil photo numérique? Un appareil photo est dit numérique, car les photos vont être principalement lues sur un ordinateur. L impression sur papier photo reste possible chez le photographe,

Plus en détail

Sauvegarde avec Windows 7

Sauvegarde avec Windows 7 Sauvegarde avec Windows 7 Windows 7 intègre un programme de sauvegarde, il n'est donc plus besoin, comme avec XP, de recourir à un logiciel extérieur. Un programme de sauvegarde, quel qu'il soit, va demander

Plus en détail

Service combinators for farming virtual machines

Service combinators for farming virtual machines Master d Informatique Fondamentale École Normale Supérieure de Lyon Sémantique du parallélisme Chantal Keller Service combinators for farming virtual machines K. Bhargavan, A. D. Gordon, I. Narasamdya

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

Les caractéristiques essentielles de cette solution logicielle

Les caractéristiques essentielles de cette solution logicielle ActaLibra Scan & Document Center Un nouveau module ActaLibra qui vous permet d éditer, traiter et classer vos documents scannés dans ActaLibra. L ActaLibra Scan & Document Center fonctionne avec un grand

Plus en détail

Logiciel d analyse du monde des objets connectés intelligents

Logiciel d analyse du monde des objets connectés intelligents Logiciel d analyse du monde des objets connectés intelligents Le défi : Transformer les données en intelligence décisionnelle Le logiciel SkySpark analyse automatiquement les données issues des équipements

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

Administration de Parc Informatique TP09 : aptitude, administration de comptes utilisateurs et retour sur marionnet

Administration de Parc Informatique TP09 : aptitude, administration de comptes utilisateurs et retour sur marionnet Institut Galilée L2 Info S1 Année 2011 2012 Administration de Parc Informatique TP09 : aptitude, administration de comptes utilisateurs et retour sur marionnet 1 Introduction Pendant la première partie

Plus en détail

Les sauvegardes de l ordinateur

Les sauvegardes de l ordinateur Les sauvegardes de l ordinateur Les sauvegardes de l ordinateur sont de deux natures : * les sauvegardes de vos documents personnels * les sauvegardes du système d exploitation Vos documents photos, textes,

Plus en détail

SERVICE COMMUN DE MICROSCOPIE

SERVICE COMMUN DE MICROSCOPIE SERVICE COMMUN DE MICROSCOPIE GESTION DES DONNEES Serveur de Stockage SCMRAID www.biomedicale.univ-paris5.fr/scm Tél : 01 42 86 20 64 Retrouvez ce guide en ligne sur le site du SCM dans la section «Fiches

Plus en détail

DOCUMENTATION DU COMPAGNON ASP

DOCUMENTATION DU COMPAGNON ASP DOCUMENTATION DU COMPAGNON ASP MANUEL UTILISATEUR VERSION 1.0 / SEPTEMBRE 2011 Rédacteur Gilles Mankowski 19/09/2011 Chapitre : Pre requis CONTENU Pre requis... 3 Introduction... 3 Comment fonctionne l'asp?...

Plus en détail

HelpDesk. Sept avantages de HelpDesk

HelpDesk. Sept avantages de HelpDesk HelpDesk Artologik HelpDesk est l outil rêvé pour ceux qui recherchent un programme de support et de gestion des tickets alliant facilité d utilisation et puissance. Avec Artologik HelpDesk, vous pourrez

Plus en détail

NOTICE D INSTALLATION

NOTICE D INSTALLATION NOTICE D INSTALLATION Sommaire I. Prérequis d installation... 3 II. Lancement de l installation... 3 III. Choix de l installation... 4 A. Installation standard... 4 B. Installation Personnalisée... 6 1.

Plus en détail

Installation et utilisation du client FirstClass 11

Installation et utilisation du client FirstClass 11 Installation et utilisation du client FirstClass 11 Support par téléphone au 03-80-77-26-46 ou par messagerie sur la conférence «Support Melagri» Sommaire Page I) Installation du client FirstClass 2 II)

Plus en détail

4. INSTALLATION DE NŒUD - - - - - - - - - - - - - - - - - - - - - - - - - - 2. INSTALLATION D ARGUS SUR UN SEUL ORDINATEUR - - - - - - - -

4. INSTALLATION DE NŒUD - - - - - - - - - - - - - - - - - - - - - - - - - - 2. INSTALLATION D ARGUS SUR UN SEUL ORDINATEUR - - - - - - - - Guide de démarrage Table des matières 1. INSTALLATION D ARGUS 2007 - - - - - - - - - - - - - - - - - - - - - - - 2. INSTALLATION D ARGUS SUR UN SEUL ORDINATEUR - - - - - - - - 3. INSTALLATION D ARGUS EN

Plus en détail

IBM WebSphere MQ File Transfer Edition, Version 7.0

IBM WebSphere MQ File Transfer Edition, Version 7.0 Transfert de fichiers administré pour architecture orientée services (SOA) IBM, Version 7.0 Solution de transport polyvalente pour messages et fichiers Transfert de fichiers haute fiabilité basé sur la

Plus en détail

Also works with Windows XP and Windows Vista

Also works with Windows XP and Windows Vista Also works with Windows XP and Windows Vista PC Mechanic - Nettoie et corrige les erreurs votre ordinateur Guide de démarrage rapide PC Mechanic associe une vaste palette d outils pour assurer l entretien

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

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

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

-------------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------------------------------------------- En bref : En moyenne, un tiers environ des salariés voyagent régulièrement dans le cadre de leur travail. Seule une entreprise sur trois, cependant, prépare ces déplacements professionnels au moyen de

Plus en détail

Déploiement et gestion d ordinateurs avec un outil centralisé (Ghost Serveur 7.5)

Déploiement et gestion d ordinateurs avec un outil centralisé (Ghost Serveur 7.5) Déploiement et gestion d ordinateurs avec un outil centralisé (Ghost Serveur 7.5) QU EST CE Q UN SYSTEME D ADMINISTRATION ET DE DEPLOIEMENT?... 1 1. INSTALLATION SUR LE SERVEUR :... 4 2. PREPARATION DE

Plus en détail

Fiche 9 - Partition / Gestion sécuritaire

Fiche 9 - Partition / Gestion sécuritaire 21 Fiche 9 - Partition / Gestion sécuritaire Sécurité de vos données personnelles? Vos données personnelles sont probablement précieuses. Or un ordinateur est toujours sujet à des pannes, internes ou externes

Plus en détail

Introduction à Eclipse

Introduction à Eclipse Introduction à Eclipse Eclipse IDE est un environnement de développement intégré libre (le terme Eclipse désigne également le projet correspondant, lancé par IBM) extensible, universel et polyvalent, permettant

Plus en détail

Nota Bene module Professeur version 2011 pour Windows 2000 et supérieur. Manuel d utilisation Nota Bene Module Professeur

Nota Bene module Professeur version 2011 pour Windows 2000 et supérieur. Manuel d utilisation Nota Bene Module Professeur Nota Bene module Professeur version 2011 pour Windows 2000 et supérieur Manuel d utilisation Nota Bene Module Professeur Edition du 28/06/2011 1 Table des matières I. Préambule... 4 II. Chapitre 1 Nota

Plus en détail

3. Les comptes de groupes

3. Les comptes de groupes 1. Rappels Synthèse sur l administration des comptes d utilisateurs et des comptes de groupes sous Windows Server 2008 Service DNS DNS (Domain Name System = Système de nom de domaines). Un DNS traduit

Plus en détail

TP Projet Informatique : Persistance en Php et prise en main GIT / Atlassian

TP Projet Informatique : Persistance en Php et prise en main GIT / Atlassian TP Projet Informatique : Persistance en Php et prise en main GIT / Atlassian Objectif : faire un site pour gérer des articles par catégorie. Chaque catégorie a un nom, chaque catégorie est constitué d

Plus en détail

UltraBackup NetStation 4. Guide de démarrage rapide

UltraBackup NetStation 4. Guide de démarrage rapide UltraBackup NetStation 4 Guide de démarrage rapide Table des matières 1 Fonctionnalités... 3 1.1 Ce qu UltraBackup NetStation permet de faire... 3 1.2 Ce qu UltraBackup NetStation ne permet pas de faire...

Plus en détail

MMA. Processus de sauvegarde NOVAXEL pour les agents MMA Projet GED AGENT

MMA. Processus de sauvegarde NOVAXEL pour les agents MMA Projet GED AGENT MMA Processus de sauvegarde NOVAXEL pour les agents MMA Projet GED AGENT Date 26 Juin 2015 Auteur(s) Henri Pierre Cubizolles / Sébastien Viozat Version 1.3 Référence Procédures de sauvegarde 28, rue Benoît

Plus en détail

Windows 7 - Dossiers et fichiers

Windows 7 - Dossiers et fichiers Windows 7 - Dossiers et fichiers Explorez votre PC : dossiers et fichiers Tous les fichiers nécessaires au fonctionnement de votre ordinateur, qu il s agisse de ceux de Windows, des logiciels installés

Plus en détail

Solution de sauvegarde externalisée

Solution de sauvegarde externalisée Solution de sauvegarde externalisée POURQUOI BACK NET «Le choix d une stratégie de sauvegarde performante présente pour les entreprises d aujourd hui, un véritable enjeu en termes de viabilité.» Elle doit

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

I. Objectifs de ce document : II. Le changement d architecture :

I. Objectifs de ce document : II. Le changement d architecture : I. Objectifs de ce document : Ce document a pour but de vous présenter : - L outil File Server Migration Toolkit 1.1. - Le mode opératoire à suivre pour migrer les données de plusieurs serveurs de fichiers

Plus en détail

Début de la procédure

Début de la procédure Service informatique Introduction au VPN sous Windows 7 Ce document décrit comment configurer votre ordinateur personnel pour pouvoir accéder au serveur d archives médicales du collège. Il contient deux

Plus en détail

ASSEMBLAGE ET ÉDITION DES LIENS

ASSEMBLAGE ET ÉDITION DES LIENS ASSEMBLAGE ET ÉDITION DES LIENS Mewtow 11 novembre 2015 Table des matières 1 Introduction 5 2 La chaine d assemblage 7 2.1 Résolution des symboles.............................. 7 2.2 Relocation.....................................

Plus en détail

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

Plan global Outils de développement et compilation. Ce que l on veut éviter. Plan. Git : gestion de code source et versionnement. Plan global Outils de développement et compilation Git : gestion de code source et versionnement Timothée Ravier LIFO, INSA-CVL, LIPN 1 re année cycle ingénieur STI 2013 2014 1 Historique 2 Git 3 Pour

Plus en détail

Outils de développement et compilation

Outils de développement et compilation Outils de développement et compilation Git : gestion de code source et versionnement Timothée Ravier LIFO, INSA-CVL, LIPN 1 re année cycle ingénieur STI 2013 2014 Plan global 1 Historique 2 Git 3 Pour

Plus en détail

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

Système clients serveur Kwartz Vulgarisation, identification, dossier personnel Un peu de vulgarisation Système clients serveur Kwartz Nous allons absolument éviter les termes techniques et essayer de vulgariser au maximum. En effet, l objectif sera à terme pour les enseignants, de

Plus en détail

Démarrez le Lecteur Windows Media

Démarrez le Lecteur Windows Media Le Lecteur Windows Media vous permet de rechercher et lire des fichiers multimédias numériques stockés sur votre ordinateur, de lire des CD et des DVD, ainsi que d afficher en continu du contenu multimédia

Plus en détail

ESIEE Engineering Mémo SVN - Windows B. Perret L. Buzer

ESIEE Engineering Mémo SVN - Windows B. Perret L. Buzer Mémo : Utilisation de SVN sous Windows Sommaire Mémo : Utilisation de SVN sous Windows... 1 1) Logiciels : installation et configuration... 1 1.1) Client/serveur Subversion pour Windows : TortoiseSVN...

Plus en détail

Sauvegarde et restauration en environnement VMware avec Avamar 6.0

Sauvegarde et restauration en environnement VMware avec Avamar 6.0 Livre blanc Sauvegarde et restauration en environnement VMware avec Avamar 6.0 Analyse détaillée Résumé Dans les entreprises, les environnements virtuels sont de plus en plus déployés dans le cloud. La

Plus en détail

TotEM. Guide d installation de l application. Décembre 2012 R006

TotEM. Guide d installation de l application. Décembre 2012 R006 TotEM Guide d installation de l application Décembre 2012 R006 TotEM Guide d installation de l application 1. Introduction 3 2. Installer le serveur (autonome) 10 3. Installer le serveur (application War)

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

PHP/MySQL avec Dreamweaver CS4

PHP/MySQL avec Dreamweaver CS4 PHP/MySQL avec Dreamweaver CS4 Dreamweaver CS4 Jean-Marie Defrance Groupe Eyrolles, 2009, ISBN : 978-2-212-12551-1 7 Étude de cas : un site marchand Dans ce dernier chapitre, nous allons exploiter Dreamweaver

Plus en détail

Notice d installation

Notice d installation Notice d installation Page 1 sur 27 Sommaire I. Avant-Propos... 3 II. Lancement de l installation... 3 III. Installation Monoposte... 5 IV. Installation Réseau Serveur... 7 1. Le serveur Contient l application

Plus en détail

Guide de démarrage rapide de Windchill

Guide de démarrage rapide de Windchill Guide de démarrage rapide de Windchill OPTIMISEZ VOTRE EXPÉRIENCE UTILISATEUR Table des matières Utilisation du navigateur Le navigateur facilite la navigation... 3 Recherches dans Windchill La partie

Plus en détail

Un aperçu de la gestion de version décentralisée avec GNU Arch

Un aperçu de la gestion de version décentralisée avec GNU Arch Un aperçu de la gestion de version décentralisée avec GNU Arch 1 Un aperçu de la gestion de version décentralisée avec GNU Arch Ludovic Courtès Toulibre, 10 janvier 2007 Un aperçu

Plus en détail

Projet Professionnel Encadré 1 er Semestre

Projet Professionnel Encadré 1 er Semestre BTS SIO 1 Leclerc Axel INFOSUP Lyon 2014-2015 Projet Professionnel Encadré 1 er Semestre Nature de l activité : Contexte : L association Maison des Ligues (M2L) a constaté que de nombreuses données numériques

Plus en détail

Organiser le disque dur Dossiers Fichiers

Organiser le disque dur Dossiers Fichiers Ce document contient des éléments empruntés aux pages d aide de Microsoft Organiser le disque dur Dossiers Fichiers Généralités La connaissance de la logique d organisation des données sur le disque dur

Plus en détail

Jérémie KORCZAK & Fabien RAUZY

Jérémie KORCZAK & Fabien RAUZY Jérémie KORCZAK & Fabien RAUZY Fiche : Page d accueil. Page 3 Fiche 2 : Paramètres.. Page 4 Fiche 3 : Créer un équipement. Page 9 Fiche 4 : Créer une pièce.. Page 2 Fiche 5 : Créer et valider un bon de

Plus en détail

Nota Bene module Professeur version 11. pour Windows 98 et supérieur. Manuel d utilisation. Edition du 18-04-06

Nota Bene module Professeur version 11. pour Windows 98 et supérieur. Manuel d utilisation. Edition du 18-04-06 Nota Bene module Professeur version 11 pour Windows 98 et supérieur Manuel d utilisation Edition du 18-04-06 Table des matières Chapitre 1 Nota Bene module Professeur...4 I. Installation de Nota Bene module

Plus en détail

Comment utiliser FileMaker Pro avec Microsoft Office

Comment utiliser FileMaker Pro avec Microsoft Office Guide d utilisation Comment utiliser FileMaker Pro avec Microsoft Office Comment utiliser FileMaker Pro et Microsoft Office page 1 Table des matières Introduction... 3 Avant de commencer... 4 Partage de

Plus en détail

BaseDPsy 6.0 (PsyTablet) Logiciel de gestion des dossiers cliniques et de gestion financière pour psychothérapeutes de toute discipline.

BaseDPsy 6.0 (PsyTablet) Logiciel de gestion des dossiers cliniques et de gestion financière pour psychothérapeutes de toute discipline. BaseDPsy 6.0 (PsyTablet) Logiciel de gestion des dossiers cliniques et de gestion financière pour psychothérapeutes de toute discipline. Base de données développée Par Alain Barbeau www.basedpsy.com alainbarbeau@basedpsy.com

Plus en détail

Chap. 2 : gestion du code source avec Git/GitHub

Chap. 2 : gestion du code source avec Git/GitHub Chap. 2 : gestion du code source avec Git/GitHub L'objectif de ce cours est de présenter une solution libre et gratuite pour la gestion du code source : l'outil Git associé à la forge logicielle GitHub.

Plus en détail

A. Architecture du serveur Tomcat 6

A. Architecture du serveur Tomcat 6 Administration du serveur A. Architecture du serveur Tomcat 6 La compréhension de l architecture interne du serveur Tomcat 6 est un pré-requis indispensable pour bien en maîtriser l administration et la

Plus en détail

Gestion des accès aux ressources à l aide des groupes

Gestion des accès aux ressources à l aide des groupes Gestion des accès aux ressources à l aide des groupes Un groupe est un ensemble de comptes d utilisateur. Les groupes permettent de simplifier la gestion de l accès des utilisateurs et des ordinateurs

Plus en détail

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s Mickaël Mickaël BLANCHARD BLANCHARD Préface de Sébastien L e p e r s Magento Préface de Sébastien L e p e r s Magento Réussir son site e-commerce Réussir son site e-commerce Groupe Eyrolles, 2010, ISBN

Plus en détail