Dans le monde d'aujourd'hui, ActivityPub, que ce soit comme sujet de débat, comme personnage pertinent ou comme date emblématique, a acquis une importance significative dans divers domaines. Que ce soit dans la politique, la culture, la science ou la vie quotidienne, ActivityPub se positionne comme un élément clé qui donne le ton à nos actions et décisions. Dans cet article, nous analyserons l'impact et la pertinence de ActivityPub dans différents contextes, ainsi que son influence sur notre société. Depuis son apparition, ActivityPub a suscité un intérêt notable et sa présence continue aujourd’hui de susciter débats et réflexions.
Il fournit une API allant d'un client vers un serveur pour la création, la mise à jour et la suppression de contenu, ainsi qu'une API entre serveurs afin de permettre la fédération de notifications et de contenus. Cette norme est une évolution de Pump.io et est proposée comme remplacement d'OStatus par le groupe de travail sur le web social fédéré du W3C[2], lancé en [3], pour le Fediverse.
Principe
Mécanisme d'ActivityPubFonctionnement du Fediverse
Chaque acteur du réseau, que ce soit un utilisateur, une chaîne de vidéos ou un blog par exemple possède une boîte de réception (« inbox ») et une boîte d'envoi (« outbox »), qui sont des URL[4]. Chaque action (publication d'un message, invitation à un évènement, etc) est représentée par une activité, dont la liste est définie par le standard ActivityStreams.
Dans la fédération entre serveurs, lorsqu'un acteur réalise une action, le serveur qui l'accueille va créer l'activité correspondante et l'envoyer dans les boîtes de réception des destinataires, sur d'autres serveurs. Ces derniers vont alors enregistrer cette activité pour permettre aux clients de les manipuler par la suite. Un serveur peut aussi décider de récupérer le contenu de la boîte d'envoi d'un acteur, qui contient la liste des activités précédemment publiées par cet acteur[4].
Dans la fédération de client à serveur, une activité peut être envoyée à la boîte d'envoi par le client. Le serveur vérifiera alors qu'elle est conforme et la modifiera si besoin, et l'enverra vers les boîtes de réception des destinataires. Le client peut aussi récupérer le contenu de la boîte de réception d'un acteur pour l'afficher et permettre d'interagir avec ce contenu[4].
État du projet
ActivityPub est un standard de l'Internet recommandé depuis par le Web Social Networking Group du World Wide Web Consortium (W3C)[5]. À un stade plus précoce, le nom du protocole a été « ActivityPump » mais il a été estimé qu'ActivityPub était plus indiqué pour décrire le but de publication sur de multiples serveurs du protocole.
D'autres protocoles, et formats viennent s'ajouter autour d'ActivityPub, tels que le format Activity Streams, ou le protocole pour les forges logicielles, ForgeFed, dépôt Git décentralisé et fédéré via ActivityPub[6].
Implémentations
Bibliothèques
Il existe différentes bibliothèques permettant d'interfacer une application avec ActivityPub.
Pour le langage Go, au sein du projet Go-Fed, la bibliothèque Activity[7].
Pour le langage Ruby, les gems Activitypub-rails, permettant de l'utiliser au sein du framework Ruby on Rails[8], ou Social_web-activity_pub pour Rack[9].
Pour le langage Rust, le Crate Activitystreams[10], qui assure également les fonctions de l'ancien Crate Activitypub[11], fournissant également les outils pour le format Activity Stream.
Pour le langage Python, la bibliothèque Activitypub de DSBlank est conçue pour fonctionner avec les cadriciels Flask et Tornado(en)[12]
Distbin, permet comme Pastebin de placer des morceaux de texte (principalement utilisé pour du code source), mais, contrairement à celui-ci, est décentralisé[13].
Dokieli, outil d'édition décentralisé d'article, permettant les annotations sur des textes ou autre objets par des tiers et les partages/retour de ces notations[14].
ForgeFed et Forgejo, Une extension du protocole ActivityPub afin de permettre des échanges entre des forges logicielles. Vervis est l'implémentation de référence, et le protocole est en cours d'implémentation dans Gitea[16], à la suite d'un financement à la fondation néerlandaise NLnet(nl)[17] ;
Owncast, un outil de diffusion vidéo comportant un chat depuis la 0.0.11 (mars 2022).
PeerTube, un logiciel d'hébergement de vidéos décentralisé[28] qui permet les commentaires et diffusion depuis d'autres plateformes comme Mastodon ou Pleroma ;
Osada, un réseau social basé sur ActivityPub et Zot6[36].
Services peu intéressés
Le réseau social Diaspora* dont 2 développeurs ont participé aux spécifications entre et , mais l'idée est abandonnée au moins à court terme et l'équipe principale ne semble pas y être enthousiaste[37].