ActivityPub

Un article de Wikipédia, l'encyclopédie libre.
Sauter à la navigation Sauter à la recherche

ActivityPub est un standard ouvert pour réseaux sociaux décentralisés basé sur le format ActivityStreams (en) 2.0. Il a été officiellement publié comme recommandation du W3C le [1].

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 (en) de notifications et de contenus. Cette norme est une évolution de Pump.io et est proposé comme remplacement d'OStatus par le groupe de travail sur les web social fédéré du W3C[2], lancé en juillet 2014[3], pour le Fediverse.

Principe[modifier | modifier le code]

Fonctionnement 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],[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[4].

État du projet[modifier | modifier le code]

ActivityPub est un standard de l'Internet recommandé depuis janvier 2018 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.

Implémentations[modifier | modifier le code]

  • Distbin, permet comme Pastebin de placer des morceaux de texte (principalement utilisé pour du code source), mais, contrairement à celui-ci, est décentralisé[6].
  • 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[7].
  • Funkwhale, un logiciel de streaming musical décentralisé implémente ActivityPub[8].
  • Hubzilla a implémenté ActivityPub, grâce au plugin PubCrawl, dés la version 2.8 (octobre 2017)[9]. Il supporte également Zot6[10].
  • Mastodon est un réseau social qui a mis en place ActivityPub à partir de la version 1.6[11].
  • Nextcloud supporte ActivityPub[12], depuis sa version 15, sortie le 10 décembre 2018[13].
  • PeerTube, un logiciel d'hébergement de vidéos décentralisé[14] qui permet les commentaires depuis d'autres plateformes comme Mastodon ou Pleroma.
  • Pixelfed, un système de partage d'images [15],[16].
  • Pleroma, système de microblog limité à 5 000 caractères fédéré, intégrant une messagerie instantanée limité à l'instance[17].
  • Plume, système de blog[18].
  • SocialHome, un constructeur de profil personnel fédéré, permet le microblogging ou des billets de blog complets[19]
  • WriteFreely, un moteur de blog léger écrit en Go[20].
  • Osada, un réseau social basé sur ActivityPub et Zot6[21].

Projets d'implémentations[modifier | modifier le code]

  • Mobilizon, un outil d'organisation d’événements, « Un outil libre et fédéré pour sortir nos événements de Facebook ! », à l'initiative de Framasoft[22], en cours de développement[23].

Services peu intéressés[modifier | modifier le code]

  • Le réseau social Diaspora* dont 2 développeurs ont participé aux spécifications on été en discussion entre avril 2017 et janvier 2018, mais l'idée est abandonnée au moins à court terme et l'équipe principale ne semble pas y être enthousiaste[24].

Références[modifier | modifier le code]

  1. (en) « ActivityPub - W3C Recommendation 23 January 2018 »,
  2. (en) « Sandstorm And The Social Web »,
  3. (en) Stephen Shankland, « Social networking built into the Web? W3C gives it a go », sur CNet,
  4. a b c et d « ActivityPub », sur www.w3.org (consulté le 6 janvier 2019)
  5. Christopher Lemmer Webber, « Victory for libre networks: ActivityPub is now a W3C recommended standard », sur Free Software Foundation,
  6. (en) « Distbin », sur Distbin.com
  7. (en) « Dokieli », sur Dokie.li
  8. « Funkwhale, les baleines mélomanes libres et décentralisées – Framablog », sur framablog.org (consulté le 25 mai 2018)
  9. (en) « ChangeLog », sur GitHub
  10. (en) « 4.0.3 », sur Framagit
  11. Tootsuite, « Foire Aux Questions - Techniquement, comment fonctionne la fédération? », sur GitHub
  12. (en) « ActivityPub: the new standard for decentralized networks », sur nextcloud.com,
  13. (en) Jos Poortvliet, « Nextcloud introduces social features, joins the fediverse », sur NextCloud,
  14. « PeerTube bêta : une graine d’alternative à YouTube vient d’éclore – Framablog », sur framablog.org (consulté le 29 mars 2018)
  15. Ouanel, « PixelFed », sur Framasoft
  16. Guénaël Pépin, « PixelFed, un embryon d'alternative libre à Instagram », sur Next INpact,
  17. « Pleroma », sur Framasoft
  18. « Plume », sur Github
  19. https://socialhome.network https://git.feneas.org/socialhome/socialhome
  20. (en) « Write Freely », sur Write Freely.org
  21. (en) « Osada - decentralised social networking », sur zotlabs.com
  22. « Change the software of the people who change the world ? », sur Framablog
  23. « Mobilizon », sur Framagit
  24. (en) « Support ActivityPub #7422 », sur Github

Liens externes[modifier | modifier le code]