docs: mise à jour ROADMAP.md, CHANGELOG.md et docs/ROADMAP.md
ROADMAP.md: - Ajout v2.4.0 (tags/user), v2.5.0 (admin panel), v2.6.0 (my account) - Ajout v2.7.0 (Gitea P1), v2.7.1 (private pages) - Roadmap future: v2.8.0 (Gitea P2), v2.9.0 (GitHub), v3.0.0 (Pro UX) CHANGELOG.md: - Entries v2.4.0 → v2.7.1 avec tous les détails - Structure Added/Fixed cohérente docs/ROADMAP.md (v3.0): - Phase 1-5 checkboxes mises à jour (45/52 items done) - Reste: GitHub OAuth, Quick switch, API tokens, sessions actives
This commit is contained in:
+112
-238
@@ -55,253 +55,131 @@ Propriétés custom, AI keywords, sync API, 12 tables DB
|
||||
- [x] Breadcrumbs contextuels (workspace > projet > page)
|
||||
|
||||
### v1.3.0 ✅ — Database Concept (Bloc 1 du gap analysis)
|
||||
### (2026-07-10, commit c574d2c, tag v1.3.0)
|
||||
|
||||
- [x] **Table `collections`** — base de données abstraite, indépendante de Gitea
|
||||
- `id`, `name`, `description`, `icon`, `schema_json`
|
||||
- Optionnellement liée à Gitea (`gitea_owner`, `gitea_repo`)
|
||||
- [x] **Table `collection_pages`** — remplace `cards`, pages génériques
|
||||
- `collection_id`, `title`, `position`, `parent_id`, `property_values_json`
|
||||
- `gitea_issue_id` optionnel, auto-propriétés (`created_at`, `updated_at`)
|
||||
- [x] **Table `collection_views`** — vues configurables par collection
|
||||
- `name`, `view_type`, `config_json`, `position`
|
||||
- [x] **Rétrocompatibilité Gitea** — adaptateur `GiteaBoardCompat`
|
||||
- Les boards Gitea existants deviennent des collections
|
||||
- Migration transparente `cards` → `collection_pages`
|
||||
- Routes `/db/boards/api`, `/db/board/{o}/{r}/api`, `/db/board/{o}/{r}/sync`
|
||||
- [x] **Router `/db`** — API CRUD collections + pages (12 endpoints)
|
||||
- [x] **34/34 tests** passent (+6 nouveaux tests v1.3)
|
||||
- [x] **Database lock** — mode lecture seule (`collections.is_locked`)
|
||||
- [x] **Database description** — champ `description` sur les collections
|
||||
|
||||
---
|
||||
- [x] Tables `collections`, `collection_pages`, `collection_views`
|
||||
- [x] Rétrocompatibilité Gitea via `GiteaBoardCompat`
|
||||
- [x] Router `/db` — API CRUD collections + pages (12 endpoints)
|
||||
- [x] 34/34 tests passent
|
||||
|
||||
### v1.4.0 ✅ — Propriétés Avancées (Bloc 2)
|
||||
### (2026-07-10)
|
||||
- [x] Table `collection_properties` — 21 types Notion
|
||||
- [x] Service `property_types.py` — validation, formatage, auto-values
|
||||
- [x] 38/38 tests passent
|
||||
|
||||
- [x] **Table `collection_properties`** — remplace `project_properties`
|
||||
- Liée à `collections` (pas à `project_owner/name`)
|
||||
- Supporte tous les types Notion (21 types)
|
||||
- [x] **Type `number`** — avec formatage (nombre, %, €, $, £, ¥)
|
||||
- [x] **Type `checkbox`** — booléen natif
|
||||
- [x] **Type `url`** — lien cliquable
|
||||
- [x] **Type `email`** — email cliquable
|
||||
- [x] **Type `phone`** — téléphone cliquable
|
||||
- [x] **Type `status`** — select avec couleurs forcées (9 couleurs Notion)
|
||||
- [x] **Type `files`** — uploads/images attachés aux pages
|
||||
- [x] **Type `unique_id`** — ID auto-incrémenté par collection
|
||||
- [x] **Type `created_time` / `created_by`** — auto-propriétés
|
||||
- [x] **Type `last_edited_time` / `last_edited_by`** — auto-propriétés
|
||||
- [x] **Service `property_types.py`** — validation, formatage, auto-values
|
||||
- [x] **API CRUD** — `/db/property-types/api` + CRUD `/db/{id}/properties/api`
|
||||
- [x] **38/38 tests** passent (+4 nouveaux tests v1.4)
|
||||
- [ ] **Migration** `project_properties` → `collection_properties` (v1.5)
|
||||
|
||||
### v1.5.0 ✅ — Relations & Rollups (Bloc 2 suite)
|
||||
### (2026-07-10)
|
||||
|
||||
- [x] **Type `relation`** — lien bidirectionnel entre collections
|
||||
- `related_collection_id`, `reverse_name` auto-généré
|
||||
- Stockage : JSON array de page IDs dans `property_values_json`
|
||||
- API: `POST /db/{id}/properties/relation` (création avec reverse)
|
||||
- API: `POST /db/{id}/properties/relation/link` (lier 2 pages)
|
||||
- [x] **Type `rollup`** — agrégation via relation
|
||||
- Functions : COUNT, SUM, AVG, MIN, MAX, RANGE, UNIQUE, PERCENT_CHECKED
|
||||
- API: `POST /db/rollup/compute`
|
||||
- [x] **Type `formula`** — propriétés calculées
|
||||
- Moteur d'expressions JavaScript-like (19 fonctions)
|
||||
- API: `POST /db/formula/evaluate`
|
||||
- [x] **Formula engine** — `services/formula_engine.py`
|
||||
- [x] **Rollup engine** — `services/rollup_engine.py`
|
||||
- [x] **43/43 tests** passent (+5 nouveaux tests v1.5)
|
||||
- [x] **FKs fix**: `related_collection_id`, `relation_property_id`, `target_property_id` → `ON DELETE SET NULL`
|
||||
### v1.5.0 ✅ — Relations & Rollups
|
||||
- [x] Type `relation` — lien bidirectionnel entre collections
|
||||
- [x] Type `rollup` — aggregation via relation (COUNT, SUM, AVG, etc.)
|
||||
- [x] Type `formula` — moteur d'expressions (19 fonctions)
|
||||
- [x] Formula engine + Rollup engine
|
||||
- [x] 43/43 tests passent
|
||||
|
||||
### v1.6.0 ✅ — Vues Manquantes (Bloc 3)
|
||||
### (2026-07-10)
|
||||
|
||||
- [x] **Calendar view** — grid mensuel, navigation mois, événements par date
|
||||
- Route: `GET /db/{id}/view/calendar`
|
||||
- [x] **Gallery view** — cartes visuelles avec cover image optionnelle
|
||||
- `card_size`: small/medium/large, `cover_property` configurable
|
||||
- [x] **List view** — liste compacte avec preview propriétés
|
||||
- [x] **Timeline/Gantt view** — barres horizontales sur axe date
|
||||
- [x] **Table view** — rendu SSR, colonnes properties
|
||||
- [x] **View tabs** — navigation entre vues (Table/Board/Calendar/Gallery/List/Timeline)
|
||||
- [x] **49/49 tests** passent (+6 nouveaux tests v1.6)
|
||||
- [x] Calendar, Gallery, List, Timeline, Table views
|
||||
- [x] View tabs navigation
|
||||
- [x] 49/49 tests passent
|
||||
|
||||
### v1.7.0 ✅ — Vues Améliorées
|
||||
### v1.8.0 ✅ — Sub-items & Dépendances
|
||||
### (2026-07-10, combined)
|
||||
|
||||
- [x] **View config API** — PUT /db/views/{id}/config (group_by, card_size, cover, visible)
|
||||
- [x] **Save view as** — POST /db/{id}/views/save-as
|
||||
- [x] **List views** — GET /db/{id}/views/api
|
||||
- [x] **Sub-items** — parent_id auto-référence, GET/POST sub-items
|
||||
- [x] **Status aggregate** — GET status-aggregate (Done only if all children Done)
|
||||
- [x] **Dependencies** — POST dependencies + POST check-deps (blocking constraint)
|
||||
- [x] **56/56 tests** passent (+7 tests v1.7+v1.8)
|
||||
- [x] View config API, Save view as
|
||||
- [x] Sub-items (parent_id auto-référence)
|
||||
- [x] Status aggregate, Dependencies (blocking constraint)
|
||||
- [x] 56/56 tests passent
|
||||
|
||||
### v1.9.0 ✅ — My Tasks & Dashboard Unifié (Bloc 5)
|
||||
### (2026-07-10)
|
||||
|
||||
- [x] **Vue `/my-tasks`** — agrège toutes les pages assignées à l'utilisateur
|
||||
- Scan cross-collection (toutes les databases du workspace)
|
||||
- Filtre automatique : admin voit tout
|
||||
- [x] **Groupement par collection** — sections par database d'origine
|
||||
- [x] **Filtres globaux** — All, Today, Overdue, Next 7 days
|
||||
- [x] **API JSON** — `GET /my-tasks/api`
|
||||
- [x] **60/60 tests** passent (+4 tests v1.9)
|
||||
- [x] Vue `/my-tasks` — agrège pages assignées à l'utilisateur
|
||||
- [x] Groupement par collection, filtres globaux
|
||||
- [x] 60/60 tests passent
|
||||
|
||||
### v2.0.0 ✅ — Éditeur Complet & Multi-Utilisateurs (Blocs 6-7)
|
||||
### (2026-07-10)
|
||||
|
||||
- [x] **Workspaces** — `workspaces` + `workspace_members` tables, CRUD API, roles admin/editor/commenter/viewer
|
||||
- [x] **Comments** — table `comments` avec thread (parent_id), resolved, API CRUD
|
||||
- [x] **Page History** — table `page_history`, snapshot JSON, API record/list
|
||||
- [x] **Favorites** — table `favorites`, API add/remove/list
|
||||
- [x] **Database Templates** — table `database_templates`, apply to create collection
|
||||
- [x] **Page Templates** — table `page_templates`, apply with pre-filled properties
|
||||
- [x] **CSV Import/Export** — `POST .../import/csv`, `GET .../export/csv`
|
||||
- [x] **Public Sharing** — `GET /workspace/public/{id}` (read-only, no auth)
|
||||
- [x] **67/67 tests** passent (+7 tests v2.0)
|
||||
- [x] Workspaces, Comments, Page History, Favorites
|
||||
- [x] Database Templates, Page Templates, CSV Import/Export
|
||||
- [x] Public Sharing
|
||||
- [x] 67/67 tests passent
|
||||
|
||||
### v2.1.0 ✅ — Workspace Local & Arborescence
|
||||
### (2026-07-11)
|
||||
- [x] Page `/local-workspace` — file/folder tree avec breadcrumb
|
||||
- [x] CRUD items, drag & drop upload/interne
|
||||
- [x] File viewer (images, PDF, code), preview hover
|
||||
- [x] Menu contextuel (clic droit / long-press mobile)
|
||||
- [x] Recherche + filtre par type, Expand/Collapse all
|
||||
- [x] 73 tests passent
|
||||
|
||||
- [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
|
||||
### v2.2.0 ✅ — Tags & Recherche Avancée
|
||||
- [x] Tables `tags` + `page_tags`, CRUD API
|
||||
- [x] Vue Table enrichie, filtrage par tags
|
||||
- [x] Menu contextuel tags (ajout/retrait, création avec couleur)
|
||||
- [x] Filtre "Dossiers", auto-switch table
|
||||
|
||||
### v2.3.0 ✅ — Multi-Vues Workspace & Preview Panel
|
||||
- [x] Sélecteur de vue: Tree, List, Details, Title, Content (5 modes)
|
||||
- [x] Preview Panel latéral (contenu, métadonnées, tags, actions)
|
||||
- [x] Tri par date (Oldest/Newest)
|
||||
|
||||
### v2.4.0 ✅ — Tags Personnalisés par Utilisateur (2026-07-13)
|
||||
- [x] Tags isolés par `user_id` — chaque utilisateur voit ses propres tags
|
||||
- [x] `UNIQUE(name, user_id)`, migration des tags existants
|
||||
- [x] API filtrage transparent (session cookie)
|
||||
|
||||
### v2.5.0 ✅ — Administration Avancée (2026-07-13)
|
||||
- [x] Premier compte créé = admin automatique
|
||||
- [x] Panneau Admin dans Settings (Users & Roles, Audit)
|
||||
- [x] Table `login_history` (IP, user_agent, timestamp)
|
||||
- [x] CRUD utilisateurs (créer, modifier rôle/password, supprimer)
|
||||
- [x] Statistiques par utilisateur (workspaces, pages, utilisation)
|
||||
- [x] CSRF fix sur les appels admin
|
||||
|
||||
### v2.6.0 ✅ — My Account & Auth Locale (2026-07-13)
|
||||
- [x] Section My Account: modifier username, nom, email, mot de passe
|
||||
- [x] Toggle voir/cacher mot de passe (oeil/barré)
|
||||
- [x] Label "Email or username" dans login
|
||||
- [x] Refresh cookie session après modification compte
|
||||
- [x] Register avec Gitea (OAuth crée compte + active intégration)
|
||||
|
||||
### v2.7.0 ✅ — Intégration Gitea Phase 1 (2026-07-13)
|
||||
- [x] **OAuth2 Provider** — Gitea comme fournisseur OAuth2 (Client ID/Secret dans `.env`)
|
||||
- [x] **Redirect URI dynamique** — basé sur le header `Host` (localhost + IP réseau)
|
||||
- [x] **Workspace listing** — 2 sections: My Workspaces + Gitea Projects
|
||||
- [x] **Tabs par organisation** — All | user | org1 | org2 avec compteurs
|
||||
- [x] **Barre de recherche** — filtrage live par nom/description
|
||||
- [x] **Lazy tree** — arborescence chargée un dossier à la fois
|
||||
- [x] **File viewer** — lecture fichiers Gitea (décodé base64)
|
||||
- [x] **Éditeur + commit** — modifier et commiter dans Gitea
|
||||
- [x] **Delete fichier** — suppression avec confirmation + commit
|
||||
- [x] **Arborescence dans le sidebar** — comme un workspace local
|
||||
- [x] **Settings › Integrations** — connecter/déconnecter Gitea
|
||||
- [x] **Fallback token admin** — GET sans token utilisateur (read-only)
|
||||
- [x] **Write ops** — exigent token OAuth utilisateur (commit, delete)
|
||||
- [x] **Limit=100** — tous les repos visibles (pas de pagination tronquée)
|
||||
|
||||
### v2.7.1 ✅ — Private Pages Gitea (2026-07-13)
|
||||
- [x] Table `gitea_private_pages` — liée par (user_id, owner, repo)
|
||||
- [x] API CRUD: GET/POST/PUT/DELETE private-pages
|
||||
- [x] UI dans le workspace Gitea: liste + éditeur titre/contenu
|
||||
- [x] Lien Private Pages dans le sidebar
|
||||
- [x] Persistant entre sessions — survit au changement de workspace
|
||||
|
||||
---
|
||||
|
||||
## Upcoming
|
||||
|
||||
### v2.2.0 — Workspace & Sidebar Professionnel (Gap Analysis)
|
||||
### Cible: Q3 2026
|
||||
### v2.8.0 — Gitea Phase 2 (Écriture avancée)
|
||||
- [ ] Création de nouveaux fichiers dans le repo Gitea
|
||||
- [ ] Upload de fichiers binaires
|
||||
- [ ] Syntax highlighting dans le file viewer
|
||||
- [ ] Labels Gitea → tags FlowDeck (sync bidirectionnelle)
|
||||
- [ ] Historique des commits récents par fichier
|
||||
|
||||
Analyse complète de ce qui manque pour une expérience utilisateur
|
||||
de niveau professionnel, comparable à Notion, VS Code, et Finder.
|
||||
### v2.9.0 — GitHub OAuth Provider
|
||||
- [ ] OAuth2 GitHub (même flux que Gitea)
|
||||
- [ ] GitHubAdapter dans le ForgeAdapter pattern
|
||||
- [ ] Section GitHub Projects dans /workspaces
|
||||
|
||||
#### 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)
|
||||
|
||||
- [ ] **API publique** — REST API documentée pour usage externe
|
||||
- [ ] **Webhooks sortants** — notifier des services externes
|
||||
- [ ] **n8n integration** — nœud FlowDeck pour workflows
|
||||
- [ ] **Slack/Discord integration** — notifications dans les channels
|
||||
- [ ] **Google Calendar sync** — synchronisation bidirectionnelle
|
||||
- [ ] **Mobile PWA** — Progressive Web App pour mobile
|
||||
- [ ] **PostgreSQL migration** — si passage multi-tenant
|
||||
### v3.0.0 — UX Professionnelle (inspiré du gap analysis v2.2)
|
||||
- [ ] Multi-sélection (checkboxes, Shift-click, Ctrl-click)
|
||||
- [ ] Raccourcis clavier (Enter, F2, Del, Ctrl+A/C/V/Z)
|
||||
- [ ] Inline rename (double-clic → champ inline)
|
||||
- [ ] Vue détails/tableau avec tri
|
||||
- [ ] Loading skeletons
|
||||
- [ ] Mode grille/vignettes
|
||||
|
||||
---
|
||||
|
||||
@@ -310,18 +188,14 @@ de niveau professionnel, comparable à Notion, VS Code, et Finder.
|
||||
```
|
||||
v1.0.0 ✅ v1.1.0 ✅ v1.2.0 ✅ v1.3.0 ✅ v1.4.0 ✅ v1.5.0 ✅ v1.6.0 ✅ v1.7.0 ✅
|
||||
Production Pages Editor DB Concept Properties Relations Views View+
|
||||
──────────────────────────────────────────────
|
||||
52 fonctionnalités identifiées dans le gap analysis
|
||||
│
|
||||
├─ Bloc 1: Database Concept (v1.3) — 6 items ✅
|
||||
├─ Bloc 2: Propriétés avancées (v1.4-1.5) — 14 items ✅
|
||||
├─ Bloc 3: Vues manquantes (v1.6-1.7) — 10 items ✅
|
||||
├─ Bloc 4: Sub-items & Deps (v1.8) — 7 items ✅
|
||||
├─ Bloc 5: My Tasks (v1.9) — 7 items ✅
|
||||
├─ Bloc 6: Éditeur complet (v2.0) — 8 items ✅
|
||||
└─ Bloc 7: Fonctions transversales — +multi-user ✅
|
||||
|
||||
v2.0.0 ✅ v2.1.0 ✅ v2.2.0 ⬜
|
||||
Editor+ Workspace Pro UX
|
||||
Local
|
||||
v2.0.0 ✅ v2.1.0 ✅ v2.2.0 ✅ v2.3.0 ✅ v2.4.0 ✅ v2.5.0 ✅ v2.6.0 ✅ v2.7.0 ✅
|
||||
Editor+ Workspace Tags Views5 Tags/user Admin Account Gitea P1
|
||||
Local Panel
|
||||
|
||||
v2.7.1 ✅ v2.8.0 ⬜ v2.9.0 ⬜ v3.0.0 ⬜
|
||||
Private Gitea P2 GitHub Pro UX
|
||||
Pages
|
||||
```
|
||||
|
||||
*Dernière mise à jour: 2026-07-13*
|
||||
|
||||
Reference in New Issue
Block a user