generated from gilles/template-webapp
Initial commit
This commit is contained in:
0
.editorconfig
Normal file
0
.editorconfig
Normal file
0
.env.example
Normal file
0
.env.example
Normal file
0
.gitignore
vendored
Normal file
0
.gitignore
vendored
Normal file
37
CLAUDE.md
Normal file
37
CLAUDE.md
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
# Consignes strictes — Claude Code
|
||||||
|
|
||||||
|
Ces consignes sont obligatoires pour toute intervention avec Claude Code.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Lecture préalable obligatoire
|
||||||
|
- Lire `a-lire.md`, `PROJECT_CONTEXT.md`, `outils_dev_pref.md`.
|
||||||
|
- Lire `docs/ARCHITECTURE.md` avant toute décision technique.
|
||||||
|
|
||||||
|
## 2. Gestion des zones
|
||||||
|
- Ne jamais supprimer `<A REMPLIR - PROJET>`.
|
||||||
|
- Ajouter un exemple guidant avec la mention "a supprimer".
|
||||||
|
- Utiliser `<A COMPLETER PAR AGENT>` pour les choix techniques.
|
||||||
|
|
||||||
|
## 3. Documentation avant code
|
||||||
|
- Aucun code tant que `product/VISION.md` et `product/BACKLOG.md` ne sont pas complétés.
|
||||||
|
- Toute décision structurante → ajouter un ADR dans `docs/adr/`.
|
||||||
|
|
||||||
|
## 4. Style d’écriture
|
||||||
|
- Français uniquement.
|
||||||
|
- Éviter les acronymes seuls : toujours expliquer (ex: "MFA = authentification multi‑facteurs").
|
||||||
|
- Commentaires courts et utiles.
|
||||||
|
|
||||||
|
## 5. Découpage des tâches
|
||||||
|
- Toute tâche doit être dans `tasks/`.
|
||||||
|
- Une tâche = un objectif clair + critères d’acceptation.
|
||||||
|
- Mentionner les fichiers autorisés.
|
||||||
|
|
||||||
|
## 6. Qualité
|
||||||
|
- Indiquer les tests attendus même si non exécutés.
|
||||||
|
- Mettre à jour la documentation impactée.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Exemple (a supprimer)
|
||||||
|
- "Ajouter ADR-0002 pour le choix de base de données."
|
||||||
37
CODEX.md
Normal file
37
CODEX.md
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
# Consignes strictes — Codex
|
||||||
|
|
||||||
|
Ces consignes sont obligatoires pour toute intervention avec Codex.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Lecture préalable obligatoire
|
||||||
|
- Lire `a-lire.md`, `PROJECT_CONTEXT.md`, `outils_dev_pref.md`.
|
||||||
|
- Lire `docs/ARCHITECTURE.md` avant toute décision technique.
|
||||||
|
|
||||||
|
## 2. Gestion des zones
|
||||||
|
- Ne jamais supprimer `<A REMPLIR - PROJET>`.
|
||||||
|
- Ajouter un exemple guidant avec la mention "a supprimer".
|
||||||
|
- Utiliser `<A COMPLETER PAR AGENT>` pour les choix techniques.
|
||||||
|
|
||||||
|
## 3. Documentation avant code
|
||||||
|
- Aucun code tant que `product/VISION.md` et `product/BACKLOG.md` ne sont pas complétés.
|
||||||
|
- Toute décision structurante → ajouter un ADR dans `docs/adr/`.
|
||||||
|
|
||||||
|
## 4. Style d’écriture
|
||||||
|
- Français uniquement.
|
||||||
|
- Éviter les acronymes seuls : toujours expliquer (ex: "JWT = jeton d’authentification").
|
||||||
|
- Commentaires courts et utiles.
|
||||||
|
|
||||||
|
## 5. Découpage des tâches
|
||||||
|
- Toute tâche doit être dans `tasks/`.
|
||||||
|
- Une tâche = un objectif clair + critères d’acceptation.
|
||||||
|
- Mentionner les fichiers autorisés.
|
||||||
|
|
||||||
|
## 6. Qualité
|
||||||
|
- Indiquer les tests attendus même si non exécutés.
|
||||||
|
- Mettre à jour la documentation impactée.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Exemple (a supprimer)
|
||||||
|
- "Créer `TASK-002` pour l’intégration de l’authentification."
|
||||||
30
PROJECT_CONTEXT.md
Normal file
30
PROJECT_CONTEXT.md
Normal file
@@ -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
|
||||||
|
- `<A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet.
|
||||||
|
- `<A COMPLETER PAR AGENT>` : à compléter par un agent spécialisé architecture / dev.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Résumé
|
||||||
|
- But du projet : <A REMPLIR - PROJET> (exemple: réduire les erreurs d'inventaire — a supprimer)
|
||||||
|
- Résultat attendu : <A REMPLIR - PROJET> (exemple: tableau de bord + alertes — a supprimer)
|
||||||
|
|
||||||
|
## Parties prenantes
|
||||||
|
- Décideur : <A REMPLIR - PROJET> (exemple: Directeur des opérations — a supprimer)
|
||||||
|
- Utilisateurs finaux : <A REMPLIR - PROJET> (exemple: équipe logistique — a supprimer)
|
||||||
|
|
||||||
|
## Contraintes
|
||||||
|
- Budget / délai : <A REMPLIR - PROJET> (exemple: 3 mois / 20k€ — a supprimer)
|
||||||
|
- Légalité / conformité : <A REMPLIR - PROJET> (exemple: RGPD — a supprimer)
|
||||||
|
- Tech imposée : <A REMPLIR - PROJET> (exemple: PostgreSQL — a supprimer)
|
||||||
|
|
||||||
|
## Références
|
||||||
|
- Vision : `product/VISION.md`
|
||||||
|
- Architecture : `docs/ARCHITECTURE.md`
|
||||||
|
- Backlog : `product/BACKLOG.md`
|
||||||
33
README.md
Normal file
33
README.md
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
# <Nom du projet>
|
||||||
|
|
||||||
|
Résumé court : <A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Légende des zones
|
||||||
|
- `<A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet.
|
||||||
|
- `<A COMPLETER PAR AGENT>` : à compléter par un agent spécialisé architecture / dev.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Objectif
|
||||||
|
- Problème : <A REMPLIR - PROJET> (exemple: suivi manuel sur tableur — a supprimer)
|
||||||
|
- Public cible : <A REMPLIR - PROJET> (exemple: PME logistique — a supprimer)
|
||||||
|
|
||||||
|
## Démarrage rapide
|
||||||
|
- Prérequis : <A COMPLETER PAR AGENT>
|
||||||
|
- Lancer en local : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## 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`.
|
||||||
66
a-lire.md
Normal file
66
a-lire.md
Normal file
@@ -0,0 +1,66 @@
|
|||||||
|
# À LIRE — Initialisation du projet
|
||||||
|
|
||||||
|
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 fichiers de contexte et de vision
|
||||||
|
3. Lire `docs/ARCHITECTURE.md` avant toute écriture de code
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Légende des zones
|
||||||
|
- `<A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet.
|
||||||
|
- `<A COMPLETER PAR AGENT>` : à compléter par un agent spécialisé architecture / dev.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Description du projet
|
||||||
|
|
||||||
|
- Nom du projet : <A REMPLIR - PROJET> (exemple: StockPilot — a supprimer)
|
||||||
|
- Type de webapp : <A REMPLIR - PROJET> (exemple: SaaS B2B — a supprimer)
|
||||||
|
- Public cible : <A REMPLIR - PROJET> (exemple: PME logistique — a supprimer)
|
||||||
|
- Objectif principal : <A REMPLIR - PROJET> (exemple: suivi des stocks en temps réel — a supprimer)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. Contraintes fortes
|
||||||
|
|
||||||
|
- Self-hosted / Cloud : <A REMPLIR - PROJET> (exemple: Self-hosted — a supprimer)
|
||||||
|
- Mono-utilisateur / Multi-utilisateur : <A REMPLIR - PROJET> (exemple: Multi-utilisateur — a supprimer)
|
||||||
|
- Données sensibles : oui / non
|
||||||
|
- Contraintes légales (RGPD = Règlement Général sur la Protection des Données, etc.) : <A REMPLIR - PROJET> (exemple: RGPD + hébergement UE — a supprimer)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Stack envisagée (indicative)
|
||||||
|
|
||||||
|
- Frontend : <A COMPLETER PAR AGENT>
|
||||||
|
- Backend : <A COMPLETER PAR AGENT>
|
||||||
|
- Base de données : <A COMPLETER PAR AGENT>
|
||||||
|
- Stockage fichiers : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Règles non négociables
|
||||||
|
|
||||||
|
- 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 (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.
|
||||||
49
backend/CONTEXT.md
Normal file
49
backend/CONTEXT.md
Normal file
@@ -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
|
||||||
|
- `<A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet.
|
||||||
|
- `<A COMPLETER PAR AGENT>` : à compléter par un agent spécialisé backend.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Objectif du backend
|
||||||
|
- Problème métier couvert : <A REMPLIR - PROJET> (exemple: suivi manuel sur tableur — a supprimer)
|
||||||
|
- Responsabilités principales : <A COMPLETER PAR AGENT>
|
||||||
|
- Hors périmètre : <A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)
|
||||||
|
|
||||||
|
## Interfaces
|
||||||
|
- API publique (API = Interface de Programmation) : <A COMPLETER PAR AGENT>
|
||||||
|
- Authentification/autorisation : <A COMPLETER PAR AGENT>
|
||||||
|
- Intégrations externes : <A REMPLIR - PROJET> (exemple: ERP existant — a supprimer)
|
||||||
|
|
||||||
|
## Données
|
||||||
|
- Base(s) utilisée(s) : <A COMPLETER PAR AGENT>
|
||||||
|
- Modèle de données clé : <A COMPLETER PAR AGENT>
|
||||||
|
- Stratégie de migration : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## Architecture interne
|
||||||
|
- Style (monolithe modulaire, hexagonal, etc.) : <A COMPLETER PAR AGENT>
|
||||||
|
- Modules principaux : <A COMPLETER PAR AGENT>
|
||||||
|
- Couche d’accès aux données : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## Qualité & exploitation
|
||||||
|
- Observabilité (logs/metrics/traces = journaux/mesures/traces) : <A COMPLETER PAR AGENT>
|
||||||
|
- Tests (unitaires/intégration) : <A COMPLETER PAR AGENT>
|
||||||
|
- Performance attendue : <A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)
|
||||||
|
|
||||||
|
## Conventions
|
||||||
|
- Organisation du code : <A COMPLETER PAR AGENT>
|
||||||
|
- Nommage : <A COMPLETER PAR AGENT>
|
||||||
|
- Gestion erreurs : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 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.
|
||||||
0
backend/Dockerfile
Normal file
0
backend/Dockerfile
Normal file
24
contracts/data_model.md
Normal file
24
contracts/data_model.md
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# Modèle de données
|
||||||
|
|
||||||
|
Décrit les entités clés et leurs relations.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Légende des zones
|
||||||
|
- `<A COMPLETER PAR AGENT>` : à compléter par un agent spécialisé backend.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Entités principales
|
||||||
|
- Entité : <A COMPLETER PAR AGENT>
|
||||||
|
- Champs : <A COMPLETER PAR AGENT>
|
||||||
|
- Contraintes : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## Relations
|
||||||
|
- Relation : <A COMPLETER PAR AGENT>
|
||||||
|
- Cardinalité : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Exemple (a supprimer)
|
||||||
|
- `User` 1..N `Order`.
|
||||||
24
contracts/errors.md
Normal file
24
contracts/errors.md
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# Contrat d’erreurs API
|
||||||
|
|
||||||
|
Ce document définit le format standard des erreurs.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Légende des zones
|
||||||
|
- `<A COMPLETER PAR AGENT>` : à compléter par un agent spécialisé backend.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Format
|
||||||
|
- Structure : <A COMPLETER PAR AGENT>
|
||||||
|
- Codes d’erreur : <A COMPLETER PAR AGENT>
|
||||||
|
- Messages utilisateurs vs techniques : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## Conventions
|
||||||
|
- Codes HTTP : <A COMPLETER PAR AGENT>
|
||||||
|
- Champs obligatoires : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Exemple (a supprimer)
|
||||||
|
- `{ "error": { "code": "VALIDATION_ERROR", "message": "Email invalide" } }`
|
||||||
0
contracts/import/examples/import_full.json
Normal file
0
contracts/import/examples/import_full.json
Normal file
0
contracts/import/examples/import_min.json
Normal file
0
contracts/import/examples/import_min.json
Normal file
28
contracts/import/import.schema.json
Normal file
28
contracts/import/import.schema.json
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||||
|
"title": "Import Item",
|
||||||
|
"type": "object",
|
||||||
|
"required": ["source", "item"],
|
||||||
|
"properties": {
|
||||||
|
"source": {
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"name": {"type": "string"},
|
||||||
|
"imported_at": {"type": "string", "format": "date-time"}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"item": {
|
||||||
|
"type": "object",
|
||||||
|
"required": ["name", "domain"],
|
||||||
|
"properties": {
|
||||||
|
"name": {"type": "string"},
|
||||||
|
"domain": {"type": "string"},
|
||||||
|
"description": {"type": "string"},
|
||||||
|
"specs": {
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
0
contracts/openapi.yaml
Normal file
0
contracts/openapi.yaml
Normal file
24
contracts/pagination.md
Normal file
24
contracts/pagination.md
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
# Contrat de pagination
|
||||||
|
|
||||||
|
Ce document définit la pagination standard pour l’API.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Légende des zones
|
||||||
|
- `<A COMPLETER PAR AGENT>` : à compléter par un agent spécialisé backend.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Stratégie
|
||||||
|
- Type (page/offset/cursor) : <A COMPLETER PAR AGENT>
|
||||||
|
- Paramètres : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## Réponse
|
||||||
|
- Structure des meta : <A COMPLETER PAR AGENT>
|
||||||
|
- Liens (next/prev) : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Exemple (a supprimer)
|
||||||
|
- Paramètres : `page=1&limit=20`.
|
||||||
|
- Meta : `total`, `page`, `page_size`.
|
||||||
0
docker-compose.yml
Normal file
0
docker-compose.yml
Normal file
42
docs/API.md
Normal file
42
docs/API.md
Normal file
@@ -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
|
||||||
|
- `<A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet.
|
||||||
|
- `<A COMPLETER PAR AGENT>` : à compléter par un agent spécialisé backend.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Versioning
|
||||||
|
- Stratégie (URL, header, autre) : <A COMPLETER PAR AGENT>
|
||||||
|
- Politique de dépréciation : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## 2. Authentification
|
||||||
|
- Méthode (JWT = jeton, session, OAuth = délégation d’accès) : <A COMPLETER PAR AGENT>
|
||||||
|
- Durée de session / refresh : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## 3. Conventions HTTP
|
||||||
|
- Codes d’erreurs : <A COMPLETER PAR AGENT>
|
||||||
|
- Idempotence (appel sans effet si répété) : <A COMPLETER PAR AGENT>
|
||||||
|
- Pagination : <A COMPLETER PAR AGENT>
|
||||||
|
- Tri/filtre : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## 4. Formats
|
||||||
|
- Format JSON : <A COMPLETER PAR AGENT>
|
||||||
|
- Dates / timezone : <A COMPLETER PAR AGENT>
|
||||||
|
- Naming (camelCase, snake_case) : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## 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" } }`.
|
||||||
64
docs/ARCHITECTURE.md
Normal file
64
docs/ARCHITECTURE.md
Normal file
@@ -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
|
||||||
|
- `<A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet.
|
||||||
|
- `<A COMPLETER PAR AGENT>` : à compléter par un agent spécialisé architecture.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Vue d’ensemble
|
||||||
|
- Objectif produit : <A REMPLIR - PROJET> (exemple: améliorer la traçabilité — a supprimer)
|
||||||
|
- Type d’app (web, mobile, API) : <A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)
|
||||||
|
- Contraintes fortes : <A REMPLIR - PROJET> (exemple: déploiement on-premise — a supprimer)
|
||||||
|
|
||||||
|
## 2. Principes d’architecture
|
||||||
|
- Principes non négociables : <A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)
|
||||||
|
- Principes d’évolution : <A COMPLETER PAR AGENT>
|
||||||
|
- Qualités prioritaires (performance, sécurité, scalabilité) : <A REMPLIR - PROJET> (exemple: sécurité et performance — a supprimer)
|
||||||
|
|
||||||
|
## 3. Architecture logique
|
||||||
|
- Modules principaux : <A COMPLETER PAR AGENT>
|
||||||
|
- Responsabilités par module : <A COMPLETER PAR AGENT>
|
||||||
|
- Frontend/Backend séparation : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## 4. Architecture technique
|
||||||
|
- Langages & frameworks : <A COMPLETER PAR AGENT>
|
||||||
|
- Base de données : <A COMPLETER PAR AGENT>
|
||||||
|
- Stockage fichiers : <A COMPLETER PAR AGENT>
|
||||||
|
- Infra cible (cloud/self-hosted) : <A REMPLIR - PROJET> (exemple: self-hosted — a supprimer)
|
||||||
|
|
||||||
|
## 5. Flux de données
|
||||||
|
- Flux principaux (lecture/écriture) : <A COMPLETER PAR AGENT>
|
||||||
|
- Intégrations externes : <A REMPLIR - PROJET> (exemple: ERP existant — a supprimer)
|
||||||
|
- Gestion des événements/asynchronisme : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## 6. Sécurité
|
||||||
|
- Authentification/autorisation : <A COMPLETER PAR AGENT>
|
||||||
|
- Données sensibles : <A REMPLIR - PROJET> (exemple: emails + historiques de paiement — a supprimer)
|
||||||
|
- Traçabilité/audit : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## 7. Observabilité
|
||||||
|
- Logs (journaux) : <A COMPLETER PAR AGENT>
|
||||||
|
- Metrics (mesures) : <A COMPLETER PAR AGENT>
|
||||||
|
- Alerting (alertes) : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## 8. Conventions de code
|
||||||
|
- Organisation des dossiers : <A COMPLETER PAR AGENT>
|
||||||
|
- Standards de code : <A COMPLETER PAR AGENT>
|
||||||
|
- Tests obligatoires : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## 9. Évolution & dette
|
||||||
|
- Zones à risque : <A REMPLIR - PROJET> (exemple: montée en charge — a supprimer)
|
||||||
|
- Améliorations prévues : <A REMPLIR - PROJET> (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).
|
||||||
34
docs/DEPLOYMENT.md
Normal file
34
docs/DEPLOYMENT.md
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
# Déploiement
|
||||||
|
|
||||||
|
Décrit les environnements et le processus de déploiement.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Légende des zones
|
||||||
|
- `<A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet.
|
||||||
|
- `<A COMPLETER PAR AGENT>` : à compléter par un agent spécialisé DevOps.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Environnements
|
||||||
|
- Local : <A COMPLETER PAR AGENT>
|
||||||
|
- Staging (pré-production) : <A COMPLETER PAR AGENT>
|
||||||
|
- Production : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## 2. Pipeline CI/CD
|
||||||
|
- Étapes : <A COMPLETER PAR AGENT>
|
||||||
|
- Stratégie de release : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## 3. Configuration
|
||||||
|
- Variables d’environnement : <A COMPLETER PAR AGENT>
|
||||||
|
- Secrets : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## 4. Migrations
|
||||||
|
- Stratégie : <A COMPLETER PAR AGENT>
|
||||||
|
- Rollback (retour arrière) : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Exemple (a supprimer)
|
||||||
|
- CI/CD : tests -> build -> déploiement.
|
||||||
|
- Release : tag git + changelog.
|
||||||
38
docs/OPERATIONS.md
Normal file
38
docs/OPERATIONS.md
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
# Opérations / Runbook
|
||||||
|
|
||||||
|
Ce document décrit comment opérer le système au quotidien.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Légende des zones
|
||||||
|
- `<A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet.
|
||||||
|
- `<A COMPLETER PAR AGENT>` : à compléter par un agent spécialisé exploitation.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Démarrage / arrêt
|
||||||
|
- Commandes locales : <A COMPLETER PAR AGENT>
|
||||||
|
- Commandes production : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## 2. Supervision
|
||||||
|
- Logs (journaux) : <A COMPLETER PAR AGENT>
|
||||||
|
- Metrics (mesures) : <A COMPLETER PAR AGENT>
|
||||||
|
- Traces : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## 3. Alerting
|
||||||
|
- Seuils critiques : <A COMPLETER PAR AGENT>
|
||||||
|
- Canaux d’alerte : <A REMPLIR - PROJET> (exemple: email + chat interne — a supprimer)
|
||||||
|
|
||||||
|
## 4. Sauvegardes & restauration
|
||||||
|
- Fréquence : <A REMPLIR - PROJET> (exemple: quotidienne — a supprimer)
|
||||||
|
- Procédure de restauration : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## 5. Incidents
|
||||||
|
- Procédure : <A COMPLETER PAR AGENT>
|
||||||
|
- Rôles & responsabilités : <A REMPLIR - PROJET> (exemple: admin système — a supprimer)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Exemple (a supprimer)
|
||||||
|
- Logs : centralisés via Loki.
|
||||||
|
- Alertes : erreurs 5xx > 2% pendant 5 min.
|
||||||
16
docs/PR_CHECKLIST.md
Normal file
16
docs/PR_CHECKLIST.md
Normal file
@@ -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.
|
||||||
40
docs/SECURITY.md
Normal file
40
docs/SECURITY.md
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
# Sécurité
|
||||||
|
|
||||||
|
Décrit les exigences de sécurité et les règles de conformité.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Légende des zones
|
||||||
|
- `<A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet.
|
||||||
|
- `<A COMPLETER PAR AGENT>` : à compléter par un agent spécialisé sécurité.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Données & confidentialité
|
||||||
|
- Données sensibles : <A REMPLIR - PROJET> (exemple: emails + historiques de paiement — a supprimer)
|
||||||
|
- Classification des données : <A COMPLETER PAR AGENT>
|
||||||
|
- Conservation / suppression : <A REMPLIR - PROJET> (exemple: 12 mois — a supprimer)
|
||||||
|
|
||||||
|
## 2. Authentification / autorisation
|
||||||
|
- Modèle d’accès : <A COMPLETER PAR AGENT>
|
||||||
|
- MFA (Multi-Factor Authentication = double facteur) / SSO (Single Sign-On = connexion unique) : <A REMPLIR - PROJET> (exemple: MFA non requis — a supprimer)
|
||||||
|
- Gestion des rôles : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## 3. Secrets & configuration
|
||||||
|
- Stockage des secrets : <A COMPLETER PAR AGENT>
|
||||||
|
- Rotation : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## 4. Sécurité applicative
|
||||||
|
- Validation des entrées : <A COMPLETER PAR AGENT>
|
||||||
|
- Protection CSRF/XSS (attaques web courantes) : <A COMPLETER PAR AGENT>
|
||||||
|
- Chiffrement en transit/au repos : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## 5. Journalisation & audit
|
||||||
|
- Événements audités : <A COMPLETER PAR AGENT>
|
||||||
|
- Rétention : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Exemple (a supprimer)
|
||||||
|
- Données sensibles : emails, adresses, historiques de paiement.
|
||||||
|
- Secrets : stockés dans un coffre, jamais en clair.
|
||||||
34
docs/STYLEGUIDE.md
Normal file
34
docs/STYLEGUIDE.md
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
# Guide de style
|
||||||
|
|
||||||
|
Ce guide définit les conventions de code et de documentation.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Légende des zones
|
||||||
|
- `<A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet.
|
||||||
|
- `<A COMPLETER PAR AGENT>` : à compléter par un agent spécialisé.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Nommage
|
||||||
|
- Variables / fonctions : <A COMPLETER PAR AGENT>
|
||||||
|
- Fichiers / dossiers : <A COMPLETER PAR AGENT>
|
||||||
|
- API endpoints : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## 2. Formatage
|
||||||
|
- Formatter / linter : <A COMPLETER PAR AGENT>
|
||||||
|
- Règles principales : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## 3. Tests
|
||||||
|
- Nommage des tests : <A COMPLETER PAR AGENT>
|
||||||
|
- Structure des tests : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## 4. Documentation
|
||||||
|
- Doc obligatoire : <A REMPLIR - PROJET> (exemple: README + ARCHITECTURE — a supprimer)
|
||||||
|
- ADR (Architecture Decision Record) : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Exemple (a supprimer)
|
||||||
|
- Formatter : `prettier` + `eslint`.
|
||||||
|
- Tests : `feature_x.test.ts`.
|
||||||
62
docs/WORKFLOW.md
Normal file
62
docs/WORKFLOW.md
Normal file
@@ -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
|
||||||
|
- `<A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet.
|
||||||
|
- `<A COMPLETER PAR AGENT>` : à compléter par un agent spécialisé architecture / dev.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Branches
|
||||||
|
- Convention de nommage : <A COMPLETER PAR AGENT>
|
||||||
|
- Branches protégées : <A REMPLIR - PROJET> (exemple: main — a supprimer)
|
||||||
|
- Politique de merge : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## 2. Commits
|
||||||
|
- Convention (ex: conventional commits) : <A COMPLETER PAR AGENT>
|
||||||
|
- Granularité attendue : <A REMPLIR - PROJET> (exemple: 1 feature par PR — a supprimer)
|
||||||
|
|
||||||
|
## 3. Pull Requests
|
||||||
|
- Template PR : <A COMPLETER PAR AGENT>
|
||||||
|
- Relectures requises : <A REMPLIR - PROJET> (exemple: 1 review — a supprimer)
|
||||||
|
- Checklist obligatoire : `docs/PR_CHECKLIST.md`
|
||||||
|
|
||||||
|
## 4. CI/CD
|
||||||
|
- Pipeline minimal (lint/test/build) : <A COMPLETER PAR AGENT>
|
||||||
|
- Vérifications bloquantes : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## 5. Releases
|
||||||
|
- Versioning (semver = versionnage sémantique) : <A COMPLETER PAR AGENT>
|
||||||
|
- Tagging : <A COMPLETER PAR AGENT>
|
||||||
|
- Release notes : `product/RELEASE_NOTES.md`
|
||||||
|
|
||||||
|
## 6. Qualité
|
||||||
|
- Definition of Done (définition de terminé) : <A REMPLIR - PROJET> (exemple: tests + doc — a supprimer)
|
||||||
|
- Tests obligatoires : <A COMPLETER PAR AGENT>
|
||||||
|
- Mises à jour doc : <A REMPLIR - PROJET> (exemple: si impact sur l’API — a supprimer)
|
||||||
|
|
||||||
|
## 7. Hotfix / Urgence
|
||||||
|
- Procédure : <A COMPLETER PAR AGENT>
|
||||||
|
- Responsables : <A REMPLIR - PROJET> (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.
|
||||||
24
docs/adr/0001-exemple.md
Normal file
24
docs/adr/0001-exemple.md
Normal file
@@ -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.
|
||||||
35
docs/adr/TEMPLATE.md
Normal file
35
docs/adr/TEMPLATE.md
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
# ADR-XXXX — <Titre>
|
||||||
|
|
||||||
|
- Statut : proposed | accepted | deprecated
|
||||||
|
- Date : YYYY-MM-DD
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Légende des zones
|
||||||
|
- `<A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet.
|
||||||
|
- `<A COMPLETER PAR AGENT>` : à compléter par un agent spécialisé architecture.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Contexte
|
||||||
|
- <A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)
|
||||||
|
|
||||||
|
## Décision
|
||||||
|
- <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## Alternatives considérées
|
||||||
|
- <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## Conséquences
|
||||||
|
- <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## Impacts techniques
|
||||||
|
- <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
- <A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Exemple (a supprimer)
|
||||||
|
- Décision : choisir un monolithe modulaire.
|
||||||
45
frontend/CONTEXT.md
Normal file
45
frontend/CONTEXT.md
Normal file
@@ -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
|
||||||
|
- `<A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet.
|
||||||
|
- `<A COMPLETER PAR AGENT>` : à compléter par un agent spécialisé frontend.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Objectif du frontend
|
||||||
|
- Parcours utilisateur principaux : <A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)
|
||||||
|
- Responsabilités principales : <A COMPLETER PAR AGENT>
|
||||||
|
- Hors périmètre : <A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)
|
||||||
|
|
||||||
|
## Interfaces
|
||||||
|
- API consommées (API = Interface de Programmation) : <A COMPLETER PAR AGENT>
|
||||||
|
- Authentification/autorisation : <A COMPLETER PAR AGENT>
|
||||||
|
- Intégrations externes : <A REMPLIR - PROJET> (exemple: ERP existant — a supprimer)
|
||||||
|
|
||||||
|
## Architecture UI
|
||||||
|
- Framework : <A COMPLETER PAR AGENT>
|
||||||
|
- Structure des pages : <A COMPLETER PAR AGENT>
|
||||||
|
- Gestion d’état : <A COMPLETER PAR AGENT>
|
||||||
|
- Design system / UI kit (bibliothèque de composants) : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## Qualité & accessibilité
|
||||||
|
- Performance attendue : <A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)
|
||||||
|
- Accessibilité (a11y = accessibilité web) : <A COMPLETER PAR AGENT>
|
||||||
|
- Tests (unitaires/E2E = tests de bout en bout) : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## Conventions
|
||||||
|
- Organisation du code : <A COMPLETER PAR AGENT>
|
||||||
|
- Nommage : <A COMPLETER PAR AGENT>
|
||||||
|
- Gestion erreurs : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Exemple (a supprimer)
|
||||||
|
- Framework : React + Vite.
|
||||||
|
- Pages : `dashboard`, `settings`, `billing`.
|
||||||
|
- État : Zustand + React Query.
|
||||||
0
frontend/Dockerfile
Normal file
0
frontend/Dockerfile
Normal file
74
outils_dev_pref.md
Normal file
74
outils_dev_pref.md
Normal file
@@ -0,0 +1,74 @@
|
|||||||
|
# Outils & préférences de développement
|
||||||
|
|
||||||
|
Ce fichier décrit **mes outils habituels** et **mes préférences**.
|
||||||
|
Il sert de référence aux agents et aux contributeurs.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Environnement de développement
|
||||||
|
|
||||||
|
- OS principal : debian 13
|
||||||
|
- Éditeur / IDE : VS Code
|
||||||
|
- Shell : <A REMPLIR>
|
||||||
|
- Terminal : <A REMPLIR>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Outils backend
|
||||||
|
|
||||||
|
- Langage principal : python, go
|
||||||
|
- Framework API : <A REMPLIR>
|
||||||
|
- ORM / DB access : <A REMPLIR>
|
||||||
|
- Outils de test : <A REMPLIR>
|
||||||
|
- Outils de lint / format : <A REMPLIR>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Outils frontend
|
||||||
|
|
||||||
|
- Framework UI : <A REMPLIR>
|
||||||
|
- Bundler : <A REMPLIR>
|
||||||
|
- Gestion état : <A REMPLIR>
|
||||||
|
- Tests UI / E2E : <A REMPLIR>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Préférences UI / Web
|
||||||
|
|
||||||
|
- Thème préféré : gruvbox, dark, vintage - monokai dark
|
||||||
|
- Couleurs dominantes : <A REMPLIR>
|
||||||
|
- Style UI : (minimal, dense, dashboard, etc.) <A REMPLIR>
|
||||||
|
- 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) : <A REMPLIR>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Outils DevOps
|
||||||
|
|
||||||
|
- Conteneurs : Docker version 29.1.5 et ultérieur
|
||||||
|
- CI : <A REMPLIR>
|
||||||
|
- Gestion secrets : <A REMPLIR>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
Tout outil ajouté ici est **autorisé par défaut** dans le projet.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Exemple (a supprimer)
|
||||||
|
- Framework API : FastAPI.
|
||||||
|
- CI : GitHub Actions.
|
||||||
35
product/BACKLOG.md
Normal file
35
product/BACKLOG.md
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
# Product Backlog
|
||||||
|
|
||||||
|
## Statuts
|
||||||
|
proposed | accepted | planned | in_progress | done | rejected
|
||||||
|
|
||||||
|
## Priorités
|
||||||
|
Must | Should | Could | Won’t
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Légende des zones
|
||||||
|
- `<A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet.
|
||||||
|
- `<A COMPLETER PAR AGENT>` : à compléter par un agent spécialisé.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### REQ-XXX — <Titre>
|
||||||
|
- Description : <A REMPLIR - PROJET> (exemple: permettre la connexion utilisateur — a supprimer)
|
||||||
|
- Valeur utilisateur : <A REMPLIR - PROJET> (exemple: accès sécurisé — a supprimer)
|
||||||
|
- Inclus / Exclus : <A REMPLIR - PROJET> (exemple: inclut login, exclut SSO — a supprimer)
|
||||||
|
- Priorité : <A REMPLIR - PROJET> (exemple: Must — a supprimer)
|
||||||
|
- Statut : <A REMPLIR - PROJET> (exemple: planned — a supprimer)
|
||||||
|
- Impacts (FE/BE/DB/Arch = Frontend/Backend/Base de données/Architecture) : <A COMPLETER PAR AGENT>
|
||||||
|
- Dépendances : <A REMPLIR - PROJET> (exemple: aucune — a supprimer)
|
||||||
|
- Notes : <A REMPLIR - PROJET> (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
|
||||||
21
product/RELEASE_NOTES.md
Normal file
21
product/RELEASE_NOTES.md
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
# Release notes
|
||||||
|
|
||||||
|
Historique des versions et changements majeurs.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Légende des zones
|
||||||
|
- `<A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Version X.Y.Z — YYYY-MM-DD
|
||||||
|
- Highlights : <A REMPLIR - PROJET> (exemple: ajout login — a supprimer)
|
||||||
|
- Breaking changes (changements cassants) : <A REMPLIR - PROJET> (exemple: renommage d’endpoint — a supprimer)
|
||||||
|
- Correctifs : <A REMPLIR - PROJET> (exemple: bug session — a supprimer)
|
||||||
|
- Migration : <A REMPLIR - PROJET> (exemple: exécuter scripts DB — a supprimer)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Exemple (a supprimer)
|
||||||
|
- 0.1.0 — 2026-02-01 : MVP initial.
|
||||||
22
product/ROADMAP.md
Normal file
22
product/ROADMAP.md
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
# Roadmap
|
||||||
|
|
||||||
|
Ce document présente la planification macro par version ou trimestre.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Légende des zones
|
||||||
|
- `<A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Format
|
||||||
|
- Version / période : <A REMPLIR - PROJET> (exemple: 2026-Q1 — a supprimer)
|
||||||
|
- Objectifs : <A REMPLIR - PROJET> (exemple: MVP fonctionnel — a supprimer)
|
||||||
|
- Features clés : <A REMPLIR - PROJET> (exemple: auth + dashboard — a supprimer)
|
||||||
|
- Risques : <A REMPLIR - PROJET> (exemple: dette technique — a supprimer)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Exemple (a supprimer)
|
||||||
|
- 2026-Q1 : MVP (produit minimum viable) login + dashboard.
|
||||||
|
- 2026-Q2 : reporting avancé.
|
||||||
35
product/VISION.md
Normal file
35
product/VISION.md
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
# Vision produit
|
||||||
|
|
||||||
|
Ce document synthétise la vision et les objectifs long terme.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Légende des zones
|
||||||
|
- `<A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Problème
|
||||||
|
- Problème principal : <A REMPLIR - PROJET> (exemple: suivi manuel sur tableur — a supprimer)
|
||||||
|
- Pourquoi maintenant : <A REMPLIR - PROJET> (exemple: croissance de l’équipe — a supprimer)
|
||||||
|
|
||||||
|
## Utilisateurs cibles
|
||||||
|
- Personas : <A REMPLIR - PROJET> (exemple: gestionnaire stock — a supprimer)
|
||||||
|
- Besoins clés : <A REMPLIR - PROJET> (exemple: suivi + alertes — a supprimer)
|
||||||
|
|
||||||
|
## Proposition de valeur
|
||||||
|
- Promesse centrale : <A REMPLIR - PROJET> (exemple: inventaire fiable — a supprimer)
|
||||||
|
- Différenciation : <A REMPLIR - PROJET> (exemple: déploiement on-premise — a supprimer)
|
||||||
|
|
||||||
|
## Objectifs mesurables
|
||||||
|
- Indicateurs (KPI = indicateurs clés) : <A REMPLIR - PROJET> (exemple: taux d’activation 40% — a supprimer)
|
||||||
|
- Horizon temporel : <A REMPLIR - PROJET> (exemple: 90 jours — a supprimer)
|
||||||
|
|
||||||
|
## Non-objectifs
|
||||||
|
- Ce que le produit ne fera pas : <A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Exemple (a supprimer)
|
||||||
|
- Problème : gestion manuelle des stocks.
|
||||||
|
- KPI : taux d’activation 40% en 90 jours.
|
||||||
0
scripts/db/backup.sh
Executable file
0
scripts/db/backup.sh
Executable file
0
scripts/db/restore.sh
Executable file
0
scripts/db/restore.sh
Executable file
0
scripts/dev.sh
Executable file
0
scripts/dev.sh
Executable file
0
scripts/fmt.sh
Executable file
0
scripts/fmt.sh
Executable file
0
scripts/lint.sh
Executable file
0
scripts/lint.sh
Executable file
0
scripts/test.sh
Executable file
0
scripts/test.sh
Executable file
42
tasks/001-exemple.md
Normal file
42
tasks/001-exemple.md
Normal file
@@ -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.
|
||||||
51
tasks/TEMPLATE.md
Normal file
51
tasks/TEMPLATE.md
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
# TASK-XXX — <Titre>
|
||||||
|
|
||||||
|
## Références
|
||||||
|
- PROJECT_CONTEXT.md
|
||||||
|
- docs/ARCHITECTURE.md
|
||||||
|
- product/BACKLOG.md → REQ-XXX
|
||||||
|
|
||||||
|
## Légende des zones
|
||||||
|
- `<A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)` : à compléter par toi selon le projet.
|
||||||
|
- `<A COMPLETER PAR AGENT>` : à compléter par un agent spécialisé.
|
||||||
|
|
||||||
|
## Objectif
|
||||||
|
- <A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)
|
||||||
|
|
||||||
|
## Non-objectifs
|
||||||
|
- <A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)
|
||||||
|
|
||||||
|
## Périmètre
|
||||||
|
- <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## Description fonctionnelle
|
||||||
|
- <A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)
|
||||||
|
|
||||||
|
## Spécifications techniques
|
||||||
|
- <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## Découpage
|
||||||
|
- Sous-tâches claires et indépendantes : <A COMPLETER PAR AGENT>
|
||||||
|
- Ordre de réalisation : <A COMPLETER PAR AGENT>
|
||||||
|
- Risques de blocage : <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## Fichiers autorisés
|
||||||
|
- <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## Critères d’acceptation
|
||||||
|
- <A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)
|
||||||
|
|
||||||
|
## Tests
|
||||||
|
- <A COMPLETER PAR AGENT>
|
||||||
|
|
||||||
|
## Risques
|
||||||
|
- <A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)
|
||||||
|
|
||||||
|
## Sortie attendue
|
||||||
|
- <A REMPLIR - PROJET> (exemple: à personnaliser — a supprimer)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Exemple (a supprimer)
|
||||||
|
- Objectif : permettre l’inscription utilisateur.
|
||||||
|
- Critères : email valide + confirmation affichée.
|
||||||
Reference in New Issue
Block a user