# Scope v0.201 — Phase 2 Contenu **Version cible** : v0.201 (X=2, Y=1) **Prérequis** : v0.103 taguée et stable **Objectif** : Phase 2 Contenu — Recherche avancée, métadonnées enrichies, analytics créateur/vendeur **Dernière mise à jour** : 20 février 2026 **Effort estimé** : 6-8 semaines de développement --- ## 1. Principe directeur > **v0.201 = ouverture Phase 2 (Contenu).** > > Trois axes principaux : > 1. **Recherche avancée** : Filtres, facettes, full-text, autocomplete > 2. **Métadonnées** : BPM, key, lyrics, tags (complétion v0.103 Lot E) > 3. **Analytics** : Dashboards créateur, stats vendeur, rapports > > **Carry-over v0.103** : Lots C (Player), D (Queue), E (Métadonnées), F (Seller) non livrés en v0.103 sont intégrés dans v0.201 selon priorité. --- ## 2. Contexte — État post v0.103 ### 2.1 Livré en v0.103 | Lot | Feature | Statut | |-----|---------|--------| | A1 | OAuth Spotify | ✅ | | A2 | 2FA SMS | Reporté v0.104 | | A3 | Passkeys/WebAuthn | Reporté v0.104 | | A4 | Sessions enrichies | ✅ | | B1 | Bannière profil | ✅ | | B2 | Liens sociaux | ✅ | | B3 | Profil privé | ✅ | ### 2.2 Reporté de v0.103 vers v0.201 | Lot | Feature | Priorité v0.201 | |-----|---------|-----------------| | C | Player (crossfade, gapless, PiP) | Moyenne | | D | Queue collaborative, Autoplay | Basse | | E | Métadonnées (BPM, key, lyrics, tags) | Haute | | F | Seller dashboard (stats, produits) | Moyenne | ### 2.3 Cible v0.201 - **Features cumulées** : ~330 / 600 (55%) - **Delta** : +60 features individuelles - **Phase 2** : focus contenu et découverte --- ## 3. Features IN SCOPE v0.201 ### 3.1 Lot G — Recherche avancée (priorité haute) **Objectif** : Enrichir la recherche existante. **Effort** : L (5-7 jours) **Référence** : Module 11 (veza_full_features_list) | # | Feature | Tâche détaillée | Backend | Frontend | Critère de sortie | |---|---------|-----------------|---------|----------|-------------------| | G1 | **Filtres recherche** | Filtres par genre, BPM, key, durée, date | Query params sur GET /search | UI filtres dans SearchPage | Filtres appliqués, résultats mis à jour | | G2 | **Tri avancé** | Tri par pertinence, date, popularité, alphabétique | Paramètre `sort` | Dropdown tri | Tri fonctionnel | | G3 | **Autocomplete** | Suggestions pendant la frappe | Route /search/suggestions ou extension | Input avec dropdown | Suggestions affichées | | G4 | **Recherche par type** | Tracks, artistes, playlists, utilisateurs | Paramètre `type` ou endpoints dédiés | Onglets ou facettes | Résultats par catégorie | | G5 | **Historique recherche** | Mémoriser les dernières recherches | Table/search_history ou localStorage | Section historique | Dernières recherches cliquables | **Features list v1.0** : 352-365 (Module 11) --- ### 3.2 Lot E (complétion) — Métadonnées enrichies **Objectif** : Compléter les métadonnées des tracks. **Effort** : M (3-5 jours) **Référence** : Module 3.3 | # | Feature | Tâche détaillée | Backend | Frontend | Critère de sortie | |---|---------|-----------------|---------|----------|-------------------| | E1 | **BPM** | Champ BPM (beats per minute) | Migration `bpm`, CRUD | TrackDetail, édition | BPM visible et éditable | | E2 | **Musical key** | Clé musicale (C, Am, etc.) | Migration `key`, CRUD | TrackDetail, édition | Key visible et éditable | | E3 | **Lyrics** | Paroles statiques (synchro optionnelle) | Table lyrics, route GET/POST | TrackDetail, player overlay | Paroles affichées | | E4 | **Tags suggérés** | Suggestions de tags (mock ou API) | Route ou logique basée sur genre/BPM | UI édition track | Tags proposés, ajout 1 clic | **Features list v1.0** : 95, 96, 102, 105 --- ### 3.3 Lot H — Analytics créateur (priorité haute) **Objectif** : Dashboard analytics pour créateurs. **Effort** : L (5-7 jours) **Référence** : Module 12.1 | # | Feature | Tâche détaillée | Backend | Frontend | Critère de sortie | |---|---------|-----------------|---------|----------|-------------------| | H1 | **Stats d'écoute** | Plays par track, période, durée moyenne | Agrégation playback_analytics | Page /analytics ou section | Chiffres affichés | | H2 | **Graphiques** | Évolution plays, top tracks | Route /analytics/creator ou extension | Charts (recharts ou équivalent) | Graphiques lisibles | | H3 | **Taux de complétion** | % d'écoute complète par track | Calcul backend | Affichage dans dashboard | Métrique visible | | H4 | **Export données** | Export CSV/JSON des stats | Route GET /analytics/export | Bouton export | Fichier téléchargé | **Features list v1.0** : 381-395 --- ### 3.4 Lot F (complétion) — Seller dashboard **Objectif** : Dashboard vendeur fonctionnel. **Effort** : M (3-4 jours) **Référence** : Module 7.4 | # | Feature | Tâche détaillée | Backend | Frontend | Critère de sortie | |---|---------|-----------------|---------|----------|-------------------| | F1 | **Stats ventes** | Nombre ventes, revenus, période | Route /sell/stats ou agrégation | Page /sell | Chiffres affichés | | F2 | **Liste produits** | Tracks/albums en vente par l'utilisateur | Extension catalogue existant | Liste dans seller dashboard | Produits listés | **Features list v1.0** : 266-268 --- ### 3.5 Lot C — Player avancé (priorité moyenne) **Objectif** : Améliorer l'expérience d'écoute. **Effort** : M (2-4 jours) **Référence** : Module 4.1 | # | Feature | Tâche détaillée | Backend | Frontend | Critère de sortie | |---|---------|-----------------|---------|----------|-------------------| | C1 | **Crossfade** | Transition en fondu entre tracks | N/A | Logique player | Transition fluide 1-10s configurable | | C2 | **Gapless playback** | Lecture sans silence entre tracks | N/A | Préchargement audio | Pas de coupure | | C3 | **PiP** | Picture-in-Picture (si supporté) | N/A | Media Session + PiP API | Fenêtre flottante | **Features list v1.0** : 115, 116, 121 --- ### 3.6 Lot D — Queue avancée (priorité basse) **Objectif** : Queue collaborative et autoplay. **Effort** : M (3-4 jours) **Référence** : Module 4.2 | # | Feature | Tâche détaillée | Backend | Frontend | Critère de sortie | |---|---------|-----------------|---------|----------|-------------------| | D1 | **Queue collaborative** | Partager queue en session | Modèle session queue partagée | UI partage | Plusieurs users, même queue | | D2 | **Autoplay** | Recommandations quand queue vide | Route recommandations | Section "À écouter ensuite" | Suggestions, ajout 1 clic | **Features list v1.0** : 134, 135 --- ## 4. Récapitulatif par lot | Lot | Nom | Priorité | Effort | Features | |-----|-----|----------|--------|----------| | **G** | Recherche avancée | Haute | L | 5 | | **E** | Métadonnées enrichies | Haute | M | 4 | | **H** | Analytics créateur | Haute | L | 4 | | **F** | Seller dashboard | Moyenne | M | 2 | | **C** | Player avancé | Moyenne | M | 3 | | **D** | Queue avancée | Basse | M | 2 | | | **TOTAL** | | **20-32j** | **20** | --- ## 5. Features HORS SCOPE v0.201 | Feature | Raison | Version cible | |---------|--------|---------------| | Recherche phonétique, booléenne | Complexité | v0.202+ | | Collaborative filtering | Nécessite historique riche | v0.202+ | | Social Trending API | Dépend recommandations | v0.301+ | | 2FA SMS, Passkeys | v0.104 dédié | v0.104 | | Go Live vidéo | v0.703 | v0.703 | --- ## 6. Critères de stabilité v0.201 ### 6.1 Build & compilation - [ ] `go build ./...` — 0 erreur - [ ] `npm run build` — 0 erreur - [ ] `npx tsc --noEmit` — 0 erreur ### 6.2 Tests - [ ] `go test ./...` — pas de régression - [ ] `npm test -- --run` — pas de régression - [ ] E2E : recherche, analytics, seller ### 6.3 Documentation - [ ] FEATURE_STATUS.md mis à jour - [ ] CHANGELOG v0.201 - [ ] MSW handlers pour nouveaux endpoints --- ## 7. Ordre de livraison recommandé | Semaine | Lots | Activités | |---------|------|------------| | **S1** | E (Métadonnées) | BPM, key, lyrics, tags — base pour recherche | | **S2** | G (Recherche) | Filtres, tri, autocomplete, facettes | | **S3** | H (Analytics) | Stats créateur, graphiques, export | | **S4** | F (Seller) | Stats vendeur, liste produits | | **S5** | C (Player) | Crossfade, gapless, PiP | | **S6** | D (Queue) | Autoplay, queue collaborative (si temps) | | **S7-8** | Stabilisation | Tests, docs, polish | --- ## 8. Branche et workflow - **Branche** : `release/v0.201` - **Format commit** : `feat(scope): description` (ex: `feat(search): add BPM filter`) - **Référence scope** : [SCOPE_CONTROL.md](SCOPE_CONTROL.md) → v0.201 --- ## 9. Préparation v0.202 (Phase 2 suite) | Thème | Focus | |-------|-------| | Recommandations | Algorithme, collaborative filtering | | Recherche avancée | Phonétique, booléenne, sauvegardes | | Social Trending | API `/social/trending` | | Cible | ~360 / 600 features | --- ## Références - [V0_103_RELEASE_SCOPE.md](V0_103_RELEASE_SCOPE.md) — Version précédente - [SCOPE_CONTROL.md](SCOPE_CONTROL.md) — Processus anti-scope-creep - [FEATURE_STATUS.md](FEATURE_STATUS.md) — Statut des features - [veza_full_features_list.md](archive/root-md/veza_full_features_list.md) — Cible 1.0 (600 features) - [PROJECT_STATE.md](PROJECT_STATE.md) — État actuel du projet