diff --git a/PROJECT_CONTEXT.md b/PROJECT_CONTEXT.md new file mode 100644 index 0000000..b74e7ea --- /dev/null +++ b/PROJECT_CONTEXT.md @@ -0,0 +1,30 @@ +# Contexte projet + +Ce fichier est la source de vérité sur le contexte global du projet. +Il sert aux agents pour comprendre les objectifs et les contraintes. + +--- + +## Légende des zones +- ` (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet. +- `` : à compléter par un agent spécialisé architecture / dev. + +--- + +## Résumé +- But du projet : (exemple: réduire les erreurs d'inventaire — a supprimer) +- Résultat attendu : (exemple: tableau de bord + alertes — a supprimer) + +## Parties prenantes +- Décideur : (exemple: Directeur des opérations — a supprimer) +- Utilisateurs finaux : (exemple: équipe logistique — a supprimer) + +## Contraintes +- Budget / délai : (exemple: 3 mois / 20k€ — a supprimer) +- Légalité / conformité : (exemple: RGPD — a supprimer) +- Tech imposée : (exemple: PostgreSQL — a supprimer) + +## Références +- Vision : `product/VISION.md` +- Architecture : `docs/ARCHITECTURE.md` +- Backlog : `product/BACKLOG.md` diff --git a/README.md b/README.md new file mode 100644 index 0000000..bab1258 --- /dev/null +++ b/README.md @@ -0,0 +1,33 @@ +# + +Résumé court : (exemple: à personnaliser — a supprimer) + +--- + +## Légende des zones +- ` (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet. +- `` : à compléter par un agent spécialisé architecture / dev. + +--- + +## Objectif +- Problème : (exemple: suivi manuel sur tableur — a supprimer) +- Public cible : (exemple: PME logistique — a supprimer) + +## Démarrage rapide +- Prérequis : +- Lancer en local : + +## Documentation +- Contexte : `PROJECT_CONTEXT.md` +- Vision : `product/VISION.md` +- Architecture : `docs/ARCHITECTURE.md` +- Backlog : `product/BACKLOG.md` +- Workflow : `docs/WORKFLOW.md` + +--- + +## Exemple (a supprimer) +- Résumé : application web interne pour gérer des stocks. +- Problème : suivi manuel sur tableur. +- Lancer en local : `make dev`. diff --git a/a-lire.md b/a-lire.md index f177c01..4718e9c 100644 --- a/a-lire.md +++ b/a-lire.md @@ -5,48 +5,62 @@ Ce dépôt est basé sur le template **template-webapp**. ## Étapes obligatoires 1. Renommer le projet (repo, README, docker-compose) -2. Compléter les sections ci-dessous +2. Compléter les fichiers de contexte et de vision 3. Lire `docs/ARCHITECTURE.md` avant toute écriture de code --- +## Légende des zones +- ` (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet. +- `` : à compléter par un agent spécialisé architecture / dev. + +--- + ## 1. Description du projet -- Nom du projet : -- Type de webapp : -- Public cible : -- Objectif principal : +- Nom du projet : (exemple: StockPilot — a supprimer) +- Type de webapp : (exemple: SaaS B2B — a supprimer) +- Public cible : (exemple: PME logistique — a supprimer) +- Objectif principal : (exemple: suivi des stocks en temps réel — a supprimer) --- ## 2. Contraintes fortes -- Self-hosted / Cloud : -- Mono-utilisateur / Multi-utilisateur : +- Self-hosted / Cloud : (exemple: Self-hosted — a supprimer) +- Mono-utilisateur / Multi-utilisateur : (exemple: Multi-utilisateur — a supprimer) - Données sensibles : oui / non -- Contraintes légales (RGPD, etc.) : +- Contraintes légales (RGPD = Règlement Général sur la Protection des Données, etc.) : (exemple: RGPD + hébergement UE — a supprimer) --- ## 3. Stack envisagée (indicative) -- Frontend : -- Backend : -- Base de données : -- Stockage fichiers : +- Frontend : +- Backend : +- Base de données : +- Stockage fichiers : --- ## 4. Règles non négociables -- Monolithe modulaire -- ADR obligatoire pour toute décision structurante +- Monolithe modulaire (un seul dépôt, modules séparés) +- ADR obligatoire pour toute décision structurante (ADR = Architecture Decision Record) - Backlog produit avant toute implémentation --- ## 5. Démarrage rapide +- Compléter `PROJECT_CONTEXT.md` - Compléter `product/VISION.md` - Compléter `docs/ARCHITECTURE.md` -- Créer les premières REQ dans `product/BACKLOG.md` \ No newline at end of file +- Créer les premières REQ (exigences) dans `product/BACKLOG.md` +- Documenter les outils dans `outils_dev_pref.md` + +--- + +## Exemple (a supprimer) +- Type de webapp : SaaS B2B. +- Contraintes : RGPD + hébergement UE. diff --git a/backend/CONTEXT.md b/backend/CONTEXT.md index e69de29..2b7b8ed 100644 --- a/backend/CONTEXT.md +++ b/backend/CONTEXT.md @@ -0,0 +1,49 @@ +# Contexte backend + +Ce document décrit le rôle du backend, ses responsabilités et ses choix techniques. +Tout ce qui est indiqué ici est la référence pour les agents backend. + +--- + +## Légende des zones +- ` (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet. +- `` : à compléter par un agent spécialisé backend. + +--- + +## Objectif du backend +- Problème métier couvert : (exemple: suivi manuel sur tableur — a supprimer) +- Responsabilités principales : +- Hors périmètre : (exemple: à personnaliser — a supprimer) + +## Interfaces +- API publique (API = Interface de Programmation) : +- Authentification/autorisation : +- Intégrations externes : (exemple: ERP existant — a supprimer) + +## Données +- Base(s) utilisée(s) : +- Modèle de données clé : +- Stratégie de migration : + +## Architecture interne +- Style (monolithe modulaire, hexagonal, etc.) : +- Modules principaux : +- Couche d’accès aux données : + +## Qualité & exploitation +- Observabilité (logs/metrics/traces = journaux/mesures/traces) : +- Tests (unitaires/intégration) : +- Performance attendue : (exemple: à personnaliser — a supprimer) + +## Conventions +- Organisation du code : +- Nommage : +- Gestion erreurs : + +--- + +## Exemple (a supprimer) +- Style : monolithe modulaire avec modules `users`, `billing`, `catalog`. +- API : REST `/api/v1` + JWT (Jeton d’authentification). +- DB : PostgreSQL, migrations via outils natifs. diff --git a/contracts/data_model.md b/contracts/data_model.md index e69de29..6b795f5 100644 --- a/contracts/data_model.md +++ b/contracts/data_model.md @@ -0,0 +1,24 @@ +# Modèle de données + +Décrit les entités clés et leurs relations. + +--- + +## Légende des zones +- `` : à compléter par un agent spécialisé backend. + +--- + +## Entités principales +- Entité : +- Champs : +- Contraintes : + +## Relations +- Relation : +- Cardinalité : + +--- + +## Exemple (a supprimer) +- `User` 1..N `Order`. diff --git a/contracts/errors.md b/contracts/errors.md index e69de29..a61635e 100644 --- a/contracts/errors.md +++ b/contracts/errors.md @@ -0,0 +1,24 @@ +# Contrat d’erreurs API + +Ce document définit le format standard des erreurs. + +--- + +## Légende des zones +- `` : à compléter par un agent spécialisé backend. + +--- + +## Format +- Structure : +- Codes d’erreur : +- Messages utilisateurs vs techniques : + +## Conventions +- Codes HTTP : +- Champs obligatoires : + +--- + +## Exemple (a supprimer) +- `{ "error": { "code": "VALIDATION_ERROR", "message": "Email invalide" } }` diff --git a/contracts/pagination.md b/contracts/pagination.md index e69de29..a7a9dbf 100644 --- a/contracts/pagination.md +++ b/contracts/pagination.md @@ -0,0 +1,24 @@ +# Contrat de pagination + +Ce document définit la pagination standard pour l’API. + +--- + +## Légende des zones +- `` : à compléter par un agent spécialisé backend. + +--- + +## Stratégie +- Type (page/offset/cursor) : +- Paramètres : + +## Réponse +- Structure des meta : +- Liens (next/prev) : + +--- + +## Exemple (a supprimer) +- Paramètres : `page=1&limit=20`. +- Meta : `total`, `page`, `page_size`. diff --git a/docs/API.md b/docs/API.md index e69de29..5c5914d 100644 --- a/docs/API.md +++ b/docs/API.md @@ -0,0 +1,42 @@ +# Spécification API + +Décrit les conventions d’API côté backend et les règles de compatibilité. + +--- + +## Légende des zones +- ` (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet. +- `` : à compléter par un agent spécialisé backend. + +--- + +## 1. Versioning +- Stratégie (URL, header, autre) : +- Politique de dépréciation : + +## 2. Authentification +- Méthode (JWT = jeton, session, OAuth = délégation d’accès) : +- Durée de session / refresh : + +## 3. Conventions HTTP +- Codes d’erreurs : +- Idempotence (appel sans effet si répété) : +- Pagination : +- Tri/filtre : + +## 4. Formats +- Format JSON : +- Dates / timezone : +- Naming (camelCase, snake_case) : + +## 5. Contrats +- Erreurs : `contracts/errors.md` +- Pagination : `contracts/pagination.md` +- Modèle de données : `contracts/data_model.md` + +--- + +## Exemple (a supprimer) +- Versioning : `/api/v1`. +- Dates : ISO-8601 en UTC. +- Erreurs : `{ "error": { "code": "VALIDATION_ERROR" } }`. diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md index e69de29..1487142 100644 --- a/docs/ARCHITECTURE.md +++ b/docs/ARCHITECTURE.md @@ -0,0 +1,64 @@ +# Architecture du projet + +Ce document formalise l’architecture cible. Il doit être maintenu à jour. +Il sert de base aux décisions techniques, aux ADR et au découpage des tâches. + +--- + +## Légende des zones +- ` (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet. +- `` : à compléter par un agent spécialisé architecture. + +--- + +## 1. Vue d’ensemble +- Objectif produit : (exemple: améliorer la traçabilité — a supprimer) +- Type d’app (web, mobile, API) : (exemple: à personnaliser — a supprimer) +- Contraintes fortes : (exemple: déploiement on-premise — a supprimer) + +## 2. Principes d’architecture +- Principes non négociables : (exemple: à personnaliser — a supprimer) +- Principes d’évolution : +- Qualités prioritaires (performance, sécurité, scalabilité) : (exemple: sécurité et performance — a supprimer) + +## 3. Architecture logique +- Modules principaux : +- Responsabilités par module : +- Frontend/Backend séparation : + +## 4. Architecture technique +- Langages & frameworks : +- Base de données : +- Stockage fichiers : +- Infra cible (cloud/self-hosted) : (exemple: self-hosted — a supprimer) + +## 5. Flux de données +- Flux principaux (lecture/écriture) : +- Intégrations externes : (exemple: ERP existant — a supprimer) +- Gestion des événements/asynchronisme : + +## 6. Sécurité +- Authentification/autorisation : +- Données sensibles : (exemple: emails + historiques de paiement — a supprimer) +- Traçabilité/audit : + +## 7. Observabilité +- Logs (journaux) : +- Metrics (mesures) : +- Alerting (alertes) : + +## 8. Conventions de code +- Organisation des dossiers : +- Standards de code : +- Tests obligatoires : + +## 9. Évolution & dette +- Zones à risque : (exemple: montée en charge — a supprimer) +- Améliorations prévues : (exemple: reporting avancé — a supprimer) + +--- + +## Exemple (a supprimer) +- Modules : `auth`, `users`, `billing`, `catalog`. +- DB : PostgreSQL + migrations. +- Auth : JWT (jeton) + RBAC (contrôle d’accès par rôle). diff --git a/docs/DEPLOYMENT.md b/docs/DEPLOYMENT.md index e69de29..9f7a5ff 100644 --- a/docs/DEPLOYMENT.md +++ b/docs/DEPLOYMENT.md @@ -0,0 +1,34 @@ +# Déploiement + +Décrit les environnements et le processus de déploiement. + +--- + +## Légende des zones +- ` (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet. +- `` : à compléter par un agent spécialisé DevOps. + +--- + +## 1. Environnements +- Local : +- Staging (pré-production) : +- Production : + +## 2. Pipeline CI/CD +- Étapes : +- Stratégie de release : + +## 3. Configuration +- Variables d’environnement : +- Secrets : + +## 4. Migrations +- Stratégie : +- Rollback (retour arrière) : + +--- + +## Exemple (a supprimer) +- CI/CD : tests -> build -> déploiement. +- Release : tag git + changelog. diff --git a/docs/OPERATIONS.md b/docs/OPERATIONS.md index e69de29..34fbbc4 100644 --- a/docs/OPERATIONS.md +++ b/docs/OPERATIONS.md @@ -0,0 +1,38 @@ +# Opérations / Runbook + +Ce document décrit comment opérer le système au quotidien. + +--- + +## Légende des zones +- ` (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet. +- `` : à compléter par un agent spécialisé exploitation. + +--- + +## 1. Démarrage / arrêt +- Commandes locales : +- Commandes production : + +## 2. Supervision +- Logs (journaux) : +- Metrics (mesures) : +- Traces : + +## 3. Alerting +- Seuils critiques : +- Canaux d’alerte : (exemple: email + chat interne — a supprimer) + +## 4. Sauvegardes & restauration +- Fréquence : (exemple: quotidienne — a supprimer) +- Procédure de restauration : + +## 5. Incidents +- Procédure : +- Rôles & responsabilités : (exemple: admin système — a supprimer) + +--- + +## Exemple (a supprimer) +- Logs : centralisés via Loki. +- Alertes : erreurs 5xx > 2% pendant 5 min. diff --git a/docs/PR_CHECKLIST.md b/docs/PR_CHECKLIST.md index e69de29..f537f10 100644 --- a/docs/PR_CHECKLIST.md +++ b/docs/PR_CHECKLIST.md @@ -0,0 +1,16 @@ +# Checklist PR + +Avant de demander une revue, vérifier : + +- Description claire et liée à un REQ (REQ = exigence produit) +- Tests exécutés et résultat indiqué +- Aucun secret dans le code +- Documentation mise à jour si nécessaire +- ADR ajouté si décision structurante +- Migration DB mentionnée si applicable (DB = base de données) + +--- + +## Exemple (a supprimer) +- Tests : `make test`. +- REQ : REQ-012. diff --git a/docs/SECURITY.md b/docs/SECURITY.md index e69de29..7947777 100644 --- a/docs/SECURITY.md +++ b/docs/SECURITY.md @@ -0,0 +1,40 @@ +# Sécurité + +Décrit les exigences de sécurité et les règles de conformité. + +--- + +## Légende des zones +- ` (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet. +- `` : à compléter par un agent spécialisé sécurité. + +--- + +## 1. Données & confidentialité +- Données sensibles : (exemple: emails + historiques de paiement — a supprimer) +- Classification des données : +- Conservation / suppression : (exemple: 12 mois — a supprimer) + +## 2. Authentification / autorisation +- Modèle d’accès : +- MFA (Multi-Factor Authentication = double facteur) / SSO (Single Sign-On = connexion unique) : (exemple: MFA non requis — a supprimer) +- Gestion des rôles : + +## 3. Secrets & configuration +- Stockage des secrets : +- Rotation : + +## 4. Sécurité applicative +- Validation des entrées : +- Protection CSRF/XSS (attaques web courantes) : +- Chiffrement en transit/au repos : + +## 5. Journalisation & audit +- Événements audités : +- Rétention : + +--- + +## Exemple (a supprimer) +- Données sensibles : emails, adresses, historiques de paiement. +- Secrets : stockés dans un coffre, jamais en clair. diff --git a/docs/STYLEGUIDE.md b/docs/STYLEGUIDE.md index e69de29..2f4e5fd 100644 --- a/docs/STYLEGUIDE.md +++ b/docs/STYLEGUIDE.md @@ -0,0 +1,34 @@ +# Guide de style + +Ce guide définit les conventions de code et de documentation. + +--- + +## Légende des zones +- ` (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet. +- `` : à compléter par un agent spécialisé. + +--- + +## 1. Nommage +- Variables / fonctions : +- Fichiers / dossiers : +- API endpoints : + +## 2. Formatage +- Formatter / linter : +- Règles principales : + +## 3. Tests +- Nommage des tests : +- Structure des tests : + +## 4. Documentation +- Doc obligatoire : (exemple: README + ARCHITECTURE — a supprimer) +- ADR (Architecture Decision Record) : + +--- + +## Exemple (a supprimer) +- Formatter : `prettier` + `eslint`. +- Tests : `feature_x.test.ts`. diff --git a/docs/WORKFLOW.md b/docs/WORKFLOW.md new file mode 100644 index 0000000..57c4887 --- /dev/null +++ b/docs/WORKFLOW.md @@ -0,0 +1,62 @@ +# Processus de développement + +Ce document standardise le workflow de dev pour faciliter la collaboration. +Il sert de référence aux agents et aux contributeurs. + +--- + +## Légende des zones +- ` (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet. +- `` : à compléter par un agent spécialisé architecture / dev. + +--- + +## 1. Branches +- Convention de nommage : +- Branches protégées : (exemple: main — a supprimer) +- Politique de merge : + +## 2. Commits +- Convention (ex: conventional commits) : +- Granularité attendue : (exemple: 1 feature par PR — a supprimer) + +## 3. Pull Requests +- Template PR : +- Relectures requises : (exemple: 1 review — a supprimer) +- Checklist obligatoire : `docs/PR_CHECKLIST.md` + +## 4. CI/CD +- Pipeline minimal (lint/test/build) : +- Vérifications bloquantes : + +## 5. Releases +- Versioning (semver = versionnage sémantique) : +- Tagging : +- Release notes : `product/RELEASE_NOTES.md` + +## 6. Qualité +- Definition of Done (définition de terminé) : (exemple: tests + doc — a supprimer) +- Tests obligatoires : +- Mises à jour doc : (exemple: si impact sur l’API — a supprimer) + +## 7. Hotfix / Urgence +- Procédure : +- Responsables : (exemple: lead dev — a supprimer) + +--- + +## Références d’environnement (issues de `outils_dev_pref.md`) +- Hébergement Git : Gitea +- URL serveur Git : https://gitea.maison43.duckdns.org/ +- Utilisateur Git : gilles +- Timezone : Europe/Paris +- Langue : francais +- Réseau local : 10.0.0.0/22 +- Passerelle : 10.0.0.1 + +--- + +## Exemple (a supprimer) +- Branches : `main`, `develop`, `feat/*`, `fix/*`. +- Commits : Conventional Commits. +- CI : lint + tests + build. diff --git a/docs/adr/0001-exemple.md b/docs/adr/0001-exemple.md index e69de29..6fa95cf 100644 --- a/docs/adr/0001-exemple.md +++ b/docs/adr/0001-exemple.md @@ -0,0 +1,24 @@ +# ADR-0001 — Exemple (a supprimer) + +- Statut : accepted +- Date : 2026-01-27 + +## Contexte +- Besoin d’un framework API simple et maintenable. + +## Décision +- Utiliser un monolithe modulaire. + +## Alternatives considérées +- Microservices. +- Serverless (exécution sans serveur dédié). + +## Conséquences +- Déploiement plus simple. +- Risque de croissance du monolithe. + +## Impacts techniques +- Découper par domaines. + +## Notes +- Revoir après 6 mois. diff --git a/docs/adr/TEMPLATE.md b/docs/adr/TEMPLATE.md index aad6f2c..784e30e 100644 --- a/docs/adr/TEMPLATE.md +++ b/docs/adr/TEMPLATE.md @@ -3,14 +3,33 @@ - Statut : proposed | accepted | deprecated - Date : YYYY-MM-DD +--- + +## Légende des zones +- ` (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet. +- `` : à compléter par un agent spécialisé architecture. + +--- + ## Contexte +- (exemple: à personnaliser — a supprimer) ## Décision +- ## Alternatives considérées +- ## Conséquences +- ## Impacts techniques +- -## Notes \ No newline at end of file +## Notes +- (exemple: à personnaliser — a supprimer) + +--- + +## Exemple (a supprimer) +- Décision : choisir un monolithe modulaire. diff --git a/frontend/CONTEXT.md b/frontend/CONTEXT.md index e69de29..ca0e269 100644 --- a/frontend/CONTEXT.md +++ b/frontend/CONTEXT.md @@ -0,0 +1,45 @@ +# Contexte frontend + +Ce document décrit le rôle du frontend, ses responsabilités et ses choix techniques. +Tout ce qui est indiqué ici est la référence pour les agents frontend. + +--- + +## Légende des zones +- ` (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet. +- `` : à compléter par un agent spécialisé frontend. + +--- + +## Objectif du frontend +- Parcours utilisateur principaux : (exemple: à personnaliser — a supprimer) +- Responsabilités principales : +- Hors périmètre : (exemple: à personnaliser — a supprimer) + +## Interfaces +- API consommées (API = Interface de Programmation) : +- Authentification/autorisation : +- Intégrations externes : (exemple: ERP existant — a supprimer) + +## Architecture UI +- Framework : +- Structure des pages : +- Gestion d’état : +- Design system / UI kit (bibliothèque de composants) : + +## Qualité & accessibilité +- Performance attendue : (exemple: à personnaliser — a supprimer) +- Accessibilité (a11y = accessibilité web) : +- Tests (unitaires/E2E = tests de bout en bout) : + +## Conventions +- Organisation du code : +- Nommage : +- Gestion erreurs : + +--- + +## Exemple (a supprimer) +- Framework : React + Vite. +- Pages : `dashboard`, `settings`, `billing`. +- État : Zustand + React Query. diff --git a/outils_dev_pref.md b/outils_dev_pref.md index 03cf6ab..22e7f2c 100644 --- a/outils_dev_pref.md +++ b/outils_dev_pref.md @@ -9,47 +9,66 @@ Il sert de référence aux agents et aux contributeurs. - OS principal : debian 13 - Éditeur / IDE : VS Code -- Shell : -- Terminal : +- Shell : +- Terminal : --- ## Outils backend -- Langage principal :python, go -- Framework API : -- ORM / DB access : -- Outils de test : -- Outils de lint / format : +- Langage principal : python, go +- Framework API : +- ORM / DB access : +- Outils de test : +- Outils de lint / format : --- ## Outils frontend -- Framework UI : -- Bundler : -- Gestion état : -- Tests UI / E2E : +- Framework UI : +- Bundler : +- Gestion état : +- Tests UI / E2E : --- ## Préférences UI / Web -- Thème préféré : gruvbox, dark, vintage - monokai dark -- Couleurs dominantes : -- Style UI : (minimal, dense, dashboard, etc.) +- Thème préféré : gruvbox, dark, vintage - monokai dark +- Couleurs dominantes : +- Style UI : (minimal, dense, dashboard, etc.) - Accessibilité prioritaire : oui / non --- +## Paramètres projet + +- Timezone : Europe/Paris +- Langue : francais +- Hébergement Git (Gitea/GitHub/GitLab) : Gitea +- URL serveur Git : https://gitea.maison43.duckdns.org/ +- Utilisateur Git : gilles +- Réseau local : 10.0.0.0/22 +- Passerelle : 10.0.0.1 +- Notes sécurité (ex: pas de secrets en clair) : + +--- + ## Outils DevOps -- Conteneurs : Docker version 29.1.5 et ulterieur -- CI : -- Gestion secrets : +- Conteneurs : Docker version 29.1.5 et ultérieur +- CI : +- Gestion secrets : --- ## Notes -Tout outil ajouté ici est **autorisé par défaut** dans le projet. \ No newline at end of file +Tout outil ajouté ici est **autorisé par défaut** dans le projet. + +--- + +## Exemple (a supprimer) +- Framework API : FastAPI. +- CI : GitHub Actions. diff --git a/product/BACKLOG.md b/product/BACKLOG.md index 1c2185a..449d5ec 100644 --- a/product/BACKLOG.md +++ b/product/BACKLOG.md @@ -8,12 +8,28 @@ Must | Should | Could | Won’t --- +## Légende des zones +- ` (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet. +- `` : à compléter par un agent spécialisé. + +--- + ### REQ-XXX — -- Description : -- Valeur utilisateur : -- Inclus / Exclus : -- Priorité : -- Statut : -- Impacts (FE/BE/DB/Arch) : -- Dépendances : -- Notes : \ No newline at end of file +- Description : (exemple: permettre la connexion utilisateur — a supprimer) +- Valeur utilisateur : (exemple: accès sécurisé — a supprimer) +- Inclus / Exclus : (exemple: inclut login, exclut SSO — a supprimer) +- Priorité : (exemple: Must — a supprimer) +- Statut : (exemple: planned — a supprimer) +- Impacts (FE/BE/DB/Arch = Frontend/Backend/Base de données/Architecture) : +- Dépendances : (exemple: aucune — a supprimer) +- Notes : (exemple: MVP — a supprimer) + +--- + +## Exemple (a supprimer) +### REQ-001 — Authentification +- Description : permettre la connexion utilisateur. +- Valeur utilisateur : accès sécurisé. +- Priorité : Must +- Statut : planned +- Impacts : FE/BE diff --git a/product/RELEASE_NOTES.md b/product/RELEASE_NOTES.md index e69de29..c9a03f5 100644 --- a/product/RELEASE_NOTES.md +++ b/product/RELEASE_NOTES.md @@ -0,0 +1,21 @@ +# Release notes + +Historique des versions et changements majeurs. + +--- + +## Légende des zones +- ` (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet. + +--- + +## Version X.Y.Z — YYYY-MM-DD +- Highlights : (exemple: ajout login — a supprimer) +- Breaking changes (changements cassants) : (exemple: renommage d’endpoint — a supprimer) +- Correctifs : (exemple: bug session — a supprimer) +- Migration : (exemple: exécuter scripts DB — a supprimer) + +--- + +## Exemple (a supprimer) +- 0.1.0 — 2026-02-01 : MVP initial. diff --git a/product/ROADMAP.md b/product/ROADMAP.md index e69de29..21cb2bb 100644 --- a/product/ROADMAP.md +++ b/product/ROADMAP.md @@ -0,0 +1,22 @@ +# Roadmap + +Ce document présente la planification macro par version ou trimestre. + +--- + +## Légende des zones +- ` (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet. + +--- + +## Format +- Version / période : (exemple: 2026-Q1 — a supprimer) +- Objectifs : (exemple: MVP fonctionnel — a supprimer) +- Features clés : (exemple: auth + dashboard — a supprimer) +- Risques : (exemple: dette technique — a supprimer) + +--- + +## Exemple (a supprimer) +- 2026-Q1 : MVP (produit minimum viable) login + dashboard. +- 2026-Q2 : reporting avancé. diff --git a/product/VISION.md b/product/VISION.md index e69de29..4d89434 100644 --- a/product/VISION.md +++ b/product/VISION.md @@ -0,0 +1,35 @@ +# Vision produit + +Ce document synthétise la vision et les objectifs long terme. + +--- + +## Légende des zones +- ` (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet. + +--- + +## Problème +- Problème principal : (exemple: suivi manuel sur tableur — a supprimer) +- Pourquoi maintenant : (exemple: croissance de l’équipe — a supprimer) + +## Utilisateurs cibles +- Personas : (exemple: gestionnaire stock — a supprimer) +- Besoins clés : (exemple: suivi + alertes — a supprimer) + +## Proposition de valeur +- Promesse centrale : (exemple: inventaire fiable — a supprimer) +- Différenciation : (exemple: déploiement on-premise — a supprimer) + +## Objectifs mesurables +- Indicateurs (KPI = indicateurs clés) : (exemple: taux d’activation 40% — a supprimer) +- Horizon temporel : (exemple: 90 jours — a supprimer) + +## Non-objectifs +- Ce que le produit ne fera pas : (exemple: à personnaliser — a supprimer) + +--- + +## Exemple (a supprimer) +- Problème : gestion manuelle des stocks. +- KPI : taux d’activation 40% en 90 jours. diff --git a/tasks/001-exemple.md b/tasks/001-exemple.md index e69de29..5d61376 100644 --- a/tasks/001-exemple.md +++ b/tasks/001-exemple.md @@ -0,0 +1,42 @@ +# TASK-001 — Exemple de tâche (a supprimer) + +## Références +- PROJECT_CONTEXT.md +- docs/ARCHITECTURE.md +- product/BACKLOG.md → REQ-001 + +## Objectif +- Ajouter un écran de connexion basique. + +## Non-objectifs +- SSO, MFA, reset de mot de passe. + +## Périmètre +- Frontend : page login + validation. +- Backend : endpoint `/auth/login`. + +## Description fonctionnelle +- L’utilisateur saisit email + mot de passe. +- En cas d’échec : message clair. + +## Spécifications techniques +- JWT signé en backend. +- Stockage token côté client. + +## Fichiers autorisés +- `frontend/...` +- `backend/...` + +## Critères d’acceptation +- Connexion réussie pour un utilisateur valide. +- Erreur explicite pour identifiants invalides. + +## Tests +- Test unitaire service auth. +- Test E2E login. + +## Risques +- Gestion brute force. + +## Sortie attendue +- PR avec tests + doc. diff --git a/tasks/TEMPLATE.md b/tasks/TEMPLATE.md index 8ca307b..508662f 100644 --- a/tasks/TEMPLATE.md +++ b/tasks/TEMPLATE.md @@ -5,22 +5,47 @@ - docs/ARCHITECTURE.md - product/BACKLOG.md → REQ-XXX +## Légende des zones +- ` (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet. +- `` : à compléter par un agent spécialisé. + ## Objectif +- (exemple: à personnaliser — a supprimer) ## Non-objectifs +- (exemple: à personnaliser — a supprimer) ## Périmètre +- ## Description fonctionnelle +- (exemple: à personnaliser — a supprimer) ## Spécifications techniques +- + +## Découpage +- Sous-tâches claires et indépendantes : +- Ordre de réalisation : +- Risques de blocage : ## Fichiers autorisés +- ## Critères d’acceptation +- (exemple: à personnaliser — a supprimer) ## Tests +- ## Risques +- (exemple: à personnaliser — a supprimer) -## Sortie attendue \ No newline at end of file +## Sortie attendue +- (exemple: à personnaliser — a supprimer) + +--- + +## Exemple (a supprimer) +- Objectif : permettre l’inscription utilisateur. +- Critères : email valide + confirmation affichée.