docs: ARCHITECTURE.md v4.0 — mise à jour complète
- Version 3.0 → 4.0, date 2026-07-20 - Templates: reflète la structure actuelle (base, _header, _workspace_tree_macro, etc.) - Routers: ajoutés (local_workspace, library, private, public_api, admin, workspace) - Data layer: nouvelles tables v4.0 (page_shares, recents, tags, gitea_private_pages) - Nouvelle section 5: Système d'authentification (3 types de comptes, sidebar behavior, cookie flowdeck_workspace) - Layout diagram: sidebar Notion complet avec toutes les sections - Section 16: Versions à venir (v4.1.0 → v5.0.0) - Nettoyage références obsolètes
This commit is contained in:
+215
-64
@@ -1,7 +1,8 @@
|
|||||||
# Architecture FlowDeck — Document Complet v3.0
|
# Architecture FlowDeck — Document Complet v4.0
|
||||||
|
|
||||||
> **Version:** 3.0 · **Date:** 2026-07-14 · **Auteur:** Hermes-Deepin
|
> **Version:** 4.0 · **Date:** 2026-07-20 · **Auteur:** Hermes-Deepin
|
||||||
> **Cible:** Clone Notion intégré à Gitea/GitHub — multi-comptes, multi-intégrations
|
> **Cible:** Clone Notion intégré à Gitea/GitHub — multi-comptes, multi-intégrations
|
||||||
|
> **Version déployée:** v4.0.x (production : https://flowdeck.dracodev.net)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -47,34 +48,31 @@ FlowDeck est un **clone de Notion** intégré à Gitea. Il recrée l'expérience
|
|||||||
│ │
|
│ │
|
||||||
│ ┌─────────────────────────────────────────────────────────┐ │
|
│ ┌─────────────────────────────────────────────────────────┐ │
|
||||||
│ │ Templates Jinja2 (SSR) │ │
|
│ │ Templates Jinja2 (SSR) │ │
|
||||||
│ │ ├─ dashboard.html — Projets + sidebar │ │
|
│ │ ├─ base.html — Layout Notion commun (sidebar) │ │
|
||||||
│ │ ├─ board.html — Kanban (wrapper) │ │
|
│ │ ├─ _header.html — Topbar + breadcrumbs │ │
|
||||||
│ │ ├─ board_fragment.html— Cartes Kanban │ │
|
│ │ ├─ _workspace_tree_macro.html — Macro arbre sidebar │ │
|
||||||
│ │ ├─ table_view.html — Vue table │ │
|
│ │ ├─ landing.html — Landing page non-auth │ │
|
||||||
│ │ ├─ calendar_view.html — Vue calendrier (v1.6) │ │
|
│ │ ├─ workspaces.html — Page Workspaces (locale/Gitea) │ │
|
||||||
│ │ ├─ timeline_view.html — Vue Gantt (v1.6) │ │
|
│ │ ├─ library.html — Bibliothèque multi-onglets │ │
|
||||||
│ │ ├─ gallery_view.html — Vue galerie (v1.6) │ │
|
│ │ ├─ local_workspace.html — Workspace local (explorer) │ │
|
||||||
│ │ ├─ list_view.html — Vue liste (v1.6) │ │
|
│ │ ├─ page_editor.html — Éditeur de blocs │ │
|
||||||
│ │ ├─ status_overview.html — Donut SVG │ │
|
│ │ ├─ trash.html — Corbeille (local only) │ │
|
||||||
│ │ ├─ team_load.html — Barres stacked │ │
|
│ │ ├─ settings.html — Settings / My Account / Admin │ │
|
||||||
│ │ ├─ detailed_board.html— Board détaillé │ │
|
│ │ ├─ accounts.html — Gestion comptes admin │ │
|
||||||
│ │ ├─ card_detail.html — Modale détail carte │ │
|
│ │ ├─ board.html — Kanban (wrapper) │ │
|
||||||
│ │ ├─ card.html — Carte individuelle │ │
|
│ │ ├─ board_fragment.html — Cartes Kanban │ │
|
||||||
│ │ ├─ page_editor.html — Éditeur de blocs │ │
|
│ │ ├─ table_view.html — Vue table │ │
|
||||||
│ │ ├─ my_tasks.html — Dashboard unifié (v1.9) │ │
|
│ │ ├─ login.html — Login/Register (local + OAuth) │ │
|
||||||
│ │ ├─ library.html — Bibliothèque de pages │ │
|
│ │ ├─ public_page.html — Page publiée (/p/slug) │ │
|
||||||
│ │ ├─ trash.html — Corbeille │ │
|
│ │ └─ (legacy: dashboard, detailed_board, card_detail, etc.) │ │
|
||||||
│ │ ├─ accounts.html — Gestion comptes │ │
|
|
||||||
│ │ ├─ notes.html — Notes Markdown │ │
|
|
||||||
│ │ └─ base.html — Layout commun │ │
|
|
||||||
│ └─────────────────────────────────────────────────────────┘ │
|
│ └─────────────────────────────────────────────────────────┘ │
|
||||||
│ │
|
│ │
|
||||||
│ ┌─────────────────────────────────────────────────────────┐ │
|
│ ┌─────────────────────────────────────────────────────────┐ │
|
||||||
│ │ JavaScript (CDN, pas de build step) │ │
|
│ │ JavaScript (servi localement, pas de CDN externe) │ │
|
||||||
│ │ ├─ HTMX 1.9 — AJAX sans JS │ │
|
|
||||||
│ │ ├─ Alpine.js 3.14 — Interactivité légère │ │
|
│ │ ├─ Alpine.js 3.14 — Interactivité légère │ │
|
||||||
|
│ │ ├─ HTMX 1.9 — AJAX sans JS (legacy) │ │
|
||||||
│ │ ├─ SortableJS 1.15 — Drag & drop │ │
|
│ │ ├─ SortableJS 1.15 — Drag & drop │ │
|
||||||
│ │ └─ highlight.js — Syntax highlighting (v2.0) │ │
|
│ │ └─ Prism.js — Syntax highlighting │ │
|
||||||
│ └─────────────────────────────────────────────────────────┘ │
|
│ └─────────────────────────────────────────────────────────┘ │
|
||||||
│ │
|
│ │
|
||||||
│ ┌─────────────────────────────────────────────────────────┐ │
|
│ ┌─────────────────────────────────────────────────────────┐ │
|
||||||
@@ -95,17 +93,27 @@ FlowDeck est un **clone de Notion** intégré à Gitea. Il recrée l'expérience
|
|||||||
│ │
|
│ │
|
||||||
│ ┌─────────────────────────────────────────────────────────┐ │
|
│ ┌─────────────────────────────────────────────────────────┐ │
|
||||||
│ │ ROUTERS │ │
|
│ │ ROUTERS │ │
|
||||||
│ │ ├─ dashboard.py — / Dashboard │ │
|
│ │ ├─ main.py — FastAPI app, lifespan, CORS, 404 │ │
|
||||||
│ │ ├─ board.py — /board/{o}/{r} Board + vues │ │
|
│ │ ├─ dashboard.py — /, /workspaces, /library, /help │ │
|
||||||
│ │ │ — /board/api/... APIs board │ │
|
│ │ │ — /trash, /settings, /accounts │ │
|
||||||
│ │ ├─ api.py — /api/... CRUD + sync │ │
|
│ │ │ — /p/{slug} (pages publiques) │ │
|
||||||
│ │ ├─ notes.py — /notes/{o}/{r} Notes │ │
|
│ │ │ — _sidebar_data() — données sidebar │ │
|
||||||
│ │ ├─ auth.py — /auth/... OAuth2 │ │
|
│ │ ├─ board.py — /board/{o}/{r} Board + vues │ │
|
||||||
│ │ ├─ webhooks.py — /webhooks/... Gitea hooks │ │
|
│ │ │ — /board/api/pages CRUD pages │ │
|
||||||
│ │ ├─ my_tasks.py — /my-tasks (v1.9) │ │
|
│ │ │ — /board/api/trash Trash │ │
|
||||||
│ │ ├─ pages.py — /pages/... Pages CRUD │ │
|
│ │ ├─ api.py — /api/... CRUD + sync │ │
|
||||||
│ │ ├─ collections.py — /db/... Collections │ │
|
│ │ ├─ auth.py — /auth/... OAuth2 + local │ │
|
||||||
│ │ └─ editor.py — /api/editor/... Block editor │ │
|
│ │ ├─ local_workspace.py— /api/local-workspace CRUD + upload │ │
|
||||||
|
│ │ ├─ my_tasks.py — /my-tasks Dashboard │ │
|
||||||
|
│ │ ├─ library.py — /api/library/* API bibliothèque│ │
|
||||||
|
│ │ ├─ pages.py — /pages/... Pages CRUD │ │
|
||||||
|
│ │ ├─ collections.py — /db/... Collections │ │
|
||||||
|
│ │ ├─ editor.py — /api/editor/... Block editor │ │
|
||||||
|
│ │ ├─ private.py — /api/private/* Section privée │ │
|
||||||
|
│ │ ├─ public_api.py — /api/public/* Public API │ │
|
||||||
|
│ │ ├─ workspace.py — Workspaces API + Gitea projets │ │
|
||||||
|
│ │ ├─ webhooks.py — /webhooks/... Gitea hooks │ │
|
||||||
|
│ │ └─ admin.py — /api/admin/* Admin users │ │
|
||||||
│ └─────────────────────────────────────────────────────────┘ │
|
│ └─────────────────────────────────────────────────────────┘ │
|
||||||
│ │
|
│ │
|
||||||
│ ┌─────────────────────────────────────────────────────────┐ │
|
│ ┌─────────────────────────────────────────────────────────┐ │
|
||||||
@@ -138,6 +146,11 @@ FlowDeck est un **clone de Notion** intégré à Gitea. Il recrée l'expérience
|
|||||||
│ │ │ ├─ property_values (legacy → collection_pages) │
|
│ │ │ ├─ property_values (legacy → collection_pages) │
|
||||||
│ │ │ ├─ ai_keywords │ │ │
|
│ │ │ ├─ ai_keywords │ │ │
|
||||||
│ │ │ ├─ pages │ │ │
|
│ │ │ ├─ pages │ │ │
|
||||||
|
│ │ │ ├─ page_shares (v4.0) │ │ │
|
||||||
|
│ │ │ ├─ recents (v4.0) │ │ │
|
||||||
|
│ │ │ ├─ tags (v4.0) │ │ │
|
||||||
|
│ │ │ ├─ page_tags (v4.0) │ │ │
|
||||||
|
│ │ │ ├─ gitea_private_pages (v4.0) │ │ │
|
||||||
│ │ │ ├─ users │ │ │
|
│ │ │ ├─ users │ │ │
|
||||||
│ │ │ ├─ user_tokens │ │ │
|
│ │ │ ├─ user_tokens │ │ │
|
||||||
│ │ │ ├─ workspaces (v2.0) │ │ │
|
│ │ │ ├─ workspaces (v2.0) │ │ │
|
||||||
@@ -685,42 +698,146 @@ POST /favorites → Ajouter favori
|
|||||||
DELETE /favorites/{id} → Retirer favori
|
DELETE /favorites/{id} → Retirer favori
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### 4.6 Routes Sidebar & Library (v4.0)
|
||||||
|
|
||||||
|
```
|
||||||
|
GET /library → Bibliothèque dynamique
|
||||||
|
GET /api/library/recents → Pages récentes
|
||||||
|
GET /api/library/favorites → Favoris
|
||||||
|
GET /api/library/shared → Pages partagées
|
||||||
|
GET /api/library/published → Pages publiées
|
||||||
|
GET /api/library/private → Pages privées
|
||||||
|
GET /api/library/workspace → Pages du workspace
|
||||||
|
|
||||||
|
GET /api/local-workspace/items → Arborescence workspace
|
||||||
|
POST /api/local-workspace/items → Créer page/dossier
|
||||||
|
PUT /api/local-workspace/items/{id} → Renommer
|
||||||
|
DELETE /api/local-workspace/items/{id} → Soft delete
|
||||||
|
POST /api/local-workspace/upload → Upload fichier
|
||||||
|
GET /api/files/{ws_id}/{filename} → Servir fichier uploadé
|
||||||
|
|
||||||
|
GET /help → Page d'aide complète
|
||||||
|
GET /api/public/pages/{slug} → Page publique
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4.7 Routes Share & Publish (v4.0)
|
||||||
|
|
||||||
|
```
|
||||||
|
POST /api/pages/{id}/share → Partager une page
|
||||||
|
DELETE /api/pages/{id}/share/{share_id} → Retirer partage
|
||||||
|
GET /api/pages/{id}/shares → Liste partages
|
||||||
|
POST /api/pages/{id}/publish → Publier page
|
||||||
|
DELETE /api/pages/{id}/publish → Dépublier
|
||||||
|
```
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 5. Frontend
|
## 5. Système d'authentification (v4.0)
|
||||||
|
|
||||||
|
FlowDeck supporte **3 méthodes d'authentification** et la **connexion d'intégrations multiples** à un même compte local.
|
||||||
|
|
||||||
|
### 5.1 Types de comptes
|
||||||
|
|
||||||
|
| Type | Auth | Workspaces | Intégrations |
|
||||||
|
|------|------|------------|--------------|
|
||||||
|
| **Local pur** | email + password | Locaux uniquement | Aucune |
|
||||||
|
| **Local + intégrations** | email + password | Locaux + distants | Gitea et/ou GitHub |
|
||||||
|
| **OAuth pur** | Gitea ou GitHub | Distants uniquement | Non-déconnectable |
|
||||||
|
|
||||||
|
### 5.2 Comportement du sidebar selon le type de compte
|
||||||
|
|
||||||
|
```
|
||||||
|
LOCAL PUR:
|
||||||
|
├─ 📁 [nom workspace local]
|
||||||
|
├─ 📅 Meetings
|
||||||
|
├─ 🕒 Recents
|
||||||
|
├─ ⭐ Favorites
|
||||||
|
├─ 🤖 Agents
|
||||||
|
├─ 👥 Shared ← visible si pages partagées
|
||||||
|
├─ 🌐 Published ← visible si pages publiées
|
||||||
|
├─ (Private caché)
|
||||||
|
└─ 📚 Library / ✅ My Tasks / 🗑️ Trash / ❓ Help
|
||||||
|
|
||||||
|
LOCAL + GITEA/GITHUB:
|
||||||
|
├─ 🔗 [owner/repo] ← workspace distant actif
|
||||||
|
├─ 📅 Meetings
|
||||||
|
├─ 🕒 Recents
|
||||||
|
├─ ⭐ Favorites
|
||||||
|
├─ 🤖 Agents
|
||||||
|
├─ 👥 Shared
|
||||||
|
├─ 🌐 Published
|
||||||
|
├─ 🔒 Private ← visible (fichiers locaux liés au projet distant)
|
||||||
|
└─ 📚 / ✅ / 🗑️ / ❓
|
||||||
|
|
||||||
|
OAUTH PUR (GITEA/GITHUB):
|
||||||
|
├─ 🔗 [owner/repo] ← identité = compte Gitea/GitHub
|
||||||
|
├─ 🕒 Recents
|
||||||
|
├─ ⭐ Favorites
|
||||||
|
├─ 👥 Shared
|
||||||
|
├─ 🌐 Published
|
||||||
|
├─ (Private caché)
|
||||||
|
└─ 📚 / ✅ / ❓ (Trash caché — pas de workspace local)
|
||||||
|
```
|
||||||
|
|
||||||
|
### 5.3 Règles d'affichage
|
||||||
|
|
||||||
|
- **Section Private** : visible UNIQUEMENT si compte local + workspace distant actif
|
||||||
|
- **Trash** : visible si `auth_method == 'local'` ou si des pages locales existent
|
||||||
|
- **Boutons New File/New Folder** : cachés si `has_active_workspace == False`
|
||||||
|
- **Message "No workspace open"** : affiché dans la section Workspace si aucun workspace actif
|
||||||
|
- **Header sidebar** : toujours le compte local si auth_method=local, même avec intégrations
|
||||||
|
|
||||||
|
### 5.4 cookie `flowdeck_workspace`
|
||||||
|
|
||||||
|
- `""` → aucun workspace actif
|
||||||
|
- `"42"` → workspace local ID 42
|
||||||
|
- `"gitea:owner:repo"` → workspace distant Gitea
|
||||||
|
- Nettoyage automatique si cookie invalide (workspace supprimé ou autre user)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 6. Frontend
|
||||||
|
|
||||||
### 5.1 Layout
|
### 5.1 Layout
|
||||||
|
|
||||||
```
|
```ascii
|
||||||
┌──────────────────────────────────────────────────────────────┐
|
┌──────────────────────────────────────────────────────────────┐
|
||||||
│ TOPBAR (44px, sticky) │
|
│ TOPBAR (unified-header) │
|
||||||
│ ┌──────────┬──────────────────────────────────┬────────────┐ │
|
│ ┌──────┬───────────────────────────────────────┬───────────┐ │
|
||||||
│ │ Logo │ Breadcrumbs: WS > Collection │ Share... │ │
|
│ │ «» │ Breadcrumbs: 🏠 Workspaces │ Share ⚙ │ │
|
||||||
│ │ FlowDeck │ (ou WS > Collection > Page) │ Settings │ │
|
│ └──────┴───────────────────────────────────────┴───────────┘ │
|
||||||
│ └──────────┴──────────────────────────────────┴────────────┘ │
|
|
||||||
├────────────┬─────────────────────────────────────────────────┤
|
├────────────┬─────────────────────────────────────────────────┤
|
||||||
│ SIDEBAR │ CONTENU PRINCIPAL │
|
│ SIDEBAR │ CONTENU PRINCIPAL │
|
||||||
│ (240px) │ │
|
│ (240px) │ │
|
||||||
│ │ ┌─────────────────────────────────────────────┐│
|
│ │ ┌─ Help Page ────────────────────────────────┐│
|
||||||
│ Workspace │ │ DATABASE VIEW ││
|
│ ┌────────┐ │ │ ┌──────────────┐ ┌──────────────┐ ││
|
||||||
│ header │ │ ┌──────┬──────┬──────┬──────┬──────────┐ ││
|
│ │ Header │ │ │ │ 🚀 Getting │ │ 📝 Pages │ (...) ││
|
||||||
│ │ │ │Title │Statut│Priori│Assign│Due Date │ ││
|
│ │ [D] │ │ │ │ Started │ │ & Editor │ ││
|
||||||
│ 🔍 Search │ │ ├──────┼──────┼──────┼──────┼──────────┤ ││
|
│ │ Draco │ │ │ └──────────────┘ └──────────────┘ ││
|
||||||
│ │ │ │Tâche1│Todo │ P1 │Bruno │15 juil │ ││
|
│ └────────┘ │ └─────────────────────────────────────────────┘│
|
||||||
│ ▼ Recents │ │ │Tâche2│Doing │ P2 │ — │20 juil │ ││
|
│ │ │
|
||||||
│ · Proj A │ │ │Tâche3│Done │ P3 │Marie │10 juil │ ││
|
│ 🏠 💬 📨 🔍│ ┌─ Library ─────────────────────────────────┐│
|
||||||
│ · Proj B │ │ └──────┴──────┴──────┴──────┴──────────┘ ││
|
│ │ │ [Recents|Favorites|Shared|Published|...] ││
|
||||||
│ │ │ [+ New] [Filter] [Sort] [Search] [...] ││
|
│ 📁 Worksp. │ │ ┌──────┬──────────┬──────────┬───────────┐ ││
|
||||||
│ ▼ Private │ └─────────────────────────────────────────────┘│
|
│ 📄 New Pg │ │ │Name │Created by│Source │Last edited│ ││
|
||||||
│ · Notes │ │
|
│ 📁 New Fl │ │ ├──────┼──────────┼──────────┼───────────┤ ││
|
||||||
│ │ ┌─ Barre d'outils ────────────────────────────┐│
|
│ 📄 page 1 │ │ │doc A │Draco │Local │10 min ago │ ││
|
||||||
│ ▼ Shared │ │ [Table▼] [Kanban] [Calendar] [Gallery] ... ││
|
│ 📄 page 2 │ │ │doc B │bruno │Gitea │2 hours ago│ ││
|
||||||
│ · ... │ │ [Group▼] [Filter▼] [Sort▼] [Properties▼] ││
|
│ │ │ └──────┴──────────┴──────────┴───────────┘ ││
|
||||||
|
│ 📅 Meeting │ └─────────────────────────────────────────────┘│
|
||||||
|
│ 🕒 Recents │ │
|
||||||
|
│ ⭐ Favoris │ ┌─ Workspaces ───────────────────────────────┐│
|
||||||
|
│ 🤖 Agents │ │ ┌──────────┐ ┌──────────┐ ┌───┐ ┌───┐ ││
|
||||||
|
│ 👥 Shared │ │ │Project A │ │Project B │ │ + │ │ + │ ││
|
||||||
|
│ 🌐 Publ. │ │ │3 pages │ │12 pages │ │ │ │ │ ││
|
||||||
|
│ │ │ └──────────┘ └──────────┘ └───┘ └───┘ ││
|
||||||
|
│ ══════════ │ └─────────────────────────────────────────────┘│
|
||||||
|
│ 📚 Library │ │
|
||||||
|
│ ✅ My Task │ ┌─ Settings ─────────────────────────────────┐│
|
||||||
|
│ 🗑️ Trash │ │ My Account | Admin | Integrations ││
|
||||||
|
│ ❓ Help │ │ [Upload photo] [Full Name] [Email] [...] ││
|
||||||
│ │ └─────────────────────────────────────────────┘│
|
│ │ └─────────────────────────────────────────────┘│
|
||||||
│ ────────── │ │
|
│ 💬 [+📄] │ │
|
||||||
│ [+New page]│ ┌─ Contenu de la vue ─────────────────────────┐│
|
|
||||||
│ (sticky │ │ (table / board / calendar / gallery / ...) ││
|
|
||||||
│ footer) │ └─────────────────────────────────────────────┘│
|
|
||||||
└────────────┴─────────────────────────────────────────────────┘
|
└────────────┴─────────────────────────────────────────────────┘
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -1553,7 +1670,41 @@ docker compose restart flowdeck
|
|||||||
- [Notion Help — Databases](https://www.notion.com/help/intro-to-databases)
|
- [Notion Help — Databases](https://www.notion.com/help/intro-to-databases)
|
||||||
- [Notion Help — Tasks & Dependencies](https://www.notion.com/help/tasks-and-dependencies)
|
- [Notion Help — Tasks & Dependencies](https://www.notion.com/help/tasks-and-dependencies)
|
||||||
- [Notion Help — Relations & Rollups](https://www.notion.com/help/relations-and-rollups)
|
- [Notion Help — Relations & Rollups](https://www.notion.com/help/relations-and-rollups)
|
||||||
- [Notion Data Sources (2025)](https://www.notionapps.com/blog/notion-data-sources-update-2025/)
|
|
||||||
- [react-notion-x](https://github.com/NotionX/react-notion-x)
|
|
||||||
- [FlowDeck — NOTION_DATABASE_TASKS_GUIDE.md](docs/NOTION_DATABASE_TASKS_GUIDE.md)
|
- [FlowDeck — NOTION_DATABASE_TASKS_GUIDE.md](docs/NOTION_DATABASE_TASKS_GUIDE.md)
|
||||||
- [FlowDeck — ROADMAP.md](ROADMAP.md)
|
- [FlowDeck — ROADMAP.md](ROADMAP.md)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 16. Versions à venir
|
||||||
|
|
||||||
|
### v4.1.0 — Content Blocks enrichis (priorité standard)
|
||||||
|
|
||||||
|
- **Callout boxes** — Blocs d'alerte (info, warning, tip, danger)
|
||||||
|
- **Table of Contents** — Auto-généré depuis les headings
|
||||||
|
- **LaTeX / KaTeX** — Formules mathématiques
|
||||||
|
- **Toggle lists** — Listes pliables/dépliables
|
||||||
|
- **Multi-columns** — Mise en page 2-3 colonnes
|
||||||
|
|
||||||
|
### v4.2.0 — Export (priorité standard)
|
||||||
|
|
||||||
|
- Export **Markdown** avec images
|
||||||
|
- Export **PDF** (via WeasyPrint ou headless Chrome)
|
||||||
|
- Export **HTML** standalone (page auto-suffisante)
|
||||||
|
|
||||||
|
### v4.3.0 — Collaboration (priorité basse)
|
||||||
|
|
||||||
|
- **Commentaires inline** sur les pages
|
||||||
|
- **@mentions** pour notifier des utilisateurs
|
||||||
|
- **Notifications email** (changements, mentions)
|
||||||
|
- **Permissions par workspace** (viewer, editor, admin)
|
||||||
|
|
||||||
|
### v5.0.0 — Plateforme avancée (futur)
|
||||||
|
|
||||||
|
- **AI Assistants** — Génération de contenu, résumés, suggestions
|
||||||
|
- **Embeds** — Vidéos, PDF, Figma, Google Docs
|
||||||
|
- **Automatisations** — Règles déclenchées sur événements (Notion-style)
|
||||||
|
- **Base de données avancée** — Relations inter-collections, rollups
|
||||||
|
- **Kanban flexible** — Colonnes custom, WIP limits
|
||||||
|
- **API publique REST** — Tokens d'accès pour intégrations tierces
|
||||||
|
- **Volume Docker persistant** — `/data` monté pour survie des données
|
||||||
|
- **PostgreSQL** — Migration optionnelle pour scaling
|
||||||
|
|||||||
Reference in New Issue
Block a user