Ce blog est désormais sur le Fediverse

Temps de lecture : 4 minutes

Le 28 octobre 2022, Elon Musk conclut le rachat de Twitter pour une somme à beaucoup trop de zéros, même pour lui, avec la promesse de « rendre la liberté d'expression » aux utilisateurs. S'ensuit une longue liste de nouvelles inquiétantes, amenant un très grand nombre de membre à migrer vers Mastodon, parfois présenté comme le « rival » de l'Oiseau bleu, et ayant la particularité d'être en fait un logiciel distribué, installé sur de nombreux serveurs indépendants, et capable de communiquer avec bien d'autres plateformes bien différentes comme PeerTube ou Pixelfed, formant ensemble le Fediverse.

Si vous faites partie des personnes qui sont arrivées récemment sur Mastodon, cela vous perturbera probablement régulièrement (à vrai dire, je ne m'y suis pas totalement fait moi-même), et c'est normal, car nous n'y sommes pas habitués : pour regarder une vidéo sur YouTube, il vous faudra accéder au site youtube.com, ou utiliser son application pour mobile ou télévision connectée. Si vous souhaitez commenter cette vidéo, il vous faudra un compte sur la plateforme. Impossible de faire tout cela depuis Instagram, par exemple. C'est pourtant la promesse faite par le Fediverse ici : regardez une vidéo diffusée sur PeerTube depuis votre compte Pixelfed, et commentez-la depuis votre compte Mastodon. Ou l'inverse. Mais... Comment ça marche ?

Toute cette sorcellerie a été rendue possible par un protocole nommé ActivityPub, et standardisé en 2018 par le W3C. Son principe est assez simple : sur un serveur, on met à disposition une API REST définissant un profil, qui sera découvrable par n'importe qui grâce à son nom et son serveur, qui forment un identifiant unique. Cet identifiant est souvent présenté sous la forme @user@example.com, semblable à une adresse e-mail, qui permet d'indiquer facilement le nom de l'utilisateur ainsi que le nom du serveur où il se situe.

Et si ce protocole est surtout appliqué aux plateformes sociales, il peut l'être en réalité pour tout ce que vous souhaitez, y compris un simple blog. C'est d'ailleurs ce que j'ai fait pour celui que vous êtes en ce moment en train de lire : copiez l'URL de ce billet dans la zone de recherche de votre instance Mastodon par exemple, et vous verrez ce billet apparaître. Recherchez @blog@deuchnord.fr, et vous pourrez suivre le blog directement depuis votre compte !

Je le redis, car ce n'est décidément pas évident de le saisir au début : il n'y a aucun compte Mastodon derrière cet identifiant. En fait, il n'y a pas non plus d'instance de Mastodon. Il n'y a que mon site. Ainsi qu'un nouveau projet.

Si vous lisez ce blog depuis assez longtemps, vous n'êtes pas sans savoir que ce site est statique, c'est-à-dire qu'il n'y a aucune logique serveur activée lorsque vous demandez une page. Si c'est amplement suffisant pour mon besoin, il y a tout de même un problème : comment le relier à ActivityPub, alors que ce protocole requiert une logique serveur pour interagir avec le Fediverse ?

Le projet f2ap

Lorsque l'on observe les standards du Web, on en remarque un qui a été un peu oublié ces dernières années alors qu'il était un des outils les plus utilisés et les plus appréciés : les flux RSS. Proposés par l'acktiviste Aaron Schwartz en 1999, il s'agit d'un fichier extrêmement simple, contenant les dernières nouvelles d'un site (un blog, typiquement) dans un format pouvant être lu par un logiciel afin de vous tenir informés lorsque le site est mis à jour. Par la suite, un groupe de travail propose un format nommé Atom, qui corrige certaines limitations du RSS, mais globalement, le concept et le résultat est le même.

C'est ainsi que j'ai commencé à développer f2ap : un programme qui serait capable, à partir de son flux RSS ou Atom, de mettre à disposition le contenu du site sous la forme d'un profil qui pourrait être consulté sur le Fediverse.

Je viens tout juste de publier la version 0.1, qui apporte les premières briques, à savoir la mise à disposition du profil ainsi que les contenus sur le Fediverse. Par la suite, j'aimerais typiquement ajouter la support des commentaires, afin que l'on puisse commenter un contenu directement depuis Mastodon, par exemple.

À l'heure actuelle, seul Mastodon semble capable de le détecter, le support des autres plateformes arrivera au fur et à mesure.