Abonnement
DOSSIER Développement Collaboratif (2e Partie)
Les outils de développements et internes

L’INFORMATICIEN n° 020 http://www.linformaticien.fr
par Pierre Tran - pierre.tran@linformaticien.fr

L’outil de contrôle de version est le cœur d’un système de développement collaboratif. Mais les besoins de partager et de communiquer ont largement dépassé le cadre du code source. Passons en revue les fonctionnalités attendues d’un développement collaboratif et les outils appropriés.

LES OUTILS DE DEVELOPPEMENTS

• Contrôle de version

Le contrôle de version permet de coordonner et de contrôler les modifications du code source : gestion des versions, archivage, check-in/check-out, merge, génération des builds ou des packages du produit. Il s’agit en général d’une application client-serveur : la partie serveur sert à stocker et à gérer les versions sur le centre de dépôt, la partie client quant à elle sert à accéder aux versions sur le serveur.

Pour le développeur travaillant en environnement collaboratif, le contrôle de version est l’outil principal de collaboration. Sa journée de travail commence par la récupération à partir du centre de dépôt de la dernière version des sources sur lesquels il travaille et des librairies associées (check-in). Lorsqu’il a fini les mises à jour, il soumet au centre de dépôt les modifications faites sur sa copie de travail (check-out).

Les outils de contrôle de version se sont multipliés et se sont étoffés de fonctionnalités comme le contrôle des processus de développement, le suivi des anomalies, les espaces de travail virtuels… Ils sont devenus ce qu’on appelle des logiciels de gestion de configuration logicielle (SCM, Software Configuration Management). L’offre SCM est une galaxie à elle toute seule et nécessiterait un dossier entier. Pour l’heure, citons les produits les plus connus.

Dans l’Open Source, on trouvera Aegis, Arch Revision Control System, CVS, Darcs, GNU CSSC (clone de SCCS), GNU Arch, ICE, Katie, monotone, ODE, RCS, rcsview, SCCS, ShapeTools, Subversion, SVK (basé sur Subversion)... Côté commercial, citons Accurev Accurev/CM, Borland StarTeam, IBM Rational ClearCase, Intasoft AllChange, Microsoft SourceSafe, Perforce Software Perforce, Reliable Software Code Co-op, Serena Professional (anciennement Merant PVCS), Telelogic Synergy/CM, Unix SCCS.

• Développement distribué

Le développement distribué étend encore les fonctionnalités de la gestion de configuration logicielle avec des fonctions de gestion d’agenda et de tâches, de centre de dépôt de code, de suivi des anomalies, d’outils de communication, de gestion de documents et de fichiers… Le tout dans un environnement distribué. On peut considérer que c’est la forme la plus aboutie actuellement d’un système de développement collaboratif.

Dans cette catégorie très restreinte, les « nominés » sont CollabNet SourceCast, IBM Rational ClearCase, Intland CodeBeamer, SourceForge Enterprise Edition et, dans une moindre mesure, CVS grâce à ses possibilités multiples d’accès au centre de dépôt.

• Gestion du cycle de vie

Dans une vision encore plus large englobant le cycle de vie complet du logiciel, depuis la naissance et l’expression du besoin jusqu’à la maintenance du produit fini et son retrait du marché, le processus de développement tend vers un idéal : son industrialisation, c’est-à-dire l’automatisation des processus qui composent la chaîne. Dans cette vision, le développement logiciel n’est plus centré sur le code, mais il est piloté par la logique métier. Le cœur du développement n’est plus la gestion du code source, mais la gestion des exigences. Un système de gestion du cycle de vie prend en charge la traçabilité complète d’une exigence à travers toutes les étapes : expression, conception, codage, test, déploiement, anomalie, maintenance. Un tel système est donc conçu pour une collaboration optimisée dans un environnement distribué : référentiel pour les exigences et pour le code, suivi des exigences…

Dans cette catégorie de produits, les offres ne se bousculent pas. Il existe bien des produits qui couvrent ponctuellement chaque besoin, mais aucune n’intègre encore le cycle de vie complet du logiciel de manière continue.

LES OUTILS INTERNES

• E-mail

Les messages sont envoyés d’un ordinateur vers un autre à travers Internet, et peuvent être mis en file d’attente pour une récupération et lecture ultérieures. L’e-mail reste le média de collaboration le plus utilisé de nos jours. Son utilisation est universelle : discussion un à un, discussion « un à plusieurs » (liste de diffusion), discussion « plusieurs à plusieurs » (liste de discussion), envoi de patches ou de binaire en pièce jointe… Pour les outils côté client, son client de messagerie habituel fait l’affaire. Côté serveur, un serveur de messagerie est nécessaire. Il peut être hébergé par l’entreprise ou par le fournisseur d’accès à Internet de chacun.

Certaines plates-formes collaboratives intègrent des fonctions de messagerie électronique, soit en embarquant un client de messagerie (Outlook, webmail), soit en proposant des fonctions de serveur de messagerie : Flypaper TeamSpace, Groove Networks Groove Workplace, IBM Lotus Workplace, Oracle Collaboration Suite…

• Forum de discussion

