docs: ROADMAP restructuré pour focus MVP + stratégie de branches Gitea
- ROADMAP.md: réorganisé avec priorités claires (v4.0.0=complété, v4.0.1=onboarding PRIO MAX) - Ajout BRANCHING.md: convention main/develop/feat/*, workflow complet - Branche develop créée et poussée sur Gitea - Sections Parité Notion réparties en v4.1–v4.10 ordonnées par priorité - Résumé des phases mis à jour
This commit is contained in:
+108
@@ -0,0 +1,108 @@
|
||||
# Stratégie de branches — FlowDeck
|
||||
|
||||
## Structure
|
||||
|
||||
```
|
||||
main ──●────────────●────── production (tags vX.Y.Z)
|
||||
\ /
|
||||
develop ●──●──●──●────── intégration continue
|
||||
\ \ \
|
||||
feat/xxx ● ● ●──── feature branches
|
||||
fix/xxx ●─────────── hotfix branches
|
||||
```
|
||||
|
||||
## Branches
|
||||
|
||||
| Branche | Rôle | Déploiement | Protection |
|
||||
|---------|------|-------------|------------|
|
||||
| `main` | Production | Docker auto sur :8080 | Push direct interdit, PR only |
|
||||
| `develop` | Intégration | Staging (optionnel) | Push direct interdit, PR only |
|
||||
| `feat/<nom>` | Nouvelle feature | Aucun | Libre |
|
||||
| `fix/<nom>` | Correctif urgent | Aucun | Libre |
|
||||
|
||||
## Workflow quotidien
|
||||
|
||||
### 1. Démarrer une feature
|
||||
|
||||
```bash
|
||||
git checkout develop
|
||||
git pull origin develop
|
||||
git checkout -b feat/ma-feature
|
||||
```
|
||||
|
||||
### 2. Travailler
|
||||
|
||||
```bash
|
||||
# Coder, commit souvent
|
||||
git add -A
|
||||
git commit -m "feat: description claire de ce qui est fait"
|
||||
git push origin feat/ma-feature
|
||||
```
|
||||
|
||||
### 3. Créer une Pull Request
|
||||
|
||||
Aller sur https://git.dracodev.net/bruno/flowdeck/pulls
|
||||
- **Base** : `develop`
|
||||
- **Head** : `feat/ma-feature`
|
||||
- Titre : descriptif
|
||||
- Assigner un reviewer si applicable
|
||||
|
||||
### 4. Après merge
|
||||
|
||||
```bash
|
||||
git checkout develop
|
||||
git pull origin develop
|
||||
git branch -d feat/ma-feature # supprimer la branche locale
|
||||
```
|
||||
|
||||
## Release (develop → main)
|
||||
|
||||
```bash
|
||||
# 1. S'assurer que develop est prêt
|
||||
git checkout develop
|
||||
git pull origin develop
|
||||
|
||||
# 2. Créer une PR develop → main sur Gitea
|
||||
# (ou merger localement si admin)
|
||||
git checkout main
|
||||
git merge develop
|
||||
git tag v4.0.1
|
||||
git push origin main --tags
|
||||
```
|
||||
|
||||
## Hotfix urgent
|
||||
|
||||
```bash
|
||||
git checkout main
|
||||
git checkout -b fix/urgence
|
||||
# ... corriger ...
|
||||
git commit -m "fix: description"
|
||||
git push origin fix/urgence
|
||||
# PR fix/urgence → main
|
||||
# PUIS merger main → develop pour synchroniser
|
||||
git checkout develop
|
||||
git merge main
|
||||
git push origin develop
|
||||
```
|
||||
|
||||
## Conventions de commits
|
||||
|
||||
| Préfixe | Usage | Exemple |
|
||||
|---------|-------|---------|
|
||||
| `feat:` | Nouvelle fonctionnalité | `feat: landing page for visitors` |
|
||||
| `fix:` | Correction de bug | `fix: redirect loop on /` |
|
||||
| `refactor:` | Restructuration sans changement fonctionnel | `refactor: extract sidebar_data` |
|
||||
| `test:` | Ajout/modification de tests | `test: onboarding flow e2e` |
|
||||
| `docs:` | Documentation | `docs: update ROADMAP.md` |
|
||||
| `style:` | Formatage, CSS | `style: mobile sidebar fixes` |
|
||||
| `chore:` | Tâches de maintenance | `chore: bump version to 4.0.1` |
|
||||
|
||||
## Règles
|
||||
|
||||
1. **Jamais de push direct sur `main`** — toujours via PR depuis `develop` ou `fix/*`
|
||||
2. **Jamais de push direct sur `develop`** — toujours via PR depuis `feat/*` ou `fix/*`
|
||||
3. **Une branche = une feature / un fix** — éviter les branches fourre-tout
|
||||
4. **Tests passent avant merge** — CI Gitea Actions doit être verte
|
||||
5. **Commit + push après chaque modification significative**
|
||||
6. **Nom de branche en kebab-case** : `feat/landing-page`, `fix/login-redirect`
|
||||
7. **Supprimer la branche après merge** (sauf `main` et `develop`)
|
||||
+133
-179
@@ -1,7 +1,40 @@
|
||||
# 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.
|
||||
> **Vision**: Copie conforme de l'UI/UX Notion, intégrée à Gitea/GitHub.
|
||||
> **MVP en production** : v4.0.0 — authentification locale/OAuth, pages blocs, sidebar, library, share/publish, intégrations.
|
||||
> **Branche principale** : `main` (production) · `develop` (intégration) · `feat/*` (features).
|
||||
|
||||
## 🏗️ Stratégie de branches
|
||||
|
||||
```
|
||||
main ──●────────────●────── production (tags vX.Y.Z)
|
||||
\ /
|
||||
develop ●──●──●──●────── intégration continue
|
||||
\ \ \
|
||||
feat/xxx ● ● ●──── feature branches
|
||||
```
|
||||
|
||||
- **`main`** : code en production, déploiement Docker automatique
|
||||
- **`develop`** : branche d'intégration, merges des `feat/*`
|
||||
- **`feat/<nom>`** : une branche par feature/fix, PR → code review → merge dans `develop`
|
||||
- **Tags** `vX.Y.Z` sur `main` pour chaque release
|
||||
|
||||
**Workflow** :
|
||||
```bash
|
||||
git checkout -b feat/mon-truc develop
|
||||
# ... coder, commit, push ...
|
||||
# Créer une PR feat/mon-truc → develop sur Gitea
|
||||
# Après review + CI verte → merge
|
||||
# Pour release: PR develop → main + tag vX.Y.Z
|
||||
```
|
||||
|
||||
**Règles** :
|
||||
- Ne jamais commiter directement sur `main`
|
||||
- Une branche = une feature / un fix
|
||||
- Tests passent avant merge (CI Gitea Actions)
|
||||
- Commit + push après chaque modification significative
|
||||
|
||||
---
|
||||
|
||||
## Completed
|
||||
|
||||
@@ -54,13 +87,13 @@ Propriétés custom, AI keywords, sync API, 12 tables DB
|
||||
- [x] Heading 4 support
|
||||
- [x] Breadcrumbs contextuels (workspace > projet > page)
|
||||
|
||||
### v1.3.0 ✅ — Database Concept (Bloc 1 du gap analysis)
|
||||
### v1.3.0 ✅ — Database Concept
|
||||
- [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)
|
||||
### v1.4.0 ✅ — Propriétés Avancées
|
||||
- [x] Table `collection_properties` — 21 types Notion
|
||||
- [x] Service `property_types.py` — validation, formatage, auto-values
|
||||
- [x] 38/38 tests passent
|
||||
@@ -72,7 +105,7 @@ Propriétés custom, AI keywords, sync API, 12 tables DB
|
||||
- [x] Formula engine + Rollup engine
|
||||
- [x] 43/43 tests passent
|
||||
|
||||
### v1.6.0 ✅ — Vues Manquantes (Bloc 3)
|
||||
### v1.6.0 ✅ — Vues Manquantes
|
||||
- [x] Calendar, Gallery, List, Timeline, Table views
|
||||
- [x] View tabs navigation
|
||||
- [x] 49/49 tests passent
|
||||
@@ -84,12 +117,12 @@ Propriétés custom, AI keywords, sync API, 12 tables DB
|
||||
- [x] Status aggregate, Dependencies (blocking constraint)
|
||||
- [x] 56/56 tests passent
|
||||
|
||||
### v1.9.0 ✅ — My Tasks & Dashboard Unifié (Bloc 5)
|
||||
### v1.9.0 ✅ — My Tasks & Dashboard Unifié
|
||||
- [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)
|
||||
### v2.0.0 ✅ — Éditeur Complet & Multi-Utilisateurs
|
||||
- [x] Workspaces, Comments, Page History, Favorites
|
||||
- [x] Database Templates, Page Templates, CSV Import/Export
|
||||
- [x] Public Sharing
|
||||
@@ -104,232 +137,153 @@ Propriétés custom, AI keywords, sync API, 12 tables DB
|
||||
### v2.7.0 ✅ — Intégration Gitea Phase 1
|
||||
### v2.7.1 ✅ — Private Pages Gitea
|
||||
|
||||
### v2.8.0 ✅ — Gitea Phase 2 (2026-07-14)
|
||||
### v2.8.0 ✅ — Gitea Phase 2
|
||||
- [x] Créer fichiers dans le repo (New file UI + API PUT)
|
||||
- [x] Upload fichiers binaires (POST /upload, drag-drop)
|
||||
- [x] Syntax highlighting via Prism.js CDN
|
||||
- [x] Labels Gitea → tags FlowDeck (POST /sync-labels, 16 labels importés)
|
||||
- [x] Historique commits par fichier (GET /commits?path=)
|
||||
|
||||
### v2.9.0 ✅ — GitHub OAuth Provider (2026-07-14)
|
||||
### v2.9.0 ✅ — GitHub OAuth Provider
|
||||
- [x] GitHubProvider dans `app/auth/providers.py`
|
||||
- [x] GitHubAdapter dans `app/services/github_adapter.py`
|
||||
- [x] Config GitHub dans `.env.example` (GITHUB_OAUTH_CLIENT_ID/SECRET)
|
||||
- [x] Config GitHub dans `.env.example`
|
||||
|
||||
### v3.0.0 ✅ — UX Professionnelle (2026-07-14)
|
||||
### v3.0.0 ✅ — UX Professionnelle
|
||||
- [x] Multi-sélection (checkboxes + Shift/Ctrl-click dans le sidebar)
|
||||
- [x] Raccourcis clavier (Ctrl+N, F2, Delete, Escape, Ctrl+S)
|
||||
- [x] Inline rename (double-clic → champ inline)
|
||||
- [x] Loading skeletons (animations pulse dans workspaces + file viewer
|
||||
- [x] Loading skeletons (animations pulse dans workspaces + file viewer)
|
||||
- [x] Grid/card view (mode grille/vignettes)
|
||||
- [x] Table sorting (tri par colonnes)
|
||||
- [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
|
||||
### v4.0.0 ✅ — Accounts, Integrations & Sharing (MVP)
|
||||
- [x] `auth_method` sur users (local/gitea/github)
|
||||
- [x] Badge OAuth dans sidebar
|
||||
- [x] Settings page avec Connect/Disconnect Gitea + GitHub
|
||||
- [x] Sidebar rules (Private = distant seulement, Trash local-only)
|
||||
- [x] Library page avec tabs + filtres source (All/Local/Gitea/GitHub)
|
||||
- [x] Modale Share (2 tabs: Share + Publish)
|
||||
- [x] Page publique `/p/<slug>` (no auth, rendu HTML)
|
||||
- [x] Table `page_shares`, colonnes `is_published`, `is_shared`, `share_mode`
|
||||
- [x] Table `recents` — tracking automatique
|
||||
- [x] Édition unifiée local/distant (même UI, bouton Commit pour Gitea)
|
||||
- [x] 133 tests passent
|
||||
|
||||
---
|
||||
|
||||
## v4.0.0 — Accounts, Integrations & Sidebar (priorité haute) ✅ COMPLETED
|
||||
## 🔜 Prochaines versions
|
||||
|
||||
> **Rappel** : Section 6.5 de ARCHITECTURE.md documente le design complet.
|
||||
> **Complété** : 2026-07-14 (v2.7.1–v3.0.0) + route publique 2026-07-18.
|
||||
### v4.0.1 — Onboarding & Polish 🎯 (priorité MAX)
|
||||
> **Objectif** : rendre l'app utilisable dès la première visite, sans friction.
|
||||
|
||||
### 4.0 Account Model ✅
|
||||
- [x] **`auth_method`** — colonne `users.auth_method ∈ {local, gitea, github}`
|
||||
- [x] **Auto-détection** — migrer les comptes existants (gitea_token → gitea, sinon local)
|
||||
- [x] **Badge OAuth** — 🦎/🐙 dans sidebar SI `auth_method` = provider
|
||||
- [x] **Pas de badge** — un compte local avec intégration ne montre PAS de badge
|
||||
- [ ] **Landing page `/` pour visiteurs non-auth** — page d'accueil (pas de redirect loop)
|
||||
- [ ] **Page `/auth/register` GET** — formulaire d'inscription dédié (pas juste un tab)
|
||||
- [ ] **Redirection `/` intelligente** — si pas connecté → login, si connecté sans Gitea → local workspace
|
||||
- [ ] **Empty states cohérents** — onboarding dans le local workspace vide
|
||||
- [ ] **Page 404 stylisée** — thème Notion sombre (actuellement HTML brut)
|
||||
- [ ] **Unifier les routes API** — `/board/api/pages` ↔ `/api/pages` (cohérence)
|
||||
- [ ] **Page Settings accessible** → lien dans le menu utilisateur déjà présent, vérifier fonctionnel
|
||||
|
||||
### 4.0a Intégrations & Déconnexion ✅
|
||||
- [x] **Settings page** — montre toutes les intégrations avec bouton Connect/Disconnect
|
||||
- [x] **Matrice déconnexion** : local→déco ok · gitea→déco github ok · github→déco gitea ok
|
||||
- [x] **Provider principal** — pas de bouton Disconnect sur auth_method
|
||||
- [x] **Compte local** — peut connecter Gitea + GitHub simultanément
|
||||
**Effort estimé** : 2-3 sessions | **Impact** : 🔴 Critique pour adoption
|
||||
|
||||
### 4.0b Sidebar — règles par type de compte ✅
|
||||
- [x] **Private visible** UNIQUEMENT si workspace actif est distant (Gitea/GitHub)
|
||||
- [x] **Private caché** pour Scénario A (local pur)
|
||||
- [x] **Trash local-only** — caché pour compte OAuth pur, restreint au contenu local
|
||||
- [x] **Boutons → Library** sur chaque section (recents, favorites, shared, published…)
|
||||
### v4.0.2 — Qualité & Robustesse
|
||||
> **Objectif** : zéro crash, zéro regression, DX impeccable.
|
||||
|
||||
### 4.0c Share & Publish ✅
|
||||
- [x] **Modale Share** — 2 tabs (Share + Publish) fonctionnels
|
||||
- [x] **Share tab** — inviter email/user, général access lien
|
||||
- [x] **Publish tab** — activer/désactiver, slug généré
|
||||
- [x] **Page publique** — `/p/<slug>` sert le contenu publié (no auth)
|
||||
- [x] **Tables DB** — `page_shares`, colonnes `is_published`, `is_shared`, `share_mode`
|
||||
- [ ] **Gestion d'erreurs** — try/catch manquants, messages user-friendly
|
||||
- [ ] **Validation inputs** — formulaires login/register, titre de page vide
|
||||
- [ ] **Rate limiting effectif** — tester + ajuster les seuils
|
||||
- [ ] **Session expiry UX** — message clair au lieu de redirect silencieux
|
||||
- [ ] **CSRF token refresh** — après expiration session
|
||||
- [ ] **Mobile responsive** — sidebar, editor, modals sur petit écran
|
||||
- [ ] **Tests de non-régression** — scénarios critiques (login, create page, publish)
|
||||
|
||||
### 4.0d Library ✅
|
||||
- [x] **Page `/library?tab=`** — tabs Recents, Favorites, Shared, Published, Private, Workspace
|
||||
- [x] **Filtres source** — All | Local | Gitea | GitHub
|
||||
- [x] **Table `recents`** — tracking automatique des documents consultés
|
||||
|
||||
### 4.0e Édition unifiée ✅
|
||||
- [x] **Même UI** pour fichiers locaux ET distants
|
||||
- [x] **Bouton Commit** — visible uniquement pour fichiers distants
|
||||
- [x] **Champ message** — pour les commits Gitea/GitHub
|
||||
**Effort estimé** : 2-3 sessions | **Impact** : 🟡 Élevé
|
||||
|
||||
---
|
||||
|
||||
## v4.0.0 — Parité Notion (Delta Analysis)
|
||||
### v4.1.0 — Content Blocks enrichis (Notion Parity Tier 2)
|
||||
> **Objectif** : parité d'édition avec Notion.
|
||||
|
||||
> **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
|
||||
- [ ] **Toggle lists** — contenu expandable/collapsible (déjà partiel)
|
||||
- [ ] **Multi-colonnes** — layout flexible (2, 3 colonnes)
|
||||
|
||||
### 🟠 Tier 3 — Avancé (6 features)
|
||||
### v4.2.0 — Export
|
||||
- [ ] **Export Markdown** — avec images et sous-pages (déjà partiel dans editor)
|
||||
- [ ] **Export PDF** — mise en page fidèle, table des matières
|
||||
- [ ] **Export HTML** — site statique standalone
|
||||
|
||||
#### 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
|
||||
### v4.3.0 — Collaboration
|
||||
- [ ] **Inline comments** — commentaires sur sélection de texte
|
||||
- [ ] **@mentions** — notifier un utilisateur → page/commentaire
|
||||
- [ ] **Email notifications** — changements, mentions
|
||||
|
||||
#### 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é…)
|
||||
### v4.4.0 — Embeds & Rich Media
|
||||
- [ ] **Embeds** — YouTube, Figma, Google Maps, Twitter, etc.
|
||||
- [ ] **Image lightbox** — clic pour agrandir, navigation
|
||||
- [ ] **Bookmark cards** — aperçu riche des liens (OG metadata)
|
||||
|
||||
#### 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
|
||||
### v4.5.0 — Kanban Adaptable
|
||||
- [ ] Colonnes configurables par utilisateur
|
||||
- [ ] Cartes configurables (choisir propriétés affichées)
|
||||
- [ ] Couverture de carte (image, icône, couleur)
|
||||
- [ ] WIP limits par colonne
|
||||
|
||||
#### 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é
|
||||
### v4.6.0 — Calendar & Meetings
|
||||
- [ ] Vue Calendrier drag & drop
|
||||
- [ ] Récurrence d'événements
|
||||
- [ ] Template Meeting Notes
|
||||
|
||||
#### 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.7.0 — AI Assistant
|
||||
- [ ] Intégration LLM pour écriture/résumé/traduction
|
||||
- [ ] Slash AI commands (`/ai write`, `/ai summarize`)
|
||||
- [ ] Auto-complétion
|
||||
|
||||
### v4.8.0 — Command Palette & Recherche
|
||||
- [ ] **Command palette** — Ctrl+K / Ctrl+P recherche universelle
|
||||
- [ ] **Quick actions** — navigation, création, commandes
|
||||
|
||||
### v4.9.0 — Automations
|
||||
- [ ] **Database automations** — if-this-then-that
|
||||
- [ ] **Buttons** — cliquables déclenchant actions
|
||||
|
||||
### v4.10.0 — Database Avancée
|
||||
- [ ] Inline databases dans n'importe quelle page
|
||||
- [ ] Templates de database (Project tracker, CRM…)
|
||||
- [ ] Validation des propriétés (required, unique, min/max)
|
||||
|
||||
---
|
||||
|
||||
## v4.1.0 — Pro (futur)
|
||||
## v5.0.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
|
||||
- [ ] **Web Clipper** — extension navigateur
|
||||
- [ ] **API publique** — REST API + webhooks documentés
|
||||
- [ ] **Realtime editing** — WebSocket, curseurs multi-utilisateurs
|
||||
- [ ] **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+
|
||||
v0.x–v1.x ✅ v2.x ✅ v3.0.0 ✅ v4.0.0 ✅ v4.0.1 ⬜
|
||||
Base + Kanban Éditeur + Gitea UX Pro MVP Onboarding
|
||||
+ DB + Auth + Workspaces + Multi-select Accounts & Polish
|
||||
+ UI Notion + Tags + Admin + Sharing PRIORITÉ
|
||||
+ GitHub OAuth + Library MAX
|
||||
|
||||
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 Accounts+ Pro
|
||||
Pages Parité
|
||||
v4.0.2 ⬜ v4.1.0 ⬜ v4.2.0 ⬜ v4.3.0 ⬜ v4.4–4.10 ⬜ v5.0.0 ⬜
|
||||
Quality Blocks Export Collab Notion Pro
|
||||
& Tests enrichis PDF/MD @mentions Parity (futur)
|
||||
```
|
||||
|
||||
*Dernière mise à jour: 2026-07-18 — v4.0.0 Accounts/Integrations complété, route publique /p/<slug> ajoutée*
|
||||
*Dernière mise à jour: 2026-07-18 — Roadmap restructuré, focus MVP, stratégie de branches Gitea*
|
||||
|
||||
Reference in New Issue
Block a user