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.

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

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

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 à ORACLE WAREHOUSE BUILDER Cédric du Mouza

Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza Introduction à ORACLE WAREHOUSE BUILDER Cédric du Mouza Avant de commencer à travailler avec le produit, il est nécessaire de comprendre, à un haut niveau, les problèmes en réponse desquels l outil a été

Plus en détail

NiceLabel pour Services Microsoft Windows Terminal Serveur et Citrix MetaFrame

NiceLabel pour Services Microsoft Windows Terminal Serveur et Citrix MetaFrame www.nicelabel.fr info@nicelabel.fr NiceLabel pour Services Microsoft Windows Terminal Serveur et Citrix MetaFrame White Paper Version 20051114-06-FR 2005 Euro Plus. Tous droits réservés. http://www.nicelabel.fr

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

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

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

Guide d administration de Microsoft Exchange ActiveSync

Guide d administration de Microsoft Exchange ActiveSync Guide d administration de Microsoft Exchange ActiveSync Copyright 2005 palmone, Inc. Tous droits réservés. palmone, HotSync, Treo, VersaMail et Palm OS sont des marques commerciales ou déposées dont palmone,

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

Guide de l utilisateur Mikogo Version Windows

Guide de l utilisateur Mikogo Version Windows Guide de l utilisateur Mikogo Version Windows Table des matières Création d un compte utilisateur 3 Téléchargement et installation 4 Démarrer une session 4 Joindre une session 5 Fonctionnalités 6 Liste

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

10 tâches quotidiennes que devrait maîtriser votre système de sauvegarde des données

10 tâches quotidiennes que devrait maîtriser votre système de sauvegarde des données 10 tâches quotidiennes que devrait maîtriser votre système de sauvegarde des données Une sauvegarde des données simple, fiable et rapide, ce n est qu un début Table des matières Sauvegarde et récupération

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

DÉPLOIEMENT DE QLIKVIEW POUR DES ANALYSES BIG DATA CHEZ KING.COM

DÉPLOIEMENT DE QLIKVIEW POUR DES ANALYSES BIG DATA CHEZ KING.COM DÉPLOIEMENT DE QLIKVIEW POUR DES ANALYSES BIG DATA CHEZ KING.COM Étude de cas technique QlikView : Big Data Juin 2012 qlikview.com Introduction La présente étude de cas technique QlikView se consacre au

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

Sélection d un moteur de recherche pour intranet : Les sept points à prendre en compte

Sélection d un moteur de recherche pour intranet : Les sept points à prendre en compte Sélection d un moteur de recherche pour intranet : Les sept points à prendre en compte 1Les bases : vos objectifs 2 Sélection d un moteur de recherche pour intranet : Les sept points à prendre en compte

Plus en détail

L importance de la «virtualisation de l espace de travail utilisateur» dans la virtualisation des postes de travail Whitepaper

L importance de la «virtualisation de l espace de travail utilisateur» dans la virtualisation des postes de travail Whitepaper res Software // Whitepaper L importance de la «virtualisation de l espace de travail utilisateur» dans la virtualisation des postes de travail Whitepaper IT, the way you need it 2 Contenu : Résumé...3

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

10 bonnes pratiques de sécurité dans Microsoft SharePoint

10 bonnes pratiques de sécurité dans Microsoft SharePoint 10 bonnes pratiques de sécurité dans Microsoft SharePoint SharePoint constitue certes un outil collaboratif précieux. Mais gare aux risques pour votre entreprise. 10 bonnes pratiques de sécurité dans Microsoft

Plus en détail

Comment choisir la solution de gestion des vulnérabilités qui vous convient?

Comment choisir la solution de gestion des vulnérabilités qui vous convient? Comment choisir la solution de gestion des vulnérabilités qui vous convient? Sommaire 1. Architecture 2. Sécurité 3. Evolutivité et convivialité 4. Précision/Performance 5. Découverte/Inventaire 6. Analyse

Plus en détail

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Logiciel Libre Cours 3 Fondements: Génie Logiciel Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/

Plus en détail

FAQ sur le Service courriel d affaires TELUS

