4.5 KiB
4.5 KiB
ObsiGate — Roadmap
Version : 1.7.0 | Dernière mise à jour : 2026-06-02 Voir aussi CHANGELOG.md, docs/ROADMAP.md, AUDIT_TECHNIQUE.md
✅ Complété (v1.0.0 → v1.7.0)
AI Editor (v1.7.0)
- Toolbar dropdown menus : Edit, Tone, Translate, Generate, Rewrite, Toolbox
- Multi-provider : DeepSeek, OpenRouter, Gemini
- 16 endpoints REST
/api/ai/{action}+ backendai.py/ai_routes.py - Auto-save silencieux (2s debounce), loading toasts, cache toolbar si pas de clé API
- Messages d'erreur clairs (401 → clé invalide, etc.)
Vue graphe — Phases 3 & 4 (v1.6.0)
- Filtre par type (dossier/fichier/.md/autre), mode focus, plein écran, export PNG
- Barnes-Hut O(n log n), cache graphe
- Header flat design, sticky panels, navigation historique ← → ↑
- Ctrl+survol → aperçu contenu formaté
Performance & CI/CD (v1.6.0)
sortedcontainers— O(log n) insert/remove dans l'index inversé- CI/CD Pipeline Gitea Actions (lint → test → security → build)
- Ruff linting — 0 erreur
- Mypy type checking — 0 erreur
- Pytest — 180 tests collectés, 175 passés, 49% coverage
- Bandit SAST + Pip-audit + Docker build + coverage artifact
Split app.js en modules ES (v1.5.1)
- 8 875 lignes → 16 modules dans
frontend/js/ - Validateur imports/exports CI
- Tests unitaires frontend (Node.js)
Stemming français (v1.5.1)
snowballstemmer— recherche accent-insensitive et morphologique- Performance O(T) au lieu de O(S×T), crash guard IndexError
Fonctionnalités avancées (v1.5.0)
- Publication publique de documents (lien partageable avec token)
- Webhooks HTTP avec signature HMAC-SHA256
- Dashboard statistiques (fichiers, tags, taille, vaults)
- Documentation OpenAPI enrichie (Swagger + Redoc)
- Gestion des conflits Syncthing
- Index inversé incrémental (hook pattern)
Sécurité (v1.4.0)
- JWT + Argon2id
- Rate limiting login (IP + compte)
- Audit log avec rotation
- Backup automatique avant écriture
- Redaction de secrets
- Headers CSP
- Protection path traversal
- Utilisateur non-root Docker
UX / Qualité
.dockerignore,.env→.env.example, Ruff config, Mypy config- Compression GZip (SSE-safe), Cache-Control immutable
- Recherche sans I/O disque
- Backlinks panel
- 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.pyetwatcher.pyont 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.0etc.)
📋 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