4.6 KiB
title: Chitchatter created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, messaging, p2p, webrtc, e2e, browser, sans-serveur, foss] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Messaging, https://github.com/jeremyckahn/chitchatter, https://chitchatter.im/]
💬 Chitchatter
Du chat P2P pur, dans le navigateur, sans aucun serveur central : chaque conversation est un canal WebRTC chiffré entre pairs. Pas de backend à déployer, pas de base de données, pas de trace côté serveur — uniquement les pairs.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | chitchatter.im |
| GitHub | jeremyckahn/chitchatter |
| Licence | MPL-2.0 |
| Langage | JavaScript, TypeScript |
| Étoiles GitHub | 2.3k ⭐ |
| Catégorie | Messaging |
📝 Description
Chitchatter est une expérience radicale : un client de chat 100% peer-to-peer qui tourne entièrement dans le navigateur. Pas de serveur de messagerie, pas de base de données : chaque salon de discussion est un canal WebRTC établi directement entre les participants, le chiffrement E2E est systématique, et seuls les pairs connectés détiennent l'historique des messages.
L'app utilise un serveur de signaling minimal (juste pour établir la connexion initiale) qui peut être remplacé par votre propre instance si vous souhaitez un contrôle total. Ensuite, tous les échanges passent en P2P via WebRTC DataChannel, ce qui rend Chitchatter résistant à la censure et à l'analyse réseau en clair.
Fonctionnalités notables : salons publics ou privés (avec lien d'invitation), partage de fichiers chiffré en P2P, messagerie directe, modèles de LLM locaux (intégration optionnelle pour les conversations IA), citations et Markdown, avatars et profils locaux (pas d'annuaire central). C'est un excellent choix pour des conversations sensibles, à condition que tous les pairs soient en ligne simultanément pour persister l'historique.
🚀 Installation
Utilisation directe (le plus simple)
Rendez-vous sur chitchatter.im : aucun compte, aucune installation. Créez un salon, partagez le lien.
Auto-hébergement via Docker
services:
chitchatter:
image: ghcr.io/jeremyckahn/chitchatter:latest
container_name: chitchatter
restart: unless-stopped
ports:
- "8080:8080"
environment:
PORT: 8080
# Signaling server par défaut, ou votre propre instance
PUBLIC_URL: https://chat.example.com
Build statique
git clone https://github.com/jeremyckahn/chitchatter
cd chitchatter
npm install
npm run build
# Le build statique est servable depuis n'importe quel serveur web
⚙️ Configuration Initiale
- Choisir l'instance de signaling : publique par défaut ou auto-hébergée (variable d'environnement
SIGNALING_URL). - Configurer HTTPS : WebRTC impose HTTPS (sauf localhost).
- (Optionnel) Activer le mode TURN si des pairs sont derrière des NAT très stricts.
- Tester un salon à 2 pairs pour valider la connectivité.
- Partager le lien avec vos contacts : ils rejoignent instantanément.
🔄 Alternatives
- Briar — P2P via Tor/Bluetooth, apps natives Android
- Jami — P2P distribué, multi-plateforme
- Tox — P2P avec clients desktop
- SimpleX Chat — P2P aussi, mais avec serveurs de files chiffrés optionnels
- Matrix / Element — Fédéré mais avec serveurs persistants
🔐 Sécurité
- ✅ Chiffrement E2E obligatoire sur tous les canaux WebRTC
- ✅ Aucun message ne transite par un serveur applicatif après l'établissement du canal
- ✅ Open-source et auditable (MPL-2.0)
- ⚠️ L'historique de conversation n'existe que sur les pairs connectés : si personne n'est en ligne, pas d'archive
- ⚠️ Vulnérable à l'analyse du trafic de signaling si le serveur de signaling n'est pas de confiance
📚 Ressources
Pages Liées
- cat-messaging — Catégorie Messaging
- app-traefik — Reverse proxy HTTPS (requis pour WebRTC)
- securisation-home-lab — Bonnes pratiques P2P
- recettes-docker-compose — Stack static + reverse proxy
- app-simplex-chat — Autre approche privacy-first