FAQ sur le Service courriel d affaires TELUS FAQ sur le Service courriel d affaires TELUS Questions d ordre général 1. En quoi consiste le service Courriel Affaires de TELUS? 2. J utilise actuellement le logiciel Outlook avec un compte de courriel

Plus en détail

Guide des Fichiers PST: Pourquoi la Gestion des PST Rapporte a Votre Enterprise

Guide des Fichiers PST: Pourquoi la Gestion des PST Rapporte a Votre Enterprise Guide des Fichiers PST: Pourquoi la Gestion des PST Rapporte a Votre Enterprise Qu est ce qu un fichier PST? Un terme peu familier aux personnes externes à l IT, les fichiers PST sont crés par Outlook

Plus en détail

Bien architecturer une application REST

Bien architecturer une application REST Olivier Gutknecht Bien architecturer une application REST Avec la contribution de Jean Zundel Ce livre traite exactement du sujet suivant : comment faire pour que les services web et les programmes qui

Plus en détail

Projet de Java Enterprise Edition

Projet de Java Enterprise Edition Projet de Java Enterprise Edition Cours de Master 2 Informatique Boutique en ligne L objectif du projet de JEE est de réaliser une application de boutique en ligne. Cette boutique en ligne va permettre

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

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

les Formulaires / Sous-Formulaires Présentation...2 1. Créer un formulaire à partir d une table...3

les Formulaires / Sous-Formulaires Présentation...2 1. Créer un formulaire à partir d une table...3 Présentation...2 1. Créer un formulaire à partir d une table...3 2. Les contrôles :...10 2.1 Le contrôle "Intitulé"...11 2.2 Le contrôle "Zone de Texte"...12 2.3 Le contrôle «Groupe d options»...14 2.4

Plus en détail

Complaints Manager 4/06/2015 Page 1 Arpaweb 2015

Complaints Manager 4/06/2015 Page 1 Arpaweb 2015 Complaints Manager 4/06/2015 Page 1 Table des matières 1. Description du logiciel... 3 Le chapitre Dossier... 3 Le chapitre Plaignant... 5 Le chapitre Action... 6 Le chapitre Document... 7 La page d accueil...

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

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

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

Spip 2. Premiers pas pour créer son site web. Anne-Laure Quatravaux Dominique Quatravaux. Avec la contribution de Sandrine Burriel

Spip 2. Premiers pas pour créer son site web. Anne-Laure Quatravaux Dominique Quatravaux. Avec la contribution de Sandrine Burriel Anne-Laure Quatravaux Dominique Quatravaux Spip 2 Premiers pas pour créer son site web Avec la contribution de Sandrine Burriel Groupe Eyrolles, 2009, ISBN : 978-2-212-12502-3 Pourquoi choisir Spip? Vous

Plus en détail

Projet de développement

Projet de développement Projet de développement Introduction à Eclipse Philippe Collet Licence 3 MIAGE S6 2012-2013 http://miageprojet2.unice.fr/index.php?title=user:philippecollet/projet_de_développement_2012-2013 Plan r Application

Plus en détail

Eclipse atelier Java

Eclipse atelier Java Eclipse atelier Java Table des matières 1. Introduction...2 2. Télécharger eclipse...3 3. Installer eclipse...3 4. Premier lancement d eclipse...3 5. Configurer eclipse pour faire du Java...5 6. Développer

Plus en détail

cinq chez votre partenaire de Livre blanc pour les gestionnaires du secteur de la vente au détail au Canada

cinq chez votre partenaire de Livre blanc pour les gestionnaires du secteur de la vente au détail au Canada cinq chez votre partenaire de service PDV cr itèr es à r e che rche r après-vente Livre blanc pour les gestionnaires du secteur de la vente au détail au Canada Facteur 1 Repousser les limites Une équipe

Plus en détail

Guide d Intégration PPM et ERP:

Guide d Intégration PPM et ERP: LIVRE BLANC Guide d Intégration PPM et ERP: Stratégies d intégration de logiciels dans les entreprises organisées par projet De: Neil Stolovitsky E-mail: sales@geniusinside.com Website: www.geniusinside.com

Plus en détail

Première étape : créer le fichier de données - extraire les données de PMB et les transférer dans Excel

