diff --git a/.cursorrules b/.cursorrules index 8ed8db487..e4878285b 100644 --- a/.cursorrules +++ b/.cursorrules @@ -1,10 +1,10 @@ # Règles de Développement UI - Projet SaaS -## 0. Scope v0.302 (priorité absolue) +## 0. Scope v0.401 (priorité absolue) -- **Référence** : `docs/V0_302_RELEASE_SCOPE.md` et `docs/SCOPE_CONTROL.md` -- Avant toute modification : vérifier si le changement est **dans le scope v0.302** -- **Autorisé v0.302** : lots S2, N1, C2, P2 (groupes avancés, push, appels, rich presence) +- **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) - **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 f0c6f9faf..aa817d76f 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.302 livrée +**Dernière mise à jour** : février 2026 — v0.303 livrée, v0.401 en préparation Ce document décrit le statut réel des fonctionnalités par rapport au code. @@ -100,6 +100,16 @@ Voir [V0_301_RELEASE_SCOPE.md](V0_301_RELEASE_SCOPE.md) pour le détail. Voir [V0_303_RELEASE_SCOPE.md](V0_303_RELEASE_SCOPE.md) pour le détail. +## À livrer en v0.401 (Phase 4 Commerce) + +| 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 | + +Voir [V0_401_RELEASE_SCOPE.md](V0_401_RELEASE_SCOPE.md) pour le détail. + --- ## Projets abandonnés diff --git a/docs/PROJECT_STATE.md b/docs/PROJECT_STATE.md index dce570906..03d91f00b 100644 --- a/docs/PROJECT_STATE.md +++ b/docs/PROJECT_STATE.md @@ -8,10 +8,10 @@ | Élément | Valeur | |---------|--------| -| **Dernier tag** | v0.302 | +| **Dernier tag** | v0.303 | | **Branche courante** | `main` | -| **Phase** | Phase 3 Social — Lots S2, N1, P2, C2 livrés | -| **Prochaine version** | v0.304 | +| **Phase** | Phase 4 Commerce — v0.401 en préparation | +| **Prochaine version** | v0.401 | --- @@ -56,13 +56,14 @@ ## 3. Prochaines étapes -### Immédiat (post v0.303) -1. Tag : v0.303 -2. Merge dans main -3. Créer V0_304_RELEASE_SCOPE.md (placeholder) +### Immédiat (préparation v0.401) +1. Documentation v0.401 complète (V0_401_RELEASE_SCOPE, PLAN_V0_401_IMPLEMENTATION) +2. SCOPE_CONTROL, FEATURE_STATUS, PROJECT_STATE alignés -### Prochaine version (v0.304) -- À définir (appels groupe, E2E, FCM, forum groupes, etc.) +### Prochaine version (v0.401 — Phase 4 Commerce) +- Lot M1 : Produits & Catalogue (upload preview, images multi, BPM/key, catégories) +- Lot M2 : Licences & Droits (types, conditions, historique) +- Lot M3 : Seller dashboard enrichi (graphiques, meilleurs produits, taux conversion) --- @@ -71,9 +72,9 @@ | Document | Usage | |----------|-------| | [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_303_RELEASE_SCOPE.md](V0_303_RELEASE_SCOPE.md) | Scope v0.303 (Chat appels WebRTC 1-to-1) | -| [V0_302_RELEASE_SCOPE.md](V0_302_RELEASE_SCOPE.md) | Scope v0.302 (groupes avancés, push, présence) | -| [PLAN_V0_303_IMPLEMENTATION.md](PLAN_V0_303_IMPLEMENTATION.md) | Plan d'implémentation v0.303 | +| [PLAN_V0_401_IMPLEMENTATION.md](PLAN_V0_401_IMPLEMENTATION.md) | Plan d'implémentation v0.401 | | [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 06dd27bf2..5ce293fcd 100644 --- a/docs/SCOPE_CONTROL.md +++ b/docs/SCOPE_CONTROL.md @@ -1,14 +1,14 @@ # 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_303_RELEASE_SCOPE.md](V0_303_RELEASE_SCOPE.md) -**Version précédente** : [V0_302_RELEASE_SCOPE.md](V0_302_RELEASE_SCOPE.md) +**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) --- ## 1. Règle d'or -> **Avant d'ajouter quoi que ce soit : vérifier si c'est dans le scope v0.303.** +> **Avant d'ajouter quoi que ce soit : vérifier si c'est dans le scope v0.401.** > Si non → ne pas ajouter. Créer un ticket pour une version ultérieure. --- @@ -17,7 +17,7 @@ ### 2.1 Autorisé -- **Corrections de bugs** sur les features IN SCOPE +- **Corrections de bugs** sur les features IN SCOPE v0.401 - **Stabilisation** : tests, refactoring sans changement de comportement - **Nettoyage** : suppression de code mort, consolidation - **Documentation** : mise à jour des docs existantes @@ -26,20 +26,20 @@ ### 2.2 Interdit -- **Nouvelles features** hors scope v0.303 +- **Nouvelles features** hors scope v0.401 - **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.303 +- **"Améliorations"** non liées à un bug identifié ou une feature IN SCOPE v0.401 ### 2.3 Cas limite | Situation | Action | |-----------|--------| -| Bug dans une feature HORS SCOPE | Corriger si blocant pour une feature IN SCOPE v0.303. Sinon : ticket pour plus tard. | +| Bug dans une feature HORS SCOPE | Corriger si blocant pour une feature IN SCOPE v0.401. 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.102+. | +| "Petite amélioration UX" | **Non.** Créer un ticket pour v0.402+. | --- @@ -47,12 +47,12 @@ ### 3.1 Checklist pré-commit (dans la tête) -1. **Mon changement modifie-t-il une feature IN SCOPE v0.303 ?** +1. **Mon changement modifie-t-il une feature IN SCOPE v0.401 ?** - 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 → **STOP.** Hors scope v0.303. + - Nouvelle route, nouveau composant, nouveau service → Vérifier V0_401_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.303 (voir [V0_303_RELEASE_SCOPE.md](V0_303_RELEASE_SCOPE.md)) +- [ ] Le changement est dans le scope v0.401 (voir [V0_401_RELEASE_SCOPE.md](V0_401_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.303 — pour v0.304+" +- **Alignement scope** : cocher "Hors scope v0.401 — pour v0.402+" - **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.303 n'est pas taguée -3. Une fois v0.303 stable, prioriser les issues "v0.304" dans V0_304_RELEASE_SCOPE.md +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 --- @@ -125,14 +125,14 @@ Si une vulnérabilité critique est identifiée : - Correctif autorisé **immédiatement** - Documenter dans la PR -- Pas besoin d'être dans le scope v0.303 +- Pas besoin d'être dans le scope v0.401 ### 6.2 Blocage production Si un bug bloque un déploiement ou un flow critique : - Correctif autorisé -- La feature concernée doit être IN SCOPE ou dépendance directe d'une feature IN SCOPE +- La feature concernée doit être IN SCOPE v0.401 ou dépendance directe d'une feature IN SCOPE ### 6.3 Décision collégiale @@ -140,7 +140,7 @@ Pour tout cas ambigu : - Ouvrir une issue "Scope clarification" - Décision documentée dans l'issue -- Mise à jour de V0_303_RELEASE_SCOPE.md si le scope est étendu (exception rare) +- Mise à jour de V0_401_RELEASE_SCOPE.md si le scope est étendu (exception rare) --- @@ -161,12 +161,13 @@ Pour tout cas ambigu : - v0.203 : Phase 2 Contenu — D1, K, L (queue collaborative, recherche enrichie, Social Trending) — taguée - 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) — en préparation +- 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 --- ## 8. Rappel pour les contributeurs - **Cursor / IA** : Les règles dans `.cursorrules` rappellent de vérifier le scope avant toute modification. -- **Humains** : Lire [V0_303_RELEASE_SCOPE.md](V0_303_RELEASE_SCOPE.md) avant de coder. +- **Humains** : Lire [V0_401_RELEASE_SCOPE.md](V0_401_RELEASE_SCOPE.md) avant de coder. - **En doute ?** Ouvrir une issue "Scope clarification" plutôt que de coder.