Mastodon, le Fediverse, ActivityPub : comprendre et maîtriser les nouvelles étoiles du web
Publié le 07 décembre 2022
Depuis quelques semaines, un séisme secoue le web après l’arrivée récente d’Elon Musk à la tête de Twitter : démissions, licenciements en cascade, rumeurs de fermeture... Ces bouleversements font migrer de nombreuses personnalités, utilisatrices et utilisateurs de Twitter vers Mastodon.
Qu’est-ce que Mastodon ? #
Mastodon est à la fois un réseau social et un logiciel de microblogging auto-hébergé, libre, distribué et décentralisé. Le réseau est constitué d’un ensemble de serveurs qui peuvent communiquer entre eux grâce à ActivityPub, un protocole ouvert édité par le W3C (le même organisme qui publie les spécifications HTML, CSS ou encore RDF, qui sont au cœur du web). On peut considérer Mastodon comme un réseau analogue de Twitter, mais fédéré.
Non seulement les comptes Mastodon peuvent suivre d'autres comptes Mastodon - même si ils sont hébergés sur d'autres serveurs appelées “instances”, mais ils peuvent aussi suivre des comptes utilisant d'autres applications communiquant également avec le protocole ActivityPub, comme Pixelfed ou PeerTube. L’ensemble de ces instances fédérées (qui peuvent donc utiliser des logiciels différents mais interopérables) forment ce que l’on appelle le Fediverse. Concrètement, c’est un peu comme si votre compte Twitter vous permettait de suivre et d'interagir avec les utilisateurs d’Instagram et de TikTok.
À la découverte du Fediverse #
Le Fediverse, mot-valise formé à partir de "federation" et "universe", est un réseau fédéré composé de nombreux serveurs indépendants, qui utilisent divers logiciels très différents mais capables de communiquer ensemble. Ces nombreux serveurs autonomes et indépendants sont ainsi interconnectés et permettent à leurs utilisateurs et utilisatrices d'interagir les uns et les unes avec les autres de façon totalement transparente. Il n'y a pas de site central unique : c’est à chaque utilisateur de choisir un serveur pour s’y inscrire.
Cette décentralisation garantit que chaque hébergeur d’un serveur est souverain sur ses données. Aucune autorité centrale ne peut censurer ou invisibiliser. De plus, les serveurs du Fediverse (également appelé Fedi) n'intègrent généralement pas de publicités, ni d'algorithmes malveillants qui vous fichent et vous surveillent. Comme le web sur lequel il s’appuie, le Fediverse n’appartient pas à une grande firme qui y dicte ses règles : tout le monde peut y brancher son serveur, sans devoir demander l’autorisation à qui que ce soit.
Pour le moment, le Fediverse est principalement composé de petites communautés, mais n’importe quel site ou réseau social existant peut facilement rejoindre le Fediverse. Pour cela il lui suffit d’implémenter ActivityPub (ou l’un des autres protocoles supporté par le réseau). Tumblr, la plateforme de microblogging qui fut un temps la coqueluche du web, vient par exemple d’annoncer son intention de rejoindre le Fediverse.
Le protocole ActivityPub #
Les communications entre tous ces serveurs se font généralement via un protocole appelé ActivityPub. Il est supporté par Mastodon, mais aussi par d'autres logiciels tels que PeerTube (alternative à YouTube) et Mobilizon (alternative à Meetup et aux évènements Facebook), tous deux développés par l’association française Framasoft, ou encore Pixelfed (alternative à Instagram) et WriteFreely (logiciel de blog). Il existe par ailleurs un plugin permettant de rendre n’importe quel site utilisant WordPress (y compris le nôtre) accessible sur le Fediverse. Tous ces logiciels peuvent donc interagir ensemble !
ActivityPub a été publié en 2018. C’est le successeur du standard OStatus. ActivityPub s’est très vite imposé du fait de sa simplicité d’implémentation. Les rédactrices et rédacteurs du standard ont d’ailleurs mis un point d’honneur à rendre la lecture de la spécification aussi aisée que possible, ce que les habitués de ce type de littérature savent assez rare.
Le framework web que nous développons, API Platform, propose également un module permettant à n’importe quel site qui l’utilise d’implémenter ActivityPub. Il est aussi compatible avec l’ensemble des sites créés avec le populaire framework Symfony, auquel nous sommes fiers de contribuer et que nous sponsorisons. Ce module peut même être utilisé comme une bibliothèque PHP autonome.
ActivityPub fonctionne grâce à deux points d’entrée mises à disposition sur une API REST qui se comportent comme deux boîtes aux lettres : l’une permet de recevoir du contenu, l’autre permet d’en envoyer. Pour communiquer avec une autre instance, un serveur n’a donc qu’à consulter le contenu public de la “boîte d’envoi” de cette instance, et déposer du contenu qui lui est spécifique dans sa “boîte de réception”.
Le seul prérequis est de connaître l’existence du serveur en question. Dans le cas d’un serveur exécutant Mastodon, la découverte des autres serveurs se fait au fur et à mesure que les membres du Fediverse se connectent entre eux.
Notez que la spécification d’ActivityPub précise qu’il est tout à fait possible de n’implémenter qu’une seule des deux boîtes.
Les-Tilleuls.coop et le Fediverse #
Chez Les-Tilleuls.coop, cela fait plusieurs années désormais que nous alertons sur la manière dont le web est utilisé. Nous sommes intervenu·e·s à plusieurs reprises sur les manières de bâtir un nouveau web décentralisé :
Comme nous l’avons vu, nous avons également créé il y a quelques années une bibliothèque PHP implémentant le protocole ActivityPub et nous sommes logiquement présents sur Mastodon et Peertube depuis plusieurs années.
Si vous souhaitez aussi rejoindre le Fediverse, notre pôle SRE peut héberger vos instances Mastodon, PeerTube, Mobilizon, PixelFed, etc. Nos développeuses et développeurs peuvent également adapter vos sites, apps et réseaux sociaux pour les rendre compatibles ! Contactez-nous pour plus de détails.
Crédit photo : Eukombos, Creative Commons Attribution-Share Alike 4.0 International