Tutoriel: Gestion de projet informatique avec Subversion et Trac

Icon for post #70

Le concept de “gestionnaire de versions” m’a toujours attiré, mais en dépit de ma bonne volonté, je n’ai jamais été capable de mettre en place (et surtout de configurer) mon propre serveur svn couplé avec l’outil Trac. Depuis quelques temps, je cherchais donc une plateforme d’hébergement de projets gratuite, afin de me familiariser avec ces outils. Hé bien j’ai finalement découvert Assembla hier soir, service qui vous propose d’héberger pour vous tous les outils nécessaires à la gestion d’un projet informatique : Subversion, Trac, Wiki, Teams, Chat… Bref c’est exactement ce qu’il me fallait. Et en plus c’est gratuit :P

Assembla provides tools and services for accelerating software development

Inscription et création d’un projet

Pour l’inscription, c’est par ici. Une fois enregistré, vous pouvez créer un “espace de développement” (space en anglais) sur cette page. Entrez le nom de votre projet, un identifiant pour les différentes URLs qui seront générées par la suite, et surtout prenez soin de cocher la case “Software developers (trac) – Subversion with TRAC ticketing” dans “Setup this space for”. Autant rester indépendant de la plateforme utilisée, aussi bonne soit-elle :)

Utiliser Subversion

Si vous ne savez pas ce qu’est Subversion, cet article ne vous était pas destiné. Cependant, maintenant que vous êtes là, je ne vais pas m’en plaindre, hein :P Subversion est donc un gestionnaire de versions qui fonctionne sur le mode suivant : vous créez sur un serveur distant un dépôt contenant tous les fichiers de votre projet. Ensuite, vous et vos co-développeurs pouvez ajouter, modifier ou supprimer des fichiers sur le dépôt en créant de nouvelles révisions. Tout étant centralisé, la gestion est grandement simplifiée, et les risques de corruption des fichiers sont minimisés (le serveur arrive entre autres à détecter et gérer les conflits de versions).
Je vous conseille fortement de lire ce tutoriel pour en apprendre plus sur les concepts de base du versioning.

Pour commencer à travailler sur notre projet, il va nous falloir envoyer une copie de notre dossier local vers le serveur d’Assembla.com (dans notre exemple notre dossier local sera /var/www/dev/my_project). Ensuite nous réimporterons la copie distante dans notre ordinateur, afin de mettre en place le système de révisions (créer les fameux dossiers .svn). Nous pourrons alors modifier nos fichiers localement, et les envoyer sur le serveur de dépôt distant, créant ainsi une “révision” ou “commit” en anglais ;)

Dans ce tutoriel, nous créerons la copie distante avec le logiciel RapidSVN, et nous travaillerons en ligne de commande pour ce qui est de l’envoi de nos modifications, c’est bien plus rapide … et bien plus geek aussi ;)

1. Avec RapidSVN
$ sudo apt-get install rapidsvn

Une fois installé, ouvrez RapidSVN, allez dans Bookmarks => Add existing Repository…, entrez l’URL de votre dépot (http://svn.assembla.com/svn/my_project) et cliquez sur OK. Sélectionnez ensuite votre dépôt dans la colonne de gauche, puis allez dans Repository => Import… et entrez le chemin vers votre dossier local (/var/www/dev/my_project). Votre dépôt contient maintenant une copie de votre dossier de travail local. Renommez votre dossier /var/www/dev/my_project en /var/www/dev/my_project_original, allez dans Repository => Checkout…, vérifiez que l’URL est la bonne, entrez comme Destination Directory le chemin /var/www/dev/my_project et cliquez sur OK. Enfin, fermez RapidSVN. Normalement tout devrait être installé correctement :P

2. En ligne de commande

Maintenant que tout est en place, commençons à modifier notre projet… c’est un peu le but du tutoriel, hein :D Commencez par ouvrir un terminal dans votre dossier de travail local (/var/www/dev/my_project). Tout en laissant votre terminal de côté, modifiez l’un de vos fichiers comme d’habitude, ajoutez des lignes, supprimez-en d’autres, etc. Une fois vos modifications achevées, sauvegardez vos fichiers et revenez à votre terminal.

Vous pouvez voir les différences entre votre copie locale et le dépôt avec la commande svn diff.
Pour envoyer vos changements vers le dépôt, tapez svn commit (ou le raccourci svn ci)
Un éditeur de texte va s’ouvrir en ligne de commande. Entrez une ligne de description pour les changements que vous avez effectué, puis enregistrez (avec nano, faites Ctrl+X, Y, touche Entrée). Le résultat s’affiche dans le terminal :

Transmitting file data .
Committed revision 2.

Puissant, n’est-ce pas ? :) Bien entendu, SVN possède de très nombreuses fonctions que je n’ai pas même évoquées dans cet article. Je vous engage à consulter la liste des principales commandes de subversion, sur Wikipédia ;)

Bref aperçu de Trac

Une fois correctement installé et configuré, l’utilisation du gestionnaire de bugs qu’est Trac est relativement simple, je n’en donnerai donc pas une description poussée ;) Une astuce seulement : Trac reconnaît votre dépôt SVN, ainsi lorsque vous corrigerez des bugs dans votre logiciel, vous pourrez faire d’une pierre deux coups : mettons que vous corrigiez le bug correspondant au ticket #1234. Après avoir modifié les fichiers concernés, entrez “svn commit” comme d’habitude, et ajoutez à votre description du changement “fixes #1234“. Le ticket sera alors automatiquement fermé ! Sympa, non ? :)

P.S: Si vous avez des conseils sur l’utilisation de ces outils, je suis bien entendu preneur ;)

blogasty

Articles Suggérés

Pas de commentaire pour l'instant :-(

Aucun trackback

  1. Loading...

Laisser un commentaire