ARCHITECTURE.md: - Section 6.5: modèle de comptes (local/gitea/github) - Matrice d'intégrations & règles de déconnexion - 3 scénarios de workspace (A/B/C) - Sidebar: règles d'affichage par type de compte - Share & Publish: modale 2 tabs + schéma DB - Library: /library?tab= + filtres source - Trash local-only, édition unifiée, stockage Private - Plan de migration 5 phases ROADMAP.md: - v4.0.0 section prioritaire: Account Model, Intégrations, Sidebar rules, Share/Publish, Library, Édition unifiée
15 KiB
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
- FastAPI lifespan (deprecation fix)
- 28 tests — 5 vues, filtres, tris, APIs, CSRF, CORS, DB
- CI/CD Gitea Actions (
.gitea/workflows/ci.yml) - CHANGELOG.md, ARCHITECTURE.md à jour
- Version 1.0.0 partout (main.py, api.py, health)
- Tag git v1.0.0
v1.1.0 ✅ — Pages & Sidebar
- Pages Markdown avec arbre imbriqué (parent_id, sort_order)
- Block editor mode (content_format='blocks', JSON storage)
- Soft delete → Trash → Restore → Permanent delete
- Drag & drop réorganisation pages
- Sidebar Notion-style avec sections Recents/Private/Shared
- "+ New page" footer button
- Workspace header avec avatar + chevron toggle
v1.2.0 ✅ — Éditeur Notion
- Slash menu (/) 15 commandes fonctionnelles
- Navigation clavier (flèches, Enter, Escape)
- Placeholders Notion-style (Heading 1/2/3/4, Toggle, Quote, Code)
- Suppression outline blanc sur les blocs
- Heading 4 support
- Breadcrumbs contextuels (workspace > projet > page)
v1.3.0 ✅ — Database Concept (Bloc 1 du gap analysis)
- Tables
collections,collection_pages,collection_views - Rétrocompatibilité Gitea via
GiteaBoardCompat - Router
/db— API CRUD collections + pages (12 endpoints) - 34/34 tests passent
v1.4.0 ✅ — Propriétés Avancées (Bloc 2)
- Table
collection_properties— 21 types Notion - Service
property_types.py— validation, formatage, auto-values - 38/38 tests passent
v1.5.0 ✅ — Relations & Rollups
- Type
relation— lien bidirectionnel entre collections - Type
rollup— aggregation via relation (COUNT, SUM, AVG, etc.) - Type
formula— moteur d'expressions (19 fonctions) - Formula engine + Rollup engine
- 43/43 tests passent
v1.6.0 ✅ — Vues Manquantes (Bloc 3)
- Calendar, Gallery, List, Timeline, Table views
- View tabs navigation
- 49/49 tests passent
v1.7.0 ✅ — Vues Améliorées
v1.8.0 ✅ — Sub-items & Dépendances
- View config API, Save view as
- Sub-items (parent_id auto-référence)
- Status aggregate, Dependencies (blocking constraint)
- 56/56 tests passent
v1.9.0 ✅ — My Tasks & Dashboard Unifié (Bloc 5)
- Vue
/my-tasks— agrège pages assignées à l'utilisateur - Groupement par collection, filtres globaux
- 60/60 tests passent
v2.0.0 ✅ — Éditeur Complet & Multi-Utilisateurs (Blocs 6-7)
- Workspaces, Comments, Page History, Favorites
- Database Templates, Page Templates, CSV Import/Export
- Public Sharing
- 67/67 tests passent
v2.1.0 ✅ — Workspace Local & Arborescence
v2.2.0 ✅ — Tags & Recherche Avancée
v2.3.0 ✅ — Multi-Vues Workspace & Preview Panel
v2.4.0 ✅ — Tags Personnalisés par Utilisateur
v2.5.0 ✅ — Administration Avancée
v2.6.0 ✅ — My Account & Auth Locale
v2.7.0 ✅ — Intégration Gitea Phase 1
v2.7.1 ✅ — Private Pages Gitea
v2.8.0 ✅ — Gitea Phase 2 (2026-07-14)
- Créer fichiers dans le repo (New file UI + API PUT)
- Upload fichiers binaires (POST /upload, drag-drop)
- Syntax highlighting via Prism.js CDN
- Labels Gitea → tags FlowDeck (POST /sync-labels, 16 labels importés)
- Historique commits par fichier (GET /commits?path=)
v2.9.0 ✅ — GitHub OAuth Provider (2026-07-14)
- GitHubProvider dans
app/auth/providers.py - GitHubAdapter dans
app/services/github_adapter.py - Config GitHub dans
.env.example(GITHUB_OAUTH_CLIENT_ID/SECRET)
v3.0.0 ✅ — UX Professionnelle (2026-07-14)
- Multi-sélection (checkboxes + Shift/Ctrl-click dans le sidebar)
- Raccourcis clavier (Ctrl+N, F2, Delete, Escape, Ctrl+S)
- Inline rename (double-clic → champ inline)
- Loading skeletons (animations pulse dans workspaces + file viewer
- Grid/card view (mode grille/vignettes)
- Table sorting (tri par colonnes)
- Sélecteur de vue: Tree, List, Details, Title, Content (5 modes)
- Preview Panel latéral (contenu, métadonnées, tags, actions)
- Tri par date (Oldest/Newest)
v2.4.0 ✅ — Tags Personnalisés par Utilisateur (2026-07-13)
- Tags isolés par
user_id— chaque utilisateur voit ses propres tags UNIQUE(name, user_id), migration des tags existants- API filtrage transparent (session cookie)
v2.5.0 ✅ — Administration Avancée (2026-07-13)
- Premier compte créé = admin automatique
- Panneau Admin dans Settings (Users & Roles, Audit)
- Table
login_history(IP, user_agent, timestamp) - CRUD utilisateurs (créer, modifier rôle/password, supprimer)
- Statistiques par utilisateur (workspaces, pages, utilisation)
- CSRF fix sur les appels admin
v2.6.0 ✅ — My Account & Auth Locale (2026-07-13)
- Section My Account: modifier username, nom, email, mot de passe
- Toggle voir/cacher mot de passe (oeil/barré)
- Label "Email or username" dans login
- Refresh cookie session après modification compte
- Register avec Gitea (OAuth crée compte + active intégration)
v2.7.0 ✅ — Intégration Gitea Phase 1 (2026-07-13)
- OAuth2 Provider — Gitea comme fournisseur OAuth2 (Client ID/Secret dans
.env) - Redirect URI dynamique — basé sur le header
Host(localhost + IP réseau) - Workspace listing — 2 sections: My Workspaces + Gitea Projects
- Tabs par organisation — All | user | org1 | org2 avec compteurs
- Barre de recherche — filtrage live par nom/description
- Lazy tree — arborescence chargée un dossier à la fois
- File viewer — lecture fichiers Gitea (décodé base64)
- Éditeur + commit — modifier et commiter dans Gitea
- Delete fichier — suppression avec confirmation + commit
- Arborescence dans le sidebar — comme un workspace local
- Settings › Integrations — connecter/déconnecter Gitea
- Fallback token admin — GET sans token utilisateur (read-only)
- Write ops — exigent token OAuth utilisateur (commit, delete)
- Limit=100 — tous les repos visibles (pas de pagination tronquée)
v2.7.1 ✅ — Private Pages Gitea (2026-07-13)
- Table
gitea_private_pages— liée par (user_id, owner, repo) - API CRUD: GET/POST/PUT/DELETE private-pages
- UI dans le workspace Gitea: liste + éditeur titre/contenu
- Lien Private Pages dans le sidebar
- Persistant entre sessions — survit au changement de workspace
v4.0.0 — Accounts, Integrations & Sidebar (priorité haute)
Rappel : Section 6.5 de ARCHITECTURE.md documente le design complet.
4.0 Account Model
auth_method— colonneusers.auth_method ∈ {local, gitea, github}- Auto-détection — migrer les comptes existants (gitea_token → gitea, sinon local)
- Badge OAuth — 🦎/🐙 dans sidebar SI
auth_method= provider - Pas de badge — un compte local avec intégration ne montre PAS de badge
4.0a Intégrations & Déconnexion
- Settings page — montre toutes les intégrations avec bouton Connect/Disconnect
- Matrice déconnexion : local→déco ok · gitea→déco github ok · github→déco gitea ok
- Provider principal — pas de bouton Disconnect sur auth_method
- Compte local — peut connecter Gitea + GitHub simultanément
4.0b Sidebar — règles par type de compte
- Private visible UNIQUEMENT si workspace actif est distant (Gitea/GitHub)
- Private caché pour Scénario A (local pur)
- Trash local-only — caché pour compte OAuth pur, restreint au contenu local
- Boutons → Library sur chaque section (recents, favorites, shared, published…)
4.0c Share & Publish
- Modale Share — 2 tabs (Share + Publish) fonctionnels
- Share tab — inviter email/user, général access lien
- Publish tab — activer/désactiver, slug généré
- Page publique —
/p/<slug>sert le contenu publié - Tables DB —
page_shares, colonnesis_published,is_shared,share_mode
4.0d Library
- Page
/library?tab=— tabs Recents, Favorites, Shared, Published, Private, Workspace - Filtres source — All | Local | Gitea | GitHub
- Table
recents— tracking automatique des documents consultés
4.0e Édition unifiée
- Même UI pour fichiers locaux ET distants
- Bouton Commit — visible uniquement pour fichiers distants
- Champ message — pour les commits Gitea/GitHub
v4.0.0 — Parité Notion (Delta Analysis)
Méthodologie: Comparaison exhaustive de FlowDeck v3.0.1 vs Notion (2025) — 60+ fonctionnalités analysées, 45 manquantes identifiées, 30 retenues pour v4.0.0.
🟢 Tier 1 — Critique (16 features)
4.1 AI Assistant
- Notion AI-style — intégration LLM locale/nuage pour: écriture, résumé, traduction, brainstorming
- Auto-complétion — suggestions de contenu pendant la frappe
- AI properties — auto-remplissage de propriétés (résumé auto, catégorisation)
- Slash AI commands —
/ai write,/ai summarize,/ai translate
4.2 Embeds & Rich Media
- 60+ embeds — YouTube, Figma, Google Maps, Loom, Twitter, CodePen, Miro, etc.
- Image lightbox — clic pour agrandir, navigation entre images
- Inline file previews — PDF, vidéo, audio directement dans la page
- Bookmark cards — aperçu riche des liens (OG metadata)
4.3 Export & Import
- Export PDF — mise en page fidèle, table des matières
- Export Markdown — avec images et sous-pages
- Export HTML — site statique
- Import Confluence/Evernote/Asana — migration depuis autres outils
🟡 Tier 2 — Important (8 features)
4.4 Collaboration & Notifications
- Realtime editing — WebSocket, curseurs multi-utilisateurs
- Inline comments — commentaires sur sélection de texte
- @mentions — notifier un utilisateur → page/commentaire
- Email notifications — changements, mentions, rappels
4.5 Content Blocks
- Callout blocks — boîtes colorées (info, warning, tip, success)
- Table of contents — auto-généré depuis les headings
- Math equations — LaTeX / KaTeX inline + block
- Toggle lists — contenu expandable/collapsible
🟠 Tier 3 — Avancé (6 features)
4.6 Views & Layout
- Linked databases — vue d'une DB dans plusieurs pages
- Charts & dashboards — graphiques depuis données DB (bar, line, donut)
- Multi-colonnes — layout flexible (2, 3, 4 colonnes)
- Command palette — Ctrl+P / Cmd+K recherche universelle
4.7 Automations
- Database automations — if-this-then-that (ex: statut=done → assign next)
- Buttons — boutons cliquables déclenchant des actions (créer page, modifier propriété…)
4.8 Database Avancée
- Database unifiée — refonte complète du système de database Notion-style
- Inline databases dans n'importe quelle page
- Full-page databases avec vues multiples
- Templates de database (Project tracker, CRM, Inventory…)
- Champs calculés avec formules complexes
- Groupes de propriétés pliables
- Validation des propriétés (required, unique, min/max)
- Types de propriétés manquants: Person (multi-select users), Last edited time, Created by
- Vues Notion complètes
- Vue Timeline/Gantt avec dépendances visuelles
- Vue Board (Kanban) avec swimlanes et WIP limits
- Vue Calendar avec drag & drop reschedule
- Vue Gallery avec images de couverture
4.9 Kanban Adaptable
- Kanban personnalisable par utilisateur
- Colonnes configurables (propriété Select/Status)
- Cartes configurables (choisir quelles propriétés afficher)
- Couverture de carte (image, icône, couleur)
- Sous-tâches visibles directement sur la carte
- WIP limits par colonne avec alertes visuelles
- Vues sauvegardées par utilisateur (nom, filtres, tri, colonnes)
- Mode compact / mode détaillé
4.10 Calendar & Meetings
- Calendrier intégré
- Vue Calendrier avec drag & drop pour reschedule
- Vue Jour/Semaine/Mois (comme Notion Calendar)
- Récurrence d'événements (daily, weekly, monthly, custom)
- Timezone support
- Rappels (in-app, email)
- Meeting Notes
- Template Meeting Notes avec sections: Attendees, Agenda, Notes, Action Items
- Lien automatique avec le calendrier
- Action items → création automatique de tâches
v4.1.0 — Pro (futur)
- PWA — Progressive Web App, offline support
- SSO/SAML — enterprise authentication
- Granular permissions — page-level, property-level access control
- Web Clipper — extension navigateur sauvegarder vers FlowDeck
- API publique — REST API + webhooks
- Synced blocks — bloc synchronisé entre plusieurs pages
- Conditional formatting — couleur cellule basée sur valeur
- Pivot tables — vues agrégées
- Database containers — sous-DBs imbriquées
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 ✅ v3.0.1 ✅ v4.0.0 ⬜ v4.1.0 ⬜
Private Gitea P2 GitHub Pro UX Quality Notion Pro
Pages
Dernière mise à jour: 2026-07-14 — v4.0.0 planifié