- Store backend `backend/file_chat.py` : messages JSON par (vault, path)
sous `data/chats/` (nom hashé SHA-256 → traversal impossible), plafond
500 messages, texte tronqué à 4000 caractères, écriture atomique.
- Routes `GET/POST /api/file/{vault}/chat` : auth + accès vault +
`resolve_safe_path`, schémas Pydantic (`response_model`), broadcast SSE
`chat_message` sur le transport existant (#62) — pas de second WebSocket.
- Panneau latéral `frontend/js/filechat.js` : bouton 💬 dans la toolbar
fichier, historique chronologique, envoi optimiste + dédoublonnage par id,
toast « Nouveau message » si le panneau est fermé/autre fichier.
- Relais SSE dans `sync.js` (import dynamique), CSS bloc #169 (plein écran
≤ 768 px, input 16 px anti-zoom), i18n FR/EN (10 clés `chat.*`).
- Tests : `tests/test_file_chat.py` (15) + `tests/frontend/filechat.test.mjs`
(6, ajouté au pipeline CI), regex toolbar-order mise à jour.
- Docs : CHANGELOG [Unreleased], ROADMAP #169 → livré + index, fiche
`docs/features/file-chat-169.md`, guide « Discuter d'un fichier ».
📚 Guides d'utilisation ObsiGate
Bienvenue dans le répertoire des guides utilisateur d'ObsiGate. Chaque guide est autonome, écrit en français et illustré d'exemples concrets (commandes, configuration, captures conceptuelles).
Vous découvrez ObsiGate ? Commencez par le Guide de prise en main. Une aide rapide est aussi intégrée directement dans l'application (menu Options → Guide d'utilisation, FR/EN, téléchargeable en Markdown et PDF).
🗂️ Sommaire des guides
| Guide | Public | Contenu |
|---|---|---|
| 🚀 Prise en main | Tous | Premier lancement, interface, navigation, vaults, raccourcis |
| 🔍 Recherche, PDF, Excel & Excalidraw | Tous | Syntaxe de requête, recherche sémantique, lecteurs PDF/Excel, diagrammes |
| 🤖 Assistant IA & Forge | Tous | Fournisseurs, éditeur IA, BooksLM, Forge, commandes @ / / |
| 📝 Édition & collaboration | Tous | Édition simultanée, curseurs distants, persistance |
| 📱 PWA & mode hors-ligne | Tous | Installation PWA, cache, file de synchronisation, notifications |
| 🔌 API REST | Développeurs | Authentification, clés API, endpoints, exemples curl, SSE |
| 🧩 Serveur MCP | Développeurs / IA | Brancher Claude Desktop, Cursor, Cline… sur vos vaults |
| 🔒 Authentification & sécurité | Admin | Utilisateurs, MFA, permissions par vault, bonnes pratiques |
| 🐳 Déploiement Docker | Admin / Ops | docker-compose, volumes, reverse proxy, mises à jour |
| 🖥️ Application desktop (Tauri) | Tous | Installation, premier lancement, build depuis les sources |
🧭 Par où commencer ?
- Je veux juste utiliser l'application → Prise en main
- Je veux sécuriser mon instance → Authentification & sécurité
- Je veux brancher une IA → Assistant IA & Forge puis MCP
- Je veux scripter/automatiser → API REST
- Je veux héberger sur un serveur → Déploiement Docker
📖 Documentation associée
| Type | Où |
|---|---|
| Vue d'ensemble produit | README.fr.md · README.md |
| Conception détaillée par fonctionnalité | docs/features/ |
| Standards de code | docs/CONTRIBUTING.md |
| Méthode de livraison (Definition of Done) | docs/DELIVERY_WORKFLOW.md |
| Roadmap / travail à venir | docs/ROADMAP.md |
| Historique des versions | CHANGELOG.md |
| API interactive (Swagger / ReDoc) | /docs · /redoc (instance ObsiGate) |
Convention : ce répertoire est la porte d'entrée utilisateur. Le comment (utilisation) vit ici ; le pourquoi (conception technique) vit dans
docs/features/. Ne jamais dupliquer le détail technique des fiches.