veza/docs/archive/V0_103_RELEASE_SCOPE.md

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 :

  1. Auth avancée : OAuth Spotify, 2FA SMS, Passkeys, historique connexions
  2. Profils & Player : Bannière profil, liens sociaux, profil privé ; crossfade, gapless, PiP ; queue collaborative
  3. 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 erreur
  • cargo 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.md mis à jour
  • V0_103_RELEASE_SCOPE.md checklist 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