W is for Wiki Web

Julien Bidoret & Vincent Peugnet

Janvier 2024, Césure, Paris : Vincent Peugnet présente W devant les amis de PrePostPrint. Pour Julien Bidoret, c'est un coup de cœur. Ce n'est pas le premier outil de wiki qu'il voit. Mais celui-ci a quelque chose de différent. W, c'est un trip rétrofuturiste : un saut dans une timeline alternative où les navigateurs Web sont restés capables d'écrire les pages en plus de les lire. Une vraie fabrique à Web.

« C’est drôle comme le wiki est devenu ce que le navigateur était supposé être au début. » — NosyCat (sur le canal Matrix de W)

Rembobinons.

Julien est enseignant en arts et design depuis une quinzaine d'années. Il s'intéresse aux approches radicales du Web, sur lequel il est actif depuis plus de vingt-cinq ans.

Qui s'intéresse au Web tombe forcément un jour sur les wikis : des sites web modifiables directement via le navigateur, souvent de manière collaborative. On connaît tous Wikipédia. Ward Cunningham, qui a inventé le concept de wiki, tient à jour une page qui montre qu'à peu près tout le monde a essayé de développer un moteur de wiki, avec plus ou moins de succès, dans des langages parfois ésotériques et avec des approches très diverses (du très ouvert au très personnel).

Julien est membre du collectif PrePostPrint. Après une première tentative infructueuse avec DokuWiki, les membres de PPP ont décidé il y a quelques années de retenter l’aventure du wiki. Julien y a vu une occasion de se plonger dans cet univers. Pour lui qui enseigne, le modèle est celui du master en édition xpub à Rotterdam, où le wiki est utilisé comme un outil central du dialogue entre étudiants et enseignants. Le wiki d'xpub est à la fois une base de connaissances sur l'édition, un espace où s'élaborent des réalisations, et une mémoire du master, bâtie de manière collaborative depuis une quinzaine d'années.

On l'a dit, pour qu'il y ait wiki il faut un moteur. Le wiki d'xpub utilise le même moteur que Wikipédia, MediaWiki : une grosse machine, difficile à mettre en place et à maintenir sur le temps long – beaucoup de spam, un écosystème d'extensions complètement fou, énormément de manières de faire… C'est trop compliqué pour un usage modeste ; et puis c'est pensé pour favoriser une certaine homogénéité, ce qui entraîne une gestion très administrative de la connaissance – pas forcément le plus adéquat pour des usages buissonnants.

Alors Julien se met en quête d'alternatives : PmWiki, MoinMoin, js.wiki, XWiki… il teste aussi Ikiwiki, PeppermintWiki, mycorrhiza, TiddlyWiki, Lion, FeatherWiki, Federated wiki… et des logiciels parfois bizarres comme Oddμ ou encore Oscean. De quoi se noyer !

Et puis Vincent vient présenter W à PPP.


Vincent crée des outils avec du code. Il est notamment membre du serveur communautaire Club 1, qui aide des petits sites web à rester en ligne.

Vincent développe de manière autodidacte, influencé par l'informatique des années 1990-2000 et notamment les jeux point & click – ces jeux où l'on clique pour interagir avec l'arrière plan, afin de résoudre des énigmes ou dérouler une histoire. C'est dans cet esprit qu'il crée N (pour Navigateur), un outil permettant de cartographier un lieu et d'en faire des sites web point & click.

En voici un exemple : https://beaugrenelle.club1.fr La spécificité ici, c'est qu'à tout moment on peut passer en mode édition : en plus d’afficher les directions dans lesquelles on peut naviguer, on peut alors en ajouter de nouvelles. L'hyperlien permet de fabriquer des histoires réticulaires, dans un espace cartographié sur une dimension qu'on voit apparaître dans l'URL. Le jeu ressemble d'abord à un roman photo, puis à un jeu de rôle textuel.

C'est sur ce substrat déjà riche que vient se greffer un autre intérêt de Vincent, pour la prise de notes cette fois : l'art d'organiser ses idées et d'en faire apparaître de nouvelles.

Ne trouvant pas d'outil satisfaisant, il crée W, sa « prothèse personnalisée » pour noter des idées, les publier et permettre aux gens d'en explorer certaines. W pour wiki ? Non : Vincent n'a fait le rapprochement qu'après coup ! C'est plutôt W pour web au sens générique de toile, dont le wiki est une déclinaison. Et c'est ainsi que W se construit non pas simplement comme un outil de wiki mais comme un logiciel permettant de se créer un petit web.


La prise en main de W commence par un parti pris radical : par défaut, il n'y a pas de page d'accueil. Pas commun pour un wiki ! On sent l'influence du monde de la prise de notes, avec ces graphes de connaissances qui n'ont pas de « point de départ ». Et Vincent rappelle que W a démarré comme son outil personnel ; faire pour soi avant de faire pour les autres, c'est ce qui autorise des choix inhabituels mais réfléchis.

Pas de page de départ, mais la page reste bien l'unité de base. Comme dans d'autres outils de wiki, pour créer une page on saisit un URL qui n'existe pas encore (et qui deviendra l'identifiant unique), puis on clique sur Create ; pour modifier une page existante, on rajoute /edit à l'URL. La barre d'URL s'utilise dans l'esprit de la ligne de commande. Objectif : réduire le plus possible la friction entre l'intention et l'édition. D'ailleurs, l'interface se replie vite pour qu'il ne reste plus qu'un grand bloc-notes numérique.