Première étape : créer le fichier de données - extraire les données de PMB et les transférer dans Excel A.-M. Cubat Démo (Apli) : imprimer des cartes de lecteurs ou une «planche-contact» - avec les codes-barres Page 1 Première étape : créer le fichier de données - extraire les données de PMB et les transférer

Plus en détail

Installer un espace de travail collaboratif et d e learning.

Installer un espace de travail collaboratif et d e learning. STG Travail collaboratif / c2i Mars 2008 Installer un espace de travail collaboratif et d e learning. Olivier Mondet http://unidentified one.net Lorsque l on désire installer une plateforme de travail

Plus en détail

Qu est ce qu une bibliothèque?

Qu est ce qu une bibliothèque? Qu est ce qu une bibliothèque? Les bibliothèques sont les endroits où vous allez pour gérer vos documents, votre musique, vos images et vos autres fichiers. Vous pouvez parcourir vos fichiers de la même

Plus en détail

Auteur LARDOUX Guillaume Contact guillaume.lardoux@epitech.eu Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

Auteur LARDOUX Guillaume Contact guillaume.lardoux@epitech.eu Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA Auteur LARDOUX Guillaume Contact guillaume.lardoux@epitech.eu Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA Sommaire 1. Introduction 2. Installation 3. Fonctionnement 4. Développement 5. Démonstration 2

Plus en détail

Organiser les informations ( approche technique )

Organiser les informations ( approche technique ) Organiser les informations ( approche technique ) Introduction : Le stockage des informations est une fonctionnalité essentielle de l outil informatique, qui permet de garantir la pérennité des informations,

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

Installer Joomla. 2013 Pearson France Joomla! Le guide officiel Jennifer Marriott, Elin Waring

Installer Joomla. 2013 Pearson France Joomla! Le guide officiel Jennifer Marriott, Elin Waring 3 Installer Joomla Dans ce chapitre, nous procéderons au téléchargement et à l installation manuelle de Joomla, et nous expliquerons la configuration de base. Les captures d écran et les instructions font

Plus en détail

Groupe Eyrolles, 2003, ISBN : 2-212-11317-X

Groupe Eyrolles, 2003, ISBN : 2-212-11317-X Groupe Eyrolles, 2003, ISBN : 2-212-11317-X 3 Création de pages dynamiques courantes Dans le chapitre précédent, nous avons installé et configuré tous les éléments indispensables à la mise en œuvre d une

Plus en détail

Transférer des fichiers à l aide de WinSCP et 2 contextes d utilisation dans des sites SPIP avec FCK editor

Transférer des fichiers à l aide de WinSCP et 2 contextes d utilisation dans des sites SPIP avec FCK editor Transférer des fichiers à l aide de WinSCP et 2 contextes d utilisation dans des sites SPIP avec FCK editor Pierre Drouin Conseiller pédagogique en TIC Service local du RECIT Commission scolaire de la

Plus en détail

Moteur de réplication de fichiers BackupAssist

Moteur de réplication de fichiers BackupAssist Moteur de réplication de fichiers BackupAssist Cortex I.T. Labs 2001-2010 Sommaire Introduction... 2 Single Instance Store... 2 Avantages par rapport aux méthodes de copie traditionnelles... 2 Modes de

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

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

10 tâches d administration simplifiées grâce à Windows Server 2008 R2. 1. Migration des systèmes virtuels sans interruption de service

10 tâches d administration simplifiées grâce à Windows Server 2008 R2. 1. Migration des systèmes virtuels sans interruption de service 10 tâches d administration simplifiées grâce à Windows Server 2008 R2 Faire plus avec moins. C est l obsession depuis plusieurs années de tous les administrateurs de serveurs mais cette quête prend encore

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

Nous ne doutons pas que vous prendrez plaisir à essayer Siebel CRM On Demand d Oracle!

Nous ne doutons pas que vous prendrez plaisir à essayer Siebel CRM On Demand d Oracle! Présentation Ces FAQ proposent de brèves réponses aux questions les plus fréquemment posées par les nouveaux utilisateurs de Siebel CRM On Demand d Oracle. En plus de cette ressource, la barre de lancement

