Technostructures
  • EN
  • Projets
  • Fronts
  • On soutient
  • Articles
  • Nous soutenir

Posca

Posca est la première étape de notre outil rêvé d’organisation à destination des collectifs, Imago. Il s’agit d’un système de communication versatile, alliant chat, forum, microblogging et partage de médias.

Basé sur Matrix, Posca est utilisable avec n’importe quel compte Matrix, permet de rassembler et hiérarchiser les conversations et implémentera du chiffrement de bout en bout.

Actuellement en phase de développement, Posca peut-être essayé sur posca.pm, et son code source est trouvable sur GitLab.com.

Rejoignez-nous pour en discuter sur Matrix.

Un réseau social communautaire

La plupart des réseaux sociaux sont construits sur un mode de fonctionnement public. Il est adapté aux personnalités publiques, aux marques et aux journalistes, mais souvent pénible pour le reste des utilisateur·ices. Publier revient à participer à une arène à grande échelle, avec son lot de stress, de cyberharcèlement et de valorisation des contenus provoquant des émotions fortes.

Face à cela (et par un processus que Marc Jahjah désigne comme “l’[auto-]éducation collective aux dangers d’une publication ultra visible”), le fonctionnement par groupe est une alternative bienvenue. Son succès est visible dans l’essor des messageries de groupes (WhatsApp, Discord, Telegram…), et des groupes Facebook. Ce fonctionnement est aussi efficace dans le cadre de groupes publics, comme le montrent Reddit et Lemmy. Même le microblogging n’y échappe pas, de nombreuses instances Mastodon s’organisant en communautés plus ou moins fermées.

Nous faisons du fonctionnement par groupe le cœur de Posca. Les groupes peuvent par ailleurs être inclus les uns dans les autres, en une hiérarchie de groupes et de sous-groupes.

Les groupes et salons peuvent être publics ou bien sur invitation ou acceptation.

Les principaux modes de communication en une interface unifiée

Nous distillons l’esprit des plateformes de communication en 4 interfaces, qui nous semblent complémentaires pour l’organisation collective :

  • La messagerie instantanée, qui permet discussions rapides et synchrones, mais dilue les informations importantes ;
  • Le forum, pour des discussions asynchrones et sur une plus grande temporalité, adapté aux longs messages ;
  • Le micro-blogging (ou partage de statuts), adapté aux communications externes, opinions et statuts d’humeur ;
  • Le partage de médias (images, audios et vidéos), souvent inclus dans les autres plateformes mais qui mérite ses propres canaux.

Ces 4 vues implémentent un fonctionnement de réponses “en arbre” (non linéaire), qui pousse au foisonnement des points de vue et évite le problème des réponses qui ne sont plus pertinentes après un certain temps.

Un code couleur permet de distinguer d’un seul coup d’œil le fonctionnement des différents espaces.

Le choix de l’écosystème Matrix

Matrix est un protocole ouvert, géré par une fondation avec l’implication d’une grande communauté. En s’appuyant sur ce protocole, nous bénéficions de nombreux avantages.

Un fonctionnement décentralisé

Matrix est un protocole décentralisé, composé de multiples serveurs interconnectés. À la manière de l’e-mail, il est possible de créer un compte sur un de ces serveurs, et de communiquer avec les personnes sur d’autres serveurs. La modération se faisant par salon, le serveur choisi a très peu d’importance.

En proposant d’utiliser un serveur d’accueil sécurisé que nous hébergerons, nos utilisateur·ices pourront l’utiliser pour communiquer avec le reste du réseau, mais ils peuvent aussi héberger leur propre serveur.

Ce fonctionnement permet une grande résilience du réseau, et une charge répartie entre les différents hébergeurs.

Un écosystème vivant

Bien que la maintenance du protocole et de certaines briques importantes repose beaucoup sur la Fondation Matrix et l’entreprise Element, de nombreuses personnes participent en développant clients et applications, et peuvent influencer sur le futur du protocole grâce au fonctionnement démocratique de la fondation.

De nombreuses communautés ont déjà migré vers Matrix pour leur besoins de communication, particulièrement dans l’open-source (Mozilla, KDE, Blender…). Matrix est aussi fréquemment choisi par les institutions (para-)gouvernementales pour des déploiements massifs de messagerie sécurisée.

Un fonctionnement générique et modulable

Bien que créé initialement pour le chat, le protocole est suffisamment générique pour permettre toutes sortes d’applications, et nous permettra d’ajouter facilement les différentes fonctionnalités pertinentes à l’organisation en groupe.

En gardant à cœur l’interopérabilité des événements Matrix utilisés, nous permettons de choisir Posca ou n’importe quel autre client.

Comme nous utilisons un serveur Matrix déjà développé (Synapse), nous pouvons nous concentrer sur le client, et donc sur une interface claire et bien pensée.

Le chiffrement de bout en bout déjà déployé et éprouvé

Nous utilisons les librairies de cryptographie utilisées et développées par Element, ce qui nous permet d’ajouter une sécurité de haut niveau sans se risquer au problème extrêmement complexe de l’implémentation d’un cryptosystème.

La possibilité d’utiliser notre bridge ActivityPub, kazarma

Nous prévoyons d’interfacer Posca avec kazarma, ce qui nous permettrait une interopérabilité avec des services comme Lemmy ou encore Mobilizon (et si jamais nous nous décidons à implémenter un fonctionnement public à Posca, avec Mastodon, Pixelfed, Peertube…)

Les challenges à surmonter

