Perforce, le système rapide de gestion de configuration logicielle

Perforce version 2008.2

Rija RANDRIANO

Perforce Inc. développe l'un des plus performants SCM du marché. Cet article de découverte est destiné surtout aux nouveaux utilisateurs de Perforce.

Commentez : Commentez

- Titre : Perforce, le système rapide de gestion de configuration logicielle

- Auteur : Rija RANDRIANO

- Parution : 23 mai 2007

- Mise à jour : 9 avril 2009

- Licence : Copyright ® 2007 Developpez.com. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Présentation

- I-A. Perforce SCM

- I-B. Gestion de configuration

- II. Détails de Perforce

- II-A. Plates-formes

- II-B. Serveur Perforce

- II-C. Client Perforce

- II-D. Autres composants

- III. Démarrer pour la première fois avec Perforce

- III-A. Configurer votre espace de travail

- III-B. Dépôt

- III-C. Ajouter des fichiers ou des dossiers dans le dépôt

- III-D. Visionner les fichiers dans le dépôt

- III-E. Un checkout des fichiers dans le dépôt

- III-F. Comparer les fichiers « checked out » et vos fichiers

- III-G. Visionner la révision d'un fichier dans un diagramme

- III-H. Corollaire

- IV. Rapport qualité/prix

- V. Conclusion

- VI. A propos de Perforce

I - Présentation

I-A - Perforce SCM

Perforce est un outil de gestion de configuration logicielle construit autour d'une architecture client/serveur. Les utilisateurs peuvent accéder au serveur de Perforce à travers une gamme de logiciel client. Un tel outil doit être utilisé dans le processus de développement de logiciels, Perforce est là pour répondre aux attentes des développeurs.

I-B - Gestion de configuration

La gestion de configuration (tout court) est un terme utilisé non seulement en informatique mais dans les autres domaines à savoir en aéronautique, en automobile, en construction navale, en armement, etc. En informatique surtout en développement de logiciels, elle est employée de manière à stocker et tracer les différentes versions ou révisions de toute information destinée à être utilisée par un système (matériel, logiciel, document, donnée unitaire, etc.). Il existe de nombreux logiciels de gestion de configuration commerciaux, payants ou gratuits; Perforce est payant mais personnellement, je trouve qu'il vaut bien son prix.

Pourquoi la gestion d'une configuration logicielle est-elle si vitale? Il est indispensable d'utiliser un SCM si on travaille à plusieurs sur un même projet, on peut facilement fusionner les modifications et gérer les différentes versions d'un projet. Par exemple, un logiciel de gestion de versions va agir sur une arborescence de fichiers afin de conserver toutes les versions des fichiers, ainsi que les différences entre les fichiers. Ainsi, les développeurs qui travaillent autour d'un logiciel peuvent suivre toute évolution du code source. La gestion de versions n'est alors qu'une partie de Perforce!

II - Détails de Perforce

II-A - Plates-formes

Perforce peut fonctionner sur de nombreux types de systèmes d'exploitation:

- Microsoft Windows ;

- Linux ;

- Sun Solaris ;

- Mac OS X ;

- FreeBSD x86 ;

- etc .

II-B - Serveur Perforce

II-C - Client Perforce

On parlera ici de P4V ou "Perforce Visual Client", le logiciel client à interface graphique de Perforce qui fonctionne sur diverses plates-formes, cette interface est la même sur tous les systèmes d'exploitation supportés.

