Instant messaging [Slack, Mattermost, Zulip, Matrix etc]

Excellent sujet, car on croirait qu’en 2020, il n’y a rien de plus simple qu’une appli de chat… et en creusant on s’apperçoit qu’il n’y a pas grand chose qui fonctionne vraiment bien et on comprend pourquoi Slack se vend 27 milliards de dollars. Au boulot, on n’arrive pas à se sortir de Slack (et pourtant on essaye), nos critères sont assez clair et exigent :

  • une appli dispo nativement sous Linux et Mac Os, iOS et Android
  • chat, audio, vidéo (avec partage d’écran). Tout intégré en un clic, dans notre manière de travailler ça nous parait essentiel de pouvoir s’appeler facilement et instantanément quand le chat ne suffit plus.
  • prix max équivalent à slack (6$/user/mois)
  • le petit plus : possibilité de basculer une conversation audio de l’appli desktop au téléphone

On a testé teams mais il est vraiment pas agréable à utiliser. Mattermost mais ça ramait un peu sur iOs. On a de gros espoir sur Element.io mais pour l’instant ils ont encore des progrès à faire sur le partage d’écran. Rocket Chat et Zulip sont recalés d’office pour l’audio/vidéo ils passent par jitsi.

Si vous avez des candidats européens, je suis preneur on aime tester ce genre de truc et on aimerait que nos données soient hébergées par chez nous :slight_smile:

Sinon à titre perso (avec des amis), j’aime beaucoup le combo XMPP : prosody / conversation / DinoIM

1 « J'aime »

Salut, je reprends un peu la discussion car plusieurs choses m’interpellent dans ta réponse.

Je ne suis pas tout à fait d’accord sur le fait que “pas grand chose fonctionne vraiment bien”. J’utilise régulièrement plusieurs système d’im et j’en suis pleinement satisfait.
Bon mis à part les systèmes propriétaires, j’utilise au quotidien Zulip et Element (serveur synapse) et ça fonctionne juste bien.

Je ne connais pas cette possibilité de basculer une conversation audio depuis l’appli desktop vers le téléphone, à moins de créer une conférence, comment est ce possible ?

Pourquoi recaler Zulip qui passe par Jitsi ? Tu n’es pas obligé d’utiliser l’instance jitsi publique mais tu peux bien passer par celle que tu veux.

1 « J'aime »

Tu fais du partage d’écran (sous Mac et Linux) avec Element et ça marche ?

Non, il ne me semble pas que ça soit prévu.
Pour ça j’utilise Jitsi. Je ne suis pas partisan de tout mettre dans la même boite.
Pour faciliter ça dans Zulip, le bouton de création d’une room est “customisable” et permet d’ouvrir une conférence Jitsi sur l’instance souhaitée.
Idem pour Element de mémoire, mais via une intégration.

1 « J'aime »

Si c’est pour du chat uniquement dans ce cas, je suis très partisan de XMPP.

Le gros plus (à mon sens), c’est qu’il y a des clients natifs pour toute les plateformes et une facilité d’administration du serveur Prosody.

Alors personnellement j’avais monté un serveur prosody il y a une dizaine d’année et j’avais pas trouvé ça super simple :sweat_smile:
Mais sinon je valide XMPP, à l’époque c’était d’ailleurs le protocole utilisé par Google chat (et facebook?) ils empêchaient juste les serveurs tiers de se connecter aux leurs…

Prosody a très bien évolué, j’en ai mis un en place pendant le confinement ça marche très bien sans galère particulière pour ma part (je peux partager un role Ansible si besoin), les clients conversation (sous Android) et Dino (sous Gnome) sont moderne et évoluent régulièrement. Il y a des applis sous Windows.

J’ai vu ou entendu (je ne sais plus où) que What’s app est parti d’un fork du server ejabberd, donc il y a certainement eu des modifs mais visiblement le protocole tiens la charge.

1 « J'aime »

Je crois bien que oui. Tu en saura plus sur la base de Whatsapp en écoutant l’épisode 63 de IFTTD :
A Wrinkle in time: Erlang

2 « J'aime »

J’ai installé quelques serveurs xmpp il y a quelques années (ejabberd, prosody). Et je pense (mais ça n’engage que moi) qu’il est compliqué de comparer un serveur xmpp out of the box et un service d’instant messaging à la mattermost, ou zulip.

Un serveur xmpp de base, si mes souvenirs sont bons ne fait pas grand chose de plus que qu’envoyer des messages d’un point A à un point B.
La gestion de l’historique dans une room n’est pas forcément native, le transfert de fichiers non plus à moins d’installer un serveur avec les bonnes xep pré-installées.

Mon avis est forcément biaisé (j’en conviens) car je suis intimement persuadé que certains systèmes de messageries ont complètement remplacés xmpp.La seule chose qui le ferait survivre aujourd’hui serait la fédération (qui est présente et fonctionne bien dans matrix).

Essayer de construire une communauté autour d’xmpp c’est se fermer de certaines personnes. Ou alors il faut fournir un frontend facile (web ?) aux utilisateurs qui n’ont pas envie d’avoir à configurer un quelconque client.

2 « J'aime »

Oui, on ne peut d’ailleurs pas comparer des outils comme Slack, Teams, Mattermost, … à de simples outils de discussion instantané type XMPP.

