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