Byzance, un éditeur coopératif de documents web

Travail coopératif et World Wild Web

Historiquement, le World Wild Web (ou web) a été créé pour permettre aux chercheurs du CERN à Genève d'échanger des documents de recherche. Il repose sur un langage simple (HTML) qui utilise des marques ou balises pour décrire la structure des documents et sur un protocole de communication (HTTP) pour le transfert de données et l'édition à distance.

Le web est donc dès l'origine un support bien adapté pour la coopération sur un réseau à grande distance, pour permettre par exemple à plusieurs personnes de publier et de maintenir un ensemble de documents consultables sur un serveur.

Néanmoins, certains mécanismes actuels du web et en particulier le protocole HTTP n'offrent pas de support pour le travail coopératif. Un des problèmes typiques qui en résulte est le problème de la mise à jour perdue où plusieurs rédacteurs veulent mettre à jour le même document d'un serveur web. Lorsqu'un rédacteur publie sa version modifiée du document, celle-ci remplace la version se trouvant sur le serveur et par conséquent écrase les modifications précédemment publiées par les autres rédacteurs.

cooperation2.gif

Problème de la mise à jour perdue

Byzance, un éditeur coopératif de documents web

C'est pour répondre à ce genre de problèmes que le projet Opéra de l'INRIA Rhône-Alpes a mis au point le logiciel Byzance, un éditeur coopératif qui permet à un ensemble de personnes connectées au réseau Internet de travailler à la production de documents web. Pour les aspects concernant l'accès aux ressources et l'édition de documents HTML, Byzance se base sur Amaya, le navigateur/éditeur développé par le World Wild Web Consortium (W3C) et qui sert à démontrer les recommandations émises par cet organisme.

Pour permettre à plusieurs utilisateurs répartis sur le réseau de coopérer à l'édition d'un même document web, l'application Byzance copie le document dans une base coopérative locale au site de chaque participant au processus d'édition. Elle se charge ensuite de mettre à jour et de garder cohérente la copie du document sur les différents sites et ce à chaque fois qu'un utilisateur apporte des modifications à sa version.

cooperation3.gif

Edition coopérative avec Byzance

Coopération sur un document

Au niveau d'un document, le principe d'édition coopérative retenu est basé sur deux concepts : la fragmentation du document et l'attribution de rôle d'édition.

La fragmentation d'un document consiste à le découper, en fonction des besoins des auteurs, en plusieurs parties indépendantes appelées fragments.

Le rôle d'édition définit le droit d'un utilisateur sur un fragment du document. Trois rôles d'édition ont été définis dans Byzance :

Pour assurer la cohérence des documents coopératifs, Byzance contrôle qu'à tout moment, un seul utilisateur peut modifier un fragment (en ayant un rôle d'écrivain ou de gestionnaire).

Lorsque tous les utilisateurs ont apporté leurs modifications sur un document, l'un d'entre eux (par exemple celui qui détient le rôle de gestionnaire sur tous les fragments) peut le publier. La version du document consultable sur le serveur contient alors les modifications de chacun.