Système de chat: migration vers m̶a̶t̶r̶i̶x̶ mattermost

Coucou,

Un petit message pour signifier un changement du système de chat utilisé par AliENS: il s’agit désormais de Matrix.

Matrix c’est un « nouveau » protocole (qui date de y’a moins de 10 ans) qui est pas encore tout à fait standardisé, ni stable, mais l’expérience utilisateur est meilleure, à mon avis, ce que qu’on utilisait jusque là (XMPP + Converse.js).

Le service est toujours disponible sur https://chat.aliens-lyon.fr/ en utilisant l’authentification centralisée AliENS Auth, pour une interface web, et des clients mobile et desktop sont disponibles.

Association ? Club ? Promo ? Truc en rapport avec l’ENS ? Il est possible de créer des canaux de discussion en se connectant au service, canaux sur lesquels vous aurez la main ! N’hésitez pas !

Le canal de discussion est « bridgé » avec le canal IRC, donc il est toujours possible d’utiliser IRC pour parler sur le canal AliENS.

Une capture d’écran du nouveau système ci-dessous:

Pour y accéder depuis un client « lourd » (mobile ou desktop), l’adresse du serveur est https://matrix.aliens-lyon.fr/, et vous serez normalement redirigé vers AliENS Auth pour la connexion

Je me suis beaucoup posé la question de quel système de chat mettre en place.

AliENS a longtemps utilisé principalement IRC, dont l’interface est souvent austère, et pour lequel il n’y a pas d’historique à disposition de base, et qui est principalement orienté pour un échange textuel: impossibilité d’échange d’images, de fichiers, de manière simple, sans les héberger ailleurs.

On est ensuite passé à XMPP, qui a l’avantage d’être épprouvé, de supporter plus de fonctionnalités qu’IRC (chiffrement de bout en bout par exemple) tout en restant fédéré, standard, et en étant développé de manière ouverte. Cependant, il n’y a pas de client web à la hauteur, à mon avis. Il y a Converse.js, qui s’en rapproche très fortement, mais l’interface reste assez basique. C’est ce qui a été choisi pour propulser le service de chat, mais certain blocs (comme l’interfaçage avec OpenId, qu’utilise AliENS Auth) ont du être développés par AliENS, ce qui pose un problème de maintenance et de mise à jour, ainsi que de temps.

Un an ou presque après la mise en place du service de chat, moins de 30 personnes s’y sont connectées, que je place sur un problème de communication et un manque d’attirance pour le service, ce qui explique pourquoi un nouveau changement de système.

Il y a donc Matrix, « nouveau » protocole fédéré, qui a l’air d’avoir un client web joli, et a le vent en poupe. Il y a cependant plusieurs problèmes avec Matrix:

  • La documentation est moisie
  • Le serveur consomme beaucoup, et demande des ressources importantes, comparé à quelque chose comme XMPP
  • Le « standard » ne l’est pas: il évolue sans cesse, et n’est toujours pas stable
  • Une seule boite soutient globalement le projet, et est le moteur du développement, ce qui peut poser problème si elle fait faillite

Pourquoi Matrix, du coup ?

Je pense que des progrès peuvent être fait du côté du serveur, de la documentation, et on peut espérer que le standard va converger à un certain moment.

Aussi, c’est ce système qui a été retenu pour propulser la messagerie de l’état Français, Tchap, qui fonctionne plutôt bien et qui a pas mal d’utilisateurs (de l’ordre de quelques milliers d’actifs, de mon expérience). Mozilla a par exemple migré l’ensemble de ses canaux de discussion de IRC vers Matrix: https://blog.mozfr.org/post/2020/03/Mozilla-passe-a-Matrix

Du coup, autant donner sa chance à Matrix, et si jamais ça coule, refaire un tour dans le reste de l’écosystème.

Rémy

Petite mise à jour sur la question. Je perds peu à peu espoir en Matrix:

  • Les « communautées » (groupes) sont complètement pétées depuis plus d’un an, à tel point qu’il est même déconseillé d’utiliser la feature, même si elle apparait toujours dans le fichier de configuration. Ainsi, les communautés, même si annoncées comme faisant partie de Matrix, ne sont pas supportées.
  • Le fonctionnement de la fédération est tel que fédérer avec le reste des serveurs, et tenter de rejoindre un « gros » salon peut prendre des heures, même si ça s’améliore peu à peu…
  • La documentation est quasi inexistante: pour configurer un serveur, la meilleure documentation disponible est « contenue » dans le fichier de configuration écrit en yaml, et qui fait à l’heure actuelle plus de 2000 lignes de long
  • Même si le « bridge » avec IRC fonctionne, il prévient les utilisateurs côté matrix qu’ils sont en train de parler avec des personnes sur IRC, ce qui empêche un bridge « transparent ». Ça a été soulevé plusieurs fois dans les issues [1][2] mais rien ne semble fait sur ce sujet. Le bridgins avec IRC n’est pas vraiment bien fait, non plus, notamment sur la limite de la taille des messages

Alors, oui, ça fonctionne globalement, on peut envoyer et recevoir des messages, des photos, des documents, mais ça reste assez moyen si l’on considère tout mis bout-à-bout. Et ces fonctionnalités peuvent aussi être assurées par des choses probablement un peu plus performantes et plus stables.

Passage à Mattermost, finalement, pour beaucoup des raisons mentionnées ci-dessus. Mattermost est le seul système opensource (même si toutes les fonctionnalités de la version Entreprise ne sont pas disponibles dans la version opensource) qui gère correctement les « équipes », c’est-à-dire un moyen de grouper des canaux entre eux.

L’interface reste assez classique, là où Zulip aurait probablement été assez déconcertant (et ne gère pas encore les permissions et les groupes de canaux).