- Chatto est une application de chat pour groupes et équipes, similaire aux applications de chat de groupe comme Slack, Teams ou Discord, mais avec l’objectif d’offrir une expérience plus compacte et plus rapide
- Elle permet de lancer un serveur avec un simple exécutable et fournit aussi son propre frontend, ce qui la rend relativement simple à déployer sur une infrastructure personnelle
- Chaque serveur gère une seule communauté, sans fédération entre serveurs ni suivi ou analyse par des tiers
- Les données personnelles et de chat sont chiffrées au repos avec des clés propres à chaque utilisateur ; lors de la suppression d’un compte, la clé correspondante est détruite
- Il s’agit d’une application de chat pour groupes et équipes développée depuis environ un an, désormais officiellement open source et exploitable directement par chacun
Chatto publié pour l’auto-hébergement
- Chatto est une application de chat pour groupes et équipes développée depuis environ un an, désormais officiellement open source et exploitable directement par chacun
- La méthode la plus rapide pour la lancer consiste à utiliser Homebrew
brew install chattocorp/tap/chatto
chatto init
chatto run
- La procédure d’installation est disponible dans le Getting Started Guide
- Tout en visant des usages similaires aux applications de chat de groupe comme Slack, Teams ou Discord, Chatto met l’accent sur une expérience plus compacte et plus rapide
- Le fonctionnement en conditions réelles peut être consulté sur la Chatto HQ Community
Architecture serveur et modèle de sécurité
- Dans sa forme la plus basique, un serveur peut être lancé avec un seul exécutable, et le serveur fournit également son propre frontend
- La consommation de ressources est faible, et les données personnelles comme les données de chat sont entièrement chiffrées au repos avec des clés propres à chaque utilisateur
- Lorsqu’un utilisateur supprime son compte, sa clé utilisateur est détruite
- Chaque serveur Chatto fait fonctionner une seule communauté
- Il n’y a pas de fédération de données entre serveurs
- Il n’y a pas non plus de suivi ou d’analyse par des tiers
- Si l’on souhaite être présent sur plusieurs serveurs en même temps, le client se connecte directement à chaque serveur
- Pour héberger plusieurs communautés, il suffit d’exécuter plusieurs processus Chatto
- Les appels audio et vidéo ainsi que le partage d’écran sont pris en charge nativement
- Les appels sont chiffrés de bout en bout
- Le nombre de participants peut évoluer jusqu’aux limites que l’infrastructure de l’utilisateur peut supporter
Fichiers de déploiement et ressources d’exploitation
- Les binaires sont fournis pour Linux x86_64 et ARM64, macOS et Windows
- La documentation d’auto-hébergement est disponible dans la Chatto Self-Hosting Documentation
- Ressources associées
Chatto Cloud et hébergement payant
- Chatto Cloud doit bientôt entrer en bêta publique et proposera uniquement l’hébergement payant de serveurs Chatto
- Pas d’abonnement premium, de publicité ni d’autres éléments additionnels : seulement de l’hébergement
- Au lancement, l’infrastructure sera composée d’une infrastructure européenne et détenue en Europe
- Davantage de régions doivent être lancées début 2027
- Tous les serveurs Chatto Cloud proposeront l’autoscaling, une sauvegarde complète des données chaque nuit et des mises à niveau de version sans interruption
- Chatto Cloud est conçu pour ne pas créer de verrouillage
- Les serveurs hébergés sur Chatto Cloud sont compatibles à 100 % avec les serveurs auto-hébergés
- Il est possible à tout moment de déplacer ses données vers ou depuis Chatto Cloud
État de la version 0.4 et feuille de route jusqu’à la 1.0.0
- La version actuelle de Chatto est 0.4
- Elle est considérée comme suffisamment stable pour une utilisation en production
- Quelques fonctionnalités importantes manquent encore
- Le plan complet est disponible dans la Chatto Roadmap
- Chatto 0.5 se concentrera sur les fonctionnalités de sécurité et les améliorations du client
- Elle inclura le signalement de contenu et des fonctionnalités de modération
- L’accent sera notamment mis sur l’affinage des fonctionnalités multi-serveurs
- Chatto 1.0.0 devrait être atteint dans environ 6 à 12 mois
- Des changements incompatibles peuvent survenir d’ici là
- Les utilisateurs en auto-hébergement devront être prêts à mettre à jour lorsqu’une nouvelle version sera publiée
- Les annonces de release ou les notifications de lancement de la bêta de Chatto Cloud peuvent être reçues via la newsletter Chatto announcements, envoyée environ une fois par mois
2 commentaires
J’utilise Mattermost, mais comme ils poussent sans cesse vers l’offre Enterprise et réduisent les fonctionnalités de la version OSS,
quand Chatto sera suffisamment mature, j’aimerais bien développer un outil de migration depuis Mattermost.
Avis Hacker News
J’apprécie le fait que ce soit conçu pour être très facile à auto-héberger sur sa propre infrastructure. D’après la documentation (https://docs.chatto.run/), Chatto est distribué sous la forme d’un petit binaire autonome, utilise NATS, un broker de messages léger avec un moteur intégré de persistance des flux, et permet aussi de configurer un stockage d’objets externe compatible S3
Les appels eux-mêmes sont propulsés par LiveKit (Apache-2.0) et doivent être déployés avec Chatto, et c’est aussi appréciable qu’ils montrent une configuration de connexion avec un exemple de déploiement, comme pour NATS. C’est un excellent projet, avec de vrais guides et pas seulement des promesses
On dirait que oui d’après les captures d’écran, mais je n’ai pas trouvé de documentation expliquant où la télécharger
Je connais Hendrik depuis quelques années, et c’est l’un des développeurs les plus talentueux que j’aie rencontrés. Je suis convaincu que ce projet va réussir très vite
Le projet lui-même est intéressant, mais je suis surtout impressionné par le fait qu’il l’ait développé seul en s’appuyant sur le codage agentique
C’est globalement quelqu’un de bien, et je retravaillerais volontiers avec lui n’importe quand
S’ils envisagent de le vendre à des entreprises, ils devraient réfléchir au point « détruire les clés propres à l’utilisateur quand celui-ci supprime son compte ». Les messages professionnels n’appartiennent pas à l’utilisateur individuel, mais à l’employeur, donc il faut une suppression logique
En portugais, « chato » veut dire « ennuyeux », ça m’a fait rire. Mais à part ça, ça a l’air très facile à configurer et à utiliser
Vive les logiciels ennuyeux
En portugais/espagnol, ce sont assez souvent des termes d’argot NSFW
Très sympa. En revanche, rien sur le site ne permet de savoir s’il y a une prise en charge mobile
Pour faire migrer une entreprise ou même des amis, le support mobile est indispensable
https://github.com/orgs/chattocorp/projects/1?pane=issue&ite...
Il me semble que Mattermost, Element/Matrix, et peut-être certains ou tous les clients ActivityPub fonctionnent comme ça. Sinon, si auto-héberger le serveur signifie aussi devoir distribuer l’app cliente soi-même, il faut alors passer par l’App Store et assumer les coûts du programme développeur Apple
Je vais continuer à suivre ça. J’utilise actuellement Mattermost, mais sa grille tarifaire est assez irrégulière et très orientée entreprise, donc pour l’instant je continue avec la version open source, très limitée en fonctionnalités
Et en plus, l’absence d’appels vidéo me manquait, donc c’est bien que Chatto propose cette fonction
Je me demande pourquoi ils ont choisi une double licence. Le backend Go est sous AGPL, mais le frontend TypeScript semble être sous Apache 2.0
Je me demande pourquoi ils n’ont pas tout mis sous AGPL
Cela donne une forme légère d’exclusivité pour opérer leur propre offre cloud. En revanche, pour le frontend, une licence plus permissive a davantage de sens si l’on veut autoriser la personnalisation, le white-label, etc.
Grafana est un bon exemple. En 2021, ils sont passés d’Apache à AGPLv3 pour empêcher les fournisseurs cloud d’héberger des versions modifiées sans contribuer, tout en conservant les plugins sous licence Apache
Ce serait vraiment bien de pouvoir générer, après l’auto-hébergement, un paquet ou un lien qui gère le téléchargement, l’installation et même la préconfiguration de la connexion. Quelque chose comme un installeur personnalisé ou un script de configuration lié à une personne précise
L’objectif est de réduire au maximum la friction d’onboarding. Il peut y avoir des implications de sécurité si le lien est partagé par erreur, mais pour une petite instance auto-hébergée, ça semble relativement facile à atténuer. On pourrait aussi limiter cela aux comptes locaux
Ce serait alors beaucoup plus simple d’envoyer à un ami un lien du type « viens discuter avec moi ici », sans avoir à se soucier d’une réponse du genre « j’utilise déjà Discord, je n’ai pas envie de configurer tout ça »
Même si quelqu’un d’autre s’inscrit, il suffit par exemple de ne pas lui attribuer le rôle « groupe interne ». Est-ce que tu penses à quelque chose comme un lien d’invitation avec un jeton à usage unique ?
Très bien. J’ai déjà eu une idée similaire : beaucoup d’entreprises veulent quelque chose pour centraliser les notifications et exécuter des actions de bot simples, sans pour autant être liées à un fournisseur de chat en particulier
Ce serait vraiment intéressant si ça pouvait servir de frontend pour diverses intégrations, ou simplement pour du chat interne
J’aimerais savoir quels sont les avantages et les inconvénients de Chatto par rapport à Mattermost
Et au passage, je suis très heureux que le backend de Chatto soit implémenté en Go. Go est particulièrement adapté à ce type d’usage