P4V permet de connecter votre ordinateur au serveur Perforce et de déplacer vos fichiers et vos dossiers entre les dépôts et votre espace de travail (répertoire de travail se situant sur l'ordinateur client utilisant P4V).

II-D - Autres composants

Le serveur Perforce constitue le composant principal et vital de ce système car c'est en fait lui qui est vraiment payant. Comme client, il suffit d'utiliser Perforce Visual Client qui est téléchargeable gratuitement sur le site de Perforce.

Les autres composants de Perforce sont : P4Web, P4Win et Perforce Defect Tracking Gateway (P4DTG). Prenons P4Web, il s'agit du client web de Perforce. Ce dernier fournit un accès aux dépôts de Perforce c'est à dire à l'historique des versions de fichiers, les fichiers ajoutés et les fichiers supprimés dans un espace de travail à partir d'un navigateur web. De plus, on peut utiliser un flux RSS pour être alerté des dernières mises à jour.

Il existe également un plugin Perforce pour l'environnement Eclipse, ce qui est particulièrement utile pour les entreprises qui développement avec plusieurs langages de programmation. Commentez

III - Démarrer pour la première fois avec Perforce

Il s'agit de vous montrer l'installation et le lancement de Perforce. Ici, le test se fait sur une plate-forme Windows (2000, XP, Server 2003) mais le lancement se ressemble aussi sur les autres plates-formes. Il faut remarquer que Perforce Software fournit une assistance à ses clients qui n'utilisent encore que la version d'évaluation.

L'installation se fait en lançant perforce.exe pour une plate-forme Windows. Choisissez l'option "Perforce Administrator Install (Typical)"

Entrer le nom de machine et le port à utiliser par le serveur

Entrer le nom d'utilisateur ou le créer

Choisir l'emplacement de l'espace de travail local

Chargement initial des fichiers

Ce serveur est un service Windows donc n'a pas d'interface visuelle. On peut le lancer à partir des Outils d'administration>Services (services.msc) , le nom du service correspondant est Perforce , on peut également lancer le serveur Perforce Proxy qui est utile pour un groupe de travail oeuvrant dans divers coins du globe.

Comme logiciel client, il faut se procurer de Perforce Visual Client (p4v) et l'installer. Lorsqu'on lance le client, on s'attend à une interface simple et agréable. N'oublions pas que Perforce a été conçu par des ingénieurs logiciels pour des ingénieurs logiciels. C'est pourquoi sa conception élégante, sa rapidité et sa technologie de pointe attirent ceux qui souhaitent utiliser un système gestion de configuration logicielle inégalé.

III-A - Configurer votre espace de travail

Pour définir un nouvel espace de travail, sélectionner le menu Connection > Workspace mais si vous voulez seulement changer les propriétés d'un espace de travail existant, sélectionner Connection > Edit Current Space

III-B - Dépôt

C'est un répertoire où sont archivés les fichiers des différents projets, ainsi que les informations relatives à chaque version. Il est souvent appelé « repository » dans les autres logiciels de gestion de configuration.

III-C - Ajouter des fichiers ou des dossiers dans le dépôt

Il se peut qu'avant d'avoir utilisé un système de gestion de configuration logicielle, vous avez travaillé dans un espace de travail (un ensemble de fichiers et de dossiers contenant votre projet) pour développer un projet informatique. Il faut alors migrer ce dernier vers le dépôt pour suivre son évolution et faciliter sa modification.

Il suffit d'aller dans le panneau droit onglet Workspace , naviguer vers le dossier ou le fichier à copier vers le dépôt, choisir Mark for add dans le menu contextuel obtenu par le clic droit.

III-D - Visionner les fichiers dans le dépôt

Dans le panneau droit onglet Depot , parcourir vers le fichier ou le dossier que vous voulez visionner.

Pour consulter les versions récentes ou les anciennes versions, il suffit de sélectionner respectivement Get Latest Revision ou Get Revision sur le menu contextuel obtenu dans l'onglet Depot.

III-E - Un checkout des fichiers dans le dépôt

Il s'agit d'obtenir une copie locale da la dernière version d'un fichier du dépôt.

Choisir le fichier dans l'onglet de dépôt.

Cliquer Check out dans le menu contextuel. Après le checkout, le fichier est affecté d'une marque de coche rouge indiquant qu'il a été « checked out », c'est-à-dire que le fichier dans le dépôt a été effectivement copié.

On peut alors tracer l'historique des changements par le menu View > Pending Changelists  par l'icône en triangle rouge sur la barre d'outils ; le panneau droit sera alors attribué à cet affichage. On peut aussi cliquer tout simplement sur l'onglet Pending dans le panneau droit.

Une fois que les fichiers du dépôt sont copiés dans votre espace de travail après le checkout, on peut y travailler et éventuellement les modifier. Ici, j'ai travaillé en local pour travailler sur le développement d'un petit programme de démineur.

III-F - Comparer les fichiers « checked out » et vos fichiers

Cela se fait par l'outil P4Merge qui est livré avec Perforce Visual Client (P4V).

III-G - Visionner la révision d'un fichier dans un diagramme

Perforce est un outil puissant surtout en matière d'interface graphique car il permet de faire abstraction totale aux lignes de commande. Ainsi, on peut voir en détails l'historique de révision de fichier dans un diagramme comme l'image qui suit :

III-H - Corollaire

Le client visuel Perforce fournit une multitude de fonctions intéressantes qui ne sont pas disponibles en mode lignes de commande, cela le différencie des autres SCM plus connus à cause de leur gratuité à savoir CVS, Subversion, etc. Le menu contextuel sur l'explorateur du dépôt et de l'espace de travail permet d'exécuter les fonctions de base d'un SCM comme le checkout, l'update, le commit, etc. :

Il ne me reste qu'à vous inviter à le tester. Si vous avez utilisé jusqu'à aujourd'hui les SCM payants comme Visual SourceSafe de Microsoft ou StarTeam de Borland, essayez Perforce car il est disponible en version gratuite d'évaluation. Faites vous-mêmes la comparaison, j'aimerais vous préciser que Perforce Software Inc. est une équipe d'ingénieurs travaillant uniquement pour le développement de ce système de gestion de configuration, d'où la grande qualité du produit.

IV - Rapport qualité/prix

Perforce est payant mais ce n'est pas son inconvénient car il offre beaucoup plus de possibilités que les autres solutions de gestion de configuration existantes. Les utilisateurs apprécient avant tout la rapidité et le faible prix de Perforce.

Il est à remarquer que dès la page d'accueil du site web de ce produit, on voit au slogan suivant :

(Perforce, le système de gestion de configuration logicielle rapide)

Et ce n'est pas du bluff !!

De plus, on peut télécharger gratuitement tous les logiciels Perforce sauf le serveur Perforce. Il faut souscrire une licence pour le serveur pour accepter plus d'utilisateurs et un nombre illimité de postes clients. Pour en savoir plus sur la licence d'utilisation de Perforce, aller à l'adresse FAQ sur la licence.

Perforce est actuellement commercialisé à seulement 800$ par utilisateur. Le coût comprend l'assistance et les mises à jour. En fait, il y a donc un service avant et après vente, du rarement vu en informatique.

V - Conclusion

En guise de conclusion, je pense que Perforce est un outil indispensable pour les professionnels du développement logiciel. En effet, tout développement de logiciel requiert des outils de gestion de configuration logicielle (GCL) pour gérer les modifications apportées. Non seulement ce logiciel vous permettra de gagner beaucoup de temps, mais il vous permet surtout de travailler méthodiquement afin d'être plus productif.

Un point noir regrettable est qu'il est en version anglaise, le site web correspondant l'est aussi, seules quelques pages sont écrites en d'autres langues comme le français, l'allemand, le japonais... Il ne devrait pas y avoir beaucoup de soucis car tout de même il est très facile d'utilisation.

Rappelons que la version du serveur en cours est le 2008.2 ainsi que pour le client Perforce, toutes deux disponibles en téléchargement pour évaluer Perforce gratuitement et sans obligation, apportant des améliorations aux outils clients tels que le Client Windows Perforce, le Client Web Perforce, le Plug-in Perforce pour Windows Explorer et le Plug-in FTP Perforce. (Voir les release notes)

De nombreuses grandes sociétés utilisent actuellement le système GCL Perforce (en anglais Perforce SCM, System Configuration Management) allant d'une petite entreprise à la multinationale citons Barra, Electronic Arts, National Instruments, Symantec, etc.

VI - A propos de Perforce

Perforce Software Inc. a été créé en 1995 dans l'unique but de développer et de commercialiser le système rapide de gestion de configuration logicielle Perforce. L'équipe de Perforce Software consacre alors tous leurs efforts dans le développement et la maintenance de ce produit dans le but de satisfaire les clients qui sont en général des éditeurs de logiciels mais aussi finance - banque - assurance, secteur pharmaceutique. En effet, Tout développement de logiciel requiert des outils de gestion de configuration logicielle pour gérer les modifications apportées lorsque vous développez vos logiciels.

Perforce Software Inc. est basée à Alameda en Californie, cette société vend cet outil dans le monde entier : Internet reste l'outil de prédilection de Perforce Software pour la vente et la distribution de ses produits, il assure aussi le service d'assistance à la clientèle par Internet. Elle possède des filiales dans d'autres pays comme le Royaume Uni, l'Allemagne, la France, l'Inde et le Japon.