Interface et facilité d’utilisation

Posca propose des fonctionnalités qui peuvent être complexes. Nous reprenons des concepts d’interfaces qui sont familiers, le plus souvent possible, mais certains parcours nécessitent de sortir des sentiers battus et de faire preuve d’imagination. Nous cherchons toujours à concevoir des modalités d’usage qui sont instinctives ou tout du moins rapidement maîtrisées.

Pour orienter le plus possible le développement à partir de l’utilisation réelle de Posca, nous conduirons des séance de tests et demanderons à nos beta testers de nous rapporter leurs expériences.

Voici quelques exemples de fonctionnalités complexes à rendre simples à utiliser :

  • la navigation dans une hiérarchie de groupes avec des salons de différents types. Il s’agit d’un concept central et utilisé extrêmement souvent, et il ne doit absolument pas être cause de frustrations ;
  • le chiffrement de bout en bout. La cryptographie de Matrix est plus complexe que celle de Signal ou de Whatsapp, car elle permet nativement l’utilisation de plusieurs appareils. Cela implique que ces appareils se vérifient, et qu’ils se partagent les clés de chiffrement des anciens messages. Les clés des anciens messages sont aussi stockées (de façon chiffrée) sur le serveur, permettant de ne pas perdre son historique en cas de perte de ses appareils ;
  • le concept de homeserver, intrinsèque à la décentralisation. Si le choix d’un serveur d’accueil n’a que peu d’impact sur l’utilisation elle-même, faire ce choix à la création de compte est quelque chose qui apporte souvent de la confusion ;
  • les arbres de réponses. Nous souhaitons permettre un fonctionnement de réponses en arbre, comme Twitter et Reddit, tout en évitant leurs deux écueils : obliger à naviguer vers une réponse puis revenir en arrière, ou utiliser l’indentation pour montrer la hiérarchie des réponses. La solution que nous avons trouvée nous semble efficace et instinctive, mais il reste à voir si ce sentiment sera partagé.

Outils de modération

Les règles de modération sont entre les mains des humain·es concerné·es, et sont donc plus fines que celles établies par des robots ou des modérateur·ices rémunéré·es.

Mais une modération communautaire implique aussi de ne pas créer d’interface de modération trop technique. Les permissions par défaut des salons sont en théorie une manière d’éviter cet écueil, mais les permissions par défaut d’Element ont à ce titre plusieurs répercussions contre-intuitives (par exemple, le droit d’inviter d’autres personnes dans un salon).

À terme, il est possible d’envisager des systèmes de modération ambitieux, comme une modération collective via du vote ou la nomination de rôles spéciaux, eux aussi soumis au vote.

Mais il existe aussi des enjeux de modération inhérents aux réseaux décentralisés. Typiquement, il s’agit de se prémunir du spam venant de serveurs que nous ne contrôlons pas, sans empêcher une personne bien intentionnée d’accéder aux salons publics.

Autres limitations actuelles de Matrix

Nous nous heurtons aussi à certaines limitations de Matrix, qui nécessiteront parfois de contribuer à la spécification du protocole, ou aux librairies et à l’implémentation de serveur que nous utilisons.

Mode déconnecté

Nous souhaitons permettre que les canaux publics soient visibles sans avoir besoin de se connecter. Malheureusement cette possibilité a toujours été contrainte par des limitations du protocole (peeking over federation) et est maintenant rendue encore plus difficile par l’absence de guest mode dans la nouvelle stack d’authentification de Matrix.

Recherche dans les messages chiffrés

C’est une difficulté en cours de résolution chez Element. Nous attendrons probablement de pouvoir utiliser leur solution.

Feeds

Si Posca ne cherche pas à reproduire le fonctionnement centré sur le feed des réseaux sociaux traditionnels, il nous semble pertinent de pouvoir observer sur une même page ce qu’il se passe sur différents salons (ce ne serait pas désirable dans les chats, mais très pertinent dans les fonctionnements microblogging, forum et partage de médias).

Cette fonctionnalité demandera des développements importants, nous prévoyons donc de nous y atteler après avoir développé le reste du client.

Fonctionnalités futures

Après le développement des fonctionnalités principales, nous prévoyons aussi :

  • Proposer un tableau de bord personnalisable de groupe, avec un aperçu de plusieurs salons ;
  • Ajouter des fonctionnalités d’organisation (par exemple de l’édition collaborative), et de prise de décisions (projet Topos).

Développement

Posca est développé en public sur GitLab.com, sous licence AGPLv3.

Posca est régulièrement redéployé sur posca.pm. Lorsque nous aurons les ressources pour héberger un serveur Matrix public, nous l’hébergerons sur le domaine imago.pm.

Stack technique

Posca est développé en OCaml, et utilise plusieurs librairies open-source.

Sponsors

Le développement de Posca est sponsorisé par la Fondation de France, dans le cadre de sa mission Numérique citoyen et responsable. Nous les remercions chaleureusement de croire en la pertinence de notre projet, et de faire confiance en notre capacité à le mener à bien.

GitLab nous permet également de profiter de toutes ses excellentes fonctionnalités grâce à son Open Source Program.

Si vous souhaitez vous-même contribuer financièrement au développement de Posca, n’hésitez pas à nous soutenir.

  • Contact
    • contact@technostructures.org
    • (EN) #technostructures-en:matrix.org
    • (FR) #technostructures-fr:matrix.org
  • Réseaux sociaux
    • @technostructures@chaos.social
    • @technostructur
  • Code
    • GitLab
    • GitHub