Statut des fonctionnalités — Veza
Dernière mise à jour : avril 2026 — v1.0.4 (release cleanup post-audit, CI verte, dette RGPD fermé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 |
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. v0.803 : Modération (reports), Maintenance mode, Annonces, Feature flags DB |
| Marketplace |
Oui |
Oui |
Complet (Hyperswitch). v0.603 : Transfer auto Stripe Connect. v0.701 : Retry auto failed transfers, Admin Dashboard. v0.702 : Route product detail, tests reviews/invoices/refunds |
| Webhooks |
Oui |
Oui |
Complet |
| Inventory / Gear |
Oui |
Oui |
GET/POST/PUT/DELETE /api/v1/inventory/gear. v0.802 : documents CRUD, repairs CRUD, warranty notifier |
| Live Streaming (métadonnées) |
Oui |
Oui |
GET /api/v1/live/streams — stream vidéo via Stream Server. v0.703 : Go Live, stream key, chat WebSocket, viewer count |
| 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é |
Abandonné v1.0 (reporté versions futures)
| Feature |
Version cible |
| Gamification (achievements, leaderboard, XP) |
v1.3 — supprimé v0.971 (phantom) |
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) |
Livré v0.703 — page /live/go-live, stream key, OBS instructions |
— |
| Appels WebRTC |
Beta — fonctionne mieux sur le même réseau local (TURN/STUN v1.1) |
v1.1 (flag WEBRTC_CALLS) |
| 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 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 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 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 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 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 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 |
| 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 pour le détail.
Livré en v0.603 (Phase 6+ Transfer automatique, Commission & Stabilisation)
| Lot |
Feature |
| T1 |
Transfer automatique Stripe Connect après paiement réussi (webhook Hyperswitch) |
| T1 |
Commission plateforme configurable (PLATFORM_FEE_RATE), migration 115 seller_transfers |
| T1 |
GET /sell/transfers, carte Transfer History dans SellerDashboard |
| DT1 |
Archivage docs pre-v0.501 |
| QA3 |
Tests unitaires transfer (success, multi-seller, transfer-fails) |
Voir V0_603_RELEASE_SCOPE.md pour le détail.
Livré en v0.701 (Phase 7 — Retry, Admin Dashboard, Deep Health)
| Lot |
Feature |
| R1 |
Transfer Retry Worker : retry automatique des transferts failed (backoff exponentiel, max 3) |
| R1 |
Migration 116 : retry_count, next_retry_at sur seller_transfers |
| A1 |
Admin Transfers Dashboard : GET /admin/transfers, POST /admin/transfers/:id/retry |
| A1 |
AdminTransfersView : tableau avec filtres, pagination, bouton Retry |
| H1 |
Deep Health : GET /health/deep (DB, Redis, S3, disk, config summary) |
| D1 |
docs/API_REFERENCE.md : documentation API avec exemples curl |
Voir V0_701_RELEASE_SCOPE.md pour le détail.
Livré en v0.702 (Phase 7 — Reviews, Factures, Remboursements & Product Detail)
| Lot |
Feature |
| W1 |
Route /marketplace/products/:id avec ProductDetailPage (lazy) |
| M1 |
MSW handlers : reviews (GET list, POST create), invoice download |
| T1 |
Tests unitaires : reviews (6), invoices (4), refunds (6) |
| D1 |
API_REFERENCE.md : sections Reviews, Invoices, Refunds |
Voir V0_702_RELEASE_SCOPE.md pour le détail.
Livré en v0.703 (Phase 7 — Go Live & Streaming Complet)
| Lot |
Feature |
| GL1 |
Go Live : page /live/go-live, stream key, OBS/Streamlabs instructions |
| GL1 |
Endpoints : GET/POST /live/streams/me/key, GET /live/streams/me, PUT /live/streams/:id |
| GL3 |
Live Chat WebSocket : LiveViewChat connecté, stream_id comme room |
| GL3 |
Viewer count temps réel : polling dans LiveViewPlayer |
| GL4 |
Media Session : seekbackward/seekforward (10s) |
Voir V0_703_RELEASE_SCOPE.md pour le détail.
Livré en v0.801 (Phase 8 — UX/UI Polish, Accessibilité & PWA)
| Lot |
Feature |
| UX1 |
Thèmes avancés : high contrast, compact/comfortable density, accent color, font size 14–20px |
| UX1 |
User preferences : migration 118, PUT /users/me/preferences |
| UX2 |
Accessibilité : ARIA labels, aria-haspopup menu, focus-visible ring, useReducedMotion |
| UX3 |
PWA : service worker re-enabled (safe caching), Install App in Settings |
| UX3 |
Background playback : useWakeLock for mobile |
Livré en v0.802 (Phase 8 — Cloud avancé, Gear, Tags)
| Lot |
Feature |
| C2 |
Cloud versioning : create version, list versions, restore |
| C2 |
Cloud sharing : create share link, get shared file (public) |
| C3 |
GDPR export : POST /users/me/export (async ZIP, notification) |
| C3 |
Cloud backup : cron 24h, copie S3 vers prefix backup |
| U1 |
Batch upload : BatchUploader, queue parallèle (max 3) |
| T1 |
Tags suggest : GET /tags/suggest?q=... (autocomplete) |
| T1 |
Formats audio : audio/aiff, audio/x-aiff |
| G2 |
Gear documents : CRUD (upload PDF, list, delete) |
| G2 |
Gear repairs : CRUD (repair history) |
| G2 |
Gear warranty : warranty_start, warranty_notes, notifier 24h |
Livré en v0.803 (Phase 8 — Sécurité, Compliance & Outillage Dev)
| Lot |
Feature |
| SEC1 |
Security headers : CSP, HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy |
| SEC1 |
DDoS rate limiting : global 1000 req/s, per-IP 100 req/s (Redis sliding window 1s) |
| SEC2 |
Audit : middleware auto-log POST/PUT/DELETE, migration audit_logs, GET /admin/audit/logs |
| SEC2 |
CCPA : Sec-GPC header, POST /users/me/privacy/opt-out |
| SEC2 |
Account deletion : DELETE /users/me, anonymisation, S3 cleanup, session revocation |
| DEV1 |
OpenAPI/Swagger : GET /swagger/*, annotations handlers |
| DEV1 |
API keys : POST/GET/DELETE /developer/api-keys, auth via X-API-Key header |
| ADM1 |
Modération : reports CRUD, GET /admin/reports, POST /admin/reports/:id/resolve (dismiss, warn, ban) |
| ADM1 |
Maintenance mode : middleware 503, PUT/GET /admin/maintenance |
| ADM1 |
Annonces : CRUD admin, GET /announcements/active (public) |
| ADM1 |
Feature flags : DB persistence, GET/PUT /admin/feature-flags |
| FE1 |
AdminSettingsView (onglet SETTINGS) : maintenance, feature flags, annonces |
| FE1 |
AdminModerationView : actions dismiss/warn/ban alignées backend |
| FE1 |
AnnouncementBanner global, AccountSettingsDeleteCard (type DELETE to confirm) |
Voir V0_803_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 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.