Du mouvement, enfin

Il y a quelque temps, j'ai décidé que j'allais lancer un certain nombre de services de type réseaux sociaux, hébergés et administrés par mes soins, l'idée étant d'apporter ma contribution à la construction d'une alternative à un existant commercial pas forcément enthousiasmant.

L'avancée du projet

Après un temps de réflexion un peu plus long que prévu, j'ai enfin pris quelques décisions concernant la suite à donner à mon projet d'alternative aux réseaux sociaux propriétaires/fermés. A l'origine, j'avais une ébauche de plan bien ficelé dans ma tête:

  1. Choisir les outils à promouvoir dans le cadre de mon projet,

  2. Utiliser mon compte Facebook, pour expliquer à mes proches combien il serait bénéfique pour eux de se tourner vers une alternative libre aux réseaux sociaux commerciaux,

  3. Mettre en place l'infrastructure qui va bien, c'est-à-dire mes serveurs personnels, et ceux de mes amis désirant avoir leur propre serveur,

  4. Publier sur Facebook un message aussi martial qu'émouvant expliquant que je quitte cette plate-forme pour aller m'exprimer en toute liberté et toute indépendance grâce à mes propres outils, en invitant solennellement ceux qui m'aiment à me suivre.

Joli plan. Pour quelqu'un qui n'aurait que ça à faire. Après plusieurs mois à ne pas parvenir à boucler l'étape n°1, j'ai décidé de laisser tomber cette histoire de plan. Et surtout, à force d'y traîner de moins en moins, j'ai décidé de quitter définitivement Facebook, sans sommation ni long discours. De fait, je l'utilisais de moins en moins, au point d'en arriver à me dire récemment que fermer mon compte ne changerait pas grand-chose. Alors je l'ai fait.

Parmi les nombreuses raisons ayant conduit à la fermeture de mon compte Facebook, il y a la perte d'intérêt pour l'outil, sans aucun doute liée à mon utilisation d'autres plateformes, comme Zap/Hubzilla ou Mastodon. Même si elle n'était pas structurée et conforme à un plan bien ficelé, ma réflexion s'est donc poursuivie, notamment en utilisant régulièrement certains des outils alternatifs que j'envisage de partager.

Alors, où en suis-je aujourd'hui? j'ai quitté Facebook, c'est sans doute très bien, mais il faut maintenant passer à la suite. Et j'ai décidé que ce serait de mettre à disposition certains outils.

Les services envisagés

Mastodon (AP)

