docs: graph view improvements roadmap (4 phases)
All checks were successful
CI / lint (push) Successful in 17s
CI / security (push) Successful in 9s
CI / test (push) Successful in 37s
CI / build (push) Successful in 3s

This commit is contained in:
Bruno Charest 2026-05-28 14:41:58 -04:00
parent f3e16e3c3d
commit c8e74bd39b

View File

@ -50,20 +50,46 @@
- **Fichiers** : `frontend/app.js` (~8875 lignes → 12 modules dans `frontend/js/`)
- **Modules** : state, utils, auth, search, sidebar, viewer, ui, dashboard, config, sync, graph, legacy
### 3. Tests d'intégration
### 4. Tests d'intégration
- **Effort** : 3-5 jours
- **Impact** : 🟢 Couverture 49% → 70%+
- **Cibles** : `main.py` (26%), `watcher.py` (23%), `router.py` (37%), `create_admin.py` (0%), `image_processor.py` (15%)
### 4. Export PDF
### 5. Export PDF
- **Effort** : 1 jour
- **Impact** : 🟡 WeasyPrint déjà intégré (lazy import), manque GTK sur certaines plateformes
- **Alternative** : Markdown → HTML → PDF via headless Chrome
### 5. Vue graphe des wikilinks
- **Effort** : 3-5 jours
- **Impact** : 🟢 Nouvelle fonctionnalité, visualisation des connexions entre notes
- **Stack** : D3.js ou Cytoscape.js
### 3. Vue graphe des wikilinks 🔄 EN COURS
**Base existante** : API `/api/graph/{vault}` + `GraphViewManager` (canvas force-directed)
**Amélioration d'une feature existante**, pas création from scratch
#### Phase 1 — Backend API
- [ ] **Full-vault view** : paramètre `scope=full` pour grapher tout le vault
- [ ] **Filtre par tag** : `?tag=recette` pour n'afficher que les fichiers taggés
- [ ] **Backlinks entrants** : edge `relation: "backlink"` en plus du wikilink sortant
- [ ] **Métriques de nœud** : `incoming_count`, `outgoing_count`, `tag_count`
#### Phase 2 — Frontend rendu
- [ ] **Recherche visuelle** : barre de recherche qui surligne les nœuds matchants
- [ ] **Tooltips au survol** : nom complet, tags, nombre de liens, chemin
- [ ] **Couleurs adaptatives** : `var(--bg-primary)` etc. au lieu de hardcodées
- [ ] **Slider de profondeur** : contrôle depth 0-3 dans l'UI
#### Phase 3 — Contrôles avancés
- [ ] **Filtre par type** : checkbox dossier/fichier/.md/autre
- [ ] **Mode focus** : clic-droit "Focus on this node" → recentre le graphe
- [ ] **Vue plein écran** : bouton pour passer la modale en fullscreen
- [ ] **Export PNG** : bouton pour sauvegarder le graphe en image
#### Phase 4 — Performance
- [ ] **Barnes-Hut** : O(n log n) au lieu de O(n²) pour >200 nœuds
- [ ] **Lazy loading** : charger les wikilinks à la demande (pas tous au start)
- [ ] **Cache graphe** : ne pas refetch si mêmes paramètres
- **Effort** : 2-3 jours
- **Fichiers** : `backend/main.py` (API), `frontend/js/graph.js` (rendu), `frontend/index.html` (UI)
---