Copyright © 2000 James M. Rogers
Copyright © 2000 Pierre Tane
Article paru dans le n°50 de la Gazette Linux de février 2000.
Cet article est publié selon les termes de la Open Publication License. La Linux Gazette n'est ni produite, ni sponsorisée, ni avalisée par notre hébergeur principal, SSC, Inc.
Quand plus d'une personne travaille sur un projet, vous devez vous assurer que chacun n'empiète pas sur les modifications des autres. Quand il n'y a que quelques répertoires, le Système de Contrôle de Révision (Revision Control System (RCS)) est parfait. Mais quand il s'agit de dizaines de projets faisant appel à dix programmeurs et que votre environnement de développement est distribué sur plusieurs machines, vous êtes face à un véritable cauchemar en gestion de projet que RCS ne va pas beacoup vous aider à surpasser.
Ce qu'il vous faut alors, c'est le Système de Version Concurrente (Concurent Version System (CVS). CVS est génial car il fonctionne en réseau, travaille avec des arborescences entières de répertoires et permet à plusieurs personnes de travailler sur le même fichier au même moment sans perdre les changements des uns et des autres. CVS est fourni avec les RedHat 6.0+.
Aussi bien que soit CVS, il ne change rien au fait que votre code source passe sur Internet sans cryptage. Ce mois-ci, je vais traiter de la manière de monter un dépôt de code source sécurisé et utilisable en réseau et ceci par le biais du programme ssh (Secure Shell ou shell sécurisé). Le mois prochain, je vais vous montrer comment importer vos projects actuels dans ce dépôt, comment en extraire votre code, mettre à jour les fichiers et faire prendre en compte vos modifications.
La procédure est la suivante :
Installez ssh sur vos machines. Ce programme est disponible à l'adresse suivante : ftp://sunsite.unc.edu/pub/packages/security/ssh/. La compagnie qui s'occupe de ssh se trouve à l'adresse suivante : http://ssh.com.
Configurez sshd sur la machine qui va abriter le dépôt.
Créez une nouveau compte utilisateur pour chaque groupe de programmeurs sur la
machine qui abrite le compte de dépôt. Pour cet exemple, vous pouvez créer un
nouvel utilisateur repository
ou
depot
.
Créez un répertoire .ssh
sur chacun des comptes utilisateurs, y compris
les nouveaux comptes créés pour le dépôt.
Faites chmod 700 .ssh sur le répertoire personnel de chaque compte, y compris les comptes de dépôt.
Faites créer à tout le monde une clé publique et privée en utilisant ssh-keygen.
Récupérez les fichiers ~/.ssh/identity.pub
de checun et placez les
dabs le fichier ~/.ssh/authorized_keys
dans le compte de dépôt pour
ceux qui ont le droit de travailler sur ce projet.
Faites chmod 700 ~/.ssh/authorized_keys sur le compte de dépôt.
Testez pour voir si tout le monde peut faire ssh depot@hote_de_depot où
depot
est le nom du compte de dépôt et hote_de_depot
est le nom de
l'hôte que abrite le(s) répertertoire(s) de dépôt.
Créez un réperoire ~/cvsroot
dans la racine du compte de dépôt.
Positionnez les deux variables d'environnement suivantes dans le script
d'initialisation que vous utilisez. Pour moi, c'était le fichier
~/.bashrc
:
export CVS_RSH=ssh
export CVSROOT=depot@hote_de_depot:/home/depot/cvsroot
Loguez vous dans une autre fenêtre afin de vérifier que vous pouvez toujours vous loguer et que ces variables d'environnement sont bien positionnées.
Faites une commande cvs init pour tous les utilisateurs habilités à utiliser ce dépôt : vous ne devriez pas avoir de messages d'erreurs.
En cas de messages d'erreur, recommencez depuis le début et répétez les instructions jusqu'à ce que ça marche.
Si vous avez des questions, n'hésitez pas à me contacter.
Profitez de tout cela pour vous familiariser avec CVS et SSH. Lisez la documentation afin de voir si ils ne peuvent pas vous servir à d'autres occasions. Si quelqu'un voit une autre manière de mettre en place un dépôt CVS, qu'il la partage avec nous ! Je suis tout particulièrement intéressé par une méthode pour monter un dépôt cvs public comme ceux que l'on voit partout sur internet.
Par ailleurs, pour ceux qui ne l'ont pas vu, il vous est montré ci-dessus comment configurer vos comptes de manière à ne vous loguer qu'une seule fois sur une machine sécurisée et ensuite à vous connecter sur les autres machines sans login. J'en discuterai plus avant dans mon prochain article de cette série.
L'adaptation française de ce document a été réalisée dans le cadre du Projet de traduction de la Gazette Linux.
Vous pourrez lire d'autres articles traduits et en apprendre plus sur ce projet en visitant notre site : http://www.traduc.org/Gazette_Linux.
Si vous souhaitez apporter votre contribution, n'hésitez pas à nous rejoindre, nous serons heureux de vous accueillir.