Difficile de faire l'impasse sur la star des réseaux sociaux alternatifs. Avec, à la louche, 400 fois moins d'utilisateurs que Twitter et 1000 fois moins que Facebook, Mastodon regroupe la plus grosse communauté du Fédivers (pour en savoir plus sur ce mot-valise, c'est par là ou encore par ici). Au niveau du principe, on est sur quelque chose qui ressemble à Twitter: des publications relativement courtes, saupoudrées de hashtags, plutôt destinées à être diffusées de manière publique. Ce dernier détail est important, et lié au protocole de communication employé, ActivityPub.

Le principe, avec ActivityPub, est que lorsque vous publiez quelque chose, votre publication est envoyée à tous les serveurs avec qui le vôtre est connecté/fédéré. Il appartient ensuite au serveur qui reçoit votre publication de la diffuser à ceux qui sont autorisés à la voir. Concrètement, si vous faites une publication “publique”, tout le monde peut la voir, donc peu importe la gestion de sa diffusion. Par contre, si vous souhaitez faire une publication privée, c'est-à-dire destinée à vos seuls abonnés/amis, il faut avoir confiance dans le fait que les autres serveurs respectent bien le protocole. Il n'y a pas de raison qu'ils ne le fassent pas, mais bon, c'est techniquement possible.

Autre contrainte allant avec le fait que vos publications soient diffusées (copiées, en quelque sorte) auprès des serveurs avec lesquels le vôtre est fédéré, c'est qu'il n'est pas forcément possible de faire disparaître une publication que vous souhaitez supprimer. Concrètement, si vous supprimez une publication sur votre serveur, elle disparaîtra bien sur votre serveur, mais il est assez peu probable qu'elle soit supprimée chez les autres. Il vaut donc mieux partir du principe que lorsque vous écrivez quelque chose, vous n'aurez pas la garantie de pouvoir le faire disparaître, loin de là.

Entre l'incertitude structurelle du protocole concernant la confidentialité des publications et l'impossibilité d'une suppression de vos publications à posteriori garantie à 100%, il me semble qu'un serveur Mastodon fonctionnant en mode fédéré doit être envisagé uniquement pour s'exprimer publiquement, en gardant toujours à l'esprit qu'on ne pourra pas changer d'avis au point de pouvoir faire disparaître ses écrits. Il faut juste avoir bien conscience de cela.

Il y a cependant une autre possibilité de configuration consistant à faire fonctionner Mastodon en mode “whitelist” (“liste blanche” en V.O.). Le principe est que par défaut, votre serveur ainsi configuré n'est pas autorisé à communiquer avec d'autres serveurs utilisant ActivityPub. Vous pourrez ajouter des serveurs à votre whitelist, et ainsi autoriser vos utilisateurs à communiquer avec les utilisateurs ayant un compte sur les serveurs figurant sur cette liste.

Concrètement, si Jean-Claude monte le serveur A en whitelist et Marie-Pierre fait la même chose avec son serveur B, au départ chaque serveur sera isolé. Les utilisateurs inscrits sur le serveur A ne pourront communiquer qu'entre eux, idem pour ceux du serveur B. En revanche, si Jean-Claude et Marie-Pierre ajoutent mutuellement leurs serveurs sur leurs whitelists respectives, alors les utilisateurs du serveur A pourront communiquer avec ceux du serveur B, et inversement.

Pour celui qui comme moi envisage de mettre à disposition Mastodon pour ses proches, il me semble, après mûre réflexion, qu'il faut en fait proposer deux serveurs:

Cette solution, deux serveurs plutôt qu'un, l'un des deux ayant vocation à permettre à un cercle restreint de personnes à communiquer entre elles tandis que l'autre permettrait de communiquer avec n'importe qui au sein du Fédivers, me semble être assez pertinente. Elle est sans doute à privilégier pour tous les outils utilisant le protocole ActivityPub. Pour celui qui veut un outil uniquement destiné à communiquer au sein du cercle familial/amical, le seul serveur restreint est suffisant.

ZAP (Zot & AP optionnel)

ZAP, qui ressemblerait plus à Facebook au niveau de l'usage et de l'interface, est un serveur beaucoup plus confidentiel que Mastodon mais qui présente des caractéristiques intéressantes le distinguant de la plupart des autres outils. Je parlais plus haut des limites du protocole ActivityPub, de son côté ZAP utilise par défaut un protocole différent nommé Zot. Là où ActivityPub envoie vos publications vers les serveurs en connexion avec le vôtre et les laisse gérer la distribution, Zot se contente, en gros, d'envoyer des liens vers votre serveur. Vos contacts vont donc récupérer, à chaque fois, le contenu de vos publications sur votre serveur. Ce qui change tout.

Contrairement à ActivityPub, Zot ne délègue pas aux autres serveurs ses autorisations liées à vos publications. Ces dernières ne seront visualisées que par ceux que vous autorisez spécifiquement, vous en avez la certitude. Autre avantage lié à Zot, lorsque vous supprimez une publication, elle disparaît réellement d'Internet et ceci de façon instantanée (sauf si l'un de vos contacts a fait du copier/coller ou une copie d'écran, bien sûr).

Au niveau de l'interface, ZAP utilise le concept de canal de communication. Pour faire court, lorsque vous créez un compte sur un serveur ZAP, il vous faut ensuite créer au minimum un canal. Un canal = une identité. Comprenez que vous pouvez avoir plusieurs canaux par compte, donc plusieurs identités, en fonction des personnes avec qui vous souhaitez communiquer et/ou du contexte. Tout ceci n'étant pas forcément très clair, le mieux est d'illustrer ceci par un exemple. Celui de Jean-Claude, marié, 3 enfants, employé de banque, passionné d'entomologie et de blagues belges.

Jean-Claude décide de se créer un compte ZAP. Il commence par se créer un canal “Jean-Claude” pour échanger avec ses amis et sa famille. Il se crée ensuite un canal “JC Dugommier” pour disposer d'une page publique partager avec le monde ses opinions sur l'économie européenne et le taux de change du rouble. Il crée également un canal “insectopote” qu'il utilisera pour échanger avec d'autres amateurs passionnés d'entomologie, et enfin un canal “jeancLOL” pour se tenir au fait des dernières moqueries prenant pour cible nos amis d'outre-Quiévrain. L'avantage pour Jean-Claude? Chaque canal étant indépendant des autres, il peut partager en s'adressant sur chacun à l'audience qu'il souhaite.

Autre fonctionnalité spécifique au protocole Zot, l'identité nomade. Pour faire court, il est très facile de changer un canal de serveur. Par exemple, si Jean-Claude héberge ses canaux sur le serveur ZAP de son neveu Timéo, mais que ce dernier l'informe un jour qu'il a décidé de fermer ce serveur faute de temps pour s'en occuper, il pourra en quelques clics transférer ses canaux sur le serveur ZAP de son cousin Michel, qui s'est récemment pris de passion pour l'auto-hébergement de ses données. Le mieux? Il n'aura même pas à informer tous ses contacts, puisqu'à leur niveau, cela ne changera rien pour eux... si la connexion se fait par le protocole Zot!

Parce que ZAP sait aussi utiliser le protocole ActivityPub, en fait. En utilisant le protocole Zot, on ne peut communiquer qu'avec des serveurs utilisant ce même protocole. Et le problème, c'est qu'au sein du Fédivers, l'immense majorité des outils utilise le protocole ActivityPub, et pas Zot. Au vu des avantages/fonctionnalités du protocole Zot, on pourrait se demander pourquoi ce n'est pas le contraire, mais c'est comme ça, il faut donc faire avec. C'est donc pour maximiser la quantité d'interlocuteurs potentiels que ZAP permet aussi les connexions via le protocole ActivityPub.

Les publications sur ZAP peuvent donc, pour peu que ce second protocole soit activé, être partagées via deux protocoles, Zot et ActivityPub. Avec les limitations que peut impliquer ActivityPub:

On notera que l'activation du protocole ActivityPub est optionnelle sur chaque canal. C'est-à-dire qu'avec un même compte, vous pouvez disposer de plusieurs canaux, certains avec le protocole ActivityPub activé, certains autres non. Il faut simplement réfléchir à l'utilisation qu'on veut faire de chaque canal. On notera également que, comme pour Mastodon, il est possible de limiter les communications avec une liste restreinte de serveurs, le choix de deux serveurs aux usages distincts est donc également possible.

Pixelfed (AP)

Pixelfed, dans le monde du Fédivers, est l'équivalent d'Instagram. Le but premier est de partager des photos, sur lesquelles on peut appliquer quelques filtres. Techniquement, il est également possible de partager des photos sur Mastodon ou ZAP, mais l'interface de Pixelfed est sans doute plus adaptée et/ou élégante. Si je suis à peu près certains qu'on peut suivre un compte Pixelfed via ActivityPub depuis Mastodon ou ZAP, je ne suis pas sûr que ce soit possible dans l'autre sens. Il faudra tester ça, mais il y a un peu plus d'un an ce n'était pas faisable.

On peut se créer un compte public ou privé (pour ce dernier, seules les personnes que vous autorisez peuvent vous suivre et voir vos photos). Pixelfed utilise le protocole ActivityPub, avec les contraintes et limitations associées, il peut donc être utile de faire un serveur restreint si on souhaite offrir ce service uniquement à ses proches. Je n'ai pas encore vérifié en détail, mais je ne crois pas qu'il existe de système de whitelist comme sur Mastodon ou ZAP. Il est probable que là-aussi deux serveurs soient pertinents en fonction de l'utilisation.

Le choix de départ

Mastodon

Je proposerai deux serveurs : un privé (ou restreint ) et un public. Le premier sera destiné à échanger uniquement avec mes amis et ma famille et sera, vous l'aurez compris, configuré en mode whitelist. Le second, lui aussi, sera accessible uniquement à mes proches pour une ouverture de compte, en revanche il sera ouvert sur le monde, pour ceux qui veulent la “Full Fediverse Experience”.

Il est possible que j'autorise d'entrée la communication entre ces deux serveurs. Il faudra que je fasse deux ou trois tests pour que je voie comment ça peut fonctionner.

Il est également probable que je mette sur la whitelist les serveurs ZAP et Pixelfed privés. De cette manière, si les Papys et Mamys le souhaitent, il pourront par exemple suivre les Pixelfeds de leurs petits-enfants depuis un seul compte ZAP ou Mastodon.

ZAP

Même principe que pour Mastodon. Je monterai deux serveurs. Je n'ai pas encore décidé de la stratégie concernant le protocole ActivityPub sur le serveur public. Idéalement, le mieux serait sans doute de le désactiver par défaut, la décision de l'activer ou non nécessitant à mon avis quelques explications préalables.

Pixelfed

Je dois faire quelques essais concernant Pixelfed, je ne l'ai pas installé ni utilisé depuis un bon moment. Il est probable que je fasse là-aussi deux serveurs, par contre, si j'ai bien compris, celui voué à être strictement privé sera incapable d'intégrer, même partiellement, une fédération. Il faudra également que je vérifie si je peux faire en sorte qu'à la création de compte, ce dernier soit par défaut privé plutôt que public.

Pour la suite

Messagerie instantanée

Je n'ai pas Whatsapp. Signal, du fait qu'il est centralisé et impose de communiquer son numéro de téléphone, me déplaît. Du coup, ce serait pas mal de trouver quelque chose en remplacement. J'ai à priori deux candidats, Matrix d'une part, et XMPP de l'autre. Le premier est complet mais complexe, le second est plus simple mais parfois qualifié de vieillissant. Je dois encore faire quelques tests, notamment au niveau de la vidéoconférence.

Médias

Pour le partage de musique, Funkwhale est un bon candidat, mais je ne sais pas s'il serait vraiment utilisé par mes proches.

Peertube, en substitut de Youtube, mouais. Pour que ça ait un sens, il faut avoir du contenu à partager.

Castopod, j'adore l'idée, mais là aussi, il faut être capable de produire du contenu.

Je sais que ces services sont facilement installables, mais pour le moment il ne me paraissent pas répondre à un vrai besoin à mon niveau.

Alors c'est pour quand?

Quand ce sera prêt. Le moment venu.

Fediverse 3D logo