diff --git a/.cursorrules b/.cursorrules index e4878285b..342dc396c 100644 --- a/.cursorrules +++ b/.cursorrules @@ -1,10 +1,10 @@ # Règles de Développement UI - Projet SaaS -## 0. Scope v0.401 (priorité absolue) +## 0. Scope v0.402 (priorité absolue) -- **Référence** : `docs/V0_401_RELEASE_SCOPE.md` et `docs/SCOPE_CONTROL.md` -- Avant toute modification : vérifier si le changement est **dans le scope v0.401** -- **Autorisé v0.401** : lots M1, M2, M3 (produits & catalogue, licences & droits, seller enrichi) +- **Référence** : `docs/V0_402_RELEASE_SCOPE.md` et `docs/SCOPE_CONTROL.md` +- Avant toute modification : vérifier si le changement est **dans le scope v0.402** +- **Autorisé v0.402** : lots P1, P2 (checkout Hyperswitch production-ready, codes promo) - **Interdit** : nouvelles routes/pages hors scope, nouvelles dépendances (sauf correctif sécurité) - En cas de doute : ne pas ajouter. Créer une issue pour une version ultérieure. diff --git a/docs/FEATURE_STATUS.md b/docs/FEATURE_STATUS.md index 8e46f01d6..4fa1098a3 100644 --- a/docs/FEATURE_STATUS.md +++ b/docs/FEATURE_STATUS.md @@ -1,6 +1,6 @@ # Statut des fonctionnalités — Veza -**Dernière mise à jour** : février 2026 — v0.303 livrée, v0.401 en préparation +**Dernière mise à jour** : février 2026 — v0.401 livrée, v0.402 en préparation Ce document décrit le statut réel des fonctionnalités par rapport au code. @@ -106,17 +106,16 @@ Voir [V0_301_RELEASE_SCOPE.md](V0_301_RELEASE_SCOPE.md) pour le détail. | M2 | Licences & Droits : product_licenses, types/conditions, GET /licenses/mine, LicenceCard/LicenceDetailsModal, LicensesView | | M3 | Seller dashboard enrichi : evolution chart, top products, real sales, conversion N/A | -Voir [V0_303_RELEASE_SCOPE.md](V0_303_RELEASE_SCOPE.md) pour le détail. +Voir [V0_401_RELEASE_SCOPE.md](V0_401_RELEASE_SCOPE.md) pour le détail. -## À livrer en v0.401 (Phase 4 Commerce) +## Prévu en v0.402 (Phase 4 Commerce — checkout & codes promo) | Lot | Feature | |-----|---------| -| M1 | Produits & Catalogue : upload preview, images multi, BPM/key, catégories, description rich text | -| M2 | Licences & Droits : types licences (écoute, personnelle, commerciale, exclusive), conditions, historique licences achetées | -| M3 | Seller dashboard enrichi : graphiques évolution ventes, meilleurs produits, taux de conversion | +| P1 | Checkout Hyperswitch production-ready : success/error pages, webhook robustesse, annulation, flow UI complet | +| P2 | Codes promo / réductions : table promo_codes, validation API, application au checkout, PromoCodeModal connecté | -Voir [V0_401_RELEASE_SCOPE.md](V0_401_RELEASE_SCOPE.md) pour le détail. +Voir [V0_402_RELEASE_SCOPE.md](V0_402_RELEASE_SCOPE.md) pour le détail. --- diff --git a/docs/PROJECT_STATE.md b/docs/PROJECT_STATE.md index 92d41c6e5..ed43b2cdb 100644 --- a/docs/PROJECT_STATE.md +++ b/docs/PROJECT_STATE.md @@ -62,7 +62,9 @@ ## 3. Prochaines étapes ### Prochaine version (v0.402) -- À définir selon roadmap +- **Lot P1** : Checkout Hyperswitch production-ready (success/error pages, webhook robustesse) +- **Lot P2** : Codes promo / réductions (backend promo_codes, PromoCodeModal connecté) +- Référence : [V0_402_RELEASE_SCOPE.md](V0_402_RELEASE_SCOPE.md), [PLAN_V0_402_IMPLEMENTATION.md](PLAN_V0_402_IMPLEMENTATION.md) --- @@ -72,8 +74,10 @@ |----------|-------| | [PLAN_V0_301_FINALISATION.md](PLAN_V0_301_FINALISATION.md) | Plan de finalisation v0.301 | | [V0_401_RELEASE_SCOPE.md](V0_401_RELEASE_SCOPE.md) | Scope v0.401 (Phase 4 Commerce) | +| [V0_402_RELEASE_SCOPE.md](V0_402_RELEASE_SCOPE.md) | Scope v0.402 (checkout & codes promo) | | [V0_303_RELEASE_SCOPE.md](V0_303_RELEASE_SCOPE.md) | Scope v0.303 (Chat appels WebRTC 1-to-1) | | [PLAN_V0_401_IMPLEMENTATION.md](PLAN_V0_401_IMPLEMENTATION.md) | Plan d'implémentation v0.401 | +| [PLAN_V0_402_IMPLEMENTATION.md](PLAN_V0_402_IMPLEMENTATION.md) | Plan d'implémentation v0.402 | | [V0_301_RELEASE_SCOPE.md](V0_301_RELEASE_SCOPE.md) | Scope détaillé v0.301 (Phase 3 Social) | | [V0_203_RELEASE_SCOPE.md](V0_203_RELEASE_SCOPE.md) | Scope v0.203 (archivé) | | [SCOPE_CONTROL.md](SCOPE_CONTROL.md) | Anti-scope-creep, workflow | diff --git a/docs/SCOPE_CONTROL.md b/docs/SCOPE_CONTROL.md index 5ce293fcd..12c9ab91c 100644 --- a/docs/SCOPE_CONTROL.md +++ b/docs/SCOPE_CONTROL.md @@ -1,23 +1,23 @@ # Contrôle du scope — Anti-scope-creep **Objectif** : Éviter toute dérive de scope. Chaque modification doit être intentionnelle et traçable. -**Référence active** : [V0_401_RELEASE_SCOPE.md](V0_401_RELEASE_SCOPE.md) -**Version précédente** : [V0_303_RELEASE_SCOPE.md](V0_303_RELEASE_SCOPE.md) +**Référence active** : [V0_402_RELEASE_SCOPE.md](V0_402_RELEASE_SCOPE.md) +**Version précédente** : [V0_401_RELEASE_SCOPE.md](V0_401_RELEASE_SCOPE.md) --- ## 1. Règle d'or -> **Avant d'ajouter quoi que ce soit : vérifier si c'est dans le scope v0.401.** +> **Avant d'ajouter quoi que ce soit : vérifier si c'est dans le scope v0.402.** > Si non → ne pas ajouter. Créer un ticket pour une version ultérieure. --- -## 2. Pendant la phase v0.303 (jusqu'au tag) +## 2. Pendant la phase v0.402 (jusqu'au tag) ### 2.1 Autorisé -- **Corrections de bugs** sur les features IN SCOPE v0.401 +- **Corrections de bugs** sur les features IN SCOPE v0.402 - **Stabilisation** : tests, refactoring sans changement de comportement - **Nettoyage** : suppression de code mort, consolidation - **Documentation** : mise à jour des docs existantes @@ -30,16 +30,16 @@ - **Nouvelles routes** ou pages hors scope - **Nouvelles dépendances** (sauf correctif sécurité) - **Changements de comportement** sur les features HORS SCOPE -- **"Améliorations"** non liées à un bug identifié ou une feature IN SCOPE v0.401 +- **"Améliorations"** non liées à un bug identifié ou une feature IN SCOPE v0.402 ### 2.3 Cas limite | Situation | Action | |-----------|--------| -| Bug dans une feature HORS SCOPE | Corriger si blocant pour une feature IN SCOPE v0.401. Sinon : ticket pour plus tard. | +| Bug dans une feature HORS SCOPE | Corriger si blocant pour une feature IN SCOPE v0.402. Sinon : ticket pour plus tard. | | Dépendance obsolète/vulnérable | Mettre à jour. Documenter dans la PR. | | Refactoring qui change une API interne | Autorisé si 0 impact sur le contrat public et tests passent. | -| "Petite amélioration UX" | **Non.** Créer un ticket pour v0.402+. | +| "Petite amélioration UX" | **Non.** Créer un ticket pour v0.403+. | --- @@ -47,12 +47,12 @@ ### 3.1 Checklist pré-commit (dans la tête) -1. **Mon changement modifie-t-il une feature IN SCOPE v0.401 ?** +1. **Mon changement modifie-t-il une feature IN SCOPE v0.402 ?** - Oui → Continuer. S'assurer qu'il n'y a pas de régression. - Non → **STOP.** Est-ce une correction de bug ? Si oui, la feature est-elle IN SCOPE ? 2. **Mon changement ajoute-t-il du code ?** - - Nouvelle route, nouveau composant, nouveau service → Vérifier V0_401_RELEASE_SCOPE. Si hors scope → **STOP.** + - Nouvelle route, nouveau composant, nouveau service → Vérifier V0_402_RELEASE_SCOPE. Si hors scope → **STOP.** - Correction, refactoring, test → OK si lié à une feature IN SCOPE. 3. **Mes tests passent-ils ?** @@ -81,7 +81,7 @@ Format : `type(scope): description` Dans chaque PR, le relecteur doit valider : -- [ ] Le changement est dans le scope v0.401 (voir [V0_401_RELEASE_SCOPE.md](V0_401_RELEASE_SCOPE.md)) +- [ ] Le changement est dans le scope v0.402 (voir [V0_402_RELEASE_SCOPE.md](V0_402_RELEASE_SCOPE.md)) - [ ] Aucune nouvelle feature ajoutée - [ ] Aucune régression sur les flows critiques - [ ] Les tests passent @@ -104,7 +104,7 @@ Une PR sera rejetée si : Utiliser le template [Feature request](.github/ISSUE_TEMPLATE/feature_request.md) avec : -- **Alignement scope** : cocher "Hors scope v0.401 — pour v0.402+" +- **Alignement scope** : cocher "Hors scope v0.402 — pour v0.403+" - **Justification** : pourquoi cette feature est nécessaire - **Effort estimé** : S / M / L / XL - **Dépendances** : quelles features v0.303 doivent être stables avant @@ -112,8 +112,8 @@ Utiliser le template [Feature request](.github/ISSUE_TEMPLATE/feature_request.md ### 5.2 Workflow 1. Créer une issue avec le template -2. **Ne pas implémenter** tant que v0.401 n'est pas taguée -3. Une fois v0.401 stable, prioriser les issues "v0.402" dans V0_402_RELEASE_SCOPE.md +2. **Ne pas implémenter** tant que v0.402 n'est pas taguée +3. Une fois v0.402 stable, prioriser les issues "v0.403" dans V0_403_RELEASE_SCOPE.md --- @@ -140,13 +140,13 @@ Pour tout cas ambigu : - Ouvrir une issue "Scope clarification" - Décision documentée dans l'issue -- Mise à jour de V0_401_RELEASE_SCOPE.md si le scope est étendu (exception rare) +- Mise à jour de V0_402_RELEASE_SCOPE.md si le scope est étendu (exception rare) --- ## 7. Après le tag d'une version -1. **Créer** le document de scope de la version suivante (ex: `V0_302_RELEASE_SCOPE.md`) +1. **Créer** le document de scope de la version suivante (ex: `V0_403_RELEASE_SCOPE.md`) 2. **Définir** explicitement les nouvelles features autorisées 3. **Mettre à jour** la référence active dans ce document (section header) 4. **Reprendre** ce processus avec le nouveau document de scope @@ -162,12 +162,13 @@ Pour tout cas ambigu : - v0.301 : Phase 3 Social — P0, C1, P1, S1 (Chat Server fix, typing, read receipts, présence, social enrichi) — taguée - v0.302 : Phase 3 Social — S2, N1, P2 (groupes avancés, push, rich presence) — taguée - v0.303 : Phase 3 Social — C2 (Chat appels WebRTC 1-to-1) — taguée -- v0.401 : Phase 4 Commerce — M1, M2, M3 (Marketplace catalogue, licences, seller enrichi) — en préparation +- v0.401 : Phase 4 Commerce — M1, M2, M3 (Marketplace catalogue, licences, seller enrichi) — taguée +- v0.402 : Phase 4 Commerce — P1, P2 (Checkout Hyperswitch production-ready, codes promo) — en préparation --- ## 8. Rappel pour les contributeurs - **Cursor / IA** : Les règles dans `.cursorrules` rappellent de vérifier le scope avant toute modification. -- **Humains** : Lire [V0_401_RELEASE_SCOPE.md](V0_401_RELEASE_SCOPE.md) avant de coder. +- **Humains** : Lire [V0_402_RELEASE_SCOPE.md](V0_402_RELEASE_SCOPE.md) avant de coder. - **En doute ?** Ouvrir une issue "Scope clarification" plutôt que de coder. diff --git a/docs/V0_401_RELEASE_SCOPE.md b/docs/V0_401_RELEASE_SCOPE.md index 100d014f4..dbbfbb471 100644 --- a/docs/V0_401_RELEASE_SCOPE.md +++ b/docs/V0_401_RELEASE_SCOPE.md @@ -164,10 +164,10 @@ ## 9. Transition vers v0.402 -À l'issue de v0.401 : +À l'issue de v0.401 (taguée) : - Marketplace catalogue mature -- Prochaine version : **v0.402** — Paiement Hyperswitch réel, checkout, codes promo -- Document de scope : `V0_402_RELEASE_SCOPE.md` (à créer après tag v0.401) +- Prochaine version : **v0.402** — Checkout Hyperswitch production-ready, codes promo +- Document de scope : [V0_402_RELEASE_SCOPE.md](V0_402_RELEASE_SCOPE.md) ---