Plus en détail

LOGICIEL DE GESTION DE DOCUMENTS PDF : PROJET INFO 1

LOGICIEL DE GESTION DE DOCUMENTS PDF : PROJET INFO 1 LOGICIEL DE GESTION DE DOCUMENTS PDF : PROJET INFO 1 L. POINSOT Contact client : Laurent Poinsot (laurent.poinsot@lipn.univ-paris13.fr) Résumé : Ce document est le cahier des charges du projet INFO 1.

Plus en détail

TP 6 Installation et configuration d une site internet avec un CMS Illustration avec Wordpress

TP 6 Installation et configuration d une site internet avec un CMS Illustration avec Wordpress TP 6 Installation et configuration d une site internet avec un CMS Illustration avec Wordpress Présentation du TP...1 I Installation du site localement...2 1 Base de données...2 2 Fichiers...2 3 Paramétrages

Plus en détail

Dotez-vous des moyens de communication d une grande entreprise au prix d une petite entreprise. Avaya vous aide à atteindre vos objectifs.

Dotez-vous des moyens de communication d une grande entreprise au prix d une petite entreprise. Avaya vous aide à atteindre vos objectifs. Avaya vous aide à atteindre vos objectifs. Toute TPE-PME est à la recherche de solutions pour réduire ses coûts et améliorer son mode de fonctionnement. Comme n importe quelle entreprise, vous souhaitez

Plus en détail

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot

Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,

Plus en détail

5 bonnes pratiques pour solution décisionnelle mobile

5 bonnes pratiques pour solution décisionnelle mobile 5 bonnes pratiques pour solution décisionnelle mobile Auteur: Ellie Fields Directrice, marketing produits Tableau Software Juin 2011 p2 5 pratiques d excellence pour solution décisionnelle mobile Les solutions

Plus en détail

Atelier Administration

Atelier Administration Atelier Administration Cahier d exercices Sommaire Vérification des paramètres de la société.... 2 Gestion des utilisateurs et des groupes... 3 Recréer un raccourci... 4 Microsoft SQL Server... 4 Poste

Plus en détail

Cahier n o 6. Mon ordinateur. Fichiers et dossiers Sauvegarde et classement

Cahier n o 6. Mon ordinateur. Fichiers et dossiers Sauvegarde et classement Cahier n o 6 Mon ordinateur Fichiers et dossiers Sauvegarde et classement ISBN : 978-2-922881-10-3 2 Table des matières Fichiers et dossiers Sauvegarde et classement La sauvegarde 4 Enregistrer 4 De quelle

Plus en détail

Silk Portfolio : Une démarche allégée pour les tests, le développement et la gestion de vos applications

Silk Portfolio : Une démarche allégée pour les tests, le développement et la gestion de vos applications Portfolio : Une démarche allégée pour les tests, le développement et la gestion de vos applications Allégé Incluant seulement les fonctionnalités dont vous avez besoin Accessible Depuis une utilisation

Plus en détail

Comment configurer Kubuntu

Comment configurer Kubuntu Comment configurer Kubuntu Configuration du réseau... 1 Configurer votre système Linux sur le réseau...1 Vérifier manuellement l adresse IP...5 Connecter un lecteur réseau distant Windows/Mac grâce au

Plus en détail

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2

Manuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2 éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........

Plus en détail

Créca. Ajout aux livrets d informatique. Hiver 2014

Créca. Ajout aux livrets d informatique. Hiver 2014 Créca Ajout aux livrets d informatique Hiver 2014 Table des matières 1. La mobilité 2. L Internet 3. Les appareils 4. Les logiciels et les applications 5. Le stockage des informations 1. Mobilité Le maître

Plus en détail

Chapitre I Notions de base et outils de travail

Chapitre I Notions de base et outils de travail Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement

Plus en détail

Les performances des banques en ligne chinoises en 2010 par Arthur Hamon - Asia Pacific Area Manager & Alain Petit - Responsable Benchmarks & Etudes

