Conseils d'utilisation de Perforce

Pour le développement de jeux

Pascal Soccard

Voici 14 années que Perforce est utilisé par les plus grands noms du développement de jeux dans le monde (18 des 20 premiers développeurs de jeux en étaient utilisateurs en 2008). C'est en nous appuyant sur cette expérience que nous vous livrons les meilleures pratiques des développeurs de jeux dans l'utilisation de notre solution de Gestion de Configuration Logicielle.

Pour aller plus loin dans la découverte de l'utilisation de Perforce, vous pouvez également consulter le Tutorial Perforce ou télécharger gratuitement la solution complète pour 2 utilisateurs et 5 espaces de travail.

Commentez

- Titre : Conseils d'utilisation de Perforce

- Auteur : Pascal Soccard

- Parution : 28 mai 2009

- Licence : Copyright ® 2009 Pascal Soccard. 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. L'utilisation des images miniatures (thumbnails)

- II. La vue historisée des fichiers (Time Lapse View)

- III. Les branchements

- IV. La représentation graphique des modifications (Revision Graph)

- V. La fusion de branches (P4Merge)

- VI. L'utilisation du Plug-in pour applications graphiques (P4GT)

- VII. L'utilisation de l'outil de comparaison graphique de fichiers (P4Diff)

- VIII. La liaison des bugs avec leurs correctifs

I - L'utilisation des images miniatures (thumbnails)

