9.7 KiB
Scope v0.103 — Clôture Phase 1 (Fondation)
Version cible : v0.103 (X=1, Y=3)
Prérequis : v0.102 taguée et stable
Objectif : Finaliser la Phase 1 Fondation — auth avancée, profils complets, player/queue avancés, métadonnées enrichies, seller dashboard shell
Dernière mise à jour : 20 février 2026
Effort estimé : 4-6 semaines de développement
1. Principe directeur
v0.103 = clôture Phase 1 (Fondation).
Trois axes :
- Auth avancée : OAuth Spotify, 2FA SMS, Passkeys, historique connexions
- Profils & Player : Bannière profil, liens sociaux, profil privé ; crossfade, gapless, PiP ; queue collaborative
- Métadonnées & Seller : BPM, key, lyrics, tags auto ; seller dashboard shell fonctionnel
Règles :
- Aucune nouvelle route/page majeure hors scope (pas de
/education,/studio,/nft)- Aucune nouvelle dépendance lourde (sauf correctif sécurité)
- Chaque feature doit correspondre à un item de
docs/archive/root-md/veza_full_features_list.md- Chaque feature livrée doit avoir : tests, story Storybook, documentation
2. Contexte — État v0.102
2.1 Héritage v0.102
| Domaine | Statut v0.102 |
|---|---|
| Gear, Live, Queue, Developer | Routes opérationnelles |
| Playlists | Share, Recommendations, Export, Duplicate activés |
| Social | Like/Comment, badges, trending documenté |
| Player | Vitesse, Media Session, waveform |
| API Keys | CRUD, X-API-Key, CreateAPIKeyModal |
2.2 Cible v0.103
- Features cumulées : ~270 / 600 (45%)
- Delta : +40 features individuelles
- Phase 1 : complète après v0.103
3. Features IN SCOPE v0.103
3.1 Lot A — Auth avancée (priorité haute)
Objectif : Étendre les options d'authentification.
Effort : M (3-5 jours)
Référence : Module 1 (Auth)
| # | Feature | Tâche détaillée | Backend | Frontend | Critère de sortie |
|---|---|---|---|---|---|
| A1 | OAuth Spotify | Intégration OAuth Spotify (comme Google/GitHub) | Provider OAuth à ajouter | Bouton login | Login Spotify fonctionnel |
| A2 | 2FA SMS | Alternative au TOTP pour 2FA (envoi code SMS) | Service SMS, routes 2FA SMS | Option dans settings 2FA | Reporté v0.104 — requiert Twilio + users.phone_number |
| A3 | Passkeys / WebAuthn | Authentification sans mot de passe | WebAuthn backend | Bouton "Utiliser Passkey" | Reporté v0.104 — requiert go-webauthn + webauthn_credentials |
| A4 | Historique connexions | Liste des sessions actives, déconnexion à distance | Routes sessions, dernière activité | Page /settings/sessions enrichie | Historique visible, révocation possible |
Features list v1.0 : 7 (Spotify), 20 (2FA SMS), 22 (Passkeys), 26 (historique)
3.2 Lot B — Profils complets (priorité moyenne)
Objectif : Enrichir les profils utilisateur.
Effort : S (2-3 jours)
Référence : Module 2
| # | Feature | Tâche détaillée | Backend | Frontend | Critère de sortie |
|---|---|---|---|---|---|
| B1 | Bannière profil | Image bannière personnalisable (upload, crop) | Route upload bannière, champ banner_url |
Composant Bannière dans UserProfile | Bannière affichée et éditable |
| B2 | Liens sociaux | Liens externes (Twitter, YouTube, etc.) sur le profil | Champ social_links (JSON) |
Section liens dans profil | Liens cliquables |
| B3 | Profil privé | Option pour masquer le profil public | Champ is_private |
Toggle settings, message "Profil privé" | Profil masqué si activé |
Features list v1.0 : 32 (bannière), 44 (liens sociaux), 42 (profil privé)
3.3 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 (features 106-125)
| # | 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 entre pistes |
| C3 | PiP (Picture-in-Picture) | Mode mini player en overlay vidéo | N/A | Media Session + PiP API | Fenêtre flottante si supporté |
Features list v1.0 : 115 (crossfade), 116 (gapless), 121 (PiP)
3.4 Lot D — Queue avancée (priorité basse)
Objectif : Queue collaborative et autoplay.
Effort : M (3-4 jours)
Référence : Module 4.2 (features 126-135)
| # | Feature | Tâche détaillée | Backend | Frontend | Critère de sortie |
|---|---|---|---|---|---|
| D1 | Queue collaborative | Partager une queue en session (inviter, synchroniser) | Modèle session queue partagée | UI partage queue | Plusieurs utilisateurs, même queue |
| D2 | Autoplay / Recommandations | Quand la queue se termine, proposer des tracks similaires | Route recommandations basée sur écoute | Section "À écouter ensuite" | Suggestions affichées, ajout en 1 clic |
Features list v1.0 : 134 (queue collaborative), 135 (autoplay)
3.5 Lot E — Métadonnées enrichies (priorité moyenne)
Objectif : Enrichir 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) sur les tracks | Migration bpm |
Affichage + édition dans TrackDetail | BPM visible et éditable |
| E2 | Musical key | Clé musicale (C, Am, etc.) | Migration key |
Affichage + édition | Key visible |
| E3 | Lyrics | Paroles synchronisées ou statiques | Modèle/table lyrics, route | Affichage dans TrackDetail ou player | Paroles affichées |
| E4 | Tags auto | Suggestions de tags basées sur l'audio (ou mock) | Route ou intégration | UI tags dans édition track | Tags proposés |
Features list v1.0 : 95 (BPM), 96 (key), 102 (lyrics), 105 (tags auto)
3.6 Lot F — Seller dashboard shell (priorité basse)
Objectif : Rendre le seller dashboard fonctionnel avec des stats basiques.
Effort : S (1-2 jours)
Référence : Module 7.4
| # | Feature | Tâche détaillée | Backend | Frontend | Critère de sortie |
|---|---|---|---|---|---|
| F1 | Stats ventes | Nombre de ventes, revenus (données mock ou réelles) | Route /sell/stats ou agrégation |
Dashboard vendeur | Chiffres affichés |
| F2 | Liste produits vendus | Tracks/albums mis en vente par l'utilisateur | Route existante ou extension | Liste dans seller dashboard | Produits listés |
Features list v1.0 : M7.4 (seller dashboard)
4. Récapitulatif par lot
| Lot | Nom | Priorité | Effort | Features |
|---|---|---|---|---|
| A | Auth avancée | Haute | M | 4 |
| B | Profils complets | Moyenne | S | 3 |
| C | Player avancé | Moyenne | M | 3 |
| D | Queue avancée | Basse | M | 2 |
| E | Métadonnées enrichies | Moyenne | M | 4 |
| F | Seller dashboard | Basse | S | 2 |
| TOTAL | 12-20j | 18 |
5. Features HORS SCOPE v0.103
| Feature | Raison | Version cible |
|---|---|---|
| Live streaming vidéo (Go Live) | Périmètre trop large | v0.703 |
| Social trending API | Report v0.102 | v0.301+ |
| Paiement Hyperswitch réel | Nécessite seller mature | v0.402 |
| PWA, WebRTC | Focus web classique d'abord | v0.803, v0.703 |
Nouvelles routes /education, /studio, /nft |
Hors Phase 1 | v0.5xx+ |
| Gamification, IA features | Modules entiers | v0.901, v0.701 |
6. Critères de stabilité v0.103
6.1 Build & compilation
go build ./...(backend) — 0 erreurcargo build --release(chat-server, stream-server)npm run build(frontend)npx tsc --noEmit
6.2 Tests
go test ./...(backend)npm test -- --run(frontend)npm run test:storybook— 0 erreur console/réseau- E2E : auth, smoke, playlists, search, queue, profils
6.3 Documentation
FEATURE_STATUS.mdmis à jourV0_103_RELEASE_SCOPE.mdchecklist cochée- Changelog v0.103
- MSW handlers pour nouveaux endpoints
7. Ordre de livraison recommandé
| Semaine | Lots | Activités |
|---|---|---|
| S1 | A (Auth) | OAuth Spotify, 2FA SMS ou Passkeys |
| S2 | B + C | Profils (bannière, liens, privé), Player (crossfade, gapless) |
| S3 | D + E | Queue avancée, métadonnées (BPM, key, lyrics) |
| S4 | F + stabilisation | Seller dashboard, tests, documentation |
8. Branche et workflow
- Branche :
release/v0.103 - Feature branches :
feat/v0.103-oauth-spotify,feat/v0.103-profiles, etc. - Format commit :
feat(scope): description(ex:feat(auth): add OAuth Spotify provider)
9. Préparation v0.201 (Phase 2 — Contenu)
Après le tag v0.103, la Phase 2 (0.201-0.203) ouvrira :
| Thème | Focus |
|---|---|
| Recherche avancée | Filtres, facettes, full-text |
| Métadonnées formats | Support formats additionnels |
| Analytics enrichis | Dashboards, rapports |
| Cible | ~330 / 600 features |
Références
- V0_102_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)