110 lines
4.5 KiB
Markdown
110 lines
4.5 KiB
Markdown
---
|
|
title: Positive Intentions Chat
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, messaging, anonyme, minimaliste, foss, pwa, web]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=Messaging, https://github.com/positive-intentions/chat]
|
|
---
|
|
|
|
# 💬 Positive Intentions Chat
|
|
|
|
> **Un chat anonyme et minimaliste dans le navigateur** : Positive Intentions Chat mise sur l'absence d'inscription, la simplicité d'usage et la confidentialité par défaut. Pas de compte, pas de mail, pas de tracking — juste un salon à partager.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Champ | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | [positive-intentions.com](https://positive-intentions.com/) |
|
|
| **GitHub** | [positive-intentions/chat](https://github.com/positive-intentions/chat) |
|
|
| **Licence** | MIT |
|
|
| **Langage** | JavaScript, TypeScript |
|
|
| **Étoiles GitHub** | 325 ⭐ |
|
|
| **Catégorie** | Messaging |
|
|
|
|
## 📝 Description
|
|
|
|
**Positive Intentions Chat** fait partie d'une suite plus large (Positive Intentions) qui inclut aussi partage de fichiers, notes chiffrées, et un agenda — tous construits sur la même philosophie : **technologies web standards, zéro tracking, zéro inscription, chiffrement par défaut**. Le module Chat est le plus mature de la suite.
|
|
|
|
L'approche est volontairement **minimaliste** : on ouvre l'URL, on choisit un pseudonyme (éphémère, non enregistré), on rejoint un salon ou en crée un, on partage le lien. **Aucun backend central** n'est requis pour l'usage standard : la communication passe par **WebRTC** entre pairs, avec un serveur de signaling minimal (configurable et auto-hébergeable).
|
|
|
|
Cas d'usage typiques : conversations ponctuelles entre amis, support communautaire éphémère, channel de coordination pour un projet à durée limitée. Pour un usage long terme avec historique persistant, il faut s'orienter vers Matrix ou Rocket.Chat. Pour un chat rapide, jetable et sans friction, c'est exactement la bonne taille.
|
|
|
|
## 🚀 Installation
|
|
|
|
### Via Docker (recommandé)
|
|
|
|
```yaml
|
|
services:
|
|
chat-signaling:
|
|
image: ghcr.io/positive-intentions/chat-signaling:latest
|
|
container_name: pi-chat-signaling
|
|
restart: unless-stopped
|
|
ports: ["3000:3000"]
|
|
environment:
|
|
NODE_ENV: production
|
|
PUBLIC_URL: https://chat.example.com
|
|
|
|
chat-app:
|
|
image: ghcr.io/positive-intentions/chat:latest
|
|
container_name: pi-chat-app
|
|
restart: unless-stopped
|
|
ports: ["8080:8080"]
|
|
depends_on: [chat-signaling]
|
|
```
|
|
|
|
### Build statique
|
|
|
|
```bash
|
|
git clone https://github.com/positive-intentions/chat
|
|
cd chat
|
|
npm install
|
|
npm run build
|
|
# Servir dist/ avec n'importe quel serveur web (Nginx, Caddy)
|
|
```
|
|
|
|
### Utilisation directe (le plus simple)
|
|
|
|
Aller sur **[positive-intentions.com/chat](https://positive-intentions.com/chat)**, créer un salon, partager l'URL.
|
|
|
|
## ⚙️ Configuration Initiale
|
|
|
|
1. **Déployer le serveur de signaling** (Docker) — c'est l'unique composant serveur persistant.
|
|
2. **Configurer HTTPS** (obligatoire pour WebRTC).
|
|
3. **Changer le pseudonyme par défaut** si vous voulez une identité reconnaissable.
|
|
4. **Tester un salon à 2 pairs** sur des réseaux différents (NAT traversal).
|
|
5. **Configurer un TURN server** si des pairs sont derrière des NAT très stricts.
|
|
|
|
## 🔄 Alternatives
|
|
|
|
- **Chitchatter** — Approche P2P similaire, plus mature
|
|
- **Briar** — P2P via Tor/Bluetooth, plus pour mobile Android
|
|
- **Tox** — P2P desktop, chiffrement E2E
|
|
- **SimpleX Chat** — P2P avec serveurs de files chiffrés
|
|
- **Matrix / Element** — Pour persistance et fédération
|
|
|
|
## 🔐 Sécurité
|
|
|
|
- ✅ **Pas d'inscription, pas d'identité persistante** : la privacy est l'état par défaut
|
|
- ✅ **Chiffrement E2E** sur les canaux WebRTC
|
|
- ✅ **Open-source** (MIT), code auditable
|
|
- ⚠️ **Pas d'historique persistant** : si personne n'est en ligne, les messages disparaissent
|
|
- ⚠️ **Anonymat ≠ protection** : l'absence d'auth peut faciliter l'usurpation de pseudonyme (à utiliser pour des contextes de confiance)
|
|
|
|
## 📚 Ressources
|
|
|
|
- [Site officiel](https://positive-intentions.com/chat)
|
|
- [GitHub positive-intentions/chat](https://github.com/positive-intentions/chat)
|
|
- [Démo en ligne](https://positive-intentions.com/chat)
|
|
- [Documentation (README)](https://github.com/positive-intentions/chat#readme)
|
|
|
|
## Pages Liées
|
|
|
|
- [[cat-messaging]] — Catégorie Messaging
|
|
- [[app-chitchatter]] — Alternative P2P plus mature
|
|
- [[app-traefik]] — Reverse proxy HTTPS
|
|
- [[securisation-home-lab]] — Bonnes pratiques
|
|
- [[recettes-docker-compose]] — Patterns Compose
|