Capture d'écran de l'écran d'accueil de oklisa.

oklisa : création d’un bot pour relier lecture et écriture via ActivityPub

J’ai passé ces dernières semaines sur un prototype de logiciel. Il s’appelle oklisa, pour « OK, lis ça ». J’étais très inspiré…

L’écran d’accueil de oklisa. Mise en page assez classique. Compteurs d’inscrits en haut à droite, sélection de langue, informations pratiques.

Il permet aux lecteurs/lectrices de recevoir des notifs quand des auteurs/autrices postent des publications.

J’ai créé ce bot en réponse à cette réflexion que j’ai eue presque trois ans auparavant : Comment connecter les auteurs aux lecteurs ?

En gros, depuis son compte ActivityPub (Mastodon, GoToSocial, entre autres), on suit le bot (follow), et ça nous donne accès aux fonctionnalités. Soit on fait tout en interaction via des commandes en DM (liste des commandes : help), soit on ouvre une session d’édition via UI (commande : manage).

UI du panneau de gestion de oklisa. Partie lecteur/lectrice, suivie de la partie auteur/autrice.

Voici quelques fonctionnalités en place :

  • Pas besoin de créer un compte. Votre compte ActivityPub est utilisé pour vous identifier. Il suffit de follow le bot et d’interagir via l’UI ou en DM. Et pour supprimer ses données ? Il suffit de unfollow le bot, et tout est supprimé (sauf si vous avez été ban, évidemment ; auquel cas on conserve les identifiants pour vous empêcher de nuire).
  • Système de pile : permet de gérer ses notifs en fonction de la charge de lecture. Quand on accepte des propositions, on augmente la taille de la pile. Et quand celle-ci atteint un seuil, les notifications s’arrêtent. Ce système fonctionne car chaque publication d’œuvre demande à l’autrice/auteur de mettre le nombre de caractères.
  • Supporte les langues : on reçoit les publications des langues qu’on veut lire seulement.
  • Le catalogue affiche seulement les dernières œuvres postées par utilisateur. La limite actuelle est de cinq. Cela permet d’éviter d’avoir le catalogue monopolisé par quelques acteurs. Les nouvelles œuvres « éjectent » les anciennes. (Les anciennes restent en base de données pour le suivi de lecture, mais ne sont plus mises en avant.)
  • Il y a un cooldown à l’ajout d’œuvres. 1 par jour. Pour limiter le spam. Et c’est de toute manière mieux pour les autrices et auteurs de diffuser progressivement plutôt que tout d’un coup.
  • Système de ban : le bot restant un outil géré par des humains sans algorithme, il est attendu que les personnes qui l’utilisent le font en respect de la nétiquette et des règles du serveur. Chaque utilisateur/utilisatrice dispose de moyens de blocage. Et en cas de gros souci, un outil d’administration permet de bloquer des personnes ou des instances ActivityPub entières.
  • Support du content warning. Les notifications peuvent avoir un content warning.

J’ai encore des idées pour améliorer le truc, mais on a déjà une bonne base d’expérimentation.

J’héberge moi-même l’instance de oklisa.fabrilivre.com, mais sachez que n’importe qui peut l’héberger sur un serveur node qui dispose de droits d’écriture (base de données SQLite), ou plus simple, n’importe quel serveur avec Docker compose. Le code source a été publié sur framagit.

Pour note, j’ai développé oklisa avec l’IA. J’aurais préféré faire autrement, mais je n’avais trouvé personne avec qui développer cette idée ces dernières années, et soyons honnêtes : le protocole ActivityPub est compliqué. C’est vraiment par dépit que j’ai suivi cette voie. Mais je ne voulais pas attendre plus, au regard de l’invisibilisation progressive des autrices et auteurs face à la horde de publications créées par l’IA. En gros, j’utilise l’IA pour contrer les effets néfastes de l’IA.

NemuLumeN
NemuLumeN
@NemuLumeN@blog.nemulumen.fr
43 articles
6 abonnés

Publié

dans

par

Commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. Découvrez comment les données de vos commentaires sont traitées.