C'est quoi bitchat ?
bitchat est une application de messagerie instantanée P2P décentralisée. Son truc le plus cool ? Aucun besoin d'internet. Grâce au réseau Mesh Bluetooth Low Energy (BLE), les appareils à proximité forment automatiquement un réseau et relaient les messages sur plusieurs sauts. Résultat : une vraie communication hors ligne.
Le projet dépasse déjà 28 000 étoiles sur GitHub. C'est l'un des projets de communication open-source les plus populaires du moment. Il est publié sous licence Unlicense (domaine public), donc totalement libre d'utilisation.
Les fonctionnalités clés en un coup d'œil
| Fonctionnalité | Description |
|---|---|
| 🔌 Double architecture de transport | Bluetooth Mesh (hors ligne local) + protocole Nostr (communication mondiale via internet) |
| 🔒 Chiffrement de bout en bout | Noise Protocol pour Bluetooth, NIP-17 pour Nostr |
| 📡 Auto-organisation du réseau | Découverte automatique des appareils, relais multi-sauts (jusqu'à 7 sauts) |
| 🕵️ Anonymat total | Pas de compte, pas de numéro de téléphone, pas d'identifiant persistant |
| 🌍 Canaux géographiques | Salons de discussion basés sur le geohash |
| 🚨 Effacement d'urgence | Trois tapotements sur l'écran = suppression immédiate de toutes les données |
| 📱 Multi-plateforme | Support natif iOS + macOS |
En quoi ça diffère des apps de chat classiques ?
WeChat/Telegram/Signal :
Utilisateur → Internet → Serveur central → Internet → Utilisateur
bitchat (mode Bluetooth) :
Appareil A → Appareil B → Appareil C → Appareil D (Mesh multi-sauts, sans internet)
bitchat (mode Nostr) :
Utilisateur → Réseau de relais Nostr (décentralisé) → Utilisateur
La différence fondamentale : quand les antennes sont coupées, que le réseau est en panne, ou que vous êtes au fond des bois, bitchat continue de fonctionner.
Analyse approfondie de l'architecture
Le génie de bitchat, c'est sa double architecture hybride : le Bluetooth gère la communication locale, Nostr s'occupe de la connectivité mondiale, et les deux basculent de manière transparente.
Couche réseau Bluetooth Mesh
Le Mesh Bluetooth est l'innovation centrale de bitchat. Il utilise le Bluetooth Low Energy (BLE) pour connecter les appareils directement :
- Découverte automatique : les appareils identifient automatiquement les nœuds à proximité
- Relais multi-sauts : les messages peuvent traverser jusqu'à 7 appareils, ce qui étend considérablement la portée
- Chiffrement Noise Protocol : chiffrement de bout en bout avec forward secrecy. Même si une clé est compromise, les messages passés restent illisibles
- Protocole binaire : format de données compact optimisé pour la bande passante limitée du BLE
- Gestion adaptive de l'énergie : régulation intelligente du cycle de travail pour prolonger l'autonomie
Couche protocole Nostr
Quand le Bluetooth n'est pas disponible, bitchat bascule automatiquement sur Nostr pour communiquer via internet :
- 290+ nœuds relais dans le monde : un réseau distribué pour garantir la fiabilité
- Canaux géolocalisés : chat communautaire local basé sur les coordonnées geohash
- Chiffrement NIP-17 : messages privés « gift-wrapped » pour protéger la confidentialité sur internet
- Clés éphémères : chaque zone geohash utilise une identité cryptographique entièrement nouvelle
Routage intelligent des messages
La stratégie de routage de bitchat est plutôt maligne :
Priorité 1 : connexion Bluetooth directe (le plus rapide, le plus privé)
↓ si indisponible
Priorité 2 : relais Nostr (couverture mondiale)
↓ si indisponible
Priorité 3 : file d'attente des messages (livraison automatique dès que la connexion revient)
Installation et prise en main
Installation sur iOS / macOS
bitchat est une application native de l'écosystème Apple, disponible directement sur l'App Store :
Cherchez "Bitchat Mesh" sur l'App Store pour l'installer
Compilation depuis les sources (développeurs)
Si vous voulez compiler vous-même ou contribuer au développement :
# Cloner le repository
git clone https://github.com/permissionlesstech/bitchat.git
cd bitchat
# Utilisateurs macOS : un seul commande suffit
brew install just
just run
# Ou ouvrez avec Xcode
open bitchat.xcodeproj
Quelques étapes de configuration à ne pas oublier lors de la compilation :
# 1. Copier le modèle de configuration locale
cp Configs/Local.xcconfig.example Configs/Local.xcconfig
# 2. Ajoutez votre Developer Team ID dans Local.xcconfig
# 3. Mettez à jour manuellement les Entitlements :
# Remplacez group.chat.bitchat par group.<votreTeamID>
Première utilisation
À l'ouverture de bitchat, vous tombez sur une interface terminal style IRC — c'est justement sa signature :
╔══════════════════════════════════╗
║ bitchat v2.0 ║
║ bluetooth mesh chat ║
╠══════════════════════════════════╣
║ [mesh] Bienvenue sur le réseau mesh ! ║
║ [mesh] 3 appareils détectés à proximité ║
║ ║
║ <alice> Salut, y a quelqu'un ? ║
║ <bob> Oui ! Le signal est bon ║
║ <you> Message test, ça marche même hors ligne ║
║ ║
║ > /help pour voir toutes les commandes ║
╚══════════════════════════════════╝
Aide-mémoire des commandes IRC
bitchat reprend le style classique des commandes IRC. Les vieux de la vieille se sentiront comme chez eux :
# Commandes de base
/msg <utilisateur> <message> # Envoyer un message privé
/who # Voir les utilisateurs en ligne
/slap <utilisateur> # Interaction IRC classique (slap !)
/help # Voir toutes les commandes disponibles
# Canaux et géolocalisation
/join <canal> # Rejoindre un canal
/geo # Voir le canal géographique actuel
/location <précision> # Définir la précision du canal géographique
# block = niveau quartier
# neighborhood = niveau voisinage
# city = niveau ville
# province = niveau région/département
# region = niveau pays/grande zone
# Sécurité
/wipe # Effacement d'urgence de toutes les données (aussi déclenchable par triple tapotement)
Utilisation avancée
Configurer le canal géographique
Les canaux géo sont une fonctionnalité killer de bitchat. Vous pouvez chatter avec tous les utilisateurs bitchat de votre zone, sans avoir besoin de vous ajouter mutuellement :
# Niveau ville (visible par les personnes dans un rayon de quelques kilomètres)
/location city
# Niveau quartier (seulement les personnes très proches)
/location block
# Voir votre canal géographique actuel
/geo
Les canaux utilisent l'encodage geohash, avec une précision allant du plus large au plus fin :
| Précision | Longueur geohash | Couverture | Cas d'usage |
|---|---|---|---|
| region | 2 caractères | Niveau pays | Discussion nationale |
| province | 4 caractères | Niveau région/département | Échanges régionaux |
| city | 5 caractères | Niveau ville | Communauté locale |
| neighborhood | 6 caractères | Niveau voisinage | Échanges de quartier |
| block | 7 caractères | Niveau pâté de maisons | Rencontres en face à face |
Comment fonctionne le chiffrement des messages privés
bitchat adapte automatiquement le chiffrement au mode de transport utilisé :
Mode Bluetooth (Noise Protocol) :
1. Établissement de la connexion BLE entre les deux appareils
2. Handshake Noise Protocol
3. Génération d'une clé de session (forward secrecy)
4. Tous les messages sont chiffrés de bout en bout
Mode Nostr (NIP-17 Gift Wrap) :
1. Récupération de la clé publique Nostr du destinataire
2. Chiffrement du message avec la clé publique
3. Encapsulation supplémentaire avec une clé éphémère (gift wrap)
4. Livraison via les relais Nostr — les relais ne peuvent pas déchiffrer le contenu
Mécanismes de sécurité d'urgence
Dans des situations sensibles (manifestations, zones sinistrées), bitchat offre une fonction d'effacement rapide :
- Effacement par triple tapotement : tapez trois fois sur l'écran et toutes les données de chat, clés et identités sont instantanément supprimées
- Pas d'identifiant persistant : chaque connexion utilise une identité temporaire, aucune trace n'est conservée
- Stockage local uniquement : toutes les données restent sur l'appareil, rien n'est envoyé à un serveur
Cas d'usage concrets
Scénario 1 : Randonnée / trek en montagne
Quand il n'y a pas de réseau téléphonique en montagne, bitchat permet aux membres du groupe de rester en contact :
# Tous les membres ouvrent bitchat
# Découverte automatique des appareils à proximité, formation du réseau Mesh
# Les messages transitent par multi-sauts : même si le groupe se disperse, la communication continue
# Configurer le canal ville pour joindre des personnes à proximité
/location city
Scénario 2 : Festivals / grands événements
En concert ou en festival, les antennes sont souvent saturées. bitchat, lui, n'en a rien à faire :
# Configurer le canal niveau pâté de maisons
/location block
# Discuter avec les gens autour, partager sa position
/msg ami Je suis à gauche de la scène, tu me vois ?
Scénario 3 : Communication d'urgence en cas de catastrophe
Séismes, inondations — quand les antennes sont hors service, bitchat peut devenir un outil vital :
# Fonctionne totalement hors ligne, aucune infrastructure nécessaire
# Le Mesh multi-sauts permet aux messages de voyager plus loin
# Le chiffrement de bout en bout protège la confidentialité des appels à l'aide
Scénario 4 : Besoins de confidentialité
Quand on ne veut pas être surveillé :
# Anonymat total, pas besoin de numéro de téléphone
# Le mode Bluetooth ne passe par aucun serveur
# Effacement rapide en trois tapotements pour supprimer les preuves
Comparaison avec d'autres outils de communication décentralisés
| Fonctionnalité | bitchat | Briar | Bridgefy | Meshtastic |
|---|---|---|---|---|
| Mesh Bluetooth | ✅ | ✅ | ✅ | ✅ (LoRa) |
| Repli internet | ✅ Nostr | ✅ Tor | ❌ | ❌ |
| Chiffrement de bout en bout | ✅ | ✅ | ✅ | ✅ |
| Anonyme sans inscription | ✅ | ✅ | ❌ | ✅ |
| Support iOS | ✅ | ❌ | ✅ | ❌ |
| Canal géographique | ✅ | ❌ | ❌ | ❌ |
| Licence open-source | Unlicense | GPL | Partiellement open-source | GPL |
| Étoiles GitHub | 28K+ | 5K+ | 3K+ | 4K+ |
L'avantage unique de bitchat, c'est son architecture double Bluetooth + Nostr et ses canaux géographiques. Aucun outil comparable n'offre les deux.
Conclusion
bitchat est un outil de communication décentralisé élégamment conçu. Il prouve une chose : quand les infrastructures lâchent, on peut quand même rester connectés.
Pour qui ? - 🏕️ Les amateurs de plein air (randonnée, camping, exploration) - 🎪 Les participants aux grands événements (festivals, salons, événements sportifs) - 🔐 Les geeks de la vie privée (anonymat total recherché) - 🆘 Ceux qui ont besoin de communication d'urgence (secours, préparation aux catastrophes) - 👨💻 Les développeurs (curieux des réseaux Mesh et des protocoles décentralisés)
Adresse du projet : github.com/permissionlesstech/bitchat
Téléchargement : iOS/macOS, cherchez simplement "Bitchat Mesh" sur l'App Store
À une époque où toutes nos communications dépendent de serveurs centralisés, bitchat nous rappelle une vérité essentielle : la vraie liberté de communication, c'est celle qui n'a besoin de la permission de personne.