Files
wiki/Catalogue-Self-Hosted/apps/app-chitchatter.md
T
2026-06-09 18:40:21 +02:00

105 lines
4.6 KiB
Markdown

---
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