Les performances des banques en ligne chinoises en 2010 par Arthur Hamon - Asia Pacific Area Manager & Alain Petit - Responsable Benchmarks & Etudes Les performances des banques en ligne chinoises en 2010 par Arthur Hamon - Asia Pacific Area Manager & Alain Petit - Responsable Benchmarks & Etudes L empire du milieu est le pays qui compte le plus grand

Plus en détail

WHITE PAPER. Quels avantages la déduplication offre-t-elle aux entreprises? Livre blanc Acronis

WHITE PAPER. Quels avantages la déduplication offre-t-elle aux entreprises? Livre blanc Acronis Quels avantages la déduplication offre-t-elle aux entreprises? Livre blanc Acronis Copyright Acronis, Inc. 2000 2009 Table des matières Résumé... 3 Qu est-ce que la déduplication?... 4 Déduplication au

Plus en détail

L I V R E B L A N C P r o t ég e r l e s a p p l i c a t i o n s m ét i e r s c r i t i q u e s M a i n f r a m e, un b e s o i n c r u c i a l

L I V R E B L A N C P r o t ég e r l e s a p p l i c a t i o n s m ét i e r s c r i t i q u e s M a i n f r a m e, un b e s o i n c r u c i a l Siège social : 5 Speen Street Framingham, MA 01701, É.-U. T.508.872.8200 F.508.935.4015 www.idc.com L I V R E B L A N C P r o t ég e r l e s a p p l i c a t i o n s m ét i e r s c r i t i q u e s M a i

Plus en détail

WINDOWS SHAREPOINT SERVICES 2007

WINDOWS SHAREPOINT SERVICES 2007 WINDOWS SHAREPOINT SERVICES 2007 I. TABLE DES MATIÈRES II. Présentation des «content types» (Type de contenu)... 2 III. La pratique... 4 A. Description du cas... 4 B. Création des colonnes... 6 C. Création

Plus en détail

Optimisez vos environnements Virtualisez assurément

Optimisez vos environnements Virtualisez assurément Optimisez vos environnements Virtualisez assurément Présenté par Jean-Steve Shaker Architecte de solutions - Virtualisation Une approche unique et simplifiée Solutions en Solutions d infrastructure infrastructure

Plus en détail

EFIDEM easy messaging systems. EFIDEM SAS 3 rue de Téhéran 75008 Paris T : 01 46 40 10 86 F : 01 70 55 50 20 Email : info@efidem.

EFIDEM easy messaging systems. EFIDEM SAS 3 rue de Téhéran 75008 Paris T : 01 46 40 10 86 F : 01 70 55 50 20 Email : info@efidem. EFIDEM easy messaging systems 3 rue de Téhéran 75008 Paris T : 01 46 40 10 86 F : 01 70 55 50 20 Email : info@efidem.com Copyright 2012 Reproduction Interdite sans l accord écrit d EFIDEM Date du document

Plus en détail

bbc Launch Pad Juillet 2011 Version 10.0

bbc Launch Pad Juillet 2011 Version 10.0 bbc Configuration d Adobe Digital Enterprise Platform Document Services - Launch Pad 10.0 Guide de l administrateur et du développeur Launch Pad Juillet 2011 Version 10.0 Mentions juridiques Pour plus

Plus en détail

Le logiciel internet pour les consultants et entreprises en ressources humaines

Le logiciel internet pour les consultants et entreprises en ressources humaines Le logiciel internet pour les consultants et entreprises en ressources humaines TECHNOLOGIE DE POINTE : OKTOCAREER EST VOTRE AVANTAGE CONCURRENTIEL Avec OktoCareer, je garde le contrôle Tandis que les

Plus en détail

Atelier Découverte de Windows. janvier 2012

Atelier Découverte de Windows. janvier 2012 Découverte du poste de travail de Windows Création et organisation des dossiers Enregistrer un fichier (ou document) Renommer, copier, supprimer, un fichier (ou un dossier) Copier ou sauvegarder sur une

Plus en détail

SOMMAIRE. 1. Connexion à la messagerie Zimbra 4 1.1.Pré-requis 4 1.2.Ecran de connexion à la messagerie 4

