193 lines
9.9 KiB
Markdown
193 lines
9.9 KiB
Markdown
# Statut des fonctionnalités — Veza
|
|
|
|
**Dernière mise à jour** : février 2026 — v0.601 livrée (Production Readiness, OAuth Discord/Spotify, refactoring)
|
|
|
|
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 | Opérationnel (v0.601) — tous les fournisseurs |
|
|
| 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 | Opérationnel — réécrit en Go (v0.502), intégré dans backend API |
|
|
| 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.301 : feed API, explore. v0.302 : groupes avancés (request join, invite, rôles, mes groupes) |
|
|
| Administration | Oui | Oui | Complet |
|
|
| Marketplace | Oui | Oui | Complet (Hyperswitch). v0.602 : Payout Stripe Connect (onboarding, balance ; transfer manuel doc pour v0.603) |
|
|
| 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. v0.302 : Web Push, préférences |
|
|
|
|
## 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 (v0.503) — Backend serving routes (master.m3u8, quality playlists, segments), frontend ABR player, HLS_STREAMING feature flag. |
|
|
| 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.
|
|
|
|
## Livré en v0.301 (Phase 3 Social)
|
|
|
|
| Lot | Feature |
|
|
|-----|---------|
|
|
| P0 | Chat Server : protocole typing aligné, auth WebSocket documenté |
|
|
| C1 | Chat avancé : typing indicators, read receipts, delivered status |
|
|
| P1 | Présence : migration 088, GET /users/:id/presence, PresenceBadge, last_seen sur requêtes auth |
|
|
| S1 | Social enrichi : feed connecté API, enrichi actor/track, pagination cursor, explore tab, filtres all/following/groups |
|
|
|
|
Voir [V0_301_RELEASE_SCOPE.md](archive/V0_301_RELEASE_SCOPE.md) pour le détail.
|
|
|
|
## Livré en v0.302 (Phase 3 Social — suite)
|
|
|
|
| Lot | Feature |
|
|
|-----|---------|
|
|
| S2 | Groupes avancés : demander à rejoindre (privé), inviter membres, rôles assign/revoke, feed groupes, mes groupes |
|
|
| N1 | Notifications push : Web Push subscription, envoi sur follow/like/comment/message, préférences, badge titre |
|
|
| P2 | Présence enrichie : rich presence (track en cours), mode invisible, PUT /users/me/presence |
|
|
|
|
## Livré en v0.303
|
|
|
|
| Lot | Feature |
|
|
|-----|---------|
|
|
| C2 | Chat appels : WebRTC audio 1-to-1, signalisation via WebSocket (CallOffer, CallAnswer, ICECandidate, CallHangup, CallReject), CallButton, IncomingCallModal, ActiveCallBar |
|
|
|
|
## Livré en v0.401 (Phase 4 Commerce)
|
|
|
|
| Lot | Feature |
|
|
|-----|---------|
|
|
| M1 | Produits & Catalogue : BPM, musical_key, category, previews, images, filtres MarketplaceHome, rich text description |
|
|
| M2 | Licences & Droits : product_licenses, types/conditions, GET /licenses/mine, LicenceCard/LicenceDetailsModal, LicensesView |
|
|
| M3 | Seller dashboard enrichi : evolution chart, top products, real sales, conversion N/A |
|
|
|
|
Voir [V0_401_RELEASE_SCOPE.md](archive/V0_401_RELEASE_SCOPE.md) pour le détail.
|
|
|
|
## Livré en v0.402 (Phase 4 Commerce — checkout & codes promo)
|
|
|
|
| Lot | Feature |
|
|
|-----|---------|
|
|
| P1 | Checkout Hyperswitch production-ready : return URL avec order_id, CheckoutSuccessView/CheckoutErrorView, webhook cancelled, CheckoutPaymentForm dans Cart |
|
|
| P2 | Codes promo / réductions : promo_codes, ValidatePromoCode, GET /commerce/promo/:code, CreateOrder/Checkout avec promo_code, PromoCodeModal connecté, OrderSummary dans Cart |
|
|
|
|
Voir [V0_402_RELEASE_SCOPE.md](V0_402_RELEASE_SCOPE.md) pour le détail.
|
|
|
|
## Livré en v0.502 (Phase 5 — Chat Server Rewrite)
|
|
|
|
| Lot | Feature |
|
|
|-----|---------|
|
|
| CH | Chat Server Rust → Go : WebSocket intégré dans backend API (`/api/v1/ws`), 39 types messages (19 in + 20 out), Hub/Client goroutines, PermissionService, RateLimiter in-memory, ChatPubSubService Redis, 4 migrations (109-112), 15 tests unitaires, E2E tests |
|
|
|
|
## Livré en v0.503 (Phase 5 — HLS E2E + Chat Hardening + Cleanup)
|
|
|
|
| Lot | Feature |
|
|
|-----|---------|
|
|
| SS1 | HLS Streaming E2E (backend routes + frontend ABR player) |
|
|
| CH1 | Chat Redis rate limiter (sliding window + in-memory fallback) |
|
|
| CH1 | Chat persistent presence (Redis-backed, 2min TTL) |
|
|
| CH1 | PostgreSQL full-text search on messages (tsvector + GIN index) |
|
|
| CL1 | Cleanup: veza-chat-server directory and all operational references removed |
|
|
|
|
Voir [V0_503_RELEASE_SCOPE.md](V0_503_RELEASE_SCOPE.md) pour le détail.
|
|
|
|
## Livré en v0.601 (Phase 6 — Production Readiness & Commerce)
|
|
|
|
| Lot | Feature |
|
|
|-----|---------|
|
|
| INF1 | Blue-green deployment (HAProxy), Grafana dashboards (API, Chat, Commerce), Alertmanager, Hyperswitch LIVE_MODE |
|
|
| AUTH1 | OAuth Discord, OAuth Spotify (opérationnels) |
|
|
| CLN1 | Découpage handler.go en 4 sous-handlers (track_crud, track_social, track_search, track_analytics), interceptors.ts en modules (utils, request, response) |
|
|
| QA1 | Tests OAuth Discord/Spotify, MIGRATIONS.md, audit console.log |
|
|
|
|
Voir [V0_601_RELEASE_SCOPE.md](V0_601_RELEASE_SCOPE.md) pour le détail.
|
|
|
|
## Livré en v0.602 (Phase 6+ Payout, Dette Technique & Tests E2E)
|
|
|
|
| Lot | Feature |
|
|
|-----|---------|
|
|
| CLN2 | Split interceptors : auth.ts, error.ts extraits, interceptors.ts facade (< 30 LOC) |
|
|
| P3 | Payout vendeurs : Stripe Connect onboarding, balance, seller_stripe_accounts (transfer documenté pour v0.603) |
|
|
| INF2 | Grafana dashboards enrichis : api-overview (p50, top endpoints, 4xx), chat-overview (WS connections, messages/s), commerce-overview (orders, refunds, payout) |
|
|
| QA2 | E2E commerce backend : flow product -> order -> review -> invoice, SMOKE_TEST_V0602.md |
|
|
|
|
Voir [V0_602_RELEASE_SCOPE.md](V0_602_RELEASE_SCOPE.md) pour le détail.
|
|
|
|
## Prévu en v0.403 (Phase 4 Commerce — suite)
|
|
|
|
| Lot | Feature |
|
|
|-----|---------|
|
|
| P3 | Payout vendeurs : Stripe Connect onboarding, balance, transferts |
|
|
| R1 | Reviews produits : product_reviews, notation, commentaires, note moyenne |
|
|
| F1 | Factures : génération PDF par commande, téléchargement |
|
|
| R2 | Remboursements : initiation refund, webhook, révocation licence |
|
|
|
|
Voir [V0_403_RELEASE_SCOPE.md](V0_403_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 |
|
|
|
|
---
|
|
|
|
## Erratum v0.404
|
|
|
|
Les corrections suivantes ont été apportées lors de l'audit de stabilisation v0.404 :
|
|
|
|
- **OAuth Discord/Spotify** : indiqués auparavant comme opérationnels ; en réalité non implémentés.
|
|
- **HLS Streaming** : indiqué auparavant comme opérationnel ; en réalité en intégration (v0.404).
|
|
- **Chat** : indiqué auparavant comme complet ; statut corrigé en partiel (requiert chat server démarré).
|
|
|
|
## Erratum v0.502
|
|
|
|
- **Chat WebSocket** : corrigé de "Partiel" à "Opérationnel" — réécrit en Go, intégré dans le backend API (v0.502). Ne dépend plus d'un chat server séparé.
|
|
- **Chat Server Rust** : marqué comme obsolète. Remplacé par l'implémentation Go. Dossier à archiver en v0.503.
|