Comment devenir développeur sans se fatiguer
Après avoir navigué dans le monde du logiciel libre durant quelques temps, vous décidez de vous "salir les mains" en devenant développeur pour un projet du monde libre.
Problématique : comment peut-on faire pour travailler à plusieurs personnes en même temps sur une application ?
Solution : Le CVS pour Concurrent Versionning System. Ce système client-serveur multi-plateforme permet de travailler sur des fichiers sources en pouvant suivre l’évolution et les changements fichier par fichier.
Voici donc un petit tutoriel pour vous supporter dans vos premières utilisations de CVS. Notez qu’il est préférable d’avoir installé les paquetages de développement ainsi que KDE 3.0.3 pour ce tutoriel (mais CVS fonctionne quand même très bien sur toutes les plateformes).
Tout d’abord, quel type de connnection le serveur CVS permet-il ?
Il existe grosso modo 2 modes de connnection à un serveur CVS
Via pserver (de moins en moins utilisé car non encrypté)
Via un shell externe, soit rsh (non encrypté, peu utilisé) ou ssh (le plus utilisé)
Le type de connection dépendra du serveur qui vous héberge. Nous nous concentrerons ici sur le service de TuxFamily qui vous permet d’héberger des projets libres de façon tout à fait gratuite. Cependant, vous pouvez appliquer ce tutoriel à d’autres services CVS, comme Sourceforge.
Cependant, il n’est pas nécessaire d’être "accepté" comme développeur dans un projet pour avoir la version de travail de ce même projet. La plupart du temps, les CVS ont des accès anonymes (un peu comme en FTP) pour permettre à tous de récupérer la dernière version "brûlante" toute droit sortie de la fabrique ! Voyons donc comment on peut faire cela...
Une première étape : récupérer l’archive de travail
Pour s’assurer que tout le monde travaille sur la même archive, tous doivent se baser sur les fichiers présents dans le CVS.
La première étape consiste à s’identifier sur le serveur CVS.
Il faut d’abord vérifier (en se rendant sur le site web de Tuxfamily dans la section CVSweb) si le projet se présente en plusieurs modules (un module est un dossier situé dans la racine CVS - appelée aussi CVS_ROOT). Dans le cas qui servira d’exemple, un seul module sera récupéré puisque l’archive est contenue dans un dossier (qui contient lui-même des sous-dossiers, mais ce n’est pas important...).
Voici les commandes à effectuer (en mode terminal) :
D’abord, faire la commande export CVS_RSH=ssh (pour que votre client CVS utilise le protocole ssh pour communiquer avec le CVS).
Ensuite, vous pouvez faire la commande
export CVSROOT=votrenomusager@cvs.tuxfamily.org:/cvsroot/lenomdumodule.
Notez que vous devez être développeur pour établir ce CVSROOT (où se situe la racine du CVS). Si vous voulez accéder en mode anonyme, vous pouvez le faire en mode pserver en utilisant
export CVSROOT=:pserver:anonymous@cvs.tuxfamily.org:/cvsroot/lenomdumodule.
L’important, c’est qu’en établissant la variable CVSROOT (c’est ce que fait la fonction export), vous allez signifier à votre client CVS par où passer pour accéder au CVS.
Ouf !
Une deuxième étape : préparer le terrain pour accueillir les fichiers et aller les chercher.
D’abord, créez vous un dossier (mkdir dossier) car les fichiers se retrouveront dans le répertoire où vous êtes lors de la prochaine commande.
Faites la commande cvs co lenomdumodule. (co pour checkout). On vous demande votre mot de passe (pour le mode anonyme, il suffit d’appuyer sur retour), et voilà !
Voici deux captures d’écran, une pour le mode développeur et une pour le mode anonyme. Notez que le développeur n’a pas inscrit de mot de passe parce que sa clé publique est déjà sur le serveur de Tuxfamily (on en reparlera plus loin).
Préparer le terrain en tant que développeur
Si vous êtes développeur, la plupart des services qui offrent CVS (Tuxfamily, Sourceforge) vous proposeront de vous identifier par un système de clé publique, ce qui vous permettra d’utiliser un logiciel tel que Cervisia sans que le serveur ne vous demande de mot de passe (puisque le système fait déjà l’identification clé publique-clé privée).
Cervisia, comment ?
Pour vous créer une pairs de clés (en mode terminal) : ssh-keygen -t dsa. Vos clés se retrouvent dans le dossier (caché) /home/usager/.ssh.
Avec un logiciel ftp, rendez-vous dans votre dossier sur le serveur CVS (hôte=ftp.t2.tuxfamily.net, nom usager et mot de passe = ceux de votre compte CVS). Entrez dans le répertoire ssh. Transférer votre clé publique (id_dsa.pub) vers le serveur. Renommez-la authorized_keys. Pour ceux qui utiliseraient Sourceforge, au lieu de donner votre clé publique via FTP, vous l’envoyez via votre page web de Sourceforge dans la gestion de votre projet.
Ouvrez Cervisia (dans le menu Applications - Développement - Outils). Dans le menu fichier, sélectionnez Ouvrir une copie locale. Sélectionnez votre dossier récupéré plus tôt.
Vous n’aurez pas à vous réidentifier puisque toutes les données de connexion sont dans les dossiers que vous avez reçu (vous allez sûrement remarquer que tous les dossiers que vous avez récupéré du CVS contiennent un dossier CVS dans lequel sont ces préférences).
Pour vérifier que vos fichiers sont à jour, sélectionnez le dossier principal et faites Actualiser dans le menu Fichier.
Pour envoyer des modifications, sélectionnez les fichiers locaux modifiés et faites Commit dans le menu Fichier. Suggestion : vérifier juste avant que personne n’a modifié les fichiers sur le serveur.
Bon CVS.




