1. Présentation de l'ouvrage▲
1-1. Table des matières▲
Avant-propos
Préface
Lectorat
Comment lire ce livre ?
Conventions utilisées dans ce livre
Organisation et contenu
Commentaires et questions
Remerciements
Chapitre 1 - Introduction
Qu'est-ce que Subversion ?
Historique de Subversion
Caractéristiques de Subversion
Architecture de Subversion
Installer Subversion
Composants de Subversion
Visite guidée
Chapitre 2 - Concepts essentiels
Le référentiel
Modèles de révision
Subversion en action
Résumé
Chapitre 3 - Visite guidée
Help!
Import
Révisions : numéros, mots-clés et dates
Extraction initiale
Cycle de base
Examiner l'historique
Autres commandes utiles
Résumé
Chapitre 4 - Branches et fusions
Qu'est-ce qu'une branche ?
Utiliser les branches
Copier des changements entre branches
Utilisations courantes de la fusion
Transférer une copie de travail
Etiquettes
Gestion des branches
Résumé
Chapitre 5 - Administration du référentiel
Concepts essentiels du référentiel
Création et configuration d'un référentiel
Entretien du référentiel
Ajouter des projets
Résumé
Chapitre 6 - Configuration du serveur
Vue d'ensemble
Modèle réseau
snvserve, un serveur personnalisé
httpd, le serveur HTTP Apache
Prise en charge de plusieurs méthodes d'accès au référentiel
Chapitre 7 -Thèmes avancés
Zone de configuration d'exécution
Propriétés
Définitions externes
Branches d'origine
Chapitre 8 - Informations pour développeurs
Conception en couches des bibliothèques
Utilisation de l'API
Au sein de la zone administrative de la copie de travail
WebDAV
Programmation avec les pools de mémoire
Apporter sa contribution à Subversion
Chapitre 9 - Guide de référence
Le client en ligne de commande Subversion : svn
svnadmin
svnlook
svnserve
Annexe A - Subversion pour utilisateur CVS
Annexe B - Dépannage
Annexe C - WebDAV et contrôle de versions automatique
Annexe D - Autres outils
1-2. Le livre vu par l'éditeur▲
Dans le monde du logiciel libre, le système CVS (Concurrent Versions System) fait depuis longtemps figure d'outil incontournable pour la gestion des sources. Cette notoriété est méritée : CVS est un logiciel libre et son mode d'utilisation ouvert et distribué, qui permet à des dizaines de programmeurs géographiquement dispersés de partager leur travail, correspond très bien à la nature collaborative du monde open source. Pourtant, à l'instar de nombreux autres outils, CVS vieillit. Puissant, facile d'utilisation et très flexible, Subversion s'impose comme le digne successeur de CVS.
Ce livre est destiné à un large public allant de l'utilisateur sans expérience du contrôle de versions à l'administrateur système le plus chevronné. Si vous appartenez à la première catégorie, vous trouverez dans cet ouvrage tout ce qu'il vous faut pour bien démarrer. Si au contraire, le contrôle de versions avec CVS n'a plus de secret pour vous, vous verrez que Subversion offre de multiples améliorations.
1-3. Mon résumé▲
Ce livre, s'adresse à un public très large allant du débutant au spécialiste en passant par le développeur faisant un usage quotidien d'un outil de versioning, ainsi que l'administrateur qui met en place et assure la maintenance d'un tel outil. Le lecteur, notamment s'il s'agit d'un débutant, pourra donc s'attendre à ne pas se sentir concerné par une partie des chapitres. En contrepartie, il saura qu'il pourra revenir dessus plus tard lorsqu'il sera plus familier avec Subversion et souhaitera s'intéresser à des problématiques plus avancées.
Compte tenu de la diversité de niveau du propos, les auteurs conseillent dès le départ le lecteur en l'orientant vers les chapitres correspondant à son niveau et ses attentes. On peut ainsi regrouper plusieurs parties.
Une première partie présentant Subversion et illustrant les fondamentaux du contrôle de versions se destine plus particulièrement aux débutants ou à ceux qui ont déjà quelques notions à travers la pratique de CVS.
Une seconde partie concerne l'utilisateur avancé et regroupe les chapitres 4 et 7, traitants de problématiques avancées côté client.
Une troisième partie (chapitres 5 et 6) s'adresse elle plutôt aux administrateurs souhaitant configurer et mettre en place Subversion. Elle traite à la fois des problématiques d'administration, d'automatisation de tâches, et de la configuration d'accès au référentiel.
Vient ensuite un chapitre destiné aux développeurs souhaitant réutiliser le noyau de Subversion afin d'intégrer le contrôle de version à un outil tiers, ou tout simplement participer aux évolutions de Subversion.
Cet ouvrage très riche en informations, se termine par une chapitre faisant office de guide de référence décrivant de façon exhaustive les commandes et sous-commandes mises à disposition pour l'utilisateur de Subversion, puis un ensemble d'annexes apportant la plupart du temps des compléments d'information très pertinents.
2. La critique▲
2-1. Premières impressions▲
Ce livre est une véritable mine d'informations qui ne donne qu'une seule envie : s'intéresser davantage à Subversion.
D'autant plus que les auteurs ne sont pas d'illustres inconnus mais rien d'autre que 3 des acteurs majeurs de ce projet Open Source. C'est donc un gage de qualité et de véracité des informations disséminées tout au long des chapitres constituant cet ouvrage. La lecture peut paraître un peu déroutante lorsqu'on ne suit pas les conseils des auteurs et procède à une lecture linéaire de l'ouvrage. J'encourage donc les potentiels lecteurs ayant déjà fait leurs armes avec CVS à commencer par lire la première annexe : elle nous fait part de la philosophie de Subversion et de son approche bien particulière de la gestion des sources.
Ce livre, dont les chapitres ne sont pas tous à la portée du débutant, voire parfois de l'expérimenté (tout dépend de quel côté développeur/administrateur on se place), ne fait assurément pas partie de ceux qu'on lit et qu'on range par la suite pour ne plus jamais s'en servir !
2-2. Un livre pour débutants ...▲
Le but de cet ouvrage est avant tout de séduire les habitués de CVS et les nouveaux venus désireux d'utiliser un système de gestion des sources et de collaboration. Les auteurs décrivent donc de manière claire le but de Subversion, ses caractéristiques, ainsi que les commandes usuelles permettant à une équipe de disposer d'un référentiel commun afin d'y déposer les sources de son projet et d'augmenter sa productivité.
Les débutants apprécieront donc la simplicité de fonctionnement de Subversion côté client, et les connaisseurs de CVS apprécieront certaines améliorations par rapport à un outil qui reste encore une référence dans le monde du développement collaboratif. Les débutants apprécieront certainement les explications illustrées et didactiques des auteurs, à l'image de la simplicité que le propos laisse paraître de Subversion.
2-3. ... mais aussi pour utilisateurs avançés ...▲
Les utilisateurs aggueris y trouveront également matière à s'intéresser à Subversion ou à améliorer leur quotidien. On appréciera notamment la gestion des branches proposée par Subversion qui conforte l'idée de simplicité que les premiers chapitres laissent paraître. Les auteurs traitent également des aspects propres à Subversion et qu'on ne trouve pas par exemple au niveau de CVS, notamment la notion de propriété, la configuration avancée, ainsi que la gestion de plusieurs référentiels.
2-4. ... sans oublier les administrateurs et les spécialistes.▲
Les concepts avancés en ce qui concerne l'administration et le gestion d'un référentiel Subversion constituent enfin une partie, et non des moindres, de cet ouvrage.
Les auteurs y décrivent l'architecture de Subversion et notamment l'usage de la base de données Berkeley DB. L'administrateur y trouvera les explications nécessaires pour configurer l'accès au référentiel et aura tout loisir de s'essayer aux différentes méthodes d'accès, de svnserve à WebDAV, avec ou sans cryptage SSH/SSL.
Subversion est notamment décrit comme un système ouvert et doté d'une architecture permettant aux développeurs le souhaitant de s'appuyer dessus pour leurs réalisations (que ce soit des environnements visuels pour Subversion ou des systèmes s'appuyant sur un contrôle de versions).
Cette partie est le pendant de la simplicité évoquée côté client : le niveau des explications et l'apparente richesse et complexité relative de la configuration de Subversion côté serveur témoignent d'un outil évolué capable de remplacer CVS même chez les plus récalcitrants au changement.
3. Remarques▲
Si vous vous intéressez à Subversion, il n'y a aucune hésitation à avoir. Cet ouvrage vaut largement l'investissement.
Soyez néanmoins attentifs aux conseils des auteurs et ne vous inquiétez pas de ne pas vous sentir concerné par l'ensemble des chapitres. Dites vous que vous aurez l'occasion de revenir dessus lorsque vous aurez davantage fait connaissance avec Subversion.
Quel que soit votre profil, il est fort à parier qu'après avoir lu et relu cet ouvrage, vous le considererez comme la bible de Subversion et aurez un oeil différent sur la gestion des sources et le travail collaboratif dans un monde où le facteur limitant n'est plus la ressource disque mais la bande passante du réseau.
4. Conclusion▲
Cet ouvrage présente de manière claire et complète Subversion qui apparaît comme l'avenir de la gestion des sources.
On notera notamment une traduction irréprochable, ce qui n'est pas toujours le cas pour des ouvrages fortements techniques. Quant à la pertinence du propos, on pourra faire confiance aux auteurs pour qui Subversion est tout sauf l'inconnu.
Avec quelques anecdotes et remarques humoristiques, les auteurs introduisent Subversion de fort belle manière et encouragent le lecteur à miser dessus. Alors, prêts à miser dessus dès à présent pour l'avenir ? Une chose est sûre, sa lecture ne donne qu'une envie : mettre en pratique et tirer bénéfice de toutes ces qualités vantées!
Je remercie également Gnux pour la relecture de cette critique.