ObsiGate/ROADMAP.md

4.5 KiB
Raw Blame History

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} + backend ai.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.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