Rechercher dans ce blog

dimanche 16 septembre 2012

Ajouter un SVN à la Gestion de Projets


Après avoir présenté les applications gratuites et pratiques pour de la Gestion de projets. Je vous propose d’ajouter un SVN (en anglais subversion) pour simplifier le développement d’un projet collaboratif ou individuel.

Un SVN est un gestionnaire de versions. Son intérêt est de conserver et de gérer les différentes versions des fichiers d’un projet afin de pouvoir après sauvegarde : 
  • Restaurer une version de fichiers endommagées ou supprimées
  • Récupérer une version de fichiers antérieure,
  • Conserver un historique et un suivi des versions
Première étape : Installation

Recommandations 1 : Si vous travailler seul un simple PC est suffisant. En mode collaboratif, (Equipe multi développeurs) il est préférable d’utiliser un serveur adapté et performant : 

·         Processeur avec au minimum 4 cœurs dédiés à SVN
·         Mémoire (4 ou 8 Go de mémoire pour éviter trop de SWAP)
·         Un contrôleur Raid avec 1 Go de mémoire cache type ADAPTEC
·         Disques dur bien dimensionnés selon vos besoins avec des accès en lecture-écriture rapides et fiables (privilégier des  disques de grande capacité 1 ou 2 To en SAS 6Gb/s avec de la mémoire cache 32 MB et une vitesse de rotation de 7200 tr/mn) – Exemple WD2000FYYG ou WD1000FYYG. Selon le niveau de redondance souhaité mettre en œuvre votre choix de Raid.
·         Un onduleur pour protéger le serveur d’une coupure intempestive du courant
·         Une sauvegarde des données

Recommandations 2 : Pour un serveur dédié : achat physique de l’équipement informatique ou achat en mode IaaS avec hébergement inclus type IKOULA.

Attention : pour des accès distants, le point critique concerne la bande passante WAN disponible montante. Un simple lien ADSL de 1Méga montant peut être insuffisant. Une liaison fibre avec un débit de 10 Mégabits secondes  montant est correcte.

Installer votre serveur SVN soit sous Windows, soit avec une distribution Linux.
Sur le WEB on trouve de nombreux tutoriaux d’installation.

Choix de mettre en œuvre un SVN avec une distribution Linux sous APACHE.


Deuxième étape : Installer un client SVN

 
Pour Microsoft Windows : TortoiseSVN est très complet et pratique à l’usage. Il s’intègre dans l’explorateur Windows mais attention au ralentissement de l’explorateur si le projet est constitué de nombreux fichiers.

Pour MAC OS ou Linux un simple terminal en ligne de commande est suffisant. Toutefois on trouve également des versions graphiques comme RapidSVN par exemple.

Troisième étape : Synchronisation
A la première utilisation du client SVN, il faut exécuter  la commande « SVN Checkout » afin de récupérer toutes les données présentes sur le serveur SVN et lier un dossier local au serveur SVN.

Quatrième étape : Utilisation
L’utilisation est principalement basée sur deux commandes : SVN Commit (pour envoyer les modifications sur le serveur SVN et les rendre accessibles pour tous les collaborateurs) et SVM Update pour mettre à jour la copie locale du projet avec celle du serveur SVN.

Avantages : permet en mode collaboratif de travailler sur la même version de développement, permet de gagner de la place et un temps précieux (stockage des différences d’une révision à l’autre et plus besoin de transférer les fichiers entre les différents intervenants, un simple clic et la mise à jour est automatique), la gestion des conflits est intégrée pour prendre en compte  la situation ou deux personnes modifient un même fichier chacune de leur côté et souhaitent remettre les deux versions différentes sur le serveur, possibilité de créer plusieurs branches pour des développements parallèles.

Inconvénients : Centralisé en client-serveur. Le serveur est optimum en gain de place ce qui n’est pas le cas du client qui stock deux fois l’information (originale et copie modifiable).
Des solutions plus récentes en mode distribué comme BAZAAR ou GIT ou Mercurial ont vu le jour pour apporter plus de souplesse, de rapidité et ne plus avoir les inconvénients d’une solution centralisée.

De nombreux serveurs SVN sont disponibles en gratuit ou en payant selon le nombre d’utilisateurs. Citons les principaux logiciels libres dans ce tableau :


Il existe aussi des outils de gestion de versions propriétaires comme :


Cinquième étape (optionnelle) : interconnecter SVN à votre logiciel de gestion de Projets
Attention cette option est gourmande en mémoire et en espace disque.
Le faire si votre serveur de gestion de Projets est également bien dimensionné.