Chaque page peut être enrichie par tout un tas de métadonnées, depuis les mots-clés jusqu'à la géolocalisation, en passant par les permissions – page publique, privée (visible aux utilisateurs connectés, en lecture seule), non publiée (invisible sauf à son créateur). Logiquement, l'interface de gestion des pages s'inspire des bases de données : c'est un tableau, avec des colonnes dotées de filtres et des lignes qu'on peut sélectionner pour déclencher diverses actions : créer un menu, insérer une carte, afficher une page aléatoire… En cas de besoin, on peut consulter une documentation en une page, intégrée au logiciel – qui fait penser à la man page des programmes en ligne de commande.

Pour le rendu, W inclut en option un système de templating, c'est-à-dire des gabarits réutilisables avec des emplacements prédéfinis pour accueillir le contenu de la page : %CONTENT%. On peut les utiliser pour reproduire des structures existantes, ou créer à partir d'une page blanche. Idem pour les thèmes de l'interface, qui a beaucoup évolué depuis les débuts (voir les archives sur le site de W)… notamment grâce à Julien, devenu contributeur au développement du logiciel !

Enfin, comme dans tout wiki qui se respecte, les pages peuvent être interreliées. On distingue ainsi les liens hypertextes classiques, qui mènent généralement vers l'extérieur, des liens dits internes, ou liens wiki. W utilise la notation [[id]], un standard dans ce domaine. Et il propose une vue graphe, qui permet de vérifier quelles pages sont publiques/privées, quelles pages ont des liens ou pas – et du coup, si on partage une page, quelles autres pages on peut explorer à partir de celle-là… Un ajout utile pour s'y retrouver dans le petit web qu'on est en train de se fabriquer. Et notamment pour réparer les liens morts, car rappelez-vous : Cools URIs don't die/change!

Tout ça fait beaucoup, et pourtant W est bâti avec une certaine sobriété en tête. Il fonctionne à 95% sans JavaScript (tout en PHP ou presque). Autrefois bâti sur MySQL, il repose désormais sur un simple répertoire de fichiers JSON (la logique « flat file »). Et il ne refait pas le rendu des pages qui n'ont pas été modifiées, uniquement lorsqu'on ajoute /render à l'URL pour l'y forcer. Vincent dit : « W est flemmard ! » Nous, on trouve qu'il est drôlement bien fichu. Et c'est pas fini : à Benoît L. qui demande si la logique de commandes sera poussée plus loin, jusqu'à créer des pages, Vincent répond qu'il bosse effectivement sur une API et un outil de synchronisation.


W existe depuis près d'une dizaine d'années. L'outil s'est transformé en s'ouvrant à d'autres utilisateurs, venus avec leurs propres cas d'usage : écriture personnelle, publication, usage sur téléphone… Ainsi, à l’inverse des CMS existants mais aussi de la plupart des moteurs de wiki, W permet des usages très hétérogènes. Comment est-ce qu’on écrit, partage, utilise un wiki : avec W, ce sont des questions ouvertes.

D'une certaine façon, W nous ramène au Read/Write Web qui a existé au tout début de l'aventure, comme dans le premier navigateur de Tim Berners-Lee, qui permettait d'intégrer un lien directement dans une page, avec une logique proto WYSIWYG. Mais il a aussi des qualités tout à fait modernes, comme le souligne Julien : le multi-utilisateurs (testé avec un public étudiant) ; la liberté de commencer à zéro ou à partir d'une base existante, avec les templates ; la capacité de gérer des médias (contrairement aux pads mais aussi à la plupart des moteurs de wiki, qui ne le font pas nativement mais via des extensions) ; et puis une modalité d'écriture à la fois simple et souple, puisqu'on peut écrire en Markdown mais aussi en HTML, CSS et JavaScript directement si on veut. On a remarqué que Vincent disait beaucoup « s'exprimer en Markdown » ou en HTML, et ça sied bien à l'expressivité de l'outil qu'il a créé.

La discussion finit autour de cet « expressionnisme web » (Julien T.) et de l'« appropriation progressive » (Julien B.). Le Web permet de mettre en commun, réutiliser et prolonger. Pour Vincent comme pour les deux Julien, cette dimension est très importante. Mais cela amène Benoît L. à s'interroger sur les « utilisateurs » du Web, sans doute moins nombreux que les « lecteurs » ou « consommateurs » : comment intéresser de nouveau les gens au partage, les ouvrir aux moyens de fabriquer des choses sur le Web ? C'est vrai qu'on peut être un peu pessimiste. Ça évoque à Julien T. les militants de la CNT qui possédaient autrefois leurs propres imprimeries, et qui aujourd'hui sont sur WhatsApp. Mais il rappelle aussi que dans le Web des années 1990 début 2000, tout n'était pas parfait : pensons à Flash… Pour lui, W montre un chemin pour se réapproprier le Web de manière artisanale : inclure les gens qui n'ont pas de bagage technique mais qui ont la volonté de publier.

W is for web, and W is for the people!

Retour à l’index