Un annuaire collaboratif pour essayer ATproto
La publication du nouveau PDS européen @eurosky.social est imminente, et il sera intéressant de voir si cela incitera les comptes institutionnels à migrer. Pour suivre cette migration, rien de mieux que de dresser une liste de ces comptes et de vérifier régulièrement la résolution de leurs identifiants respectifs (DID), qui pointent vers les serveurs stockant leurs données.
Pour établir cette liste, il est possible de mettre en place un service d’étiquetage (labeler, en anglais) qui recevra les signalements des contributeurs et exposera une interface : à partir d’une requête concernant un compte, il renverra la liste des étiquettes enregistrées correspondantes. Cette solution s’intègre parfaitement à l’usage de l’application Bluesky, mais elle utilise une fonctionnalité conçue à l’origine pour la modération et nécessite de déployer un service dédié (peu original).
Il existe une autre approche, en utilisant les services déjà existants : nos PDS et le service Constellation de @microcosm.blue. Ce dernier est un gigantesque index des identifiants des enregistrements (records) et des liens (backlinks) entre ces identifiants. En s’appuyant sur ces services externes, l’annuaire devient une application fonctionnant uniquement dans le navigateur, sans nécessiter de communication avec son serveur hôte.
alt
Capture d'écran de l'interface de contribution de l'Annuaire avec au fond la liste des entrées et au dessus une fenêtre d'authentification.
Un visiteur souhaitant contribuer clique sur le bouton « Contribuer », entre son pseudo (ex. : @lille.atproto.fr) et est redirigé vers la page d’authentification de son PDS. L’annuaire ne souhaite enregistrer que les suggestions de l’utilisateur : les autorisations demandées se limitent donc à la liste des lexicons utilisés par l’annuaire. Ainsi, le contributeur peut autoriser l’enregistrement et la modification de données dans son répertoire, sans donner un accès total au reste de sa vie numérique (ses publications sur Leaflet, Bluesky, etc.). Lexicon est un langage de définition de schéma utilisé pour décrire les enregistrements ATproto.
alt
capture d'écran du PDS de l'utilisateur lille.atproto.fr qui déclare les autorisations associées à la connexion.
Une fois authentifié, le visiteur peut contribuer en suggérant un compte Bluesky : il entre son pseudo (ex : @info.gouv.fr) et lui attache une étiquette. Un enregistrement, utilisant le lexicon fr.atproto.annuaire.suggestion, est alors sauvegardé sur le PDS du visiteur, avec une référence vers un enregistrement fr.atproto.annuaire.etiquette préalablement enregistré sur le PDS de @atproto.fr.
alt
Capture d'écran de l'interface de contribution de l'Annuaire avec au fond la liste des entrées et à droite en bar vertical les suggestions du contributeur.
Grâce aux liens Suggestion→Etiquette, indexés par @microcosm.blue , l’administrateur de l’annuaire (@atproto.fr) peut retrouver les suggestions en attente et les ajouter au répertoire de l’annuaire, stocké dans le répertoire de @atproto.fr sous le lexicon fr.atproto.annuaire.entree.
alt
Capture d'écran de pds.ls qui affiche les liens (Backlinks) entre les enregistrement etiquette de atproto.fr et les enregistrement de suggestion des autres utilsateurs.
Régulièrement, le site atproto.fr récupère la liste des fr.atproto.annuaire.entree sur le PDS de @atproto.fr, récupère les informations des comptes identifiés et affiche ces informations, en plus de générer des statistiques.
alt
Capture d'écran de l'interface de contribution de l'Annuaire avec au fond la liste des entrées et à droite en bar vertical les suggestions acceptées du contributeur.
Une fois que la suggestion est acceptée et que une entrée dans l'annuaire est enregistrée dans le PDS de @atproto.fr , le contributeur peut supprimer sa suggestion. Celle-ci est alors effacée du PDS du contributeur. Lien vers l'annuaire: https://atproto.fr/annuaire