# FlowDeck Clone complet de **Notion** intégré nativement à **Gitea** — Databases, Pages, Kanban, Calendar, Gallery, Timeline, List, Multi-Users. > **7.3.9** — audit sécurité P0→P2 (A1–A26, A33–A36, A43 : auth 401 partout, CSRF sans exemption cookie-auth, SSRF, autoescape, logs d'exceptions) · avant : v6.7.x SSO/SAML + OIDC, v6.6.x agent API, v6.5.x synced blocks, v6.4.0 realtime, PWA offline ## Quick Start ```bash cp .env.example .env # Éditer .env avec votre token Gitea docker compose up -d # → http://localhost:8080 ``` ## Features ### Database & Properties (v1.3–v1.5) - **Collections**: databases indépendantes de Gitea, schéma JSON - **21 types de propriétés**: title, text, number, select, status, date, person, checkbox, url, email, phone, files, unique_id, relation, rollup, formula + auto-props - **Relations bidirectionnelles** + **Rollups** (12 agrégations) + **Formulas** (19 fonctions) - **GiteaBoardCompat**: adaptateur boards Gitea legacy → Collections ### Vues Multiples (v1.6–v1.7) - **Table**: colonnes SSR, triables - **Board (Kanban)**: colonnes, groupes, drag & drop - **Calendar**: grid mensuel, navigation, événements - **Gallery**: cartes visuelles, card_size configurable - **List**: vue compacte avec preview - **Timeline**: barres Gantt horizontales - **Status Overview**: Donut chart SVG - **Team Load**: Barres empilées ### Sub-items & Dépendances (v1.8) - **Sub-items**: parent_id auto-référence, hiérarchie illimitée - **Status aggregate**: parent = Done si tous enfants Done - **Dependencies**: Blocking/Blocked by, contrainte de transition ### My Tasks (v1.9) - Dashboard cross-collection agrégeant toutes les tâches assignées - Vues: All, Today, Overdue, Next 7 days ### Multi-User & Collaboratif (v2.0) - **Workspaces**: espaces partagés avec rôles (admin, editor, commenter, viewer) - **Comments**: commentaires threadés sur les pages - **Page History**: historique des modifications avec snapshots - **Favorites**: favoris par utilisateur - **Templates**: database + page templates - **CSV Import/Export** - **Public Sharing**: lien de partage lecture seule ### API & Intégrations (v6.3–v6.6) - **API publique REST v2**: `/api/v2` — CRUD complet, Bearer + scopes `read/write/admin`, pagination, filtres, erreurs RFC 7807, idempotence, audit — [guide](docs/API_GUIDE_V6.md) · OpenAPI `/docs` - **API agent publique (v6.6)**: `/api/v2/agents/*` — agents, conversations, **run synchrone JSON**, journal d'actions + rollback, `trigger` externe - **Marketplace de skills (v6.6)**: export/import portable + galerie de 6 presets installables (`/api/v2/skills/*`), section « Galerie » dans la palette `/` de l'agent - **API publique v1**: `/api/v1` (lecture seule, compat) - **Webhooks sortants**: gestion + dispatcher d'événements (CRUD v2) - **Web Clipper**: extension navigateur Manifest V3 (article/sélection/bookmark/screenshot) - **PWA**: manifest.json + service worker, offline support ### UI Notion-Style (v1.1–v1.2) - Sidebar gauche avec sections hiérarchiques - Topbar avec breadcrumbs (workspace > projet > page) - Dark mode Notion: `#191919` fond, `#222222` sidebar - Éditeur de blocs: slash menu (/), navigation clavier, placeholders ### Intégration Gitea - Issues Gitea → cartes, sync labels, milestones, assignees, due dates - OAuth2 Gitea, CSRF, rate limiting, webhooks ## Stack | Couche | Techno | |--------|--------| | Frontend | Jinja2 + HTMX + Alpine.js + SortableJS + CSS | | Backend | Python 3.13 + FastAPI + httpx | | BDD | SQLite (WAL, 21 tables) — `/data/flowdeck.db` | | Déploiement | Docker (python:3.13-slim), docker-compose | ## Configuration ```env GITEA_URL=https://git.dracodev.net GITEA_TOKEN=votre_token APP_PORT=8080 DATABASE_URL=sqlite:////data/flowdeck.db ``` ## Tests ```bash python3 -m pytest tests/ -v # 764/764 passent (0 skip) ``` ## Roadmap Voir [ROADMAP.md](ROADMAP.md) — 7/7 blocs complétés, 52/52 features ✅ ## Licence MIT