--- 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](https://chitchatter.im/) | | **GitHub** | [jeremyckahn/chitchatter](https://github.com/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](https://chitchatter.im/)** : aucun compte, aucune installation. Créez un salon, partagez le lien. ### Auto-hébergement via Docker ```yaml 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 ```bash 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 1. **Choisir l'instance de signaling** : publique par défaut ou auto-hébergée (variable d'environnement `SIGNALING_URL`). 2. **Configurer HTTPS** : WebRTC impose HTTPS (sauf localhost). 3. **(Optionnel) Activer le mode TURN** si des pairs sont derrière des NAT très stricts. 4. **Tester un salon à 2 pairs** pour valider la connectivité. 5. **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 - [Site officiel](https://chitchatter.im/) - [GitHub jeremyckahn/chitchatter](https://github.com/jeremyckahn/chitchatter) - [Démo en ligne](https://chitchatter.im/) - [Documentation WebRTC DataChannel](https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Using_data_channels) ## 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