Subversion: un outil indispensable
Depuis maintenant les quelques années que je travaille dans le développement pour le web, une fonctionnalité a changé ma vie de développeur: les outils de versionning et SubVersion en particulier (je parlerais de mes malheureuses aventures avec CVS peut être dans un autre post)
1. C’est quoi un outil de versionning
Un outil de versionning c’est un outil qui va vous permettre de stocker différentes version de vos fichiers. Il existe plusieurs types d’outils de versionning (si je me trompes pas Microsoft à lui aussi un outil de versionning), mais les plus connus sont CVS et son petit cousin SubVersion.
2. Pourquoi le mettre en place?
Si vous êtes plusieurs à travailler sur un projet en particulier si certains fichiers sont en commun, si vous désirez garder une trace des différentes versions de vos fichiers… les outils de versionning sont faits pour vous.
Pour résumer si vous travaillez dans le développement, vous avez 98% de chance d’avoir besoin de cet outil (même pour les graphistes cela peut se révéler très utile).
3. Les contraintes
Elles sont pu nombreuses:
- de la discipline (s’astreindre à suivre la procédure en place, ne pas buypasser le système même si cela paraît plus simple, au final tout le monde y perds)
- updater et commiter souvent (ce sont les deux actions principales pour mettre à jour et envoyer une nouvelle version du fichier)
- commenter ses commit (si vous avez 275 versions d’un fichier en une semaine, même si les révisions sont notées par heure d’envoi, sans commentaires efficaces vous allez vous y perdre très vite)
4. Architecture typique

Imaginons par exemple que vous ayez deux développeurs: machin et bidule, une plateforme de test et une plateforme de production.
L’architecture typique est d’avoir 4 environnements distincts tous synchronisés avec votre Repository (l’endroit où subversion stocke les fichiers et leurs modifications)
5. Les défauts?
Ils ne sont pas nombreux:
- expliquer et éduquer comment bien utiliser subversion (et avec certains ça peut prendre du temps)
- devoir résoudre certains conflits “à la main”
Et vous est ce que vous utilisez des outils de versionning?







