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