Contrôle de version - Subversion

Introduction

La croissance et l'acceptation générale des produits Open Source au sein des entreprises commerciales ont été très importantes ces dernière années. C'est particulièrement vrai en ce qui concerne Subversion (SVN). Ce logiciel de gestion et de contrôle de version a connu récemment une adoption très rapide Dans le rapport de Forrester Research en 2007, Subversion a été reconnu comme le seul chef de file de la catégorie des produits Standalone Software Configuration Management (SCM). http://www.forrester.com/Research/Document/Excerpt/0,7211,42334,00.html et http://www.collab.net/forrester_wave_report/.

Subversion (SVN) a été lancé en 2000 dans le but de créer un système de contrôle de versions libre et gratuit, similaire à CVS, mais avec des changements importants dans les fonctionnalités principales et la correction des problèmes conceptuels majeurs de CVS. Subversion gère les fichiers et répertoires au fil du temps. Il est utilisée pour maintenir l'historique des versions de fichiers tel que du code source, des pages Web, ou encore de la documentation. En 2001, Subversion est suffisamment développé pour être capable d'héberger son propre code source. Subversion est également bien connu dans la communauté open source et est utilisé sur de nombreux projets open source, y compris Apache Software Foundation, PHP et Tigris.org.

Quelques point forts

  • Les commits, ou publications des modifications sont atomiques. Un serveur Subversion utilise de façon sous-jacente une base de données capable de gérer les transactions atomiques
  • Subversion implémente un système de fichiers versionné virtuel qui gère les modifications sur l’arborescence entière au cours du temps. Fichiers et répertoires sont versionnés.
  • Subversion permet le renommage et le déplacement de fichiers ou de répertoires sans en perdre l'historique.
  • Subversion peut être associé au serveur HTTP Apache par un module d’extension. Ceci donne à Subversion un gros avantage en matière de stabilité et d'interopérabilité et facilite l'accès à Subversion à travers le réseau. Cette association permet également à Subversion de bénéficier des fonctionnalités existantes offertes par un serveur Apache en matière d'authentification, d'autorisation, de compression et plus
  • Quelque soit le système d'exploitation de votre environnement de développement, il existe un client subversion pour ce système. Le client Subversion en ligne de commande est notemment disponible sous Linux, *BSD, Mac OSX, Windows, AIX ou encore SUN Solaris. Il existe également des clients graphiques pour les principaux desktops (Windows, Mac OSX, Linux,...).
  • Subversion utilise un algorithme de différenciation binaire qui travaille de façon identique sur les fichiers textes et binaires, ce qui permet une utilisation optimale de l'espace de stockage ainsi que des ressources réseaux.
  • Grâce à son statut de leader sur le marché des logiciels de contrôle de versions, Subversion est largement supporté par toute une série de produits intervenant dans la conception et le développement d'applications et qui offre une intégration avec Subversion. A ce titre, on peut citer:
    • les principaux IDE tels que Visual Studio, Eclipse ou Netbeans
    • des logiciels de suivi de problèmes tels que Bugzilla, Trac ou encore Mantis
    • des logiciels d'aide à la gestion de builds automatiques tels que Ant ou Cruise Control
    • ...
  • Subversion offre des APIs complètes dans différents langages tels que C/C++, PHP, python, ...

Le service I-Logs

Les consultants d'I-Logs peuvent justifier de plus de 5 ans d'expériences professionnelles avec Subversion. Fort de cette expérience, nous sommes en mesure de pouvoir vous aider dans tous les domaines qui touchent à Subversion.

Installation

A l'exception du matériel, nous pouvons prendre l'entièreté de l'installation de Subversion en charge. Cette installation standard inclu au minimum:

  • Installation, sécurisation et configuration d'Apache 2.2 (ou supérieur si applicable) avec support SSL.
  • Installation et configuration de Subversion 1.6.3 (ou supérieur si applicable).
  • Configuration des schémas d'authentification et d'autorisation avec création des utilisateurs
  • Notification automatique des commits (publication de modifications) par email.
  • Documentation

Formation

Les cours sont donnés soit en Français, soit en Anglais selon l'audience.

  • Formation subversion à l'usage des utilisateurs. Cette formation aborde les principes fondamentaux de subversion, le cycle de travail habituel avec subversion et l'utilisation des principaux clients subversion: le client en ligne de commande, TortoiseSVN
  • Formation subversion à l'usage des administrateurs. Cette formation aborde les principes fondamentaux de subversion et des points spécifiques à l'administration de subversion: la création et la gestion des repositories, le monitoring, la sécurité, l'intégration avec Apache 2.2, ...

Intégration

Un des points forts de Subversion est son succès. De par ce succès, de nombreux outils offrent une intégration avec Subversion. I-Logs peut vous conseiller dans le choix de ces outils et vous aider à la mise en place de leur intégration complète avec Subversion. De plus, grâce aux APIs Subversion, I-Logs peut vous aider à intégrer Subversion avec des produits qui vous sont propres et qui n'offrent pas d'intégration par défaut.

Méthodologie de branchement

Une des erreurs classiques des équipes de développement qui adoptent Subversion sans une connaissance ad-hoc du produit, c'est de ne pas savoir quoi faire avec les branches et les tags et, en conséquence, de les utiliser à mauvais escient. Au travers d'un atelier, I-logs peut analyser votre processus actuel de branchement (branching) et de merge et ainsi que vos besoins. A l'issue de cet atelier, nous sommes en mesure de vous décrire la stratégie de branchement la plus adaptée a vos besoins.

Recrutement

Si vous souhaitez engager un ingénieur dont l'une des tâches sera de s'occuper de tout ou partie d'une installation Subversion, I-Logs vous propose un service unique afin de vous aider à trouver le candidat idéal en réalisant un interview sur site ou par téléphone pour ce qui concerne la partie Subversion.

Hébergement

Si vous ne souhaitez pas vous préoccupez de l'hébergement de votre environnement Subversion, I-Logs peut vous proposer des solutions partagées ou dédiées d'hébergement professionnel de votre Subversion (encryption, redondance, backup, ...).

Intéressé?

I-Logs offre du support commercial Subversion en Belgique et au Luxembourg. N'hésitez pas à prendre contact avec nous pour de plus amples informations. Vous pouvez également suivre Sub-Subversion, notre blog dédié à Subversion.

Liens utiles