ObsiGate/ROADMAP.md

122 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ObsiGate — Roadmap
> **Version :** 1.7.0 | **Dernière mise à jour :** 2026-06-02
> Voir aussi [CHANGELOG.md](./CHANGELOG.md), [docs/ROADMAP.md](./docs/ROADMAP.md), [AUDIT_TECHNIQUE.md](./docs/AUDIT_TECHNIQUE_2026-05-27.md)
---
## ✅ Complété (v1.0.0 → v1.7.0)
### AI Editor (v1.7.0)
- [x] Toolbar dropdown menus : Edit, Tone, Translate, Generate, Rewrite, Toolbox
- [x] Multi-provider : DeepSeek, OpenRouter, Gemini
- [x] 16 endpoints REST `/api/ai/{action}` + backend `ai.py` / `ai_routes.py`
- [x] Auto-save silencieux (2s debounce), loading toasts, cache toolbar si pas de clé API
- [x] Messages d'erreur clairs (401 → clé invalide, etc.)
### Vue graphe — Phases 3 & 4 (v1.6.0)
- [x] Filtre par type (dossier/fichier/.md/autre), mode focus, plein écran, export PNG
- [x] Barnes-Hut O(n log n), cache graphe
- [x] Header flat design, sticky panels, navigation historique ← → ↑
- [x] Ctrl+survol → aperçu contenu formaté
### Performance & CI/CD (v1.6.0)
- [x] `sortedcontainers` — O(log n) insert/remove dans l'index inversé
- [x] CI/CD Pipeline Gitea Actions (lint → test → security → build)
- [x] Ruff linting — 0 erreur
- [x] Mypy type checking — 0 erreur
- [x] Pytest — 180 tests collectés, 175 passés, 49% coverage
- [x] Bandit SAST + Pip-audit + Docker build + coverage artifact
### Split app.js en modules ES (v1.5.1)
- [x] 8 875 lignes → 16 modules dans `frontend/js/`
- [x] Validateur imports/exports CI
- [x] Tests unitaires frontend (Node.js)
### Stemming français (v1.5.1)
- [x] `snowballstemmer` — recherche accent-insensitive et morphologique
- [x] Performance O(T) au lieu de O(S×T), crash guard IndexError
### Fonctionnalités avancées (v1.5.0)
- [x] Publication publique de documents (lien partageable avec token)
- [x] Webhooks HTTP avec signature HMAC-SHA256
- [x] Dashboard statistiques (fichiers, tags, taille, vaults)
- [x] Documentation OpenAPI enrichie (Swagger + Redoc)
- [x] Gestion des conflits Syncthing
- [x] Index inversé incrémental (hook pattern)
### Sécurité (v1.4.0)
- [x] JWT + Argon2id
- [x] Rate limiting login (IP + compte)
- [x] Audit log avec rotation
- [x] Backup automatique avant écriture
- [x] Redaction de secrets
- [x] Headers CSP
- [x] Protection path traversal
- [x] Utilisateur non-root Docker
### UX / Qualité
- [x] `.dockerignore`, `.env``.env.example`, Ruff config, Mypy config
- [x] Compression GZip (SSE-safe), Cache-Control immutable
- [x] Recherche sans I/O disque
- [x] Backlinks panel
- [x] Fichiers non-supportés (UI download)
---
## 🔜 Prochaines étapes (par priorité)
### 1. Tests & Couverture
- **Effort** : 2-3 jours | **Impact** : 🟢
- Coverage 49% → 70%+
- Cibles : `main.py` (26%), `watcher.py` (23%), `router.py` (37%), `create_admin.py` (0%)
- Tests E2E Playwright (fondations)
### 2. Export PDF
- **Effort** : 1 jour | **Impact** : 🟡
- WeasyPrint déjà intégré (requirement), manque route API + UI
- Alternative : Markdown → HTML → PDF via headless Chrome
### 3. Palette de commandes (Ctrl+P)
- **Effort** : 1 jour | **Impact** : 🟡
- Navigation rapide style VS Code dans l'interface
### 4. Drag & drop de fichiers
- **Effort** : 1-2 jours | **Impact** : 🟡
- Déplacer/réorganiser dans l'arborescence
### 5. Diff viewer backups
- **Effort** : 1 jour | **Impact** : 🟢
- Comparer versions `.obsigate-backup/`
### 6. Fichiers récents par vault
- **Effort** : 0.5 jour | **Impact** : 🟡
- Dashboard filtré par vault actif
### 7. Filtres search avancés
- **Effort** : 1 jour | **Impact** : 🟡
- Opérateurs `created:`, `modified:`, `size:`
### 8. Déduplication IGNORED_DIRS
- **Effort** : 0.5 jour | **Impact** : 🟢
- `indexer.py` et `watcher.py` ont des définitions séparées → mutualiser
### 9. CHANGELOG.md + version tagging git
- **Effort** : 0.5 jour | **Impact** : 🟢
- ✅ CHANGELOG.md créé — tags git restent à faire (`git tag v1.7.0` etc.)
---
## 📋 Backlog (P3/P4 — Long terme)
- **Mode hors-ligne PWA complet** : IndexedDB pour recherche offline + synchro
- **OAuth2/OIDC** : Google, GitHub, authentification SSO
- **Plugins système** : Extensions utilisateur (custom renderers, search operators)
- **Collaboration temps réel** : WebSocket + CRDT (Yjs) pour édition simultanée
- **i18n** : Support anglais + français
- **MFA** : TOTP/WebAuthn
- **Thèmes personnalisés** : CSS variables exposées
- **Export multi-formats** : HTML, MD bundle, ePub
- **Notifications web** : Push API pour changements de vault
- **Health check enrichi** : État de l'index, mémoire, uptime, clients SSE