twichat, un client Twitch de bureau centré sur le chat
twichat 0.1.0 est sorti : un client Twitch gratuit et open source pour macOS, Windows et Linux, où le chat prend la fenêtre et le direct se range à côté.
twichat 0.1.0 est sorti ce soir. C’est un client Twitch de bureau, gratuit et open source, pour macOS, Windows et Linux. Le principe tient en une phrase : un salon avec la télé allumée. Le chat prend la fenêtre, le direct se range à côté. On le télécharge sur twichat.theslumdogemillionaire.com.
Pourquoi un client de bureau
Sur une page de stream, le chat tient dans une colonne étroite à droite de la vidéo. Les pseudos sont coupés, les emotes réduites au minimum, et chaque chaîne demande son onglet de navigateur. Quand on suit plusieurs directs à la fois, ou qu’on vient surtout pour la conversation, ces proportions ne vont pas.
Dans twichat, elles sont à vous. Le chat occupe la largeur de la fenêtre, avec les avatars, les badges et les emotes en taille réelle. Les réponses forment des fils, les mentions colorent la ligne et vous notifient. Et le direct prend la place que vous lui laissez.
Ce que fait la version 0.1.0
- Jusqu’à vingt chaînes ouvertes dans la barre latérale, et ⌘ K pour passer de l’une à l’autre.
- Les emotes Twitch, 7TV, BetterTTV et FrankerFaceZ, rendues directement dans le chat.
- Plusieurs comptes Twitch, la reconnexion automatique au dernier utilisé, ou le mode anonyme pour lire et regarder sans compte.
- Les statistiques du direct (spectateurs, durée) et un explorateur des chaînes que vous suivez.
- Un thème clair et un thème sombre.
- Des mises à jour vérifiées au lancement puis toutes les six heures. Sous Windows, elles se téléchargent seules et s’appliquent au redémarrage.
La vidéo, à la place qu’on lui laisse
Le lecteur se montre, se cache, se redimensionne, passe en plein écran ou en audio seul. Il peut aussi sortir dans sa propre fenêtre, qui garde les proportions du direct et peut rester au-dessus des autres. Cette fenêtre suit le salon : même chaîne, mêmes commandes, et le choix est retenu pour chaque compte.
Sous le capot
twichat n’ouvre pas la page web de Twitch. Le chat passe par une seule connexion IRC chiffrée, partagée entre toutes les chaînes. Les messages arrivent par paquets toutes les 80 millisecondes plutôt qu’un par un, et quand une chaîne s’emballe, ce sont les vieux messages ordinaires qui sautent, jamais ceux de la modération.
Chaque chaîne garde ses 500 derniers messages, et seuls ceux qui sont à l’écran existent dans la page : une grosse chaîne coûte la même chose qu’une petite. Côté vidéo, l’application lit la playlist HLS de la chaîne, choisit la qualité d’après la résolution et le débit mesurés plutôt que d’après les étiquettes, et confie la lecture à hls.js. C’est la seule bibliothèque du projet qui touche au direct : le chat et le rendu des emotes sont faits maison.
L’application est construite avec Electron, Vite et TypeScript, en séparant strictement les rôles : seul le processus principal touche au réseau, au disque et aux jetons Twitch. Les fenêtres affichent et demandent, sans aucun accès direct.
Se connecter sans confier de secret
La connexion Twitch exige un secret qu’une application installée sur votre machine ne peut pas garder. L’échange passe donc par un petit serveur, et l’application ne voit jamais ce secret. Elle tire une valeur au hasard, n’en envoie que l’empreinte, et doit présenter l’original pour récupérer ses jetons : c’est le principe de PKCE. Le ticket intermédiaire vit deux minutes, ne sert qu’une fois, et trois mauvaises tentatives le détruisent.
Ce que twichat sait de vous
Presque rien, et c’est écrit noir sur blanc dans le dépôt. Aucune télémétrie, aucun outil d’analyse, aucun rapport d’erreur envoyé. Vos jetons Twitch sont chiffrés par le trousseau du système. Les messages du chat ne sont jamais enregistrés sur le disque : ils restent en mémoire et disparaissent à la fermeture. Pour tout effacer, il suffit de supprimer le dossier de l’application ; il n’y a aucun compte à fermer ailleurs.
Une alpha, au sens propre
La version 0.1.0 porte bien son nom. macOS sur Apple Silicon est la plateforme où l’application a été construite et éprouvée ; les versions Windows et Linux sont produites par la même chaîne, mais personne ne les a encore installées. Les applications ne sont pas signées : macOS affichera l’avertissement des développeurs non identifiés, Windows celui de SmartScreen.
Le code est sous licence MIT, sur GitHub. Si quelque chose casse, c’est là qu’il faut le dire, et c’est un peu le but d’une alpha.
Téléchargez-la, ouvrez vos chaînes, et dites-moi ce qui manque. Much chat. Such window.
Questions fréquentes
Qu’est-ce que twichat ?
Un client Twitch de bureau, gratuit et open source, où le chat occupe la fenêtre. Les avatars, les badges et les emotes s’affichent en entier, les réponses forment des fils, et le direct reste à côté, à la taille qu’on lui donne.
Peut-on utiliser twichat sans compte Twitch ?
Oui. Le mode anonyme permet de lire le chat et de regarder les directs. Un compte Twitch sert à envoyer des messages et aux fonctions qui demandent d’être connecté.
Sur quels systèmes twichat fonctionne-t-il ?
macOS, Windows et Linux. La version 0.1.0 est une alpha : seule la version macOS sur Apple Silicon a été réellement éprouvée, et les applications ne sont pas encore signées.
Combien de chaînes peut-on ouvrir en même temps ?
Jusqu’à vingt, dans la barre latérale, avec ⌘ K pour passer de l’une à l’autre. Une seule connexion IRC chiffrée les dessert toutes, et un seul flux vidéo est actif à la fois.
Quelles emotes twichat affiche-t-il ?
Les emotes Twitch, 7TV, BetterTTV et FrankerFaceZ, rendues directement dans le chat, avec les avatars et les badges Twitch.
twichat collecte-t-il des données ?
Non : aucune télémétrie, aucun outil d’analyse, aucun rapport d’erreur envoyé. Les jetons Twitch sont chiffrés par le trousseau du système, et les messages du chat ne sont jamais enregistrés sur le disque.


