Refonte de la section Fournisseur & modele de l'assistant : capacites regroupees dans une bulle d'information (survol/clic/appui long) au lieu d'une liste permanente, et liste de modeles avec recherche. Correctifs : detection Unicode + filtrage insensible aux accents des commandes / et mentions @, navigation clavier fiable, et prise en compte du contexte ad-hoc en mode General cote backend.
124 lines
8.4 KiB
Markdown
124 lines
8.4 KiB
Markdown
# ObsiGate — Roadmap
|
||
|
||
> **Version :** 2.3.0-dev | **Dernière mise à jour :** 2026-09-12
|
||
> **Ce fichier ne contient que le travail à venir** (🔵 En cours + ⚪ Backlog) et un index compact
|
||
> vers les fonctionnalités livrées.
|
||
> - **Méthode de livraison à appliquer pour toute tâche : [DELIVERY_WORKFLOW.md](./DELIVERY_WORKFLOW.md)**
|
||
> - Historique des versions : [CHANGELOG.md](../CHANGELOG.md)
|
||
> - Détail des fonctionnalités livrées : [docs/archive/COMPLETED_v1-v2.md](./archive/COMPLETED_v1-v2.md)
|
||
> - Fiches détaillées par feature : [docs/features/](./features/)
|
||
> - Bugs / TODO : [ISSUES_TODOLIST.md](./ISSUES_TODOLIST.md)
|
||
|
||
---
|
||
|
||
## Légende
|
||
|
||
| Icône | Signification |
|
||
|---|---|
|
||
| ✅ | Terminé |
|
||
| 🔵 | En cours |
|
||
| ⚪ | Prévu / Backlog |
|
||
| 🔴 Impact | Critique / Bloquant |
|
||
| 🟡 Impact | Utile / Attendu |
|
||
| 🟢 Impact | Nice-to-have / Confort |
|
||
|
||
> **Convention :** chaque item porte un **ID stable `#NN`** (clé de jointure entre roadmap,
|
||
> changelog et commits). Une fonctionnalité livrée sort de ce fichier et entre dans l'index
|
||
> « Complété » ci-dessous, avec son détail dans `docs/features/` ou l'archive.
|
||
|
||
---
|
||
|
||
## 🔵 En cours
|
||
|
||
### 77. Application Desktop native — Tauri (Windows / Linux / macOS)
|
||
|
||
- **Effort :** 8-12 jours | **Impact :** 🟡 | **Framework :** Tauri v2 (Rust + Webview)
|
||
- **Statut :** livré (A→F) — projet Tauri, backend Python embarqué, fonctionnalités natives, jumplist vaults, bannière 1er lancement, build CI, UX, 24 tests Rust. Détail complet : [features/desktop-tauri.md](./features/desktop-tauri.md)
|
||
- **Reste à faire :**
|
||
- [x] **Signature de l'updater Tauri** (gratuit) : paire de clés générée, `pubkey` renseignée, `createUpdaterArtifacts` activé, secrets CI câblés
|
||
- [x] **Manifeste `latest.json`** généré par `scripts/updater_manifest.py` (intégré à `publish_release.py`), endpoint updater pointé sur `main`
|
||
- [ ] **Signature de code Windows** : non retenue (pas de certificat) — alternatives : livrer non signé, SignPath.io (OSS gratuit), Certum OSS, Azure Trusted Signing, certificat EV
|
||
- [ ] Exécuter les 6 tests E2E **manuels** — protocole documenté : [DESKTOP_E2E_CHECKLIST.md](./DESKTOP_E2E_CHECKLIST.md)
|
||
|
||
---
|
||
|
||
## ⚪ Backlog — Priorité 4 (P4)
|
||
|
||
### 73. Synchronisation multi-appareils — Obsidian Sync compatible
|
||
|
||
- **Effort :** 6-8 jours | **Impact :** 🟢
|
||
- **Description :** Synchronisation des vaults entre plusieurs instances d'ObsiGate via un protocole de synchronisation décentralisé ou compatible Obsidian Sync. Alternative self-hosted à Obsidian Sync.
|
||
- **Sous-tâches :**
|
||
- [ ] Protocole : évaluation CRDT vs OT vs diff/patch pour fichiers markdown
|
||
- [ ] Transport : WebSocket ou polling HTTPS avec compression
|
||
- [ ] Merge strategy : LWW (Last Writer Wins) avec historique des deux versions
|
||
- [ ] Détection de changements : hash SHA-256 par fichier, journal des modifications
|
||
- [ ] UI : page « Synchronisation » avec statut par appareil, historique des syncs
|
||
- [ ] Conflits : UI de résolution manuelle (diff côte à côte entre version locale et distante)
|
||
- [ ] Chiffrement : optionnel, chiffrement AES-256-GCM avant transmission
|
||
- [ ] Pairing : échange de clé publique + code QR pour appairage des appareils
|
||
|
||
---
|
||
|
||
## ✅ Complété — index
|
||
|
||
> Détail complet dans [docs/archive/COMPLETED_v1-v2.md](./archive/COMPLETED_v1-v2.md) et
|
||
> [docs/features/](./features/). Cette table est la seule source de navigation ; ne pas
|
||
> re-détailler les items livrés ici.
|
||
|
||
| # | Domaine / fonctionnalité | Version | Détails |
|
||
|---|---|---|---|
|
||
| 1–8 | Fondations (FastAPI, TF-IDF + stemming, watchdog, SPA, sécurité, path traversal, gzip, PWA) | 1.0.0→1.4.0 | [archive](./archive/COMPLETED_v1-v2.md) |
|
||
| 9–20 | UX & productivité (share, webhooks, dashboard, conflits, backlinks, redaction, backups, graphe, header, aperçu) | 1.5.0→1.6.0 | [archive](./archive/COMPLETED_v1-v2.md) |
|
||
| 21–22 | Architecture (split `app.js` → 16 modules, validateur imports CI) | 1.5.1 | [archive](./archive/COMPLETED_v1-v2.md) |
|
||
| 23–25 | CI/CD & qualité (Gitea Actions, Ruff/Mypy/Bandit/Pip-audit, pytest) | 1.6.0 | [archive](./archive/COMPLETED_v1-v2.md) |
|
||
| 26–29 | AI Editor (toolbar, multi-provider, 16 endpoints, auto-save) | 1.7.0 | [archive](./archive/COMPLETED_v1-v2.md) |
|
||
| 30–39 | Fonctionnalités avancées (export PDF, palette, mobile, drag & drop, filtres, indexation non-bloquante) | 1.8.0→1.9.0 | [archive](./archive/COMPLETED_v1-v2.md) |
|
||
| 40–46 | Gestion des backups (diff, gestionnaire, purge, auto, rétention) | 1.9.0 | [archive](./archive/COMPLETED_v1-v2.md) |
|
||
| 47–57 | Mermaid.js (22 templates, live preview, thèmes, zoom, plein écran, pré-processeur Obsidian) | 2.0.0 | [archive](./archive/COMPLETED_v1-v2.md) |
|
||
| 58 | Tests E2E Playwright (44 desktop + 12 mobile, CI) | 2.0.0 | [archive](./archive/COMPLETED_v1-v2.md) |
|
||
| 59 | Mode hors-ligne PWA complet (IndexedDB, file de synchro, conflits) | 2.0.0 | [archive](./archive/COMPLETED_v1-v2.md) |
|
||
| 63 | Internationalisation i18n FR/EN | 2.0.0 | [archive](./archive/COMPLETED_v1-v2.md) |
|
||
| 65 | Thèmes personnalisés (light/dark/high-contrast/sepia, import/export) | 2.0.0 | [archive](./archive/COMPLETED_v1-v2.md) |
|
||
| 66 | Export multi-formats (HTML, MD bundle, ePub) | 2.0.0 | [archive](./archive/COMPLETED_v1-v2.md) |
|
||
| 71 | Tableau de bord administrateur | 2.0.0 | [archive](./archive/COMPLETED_v1-v2.md) |
|
||
| 64 | MFA (TOTP + WebAuthn + recovery codes) | 2.1.0 | [archive](./archive/COMPLETED_v1-v2.md) |
|
||
| 74 | Support complet des documents PDF | 2.1.0 | [features/pdf.md](./features/pdf.md) |
|
||
| 75 | Éditeur multi-panneaux (Split View) | 2.1.0 | [features/split-view.md](./features/split-view.md) |
|
||
| 61 | Plugins système (sandbox Web Worker, hooks, 9 endpoints) | 2.2.0 | [archive](./archive/COMPLETED_v1-v2.md) |
|
||
| 67 | Notifications web — Push API | 2.2.0 | [archive](./archive/COMPLETED_v1-v2.md) |
|
||
| 68 | Health check enrichi | 2.2.0 | [archive](./archive/COMPLETED_v1-v2.md) |
|
||
| 72 | API publique documentée — OpenAPI 3.1 | 2.2.0 | [archive](./archive/COMPLETED_v1-v2.md) |
|
||
| 76 | BooksLM — Console AI contextuelle par répertoire | 2.2.0 | [features/bookslm.md](./features/bookslm.md) |
|
||
| 78 | Éditeur Excalidraw | 2.2.0 | [features/excalidraw.md](./features/excalidraw.md) |
|
||
| 62 | Collaboration temps réel — Édition simultanée (Yjs/CRDT, WebSocket, awareness) | 2.3.0 | [features/collaboration.md](./features/collaboration.md) |
|
||
| 79 | Assistant IA — Outils (function calling) & serveur MCP | 2.3.0 | [features/ai-tools-mcp.md](./features/ai-tools-mcp.md) |
|
||
| 80 | Assistant IA — Rendu Markdown, liens fichiers/paths & sessions | 2.3.0 | [features/ai-assistant-ux.md](./features/ai-assistant-ux.md) |
|
||
| 81 | Assistant IA — Commandes (`@`, `/`), skills, images & capacités des modèles | 2.3.0 | [features/ai-assistant-commands.md](./features/ai-assistant-commands.md) |
|
||
| 82 | Assistant IA — Section « Fournisseur & modèle » compacte (recherche modèle + info capacités) | 2.3.0 | [features/ai-provider-picker.md](./features/ai-provider-picker.md) |
|
||
| 69 | Éditeur mobile natif — Interface tactile optimisée | 2.3.0 | [features/mobile-editor.md](./features/mobile-editor.md) |
|
||
| 70 | Recherche sémantique — Embeddings vectoriels (hybride TF-IDF + RRF) | 2.3.0 | [features/semantic-search.md](./features/semantic-search.md) |
|
||
| 77 | Application Desktop native — Tauri | 🔵 en cours | [features/desktop-tauri.md](./features/desktop-tauri.md) |
|
||
|
||
---
|
||
|
||
## 📊 Résumé des efforts
|
||
|
||
| Priorité | Items | Effort total estimé |
|
||
|---|---|---|
|
||
| ✅ Complété | #1 → #59, #61–72, #74–76, #78–82 | ~107 jours réalisés |
|
||
| 🔵 P2 restant | #77 Desktop : signature de code (non retenue), 6 tests E2E **manuels** ([protocole](./DESKTOP_E2E_CHECKLIST.md)) | ~0,5-1 jour |
|
||
| ⚪ P4 restant | #73 Sync (6-8j) | 6-8 jours |
|
||
| **Total restant** | **2 items + finitions** | **~7-10 jours** |
|
||
|
||
---
|
||
|
||
## Notes
|
||
|
||
- Les items P3/P4 ne sont pas ordonnés par priorité interne — à raffiner selon les retours utilisateurs.
|
||
- L'effort inclut le développement + tests unitaires + intégration CI, mais pas la documentation utilisateur.
|
||
- Les items marqués 🟢 (nice-to-have) sont de bons candidats pour des contributions externes.
|
||
- **Maintenance de ce fichier :** quand un item passe à ✅, déplacer son détail vers
|
||
`docs/features/<slug>.md` (grosse feature) ou `docs/archive/COMPLETED_v1-v2.md` (item court),
|
||
ajouter une ligne dans l'index « Complété », et consigner la version dans le [CHANGELOG](../CHANGELOG.md).
|