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.
Par exemple : http://hikage.developpez.com/linux/tutoriels/subversion/
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 :
- Microsoft Visual SourceSafe: http://msdn.microsoft.com/fr-fr/library/3h0544kx%28v=vs.80%29.aspx
- Perfoce : http://www.perforce.com/
- Bitkeeper : http://www.bitkeeper.com/
- Assembla : https://www.assembla.com/home
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é.