veza/docs/FEATURE_STATUS.md

83 lines
4.1 KiB
Markdown

# Statut des fonctionnalités — Veza
**Dernière mise à jour** : février 2026 — v0.203 livrée
Ce document décrit le statut réel des fonctionnalités par rapport au code.
## Fonctionnalités opérationnelles (19)
| Feature | Frontend | Backend | Notes |
|---------|----------|---------|-------|
| Auth (register, login, JWT, refresh) | Oui | Oui | Complet |
| 2FA (TOTP) | Oui | Oui | Complet |
| OAuth (Google, GitHub, Discord, Spotify) | Oui | Oui | v0.103 (A1) |
| Profils utilisateur | Oui | Oui | Bannière, liens sociaux, profil privé (v0.103 B1-B3) |
| Upload de tracks | Oui | Oui | Complet |
| CRUD Tracks | Oui | Oui | Complet — BPM, musical_key, lyrics, tags (v0.201 Lot E) |
| Playlists (CRUD, collaboration) | Oui | Oui | Complet |
| Chat WebSocket | Oui | Oui | Complet (Chat Server doit être démarré) |
| Dashboard | Oui | Oui | GET /api/v1/dashboard |
| Recherche | Oui | Oui | GET /search unifié, GET /tracks/search. v0.202 : musical_key, tri pertinence. v0.203 : pg_trgm fuzzy, AND/OR/NOT, tooltip aide |
| Social (feed, posts, groups, follows, blocks, trending) | Oui | Oui | v0.203 : GET /social/trending, cache Redis |
| Administration | Oui | Oui | Complet |
| Marketplace | Oui | Oui | Complet (Hyperswitch) |
| Webhooks | Oui | Oui | Complet |
| Inventory / Gear | Oui | Oui | GET/POST/PUT/DELETE /api/v1/inventory/gear |
| Live Streaming (métadonnées) | Oui | Oui | GET /api/v1/live/streams — stream vidéo via Stream Server |
| Analytics | Oui | Oui | Routes /api/v1/analytics/*. v0.202 : creator stats/charts/export (Lot H) |
| Roles | Oui | Oui | Assign, revoke — flag ROLE_MANAGEMENT |
| Notifications | Oui | Oui | Création auto follow/like/comment |
## Fonctionnalités fantômes (UI sans backend)
| Feature | Localisation | Statut |
|---------|-------------|--------|
| **Studio** (Cloud File Browser) | Supprimé | Dossier supprimé |
| **Education** | Supprimé | Dossier supprimé |
| **Gamification** (achievements, leaderboard) | MSW handlers | api_manager archivé (internal/api/archive/), MSW uniquement |
## Fonctionnalités désactivées (feature flags)
| Feature | Flag | Backend |
|---------|------|---------|
| HLS Streaming | `HLS_STREAMING: true` (v0.101) | Opérationnel — Backend /tracks/:id/hls/info, /status ; Stream Server /hls/:track_id/master.m3u8 |
| Role Management | `ROLE_MANAGEMENT` | Opérationnel si activé |
| Playlist Share | `PLAYLIST_SHARE: true` (v0.102) | Opérationnel |
| Playlist Recommendations | `PLAYLIST_RECOMMENDATIONS: true` (v0.102) | Opérationnel |
## Limitations connues (report versions futures)
| Feature | Limitation | Version cible |
|---------|------------|--------------|
| **Go Live** (streaming vidéo) | Non implémenté — toast « coming soon » conservé | v0.703 |
| **2FA SMS** | Option « Envoyer par SMS » pendant la vérification 2FA — requiert infra Twilio + users.phone_number | v0.104 |
| **Passkeys / WebAuthn** | Login sans mot de passe — requiert go-webauthn, table webauthn_credentials, frontend navigator.credentials | v0.104 |
## Livré en v0.202
| Lot | Feature |
|-----|---------|
| G | Recherche avancée (musical_key, tri pertinence, autocomplete, facettes type, historique) |
| H | Analytics créateur (stats, graphiques, taux complétion, export CSV/JSON) |
| F | Seller dashboard (GET /sell/stats, liste produits marketplace) |
| C | Player (crossfade, gapless preload, PiP) |
| D | Autoplay (GET /tracks/recommendations, section « À écouter ensuite » dans PlayerQueue) |
## Livré en v0.203
| Lot | Feature |
|-----|---------|
| L | Social Trending : GET /social/trending, cache Redis, SocialViewTrending connecté |
| K | Recherche enrichie : pg_trgm fuzzy, opérateurs AND/OR/NOT/"phrase exacte", tooltip aide |
| D1 | Queue collaborative : sessions partagées, bouton Partager, polling sync, MSW handlers |
Voir [V0_203_RELEASE_SCOPE.md](V0_203_RELEASE_SCOPE.md) pour le détail.
---
## Projets abandonnés
| Projet | Statut |
|--------|--------|
| **veza-mobile** | Abandonné—35+ erreurs critiques, non fonctionnel |
| **packages/design-system** | Sous-utilisé—seul le CSS importé, pas les composants |