P4V (l'interface utilisateur multiplateformes) comme P4Web (le client internet) permettent d'afficher des vignettes des images stockées sur le serveur. Ceci évite de générer du trafic sur le réseau pour une simple vérification de l'état d'un document. De nouvelles vignettes sont générées automatiquement lors de l'ajout ou de la modification d'images. Il est aussi possible d'étendre cette fonctionnalité à l'ensemble des contenus multimédias qui peuvent être gérés à l'aide de Perforce.

Pour visualiser une vignette il suffit de cliquer sur le nom de fichier dans le dépôt, puis de sélectionner le bouton « Preview » du menu de droite.

II - La vue historisée des fichiers (Time Lapse View)

Perforce met à la disposition de ses utilisateurs une méthode intuitive pour consulter l'historique d'un code source. La vue historisée des fichiers (Time Laps View) propose une visualisation interactive de l'historique d'un fichier et met en évidence les lignes qui ont été ajoutées / modifiées ou supprimées. Elle précise également qui a fait les modifications et quand elles ont été faites. Cette fonctionnalité est très utile lors des réunions de revue du code ou pour mieux comprendre ce qui a été fait sur un fichier qui ne serait pas familier. Les ascenseurs de cet outil de visualisation permettent de passer rapidement en revue l'historique d'un fichier dont les informations clés sont mises en évidence lors de la consultation.

Pour utiliser cette fonction il faut faire un clic droit sur le fichier à consulter et sélectionner la fonction « Time Laps View ». Le fichier peut aussi être sélectionné à partir de la vue arborescente et la fonction sera alors accessible en pressant les touches [Ctrl + Shift + T].

III - Les branchements

De mauvaises expériences passées avec d'autres outils dissuadent bien souvent les développeurs d'utiliser les branchements. Le problème tient souvent à la difficulté de faire un Merge avec les dits outils. Les branchements inter-fichiers de Perforce sont simples à utiliser et puissants. Une branche peut être utilisée pendant un long moment sans qu'on se préoccupe de ce qui a été mis dans bon modèle de branchements réduit également la perte de temps des développeurs lors d'un gel de code. Les branchements inter-fichiers de Perforce comme sa fonctionnalité de détection de conflits permettent des branchements et des merge aisés.

Pour créer un branchement il suffit de sélectionner le dossier à partir duquel le branchement doit se faire, puis de faire un clic droit et de choisir la fonction « Integrate ». Une fenêtre s'affiche dans laquelle il faut préciser le chemin d'accès du répertoire de destination. On peut alors soit la visualiser en cliquant sur « Preview », soit effectuer un branchement en utilisant la fonction « Integrate ».

IV - La représentation graphique des modifications (Revision Graph)

Une fois que des branches ont été créées, Perforce permet d'afficher les relations entre les fichiers du dépôt pour mieux les comprendre sans hypothéquer la puissance globale du système, capable de s'adapter à toutes les tailles de dépôt. C'est le « Revision Graph » qui autorise cette fonctionnalité. Le Revision Graph permet de situer l'origine des bugs et de déterminer quelles sont les branches sur lesquelles il va falloir propager des corrections de bugs et de nouvelles fonctionnalités. Le Revision Graph est également une excellente fonctionnalité pour mettre en évidence les branches et les versions qui utilisent les éléments clés d'un jeu.

Pour ouvrir le Revision Graph il faut faire un clic droit sur le fichier à partir duquel on souhaite réaliser l'analyse, et de sélectionner la fonction « Revision graph » (on peut aussi presser les touches [Ctrl + Shift + R]).

V - La fusion de branches (P4Merge)

Souvent perçue comme complexe, voir comme une fonction à éviter à tout prix, la fusion de branches est une tâche dans laquelle Perforce excelle. P4Merge, l'outil graphique qui permet de faire un diff entre fichiers ou des fusions, permet de fusionner des modifications entre branches et de résoudre les conflits de mise à jour qui résultent de la modification d'un même fichier par deux personnes. P4Merge permet de visualiser clairement les lignes et les blocs de code affectés de telle sorte que des corrections puissent être faites et que les développements puissent reprendre. Lors de la soumission d'un nouveau fichier, P4V prévient en cas de conflit et lance P4Merge le cas échéant de telle sorte que le problème puisse être résolu. P4Merge permet la fusion graphique selon trois axes et la comparaison de fichiers. Alternativement le client Perforce peut aussi être configuré pour utiliser un outil tiers de fusion.

Pour utiliser P4Merge il faut sélectionner l'option « Run merge tool ». Le fichier original sera alors affiché ainsi que les modifications de l'utilisateur qui lance l'option comme celles qui ont été effectuées par d'autres utilisateurs.

VI - L'utilisation du Plug-in pour applications graphiques (P4GT)

Le Perforce Plug-in for Graphical Tools, P4GT, permet un accès aisé à la gestion des versions à partir d'Adobe Photoshop, de Softimage XSI (Avid), d'Autodesk's 3ds Max et de Maya. Cette fonctionnalité permet de réunir développeurs et artistes autour d'un même outil. Ils peuvent ainsi travailler de concert tout au long du projet. Après installation de P4GT les applications graphiques s'enrichissent d'un menu Perforce à partir duquel de nombreuses opérations peuvent être effectuées.

VII - L'utilisation de l'outil de comparaison graphique de fichiers (P4Diff)

L'outil de diff Perforce, P4Diff, facilite la comparaison de deux versions d'un fichier. Vous pouvez ainsi voir quels changements ont été apportés à un même fichier, ou comparer deux fichiers différents. Cette fonctionnalité est particulièrement utile lors du développement multiplateforme de jeux.

Pour lancer un diff il faut faire un clic droit sur le fichier sur lequel on souhaite faire un diff et sélectionner l'option « diff against » [Ctrl + Shift + D]. P4V lance alors P4Diff qui affiche visuellement les différences entre les deux fichiers. L'outil supporte les principaux formats d'images, dont TIFF, JPG et GIF. D'autres formats peuvent être supports via l'API de Qt.

VIII - La liaison des bugs avec leurs correctifs

Dans un monde idéal il ne devrait pas y avoir de bugs, mais nous en sommes loin. Dans les mois cruciaux qui précèdent une release, un débogage approfondi est essentiel. Les éditeurs doivent rester au courant en permanence du statut des bugs, projet par projet. Les Jobs Perforce permettent de disposer d'un système intégré de recherche de bugs, avec des fonctionnalités de suivi, de filtrage, de requêtage et enfin de liaison des Jobs avec les modifications faites par les membres de l'équipe. Il est également possible d'utiliser des outils de suivi d'incidents du marché pour satisfaire aux besoins des workflows complexes. Tous les changements faits dans Perforce peuvent être associés à un Job Perforce.

Cette fonctionnalité peut être utilisée manuellement ou de façon automatisée - voir forcée - via l'utilisation de triggers.