9.2 KiB
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 :
- Recherche avancée : Filtres, facettes, full-text, autocomplete
- Métadonnées : BPM, key, lyrics, tags (complétion v0.103 Lot E)
- 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 erreurnpm run build— 0 erreurnpx tsc --noEmit— 0 erreur
6.2 Tests
go test ./...— pas de régressionnpm 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 → 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 — Version précédente
- SCOPE_CONTROL.md — Processus anti-scope-creep
- FEATURE_STATUS.md — Statut des features
- veza_full_features_list.md — Cible 1.0 (600 features)
- PROJECT_STATE.md — État actuel du projet