# Statut des fonctionnalités — Veza **Dernière mise à jour** : mars 2026 — v0.971 (Phantom: gamification supprimé, WebRTC Beta) 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](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 | | 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](archive/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](archive/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](archive/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](archive/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](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](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](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.