Files
flowdeck/ROADMAP.md
T
bruno 8eb7049460
FlowDeck CI / test (push) Failing after 5s
FlowDeck CI / docker (push) Has been skipped
docs: ARCHITECTURE v3.0 + ROADMAP v4.0 — comptes, intégrations, sidebar
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
2026-07-14 12:07:13 -04:00

15 KiB
Raw Blame History

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 — colonne users.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, colonnes is_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é