docs: ROADMAP v2.2.0 — Gap Analysis Workspace & Sidebar Professionnel
Analyse complète de 35 améliorations réparties en 7 catégories: A) Productivité & Raccourcis (7 items) B) Affichage & Métadonnées (6 items) C) Navigation & Breadcrumb (4 items) D) Sidebar Polissage (6 items) E) Expérience cross-cutting (6 items) F) Mobile & Responsive (4 items) G) Performance & Robustesse (5 items) Priorités P0 (6): multi-sélection, raccourcis, inline rename, vue détails, tri, indicateur dossier actif. Priorités P1 (18): undo toast, copy/paste, métadonnées, skeletons, breadcrumb éditable, upload progress, etc. Estimation: ~4-6 semaines pour P0+P1.
This commit is contained in:
+130
-6
@@ -76,8 +76,6 @@ Propriétés custom, AI keywords, sync API, 12 tables DB
|
||||
|
||||
---
|
||||
|
||||
## Upcoming
|
||||
|
||||
### v1.4.0 ✅ — Propriétés Avancées (Bloc 2)
|
||||
### (2026-07-10)
|
||||
|
||||
@@ -167,7 +165,133 @@ Propriétés custom, AI keywords, sync API, 12 tables DB
|
||||
- [x] **Public Sharing** — `GET /workspace/public/{id}` (read-only, no auth)
|
||||
- [x] **67/67 tests** passent (+7 tests v2.0)
|
||||
|
||||
### v2.1.0 — Intégrations Avancées (futur)
|
||||
### v2.1.0 ✅ — Workspace Local & Arborescence
|
||||
### (2026-07-11)
|
||||
|
||||
- [x] **Page `/local-workspace`** — file/folder tree avec breadcrumb
|
||||
- [x] **API tree récursive** — `GET /api/local-workspace/tree?folder=ID`
|
||||
- [x] **Breadcrumb** — `GET /api/local-workspace/breadcrumb`
|
||||
- [x] **CRUD items** — create/rename/delete/move files & folders
|
||||
- [x] **Drag & drop upload** — fichiers + dossiers récursifs depuis l'OS
|
||||
- [x] **Drag & drop interne** — déplacer items entre dossiers
|
||||
- [x] **Expand/collapse** — toggle dossiers, persisté localStorage
|
||||
- [x] **File viewer** — images, PDF, texte/code avec coloration syntaxique
|
||||
- [x] **Preview hover** — popup au survol des fichiers
|
||||
- [x] **Icônes par type** — 📝 pages, 📕 PDF, 🖼️ images, 🐍 code, etc.
|
||||
- [x] **Recherche + filtre** — par nom + par type (chips)
|
||||
- [x] **Menu contextuel sidebar** — clic droit / long-press mobile
|
||||
- [x] **Expand/Collapse all** — boutons ⊞ ⊟
|
||||
- [x] **Sidebar persistante** — sectionsOpen + expandedFolders localStorage
|
||||
- [x] **Création instantanée** — AJAX sans reload
|
||||
- [x] **73 tests** passent
|
||||
|
||||
---
|
||||
|
||||
## Upcoming
|
||||
|
||||
### v2.2.0 — Workspace & Sidebar Professionnel (Gap Analysis)
|
||||
### Cible: Q3 2026
|
||||
|
||||
Analyse complète de ce qui manque pour une expérience utilisateur
|
||||
de niveau professionnel, comparable à Notion, VS Code, et Finder.
|
||||
|
||||
#### A. Workspace Page — Productivité & Raccourcis
|
||||
|
||||
| # | Feature | Priorité | Effort | Description |
|
||||
|---|---------|----------|--------|-------------|
|
||||
| A1 | **Multi-sélection** | P0 | M | Checkboxes + Shift-click range + Ctrl-click toggle. Bulk delete/move. |
|
||||
| A2 | **Raccourcis clavier** | P0 | M | Enter=open, F2=rename, Del=delete, Ctrl+A=select all, Ctrl+C/V=copy/paste, Ctrl+Z=undo |
|
||||
| A3 | **Inline rename** | P0 | S | Double-clic → champ inline (pas prompt()). Garder le même comportement que Finder. |
|
||||
| A4 | **Drag count badge** | P1 | S | Afficher un badge "[N]" sur le curseur quand on drag plusieurs items. |
|
||||
| A5 | **Undo delete** (toast) | P1 | M | Remplacer `confirm('Delete?')` par un delete immédiat + toast "Undo" 5s. |
|
||||
| A6 | **Duplicate file/folder** | P1 | S | Action "Duplicate" dans le menu contextuel + Ctrl+D. |
|
||||
| A7 | **Copy/paste items** | P1 | M | Ctrl+C copie (stockage sessionStorage), Ctrl+V colle dans le dossier courant. |
|
||||
|
||||
#### B. Workspace Page — Affichage & Métadonnées
|
||||
|
||||
| # | Feature | Priorité | Effort | Description |
|
||||
|---|---------|----------|--------|-------------|
|
||||
| B1 | **Vue détails/tableau** | P0 | L | Toggle entre arbre et tableau (Nom, Taille, Type, Modifié le). |
|
||||
| B2 | **Tri** | P0 | M | Barre d'en-tête: clic pour trier par nom/date/taille/type. Asc/desc. |
|
||||
| B3 | **Métadonnées dans l'arbre** | P1 | S | Afficher taille + date de modification en grisé à droite du nom. |
|
||||
| B4 | **Compteur d'enfants par dossier** | P1 | S | Badge "(3)" à côté du nom du dossier indiquant le nombre d'items directs. |
|
||||
| B5 | **Loading skeletons** | P1 | S | Remplacer "Loading..." par des skeletons animés (barres grises pulsing). |
|
||||
| B6 | **Empty state illustré** | P2 | S | Illustration SVG + texte d'aide pour workspace vide et dossier vide. |
|
||||
|
||||
#### C. Workspace Page — Navigation & Breadcrumb
|
||||
|
||||
| # | Feature | Priorité | Effort | Description |
|
||||
|---|---------|----------|--------|-------------|
|
||||
| C1 | **Breadcrumb éditable** | P1 | M | Cliquer sur un segment du breadcrumb = naviguer. Dernier segment éditable (rename). |
|
||||
| C2 | **Barre d'adresse / path** | P2 | M | Champ texte affichant le path complet, éditable pour jump direct. |
|
||||
| C3 | **Back/Forward navigation** | P2 | M | Boutons ← → dans la topbar, historique de navigation interne. |
|
||||
| C4 | **Dossier parent ".."** | P2 | S | Premier élément de la liste quand on est dans un sous-dossier. |
|
||||
|
||||
#### D. Sidebar Workspace — Polissage
|
||||
|
||||
| # | Feature | Priorité | Effort | Description |
|
||||
|---|---------|----------|--------|-------------|
|
||||
| D1 | **Indicateur de dossier actif** | P0 | S | Highlight + point coloré sur le dossier courant (navigué). |
|
||||
| D2 | **Badge compteur par dossier** | P1 | S | "(5)" à côté des dossiers montrant le nombre d'items récursifs. |
|
||||
| D3 | **Drop indicator line** | P1 | S | Ligne bleue entre les items pendant le drag pour montrer la position d'insertion. |
|
||||
| D4 | **Scroll into view** | P1 | S | Auto-scroll pour rendre visible le dossier actif dans la sidebar. |
|
||||
| D5 | **Animation expand/collapse** | P2 | S | Transition fluide CSS pour l'ouverture/fermeture des dossiers (max-height). |
|
||||
| D6 | **Indicateur "modifié récemment"** | P2 | S | Petit point bleu à côté des items modifiés dans les dernières 24h. |
|
||||
|
||||
#### E. Expérience Générale — Cross-cutting
|
||||
|
||||
| # | Feature | Priorité | Effort | Description |
|
||||
|---|---------|----------|--------|-------------|
|
||||
| E1 | **Mode grille/vignettes** | P2 | L | Alternative au tree: icônes larges avec preview, style Finder/Dropbox. |
|
||||
| E2 | **Upload progress détaillé** | P1 | M | Barre de progression par fichier, vitesse, ETA, possibilité d'annuler. |
|
||||
| E3 | **Drag depuis sidebar vers workspace** | P2 | L | Permettre de glisser un item de la sidebar directement dans la page workspace. |
|
||||
| E4 | **Pin/favoris dans le workspace** | P2 | S | Épingler des dossiers/fichiers en haut de la liste pour accès rapide. |
|
||||
| E5 | **Aperçu des fichiers dans le dossier parent** | P3 | M | Quand on survole un dossier dans l'arbre, montrer un petit popup listant les 5 premiers fichiers. |
|
||||
| E6 | **Dark/Light theme cohérent** | P1 | M | S'assurer que le file viewer standalone respecte le thème actif (cookie/session). |
|
||||
|
||||
#### F. Mobile & Responsive
|
||||
|
||||
| # | Feature | Priorité | Effort | Description |
|
||||
|---|---------|----------|--------|-------------|
|
||||
| F1 | **Swipe actions** | P2 | M | Swipe gauche sur un item → Delete. Swipe droit → Rename. |
|
||||
| F2 | **Bottom sheet context menu** | P1 | M | Remplacer le menu contextuel desktop par une bottom sheet native sur mobile. |
|
||||
| F3 | **Touch hold feedback** | P1 | S | Haptic feedback (si supporté) + scale animation sur long-press. |
|
||||
| F4 | **Grille adaptative** | P2 | M | En mode paysage tablette: 2 colonnes (sidebar + contenu). |
|
||||
|
||||
#### G. Performance & Robustesse
|
||||
|
||||
| # | Feature | Priorité | Effort | Description |
|
||||
|---|---------|----------|--------|-------------|
|
||||
| G1 | **Virtual scrolling** | P2 | L | Pour les dossiers avec >1000 items, rendre seulement les éléments visibles. |
|
||||
| G2 | **Lazy loading des enfants** | P1 | M | Ne charger les enfants d'un dossier que quand on l'expand (API `?folder=ID`). |
|
||||
| G3 | **Cache navigateur** | P1 | S | Cache le contenu des fichiers déjà chargés pour le preview hover. |
|
||||
| G4 | **Offline indicator** | P3 | S | Bannière "You are offline" + queue des actions pour synchro au retour. |
|
||||
| G5 | **Rate limiting + retry** | P1 | S | Retry automatique avec backoff exponentiel sur les appels API échoués. |
|
||||
|
||||
---
|
||||
|
||||
#### Résumé des priorités
|
||||
|
||||
**P0 — Bloquant pour une expérience pro :**
|
||||
- A1 Multi-sélection
|
||||
- A2 Raccourcis clavier
|
||||
- A3 Inline rename
|
||||
- B1 Vue détails/tableau
|
||||
- B2 Tri
|
||||
- D1 Indicateur dossier actif
|
||||
|
||||
**P1 — Important pour la qualité perçue :**
|
||||
- A4 Drag count badge, A5 Undo toast, A6 Duplicate, A7 Copy/paste
|
||||
- B3 Métadonnées, B4 Compteur, B5 Skeletons
|
||||
- C1 Breadcrumb éditable
|
||||
- D2 Badge compteur, D3 Drop indicator, D4 Scroll into view
|
||||
- E2 Upload progress, E6 Thème cohérent
|
||||
- F2 Bottom sheet mobile, F3 Touch feedback
|
||||
- G2 Lazy loading, G3 Cache, G5 Retry
|
||||
|
||||
**Estimation globale : ~4-6 semaines pour P0+P1 avec 1 développeur.**
|
||||
|
||||
---
|
||||
|
||||
### v2.1.0 — Intégrations Avancées (futur)
|
||||
|
||||
@@ -197,7 +321,7 @@ Production Pages Editor DB Concept Properties Relations Views Vie
|
||||
├─ Bloc 6: Éditeur complet (v2.0) — 8 items ✅
|
||||
└─ Bloc 7: Fonctions transversales — +multi-user ✅
|
||||
|
||||
v2.0.0 ✅ v2.1.0 ⬜
|
||||
Editor+ Future
|
||||
Multi-user
|
||||
v2.0.0 ✅ v2.1.0 ✅ v2.2.0 ⬜
|
||||
Editor+ Workspace Pro UX
|
||||
Local
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user