7 KiB
Scope v0.101 — Version stable cible
Version cible : v0.101
Objectif : Projet complètement stable, sans régressions, base solide pour évolutions futures
Dernière mise à jour : février 2026
1. Principe directeur
v0.101 = freeze fonctionnel. Aucune nouvelle feature. Uniquement stabilisation, corrections et nettoyage du périmètre défini ci-dessous.
Tous les modules doivent fonctionner ensemble — Backend, Frontend, Chat Server, Stream Server, ClamAV, RabbitMQ. Même incomplets, ils doivent tourner et communiquer correctement.
2. Features IN SCOPE v0.101
2.1 Cœur produit (obligatoires)
| Feature | Frontend | Backend | Tests requis | Critère de stabilité |
|---|---|---|---|---|
| Auth (register, login, logout, refresh) | ✅ | ✅ | Unit + E2E | Flow complet sans erreur |
| 2FA (TOTP) | ✅ | ✅ | E2E (si configuré) | Login 2FA fonctionnel |
| OAuth (Google, GitHub, Discord) | ✅ | ✅ | E2E (optionnel) | Redirection + callback OK |
| Profils utilisateur | ✅ | ✅ | Unit | CRUD profil, avatar |
| Upload de tracks | ✅ | ✅ | Integration | Upload → métadonnées → jouable |
| CRUD Tracks | ✅ | ✅ | Unit + E2E | Liste, détail, édition, suppression |
| Playlists (CRUD, collaboration) | ✅ | ✅ | Unit + E2E | CRUD, ajout/retrait tracks |
| Player audio (lecture, queue, contrôles) | ✅ | N/A | Unit | Play, pause, seek, next, volume |
| Streaming audio (HLS, lecture des tracks) | ✅ | ✅ | Integration | Lecture adaptative fonctionnelle — doit être opérationnel |
| Dashboard | ✅ | ✅ | Unit | Affichage stats, pas de crash |
| Recherche | ✅ | ✅ | E2E | Recherche tracks/playlists/users |
| Settings (préférences, compte) | ✅ | ✅ | Unit | Sauvegarde, pas de régression |
| Library (mes tracks) | ✅ | ✅ | Unit | Liste, filtres |
| Erreurs (404, 500) | ✅ | N/A | - | Pages d'erreur affichées |
2.2 Features secondaires (stables, sans régression)
| Feature | Frontend | Backend | Critère |
|---|---|---|---|
| Chat | ✅ | ✅ | Connexion WebSocket, envoi/réception — Chat Server obligatoire |
| Notifications | ✅ | ✅ | Liste, marquer lu |
| Admin (dashboard, rôles) | ✅ | ✅ | Accès admin uniquement, pas de crash |
| Social (feed, posts, groups) | ✅ | ✅ | Affichage feed, création post |
| Marketplace (catalogue, panier) | ✅ | ✅ | Navigation catalogue, panier en mémoire |
Profile public (/u/:username) |
✅ | ✅ | Affichage profil public |
2.3 Routes à conserver (état actuel)
/login,/register,/forgot-password,/verify-email,/reset-password/dashboard,/library,/profile,/settings,/settings/sessions/tracks/:id,/playlists/*,/search,/chat,/notifications/marketplace,/sell,/wishlist,/purchases/admin,/admin/roles,/social,/analytics,/webhooks/gear,/live,/queue,/developer/design-system,/u/:username/404,/500
3. Features HORS SCOPE v0.101 (ne pas toucher)
Ces features existent dans le code mais ne font pas partie du périmètre stable.
Elles restent en l'état. Aucun développement, aucune "amélioration".
| Feature | Statut | Action |
|---|---|---|
| Live streaming (flux vidéo) | Mock/partiel | HORS SCOPE — le streaming vidéo ne nous intéresse pas pour v0.101 |
| Seller dashboard (logique vendeur) | Shell vide | Conserver tel quel |
| Developer portal (API keys complètes) | Partiel | Conserver tel quel |
| Paiement Hyperswitch (intégration réelle) | Non connecté | Conserver tel quel |
| PWA (service worker, install) | Partiel | Conserver tel quel |
| WebRTC (streaming peer-to-peer) | Non intégré | Conserver tel quel |
4. Features à masquer ou simplifier (Coming Soon)
Ces routes affichent un placeholder "Coming Soon". Ne pas développer pour v0.101.
| Route | Composant cible | Action v0.101 |
|---|---|---|
/queue |
ComingSoon ou QueuePage | Garder état actuel |
/developer |
ComingSoon ou DeveloperDashboard | Garder état actuel |
/gear |
GearPage (backend OK) | Garder état actuel |
/live |
LivePage (mock) | Garder état actuel |
5. Critères de stabilité v0.101
5.1 Build & compilation
go build ./...(backend) — 0 erreurcargo build --release(chat-server) — 0 erreurcargo build --release(stream-server) — 0 erreurnpm run build(frontend) — 0 erreurnpx tsc --noEmit— 0 erreur
5.2 Tests
go test ./...(backend) — 0 échecnpm test -- --run(frontend) — 0 échec (validate-light)npm run test:storybook— 0 erreur console/réseau- E2E auth, smoke, playlists, search — 0 échec (validé en CI ; local :
./scripts/run-e2e-local.sh)
5.3 Qualité
npm run lint— 0 erreur- Aucune régression sur les flows critiques (auth, upload, playlists, player, streaming audio)
- Pas de
console.logen production - Pas de TODO/FIXME critiques dans le code modifié
5.4 Sécurité
- Aucun secret commité
.envexclus du git- Rate limiting actif en production
- CORS configuré correctement
6. Services requis pour v0.101
Tous les modules doivent fonctionner ensemble. Même incomplets, chaque service doit tourner et communiquer correctement avec les autres.
| Service | Obligatoire v0.101 | Note |
|---|---|---|
| Backend API (Go) | ✅ | Cœur |
| PostgreSQL | ✅ | Cœur |
| Redis | ✅ | Sessions, rate limit, CSRF |
| Frontend (Vite) | ✅ | Cœur |
| Chat Server (Rust) | ✅ | Doit fonctionner avec le frontend |
| Stream Server (Rust) | ✅ | Streaming audio HLS — doit être opérationnel |
| RabbitMQ | ✅ | Événements async — doit être connecté |
| ClamAV | ✅ | Scan virus sur les uploads — doit être actif |
7. Définition de "stable"
Une feature est stable pour v0.101 si :
- Happy path fonctionne sans erreur
- Erreurs gérées : états Loading, Error, Empty présents
- Tests : au moins 1 test (unit ou E2E) couvrant le flow principal
- Pas de régression : les tests existants passent
- Story : composants feature ont une story Storybook (Loading, Error, Empty)
8. Ce qui change APRÈS v0.101
Une fois v0.101 atteinte et taguée :
- Les nouvelles features seront ajoutées uniquement via le processus défini dans
docs/SCOPE_CONTROL.md - Chaque nouvelle feature devra avoir un ticket validé et un scope explicite
- Les versions suivantes (v0.102, v0.103…) auront leur propre document de scope
Références
- SCOPE_CONTROL.md — Processus anti-scope-creep
- FEATURE_STATUS.md — Statut détaillé des features
- REMEDIATION_PROGRESS.md — Progression de la stabilisation