25 janv. 2008

Imaginer (l’écriture et le bazaar)

François Bon a évoqué, reprenant les points qu’il avait abordé il y a deux ans à Lyon — souvenir d’être allé à la seconde séance de cette journée, annoncée identique de la première, mais qui n’aurait jamais pu l’être — évoqué, donc, vendredi, le fait que les logiciels de traitement de texte sont ce qui a le moins évolué depuis ces dernières années.
Il a même noté une régression par rapport à des programmes expérimentaux qu’il a pu connaître.
Je veux bien croire le peut d’intérêt que cela suscite et la mise en avant de la pseudo joliesse affichée contre les possibilités offertes.
Pourtant, il semble qu’il faille, une fois de plus, se tourner du côté des informaticiens. En effet, bien qu’ils n’aient pas les mêmes contraintes d’écriture que les auteurs de littérature, ils ont, depuis longtemps, développé des systèmes de travail sur des fichiers texte (purement de langage de programmation, mais aussi de documentation) et de gestion de versions.
J’ai déjà un peu parlé des éditeurs de texte.

Aussi me suis-je penché sur la question de la gestion de versions qui semble être une question très débattue au sein de la communauté informatique.
Il existe beaucoup de ces svc. Les logiciels libres, très collaboratifs, sont friands de ces systèmes, et parmi eux, par exemple, le programme qui réuni le plus de collaborateurs au monde : le noyau linux lui-même, pour lequel son créateur, Linus Torvald, a fini par créer son propre système de gestion de version.

Si j’ai bien tout compris, par système de gestion de versions les informaticiens entendent plusieurs choses et, au mieux, tout ça :
— Possibilité d’un système centralisé sur un serveur, échanges crypté ;
— permettre à plusieurs personnes de collaborer, identification des collaborateur et de ce qu’il font ;
— gestion des versions proprement dite : possibilité à tout instant de revenir à une version antérieure des fichiers dans leur ensemble ou d’un seul des fichiers ;
— possibilité de comparer une quelconque version avec une autre et de voir les différences entre les deux fichiers ;
— possibilité de créer des « branches ». À savoir de partir d’une des version et de créer autant de branches que souhaitées, toutes différentes entre elles, avec une gestion de versions elles aussi ;
— possibilité de fusionner deux branches ayant divergées (sans perte des états précédents), et que ce procédé ce fasse le plus automatiquement possible — avec un « arbitrage » par l’utilisateur en cas de conflit entre deux version non automatiquement fusionnées ;
— possibilité d’étiqueter les différentes versions ;
— possibilité de faire tout ce qui est décrit ci-dessus même en étant pas connecté, et de synchroniser le tout plus tard, (on a alors sur l’ordinateur l’intégralité de ce qui se trouve sur le serveur on les dit systèmes décentralisés) ;
— multiplatforme, interopérable ;
— différentes interfaces : graphique, textes, web ;
— j’en oublie sans doute.

D’autres systèmes, comme certains wiki permettent de stocker les différentes versions d’un fichier, mais pas de travailler depuis les endroits où la connection est chaotique, non plus qu’avec les formats de fichiers que l’on veut.

J’ai donc décidé de tester un de ces systèmes.
J’ai choisi d’essayer bazaar, réputé pour sa simplicité de mise en œuvre et d’utilisation, grâce à un petit coin de serveur mis à disposition par un amis. Du fait de ses nombreuses fonctionnalités, il peut être utilisé de différentes façons selon l’usage qu’on désire en avoir (elles sont expliquées, avec shémas, ici) y compris sans serveur.
Pour moi la possibilité d’avoir l’ensemble des fichiers dans mes machines et sur un serveur c’est aussi une sauvegarde facile…


Dans la pratique il suffit à des moments « clefs » — travail sur une autre partie, fin de la journée, changement d’ordinateur, etc — de marquer une version et de continuer jusqu’à la prochaine. Bien entendu, régulièrement (et surtout avant de changer d’ordinateur) il faut synchroniser le tout avec le serveur pour récupérer les modifications sur un autre ordinateur. Dans le gestionnaire de fichier, une seule version du fichier apparaît, pourtant si on utilise un outil approprié, on peut voir l’historique des versions et travailler avec les versions. Pour un fichier simple on obtient ça :

Avec plusieurs branches, plusieurs contributeurs, ça peut aboutir à ça :


On peut comparer deux versions du fichier avec, par exemple, meld qui permet aussi de réunir deux ou trois versions d’un même fichier en un seul.

J’arrête ici avec la technique, on va encore me dire que je parle javanais…

Je ne suis pas certain que le fait de conserver de nombreuses versions d’un texte soit nécessaire à sa genèse, non plus que d’en faire des branches différentes. Pas forcément dans la forme actuelle d’un texte. C’est peut-être plutôt un intérêt pour les chercheurs et les lecteurs curieux — peut-être est-ce, en soi, suffisant ?
Pourtant ces système de gestion, ou l’idée de ce qu’ils contiennent, qu’importe la forme qu’elle prend, pourraient constituer un « pas » vers le livre-internet dont parlait Hubert Guillaud (vidéo ici), ou vers l’idée d’un même livre, à jamais réécrit dont parlait François Bon. Déjà, à l’heure actuelle, les systèmes de gestion de versions disposent d’interfaces graphiques en ligne qui permettent à un simple lecteur de récupérer différentes versions, de les comparer… (c’est assez moche pour l’instant, un exemple ici avec le projet du noyau linux).

1 commentaire:

Anonyme a dit…

Très intéressant... Les interfaces sont sans doute encore trop peu ergonomiques pour attirer les non-informaticiens, mais on peut d'ores et déjà imaginer des perspectives pour la génétique des textes, dans le cadre de bibliothèques numériques notamment.