SOMMAIRE. 1. Connexion à la messagerie Zimbra 4 1.1.Pré-requis 4 1.2.Ecran de connexion à la messagerie 4 Messagerie Zimbra version 7 Prise en main Nadège HARDY-VIDAL 2 septembre 20 SOMMAIRE. Connexion à la messagerie Zimbra 4..Pré-requis 4.2.Ecran de connexion à la messagerie 4 2. Présentation générale de

Plus en détail

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE

INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE I N T E RS Y S T E M S INTERSYSTEMS CACHÉ COMME ALTERNATIVE AUX BASES DE DONNÉES RÉSIDENTES EN MÉMOIRE David Kaaret InterSystems Corporation INTERSySTEMS CAChé CoMME ALTERNATIvE AUx BASES de données RéSIdENTES

Plus en détail

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/8.1 64 bits, Windows 2008 R2 et Windows 2012 64 bits

WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/8.1 64 bits, Windows 2008 R2 et Windows 2012 64 bits WinTask x64 Le Planificateur de tâches sous Windows 7 64 bits, Windows 8/8.1 64 bits, Windows 2008 R2 et Windows 2012 64 bits Manuel d initiation du Planificateur 2 INTRODUCTION 5 CHAPITRE I : INSTALLATION

Plus en détail

Installation EPLAN platform 2.4

Installation EPLAN platform 2.4 Installation EPLAN platform 2.4 Préambule Cher utilisateur EPLAN, Des initiatives internationales telles que Industry 4.0, Smart Manufacturing et The internet of things exigent de l industrie manufacturière

Plus en détail

SQL Data Export for PS/PSS

SQL Data Export for PS/PSS Version 2.3.5 MANUEL D INSTRUCTIONS (M98232701-02-13B) CIRCUTOR, SA SOMMAIRE 1.- INSTALLATION DU LOGICIEL SQL DATA EXPORT... 3 1.1.- ACTIVER CONNEXIONS A DISTANCE DU SERVEUR SQL SERVER... 14 1.2.- DESINSTALLER

Plus en détail

TP1. Outils Java Eléments de correction

TP1. Outils Java Eléments de correction c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par

Plus en détail

Le backup LOGOSw (Backup interne)

Le backup LOGOSw (Backup interne) Le backup LOGOSw (Backup interne) LOGOSw est fourni avec son propre programme de backup Backup très performant utilisant le format PKZIP PKZIP = format industriel de compression de données, actuellement

Plus en détail

Backup Exec 2010 vs. BackupAssist V6

Backup Exec 2010 vs. BackupAssist V6 Backup Exec 2010 vs. BackupAssist V6 Sommaire Introduction... 3 Tableau comparatif... 3 Installation et configuration... 7 Installation... 7 Configuration... 7 Fonctionnalités... 7 Sauvegarde... 7 Sauvegardes

Plus en détail

GUIDE D UTILISATION CRÉER SON SITE WEB - PROJET RESCOL

GUIDE D UTILISATION CRÉER SON SITE WEB - PROJET RESCOL GUIDE D UTILISATION CRÉER SON SITE WEB - PROJET RESCOL 1. Avant de commencer Il existe plusieurs éditeurs de pages Web qui vous permettent de construire un site Web. Nous vous conseillons toutefois de

Plus en détail

BIRT (Business Intelligence and Reporting Tools)

BIRT (Business Intelligence and Reporting Tools) BIRT (Business Intelligence and Reporting Tools) Introduction Cette publication a pour objectif de présenter l outil de reporting BIRT, dans le cadre de l unité de valeur «Data Warehouse et Outils Décisionnels»

Plus en détail

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

La magie de SVN. Découverte & usage du logiciel La magie de SVN Découverte & usage du logiciel Menu I) SVN, qu'est-ce que c'est? 2) Comment utiliser SVN? 3) Que faire en cas de problème avec SVN? I) SVN, Qu'est-ce? -Un projet impliquant plusieurs personnes

Plus en détail

Méthodes et outils employés pour développer des logiciels libres

Méthodes et outils employés pour développer des logiciels libres Méthodes et outils employés pour développer des logiciels libres Étude basée sur le cas du projet Debian Par Raphaël Hertzog Gérant de Freexian SARL Développeur Debian Présentation du projet Debian Objectif

