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