Files
flowdeck/ROADMAP.md
T
bruno c1f854a54a
FlowDeck CI / test (push) Failing after 4s
FlowDeck CI / docker (push) Has been skipped
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
2026-07-13 17:05:45 -04:00

202 lines
8.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Roadmap FlowDeck — Notion Clone
> **Vision**: Copie conforme de l'UI/UX Notion, intégrée à Gitea.
> **19 images de référence** dans `images/` — analysées le 2026-07-08.
## Completed
### v0.2.0 ✅ — Base
Dashboard + Board Kanban + Gitea sync + Notes + Docker
### v0.3.0 ✅ — Auth
OAuth2 Gitea, token par utilisateur, CSRF, rate limiting, webhooks
### v0.4.0 ✅ — UI Notion
Layout 3 zones (sidebar 240px + topbar 44px), dark mode, CSS 31KB, Alpine.js
### v0.5.0 ✅ — Kanban
Colonnes, groupes, cartes enrichies, drag&drop, modale détail, checklists, commentaires
### v0.6.0 ✅ — Table View
6 colonnes triables, groupes rétractables
### v0.7.0 ✅ — Filtres & Tri
Filtres cumulables AND, status dropdown, sort multi-critères
### v0.8.0 ✅ — Vues Spéciales
Status Overview (donut SVG), Team Load (barres), Detailed Board
### v0.9.0 ✅ — Backend
Propriétés custom, AI keywords, sync API, 12 tables DB
### v1.0.0 ✅ — Production
- [x] FastAPI lifespan (deprecation fix)
- [x] 28 tests — 5 vues, filtres, tris, APIs, CSRF, CORS, DB
- [x] CI/CD Gitea Actions (`.gitea/workflows/ci.yml`)
- [x] CHANGELOG.md, ARCHITECTURE.md à jour
- [x] Version 1.0.0 partout (main.py, api.py, health)
- [x] Tag git v1.0.0
### v1.1.0 ✅ — Pages & Sidebar
- [x] Pages Markdown avec arbre imbriqué (parent_id, sort_order)
- [x] Block editor mode (content_format='blocks', JSON storage)
- [x] Soft delete → Trash → Restore → Permanent delete
- [x] Drag & drop réorganisation pages
- [x] Sidebar Notion-style avec sections Recents/Private/Shared
- [x] "+ New page" footer button
- [x] Workspace header avec avatar + chevron toggle
### v1.2.0 ✅ — Éditeur Notion
- [x] Slash menu (/) 15 commandes fonctionnelles
- [x] Navigation clavier (flèches, Enter, Escape)
- [x] Placeholders Notion-style (Heading 1/2/3/4, Toggle, Quote, Code)
- [x] Suppression outline blanc sur les blocs
- [x] Heading 4 support
- [x] Breadcrumbs contextuels (workspace > projet > page)
### v1.3.0 ✅ — Database Concept (Bloc 1 du gap analysis)
- [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)
- [x] Table `collection_properties` — 21 types Notion
- [x] Service `property_types.py` — validation, formatage, auto-values
- [x] 38/38 tests passent
### 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)
- [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
- [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)
- [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)
- [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
- [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
### 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.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
### v2.9.0 — GitHub OAuth Provider
- [ ] OAuth2 GitHub (même flux que Gitea)
- [ ] GitHubAdapter dans le ForgeAdapter pattern
- [ ] Section GitHub Projects dans /workspaces
### 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
---
## Résumé des phases
```
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+
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*