Bien-sûr qu’on peut comparer XMPP avec les autres outils de messagerie texte. Je rappelle que je ne parle pas d’audio mais que messagerie texte (cf mes messages plus haut).

Je vous recommande de tester les clients dino-im et conversation avec une installation de Prosody ce sont des bombes. On est très loin de Pidgin d’un point de vue fonctionnel (les anciens sauront de quoi je parle).

Pour reprendre tes arguments @unam :

Un serveur xmpp de base, si mes souvenirs sont bons ne fait pas grand chose de plus que qu’envoyer des messages d’un point A à un point B.
La gestion de l’historique dans une room n’est pas forcément native, le transfert de fichiers non plus à moins d’installer un serveur avec les bonnes xep pré-installées.

C’est fini ce temps là, avec Prosody, il n’y a que quelques lignes dans la config à décommenter et j’ai ssl via let’s encrypt, les transferts de fichiers activés, un historique des messages paramétrable, la gestion de chatroom.

Mon avis est forcément biaisé (j’en conviens) car je suis intimement persuadé que certains systèmes de messageries ont complètement remplacés xmpp.La seule chose qui le ferait survivre aujourd’hui serait la fédération (qui est présente et fonctionne bien dans matrix).

Le graphique ci dessus représente le nombre d’instance installée de Prosody. Il est produit à l’aide Shodan, ça laisse penser que l’utilisation de l’application est plutôt en croissance même si le boom le jitsy (qui intègre Prosody n’est pas pour rien dans le pic de mars 2020 :)) (Source : How Prosody developers spent 2020 | Prosodical Thoughts )

Ca bouge beaucoup du coté d’XMPP en ce moment et le protocole est loin d’être mort. Leur faiblesse c’est d’être très technique et donc difficile d’accès (le podcast récent « Libre à vous » sur le sujet en est un parfait exemple) mais leur force c’est d’être une norme (et donc n’importe quel développeur peut se lancer dans la construction d’un client ou d’un serveur), ce que ne permettent pas facilement les autres.

Je pense que ce que vous avez pratiqué, il y a quelques années n’a rien à voir avec ce qui est dispo maintenant, je recommande fortement de tester l’outil. Je peux fournir les scripts Ansible pour Prosody pour les curieux si besoin.

Le développement d’XMPP est assez dynamique en ce moment. J’espère qu’ils vont réussir à intégrer l’audio et la vidéo (il me semble que la fonction est spécifiée, on attend l’arrivée de la chose dans les clients principaux).

1 « J'aime »

Sauf que Slack, Teams, Mattermost… sont des outils de collaboration temps-reel, c’est plus que de la messagerie instantanée en terme de fonctionnalités et d’intégrations.

2 « J'aime »

Peux-tu préciser collaboration ?

Sans parler des appels audio/vidéo/partage d’écran/tableau collaboratif, il y a à mon sens des fonctionnalités importantes comme :

  • Possibilité de créer des fils de discussions, d’épingler des discussions…etc.
  • Gestion des channels.
  • Support des code snippets.
  • Partage de documents.
  • Fonctionnalités de recherches avancées.
  • Intégrations diverses (Google Drive, Jira, Confluence, Bitbucket, Gitlab, bots …).

Bref, tout ça pour dire que ce n’est pas un simple échange de messages, il y a un ensemble d’interactions et d’intégrations.

3 « J'aime »

Merci pour le détail, tes remarques sont plus claires pour moi. Dans ta liste, je pense que le point manquant à XMPP sont les fils de discussion, je ne pense pas avoir vu de chose du genre, et, effectivement c’est très pratique (même si ça peut être contourné par l’utilisation de channel, j’avoue que c’est pas pareil).

Concernant, les autres points, on peut trouver des choses équivalentes : pour les snippet on peut copier / coller des url gitlab, partage de document biensûr qu’on peut faire ça, intégration système tier, il y a un système de webhook dans prosody (à tester).

1 « J'aime »

Oui, tout semble possible à priori.
Là avec des outils déjà prêt c’est du temps de gagné. J’ai quelques bots sur mon serveur zulip comme par exemple :

  • Flux RSS : Refresh une liste de flux rss (anssi, cert etc) et qui poste un message par sujet dans une room
  • Commit msg : Dès que quelqu’un pousse un changement dans un projet donné, le bot post dans le stream dédié
    etc.

Le gros avantage c’est que j’ai configuré ça en 15 minutes et que je l’ai laissé depuis. Petit à petit l’outil devient une sorte de centre de communication entre projets, entre personnes, entre outils.

1 « J'aime »

D’un point de vu pro, on utilise Slack plus comme un outil de chat / audio / partage d’écran (pour expliquer un truc aux collègues), on n’a pas poussé l’utilisation de hook et on n’en a pas le besoin.

Le gros point positif de XMPP c’est la légèreté sur ma machine :

  • dino-im : 88Mo en RAM
  • slack : 818Mo en RAM

Cela principalement car on a des clients natif à la différence de toutes les autres messageries dont les application desktop sont codé en Electron.

1 « J'aime »

Je rejoints ton commentaire, toutes ces apps en electron consomment énormément de ressources.

Parfois je me contente de passer par leur interface web, sinon j’utilise Rambox (qui n’est pas léger en ressources).

1 « J'aime »