Avec un forum de discussion Internet, les messages sont lus et postés sur une ressource en ligne (un site Web). Le forum permet à tout utilisateur identifié de créer autant de fils de discussion qu’il le désire. Côté client, un navigateur web suffit. Côté serveur, on peut soit utiliser les services d’hébergement de forum sur Internet, soit installer un logiciel de forum sur son site web. On trouvera pléthore de tels logiciels : ASP Fast Forum, aXentForum, BlazeBoard, Burning Board, CMFBoard, FuseTalk, FUDforum, Ideal Bulletin Board, Invision Power Board, Ikonboard, Jive Forums, MercuryBoard, MegaBBS, Open Bulletin Board, phpBB, Phorum, PunBB, PBLang, Simple Machines Forum, Snitz Forums 2000, ThWboard, UBB.classic, UBB.threads, UBB.x (eve), UseBB, vBulletin, XMB, YaBB, Zorum…

• Blog

Le blog (ou Weblog) est une application web qui contient des posts périodiques affichés en chronologie inverse sur une page web ordinaire. Un blog est généralement lié à un auteur qui entretient ainsi une sorte de journal sur lequel les visiteurs peuvent laisser des commentaires. On peut également autoriser plusieurs personnes à créer des posts. Contrairement au forum Internet, seuls quelques auteurs ont le droit de créer de nouveaux sujets.

L’énorme succès du blog rappelle quelque peu l’engouement des « pages persos » quand le grand public découvrit le Web. Mais un des intérêts du blog est qu’il vient en général avec la possibilité de s’abonner à un feed RSS. Don et Grady sont des spécialistes reconnus dans leurs domaines, des gourous. Vous vous abonnez aux feeds RSS de leur blog et chaque fois qu’un nouveau sujet est publié, vous en êtes informé automatiquement. Cette nouvelle manière de publier et de s’abonner à de l’information modifie profondément nos habitudes de travail. Avant, il fallait surfer de sites en sites pour récolter ses informations du jour. Maintenant, l’information synthétique arrive directement dans son agrégateur de news.

On peut créer son blog en utilisant un service hébergé tel que Blogger (Google), LiveJournal, Xanga. Pour créer son propre blog sur un serveur dédié, on pourra utiliser un logiciel de publication. En Open Source : b2evolution, bBlog, Geeklog, Srendipity, WordPress. En commercial : Six Apart Moveable Type, Traction Software TeamPage, Userland Software Radio Userland.

• Wiki

Né dans la communauté du design pattern, le wiki sert aujourd’hui à éditer de la documentation de projets, à bâtir des encyclopédies en ligne, comme le Wikipedia. Le wiki se présente comme un site web éditable. Il permet à tout utilisateur d’ajouter du contenu, comme sur un forum Internet. Cependant, il autorise également tout utilisateur à modifier le contenu des autres utilisateurs. Un wiki permet donc d’écrire un document collectif. C’est ainsi que Richard Clark, de c2i.fr, pour un projet distant (équipe disséminée), a opté pour le wiki : « […] dans cette optique, c'était particulièrement plaisant et efficace. Chacun soumettait, réagissait aux idées des autres et en très peu de temps des décisions importantes étaient prises (format des fichiers par exemple). Petit à petit donc, chacun écrivait une partie du cahier des charges, corrigeait les erreurs/omissions des autres ».

Pour créer son wiki, il existe de nombreux moteurs en Open Source écrits dans tous les langages : DotNetWiki, JSPWiki, MediaWiki, MoinMoin, phpwiki, PmWiki, TWiki, UseMod, WikiAsp, WikiNi, Wiki-FR…
On en trouvera une liste exhaustive sur Wiki Engines : ( http://c2.com/cgi/wiki?WikiEngines)

• Messagerie instantanée

La messagerie instantanée (IM) permet à deux personnes, ou plus, d’échanger en temps réel des messages texte courts. C’est un format intermédiaire entre le téléphone et l’e-mail, idéal pour des conversations courtes et rapides, pour communiquer des liens, des petits fichiers. Issue de l’antique mais toujours prisé IRC (Internet Relay Chat), la messagerie s’est enrichie de fonctions de conversation vocale, vidéo via webcam, prise de contrôle à distance, tableau blanc. Outre l’aspect fun destiné au grand public, l’IM trouve de plus en plus sa place en entreprise avec des fonctions avancées de sécurité, de journalisation, d’audit. Pour les développeurs, l’IM est devenue un réflexe.

Encore un domaine où l’incompatibilité règne : on dénombre jusqu’à 14 protocoles différents. Les clients les plus populaires sont : MSN Messenger, AIM, Yahoo! Messenger et ICQ. On peut également utiliser des clients multi protocoles capables de dialoguer avec les autres : GAIM, Jabber, Miranda, Trillian… Pour créer son propre serveur IM, on pourra installer IBM Lotus Instant Messaging (anciennement SameTime), Jabber Extensible IM, Microsoft Live Communications Server, Plethora Technologiy Perspective.

___________________________________________
DEMAIN : DERNIERE PARTIE
LES OUTILS DE COLLABORATION

Publié le 21 février 2005
PrinterImprimer l'article
EmailTransférer par mail
Les commentaires

C'est vrai que l'incompatibilité n'est pas aisé dans le domaine de la messagerie instantanée.



C'est un objectif majeur de Office Communicator 2005!

Vous pouvez désormais accéder à la présence de vos clients, partenaires, amis,... même si ils sont sur MSN, AOL ou Yahoo!. De plus tous vos échanges sont cryptés et sécurisés.



Consultez ce témoignage client pour en savoir plus sur Office Communicator et sa partie serveur Office Live Communications Server 2005 : http://blogs.microsoft.fr/franckha/archive/2005/08/19/8176.aspx



Par XaMaLa le 20/08/2005 à 09:14

On en a parlé