Plus en détail

claroline classroom online

claroline classroom online de la plate-forme libre d'apprentissage en ligne Claroline 1.4 Manuel Révision du manuel: 06/2003 Créé le 07/09/2003 12:02 Page 1 Table des matières 1) INTRODUCTION...3 2) AFFICHER LA PAGE DE DEMARRAGE...3

Plus en détail

Gé nié Logiciél Livré Blanc

Gé nié Logiciél Livré Blanc Gé nié Logiciél Livré Blanc Version 0.2 26 Octobre 2011 Xavier Blanc Xavier.Blanc@labri.fr Partie I : Les Bases Sans donner des définitions trop rigoureuses, il faut bien commencer ce livre par énoncer

Plus en détail

DSI - Pôle Infrastructures

DSI - Pôle Infrastructures Département du Système d Information CONTEXTE DSI - Pôle Infrastructures SUJET Architecture cible pour un projet devant intégrer le SI de l'inserm référence PI01091V02V.doc version statut créé le 29/06/2006

Plus en détail

Le logiciel de création de site internet IZISPOT est un outil très puissant et qui est assez simple après quelques temps d utilisation.

Le logiciel de création de site internet IZISPOT est un outil très puissant et qui est assez simple après quelques temps d utilisation. 1 Le logiciel de création de site internet IZISPOT est un outil très puissant et qui est assez simple après quelques temps d utilisation. Voici un mode opératoire qui vous guidera dans l utilisation de

Plus en détail

À propos de cette page... 27. Recommandations pour le mot de passe... 26

À propos de cette page... 27. Recommandations pour le mot de passe... 26 Rebit 5 Help Table des matières Apprentissage... 1 Création du premier point de restauration... 1 Que fait le disque de sauvegarde Rebit 5?... 1 Fonctions de Rebit 5... 1 Création du premier point de restauration...

Plus en détail

Dans cette Unité, nous allons examiner

Dans cette Unité, nous allons examiner 13.0 Introduction Dans cette Unité, nous allons examiner les fonctionnements internes d une des plateformes de publication web les plus largement utilisées de nos jours sur l Internet, WordPress. C est

Plus en détail

NIMEGUE V3. Fiche technique 3.07 : Sauvegarde / Restauration manuelle

NIMEGUE V3. Fiche technique 3.07 : Sauvegarde / Restauration manuelle NIMEGUE V3 Fiche technique 3.07 : Sauvegarde / Restauration manuelle Version au 2 mai 2011 Toute donnée mémorisée sur un ordinateur, quelque soit le support, peut-être supprimée/effacée suite à un dysfonctionnement

Plus en détail

TP 1 Prise en main de l environnement Unix

TP 1 Prise en main de l environnement Unix Introduction aux systèmes d exploitation (IS1) TP 1 Prise en main de l environnement Unix Le but de ce premier TP est de commencer à vous familiariser avec l environnement Unix. 1 Ouverture de session

Plus en détail

MATRICE DES FONCTIONNALITES

MATRICE DES FONCTIONNALITES Facilité d utilisation Nouveau! Convivialité d Outlook Nouveau! Smart Technician Client Assistant Installation Configuration instantanée et personnalisable Nouveau! Installation à distance de Technician

Plus en détail

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement

Ne laissez pas le stockage cloud pénaliser votre retour sur investissement Ne laissez pas le stockage cloud pénaliser votre retour sur investissement Préparé par : George Crump, analyste senior Préparé le : 03/10/2012 L investissement qu une entreprise fait dans le domaine de

Plus en détail

Manuel de System Monitor

Manuel de System Monitor Chris Schlaeger John Tapsell Chris Schlaeger Tobias Koenig Traduction française : Yves Dessertine Traduction française : Philippe Guilbert Traduction française : Robin Guitton Relecture de la documentation

Plus en détail

Manuel utilisateur. Version 1.6b

Manuel utilisateur. Version 1.6b Manuel utilisateur Version 1.6b Table des matières Table des matières... 2 1. Introduction... 3 a. But de ce document... 3 b. Objet de ce document... 3 c. Remarques et commentaires... 3 2. Premiers pas

Plus en détail