FIN-02: Updated version to v0.404, added security score improvements (5->7/10), infrastructure readiness, code quality metrics, and updated next version target to v0.501.
158 lines
6.4 KiB
Markdown
158 lines
6.4 KiB
Markdown
# État du projet Veza — Février 2026
|
||
|
||
**Document opérationnel** : Où en sommes-nous, quelles sont les prochaines étapes.
|
||
|
||
---
|
||
|
||
## 1. Version actuelle
|
||
|
||
| Élément | Valeur |
|
||
|---------|--------|
|
||
| **Dernier tag** | v0.404 |
|
||
| **Branche courante** | `main` |
|
||
| **Phase** | Phase 4bis Stabilisation — v0.404 livrée |
|
||
| **Prochaine version** | v0.501 |
|
||
|
||
---
|
||
|
||
## 2. Ce qui est livré
|
||
|
||
### v0.103 (Phase 1 Fondation)
|
||
- Auth : OAuth Spotify (A1), Sessions enrichies (A4)
|
||
- Profils : Bannière (B1), Liens sociaux (B2), Profil privé (B3)
|
||
- ⏸️ 2FA SMS, Passkeys → reportés v0.104
|
||
|
||
### v0.201 (Phase 2 Contenu — Lot E)
|
||
- ✅ Lot E — Métadonnées : BPM, musical_key, lyrics, tags (E1–E4)
|
||
- Migrations : 084 track_lyrics, 085 tracks.tags
|
||
|
||
### v0.202 (Phase 2 Contenu — Lots G, H, F, C, D)
|
||
- Lot G : Recherche avancée (musical_key, tri pertinence, autocomplete, facettes type, historique)
|
||
- Lot H : Analytics créateur (stats, graphiques, taux complétion, export CSV/JSON)
|
||
- Lot F : Seller dashboard (GET /sell/stats, liste produits marketplace)
|
||
- Lot C : Player (crossfade, gapless preload, PiP)
|
||
- Lot D : Autoplay (GET /tracks/recommendations, section « À écouter ensuite »)
|
||
|
||
### v0.203 (Phase 2 Contenu — Lots L, K, D1)
|
||
- Lot L : Social Trending (GET /social/trending, cache Redis, SocialViewTrending connecté)
|
||
- Lot K : Recherche enrichie (pg_trgm fuzzy, AND/OR/NOT/"phrase exacte", tooltip aide)
|
||
- Lot D1 : Queue collaborative (sessions partagées, bouton Partager, polling sync)
|
||
|
||
### v0.301 (Phase 3 Social — Lots P0, C1, P1, S1)
|
||
- Lot P0 : Chat Server typing protocol, auth WebSocket doc
|
||
- Lot C1 : Typing indicators, read receipts, delivered status
|
||
- Lot P1 : Présence (migration 088, GET /users/:id/presence, PresenceBadge)
|
||
- Lot S1 : Social enrichi (feed API, actor/track enrichi, pagination, explore, filtres)
|
||
|
||
### v0.302 (Phase 3 Social — Lots S2, N1, P2)
|
||
- Lot S2 : Groupes avancés (request join, invite, rôles, feed groupes, mes groupes)
|
||
- Lot N1 : Notifications push Web (subscription, envoi sur événement, préférences, badge)
|
||
- Lot P2 : Présence enrichie (rich presence track, mode invisible, PUT /users/me/presence)
|
||
|
||
### v0.303 (Phase 3 Social — Lot C2)
|
||
- Lot C2 : Chat appels WebRTC 1-to-1 (signalisation, CallButton, IncomingCallModal, ActiveCallBar)
|
||
|
||
### v0.401 (Phase 4 Commerce — Lots M1, M2, M3)
|
||
- Lot M1 : Produits & Catalogue (BPM, musical_key, category, previews, images, filtres, rich text)
|
||
- Lot M2 : Licences & Droits (product_licenses, GET /licenses/mine, LicenceCard, LicensesView)
|
||
- Lot M3 : Seller dashboard enrichi (evolution chart, top products, real sales)
|
||
|
||
### v0.402 (Phase 4 Commerce — Lots P1, P2)
|
||
- Lot P1 : Checkout Hyperswitch production-ready (return URL order_id, CheckoutSuccessView/ErrorView, webhook cancelled, CheckoutPaymentForm)
|
||
- Lot P2 : Codes promo (promo_codes, ValidatePromoCode, GET /commerce/promo/:code, PromoCodeModal connecté, OrderSummary dans Cart)
|
||
|
||
### v0.404 (Phase 4bis Stabilisation — post-audit)
|
||
- Sécurité : JWT stream token endpoint, SSRF protection webhooks (HTTPS-only), IDOR fix GetUploadStatus, Hyperswitch webhook secret requis en prod, password reset tokens hashés (SHA-256), docker-compose.hybrid supprimé, secrets CI → GitHub Secrets
|
||
- Infra : Rate limiting Redis, alerting Prometheus, PostgreSQL 16 aligné, compose staging complet, CodeQL SAST, Rust CI avec clippy
|
||
- Qualité : 40 fmt.Printf → zap, ~45 any éliminés frontend, TypeScript 5.9.3 unifié, code mort supprimé (~1600 LOC), gorilla/websocket → coder/websocket
|
||
|
||
---
|
||
|
||
## 3. Prochaines étapes
|
||
|
||
### Prochaine version (v0.501)
|
||
- **Phase 5 — Streaming & Cloud** : HLS production-ready, Cloud storage MVP, Gear avancé
|
||
- Référence : [V0_501_RELEASE_SCOPE.md](V0_501_RELEASE_SCOPE.md)
|
||
|
||
---
|
||
|
||
## 4. Sécurité
|
||
|
||
| Métrique | Avant v0.404 | Après v0.404 |
|
||
|----------|--------------|--------------|
|
||
| **Score sécurité** | 5/10 | 7/10 |
|
||
|
||
**Améliorations v0.404 :**
|
||
- JWT stream token endpoint (`POST /auth/stream-token`) pour auth HLS/WebSocket
|
||
- SSRF protection sur webhooks (HTTPS-only, whitelist schéma)
|
||
- IDOR corrigé dans GetUploadStatus (ownership check)
|
||
- Hyperswitch webhook secret requis en production (HMAC)
|
||
- Password reset tokens hashés (SHA-256)
|
||
- Docker hybrid compose supprimé
|
||
- Credentials CI migrés vers GitHub Secrets
|
||
|
||
---
|
||
|
||
## 5. Infrastructure
|
||
|
||
| Élément | État v0.404 |
|
||
|---------|-------------|
|
||
| Rate limiting Redis | ✅ Disponible |
|
||
| Alerting Prometheus | ✅ Règles ajoutées |
|
||
| PostgreSQL | ✅ Aligné v16 |
|
||
| Compose staging | ✅ Complet (chat, stream, reverse proxy) |
|
||
| CodeQL SAST | ✅ Ajouté |
|
||
| Rust CI (clippy) | ✅ Ajouté |
|
||
|
||
---
|
||
|
||
## 6. Qualité du code
|
||
|
||
| Métrique | v0.404 |
|
||
|----------|--------|
|
||
| fmt.Printf → zap | 40 remplacements |
|
||
| any TypeScript éliminés | ~45 |
|
||
| TypeScript unifié | 5.9.3 |
|
||
| Code mort supprimé | ~1600 LOC |
|
||
| gorilla/websocket | Remplacé par coder/websocket |
|
||
|
||
---
|
||
|
||
## 7. Références rapides
|
||
|
||
| Document | Usage |
|
||
|----------|-------|
|
||
| [PLAN_V0_301_FINALISATION.md](PLAN_V0_301_FINALISATION.md) | Plan de finalisation v0.301 |
|
||
| [V0_401_RELEASE_SCOPE.md](V0_401_RELEASE_SCOPE.md) | Scope v0.401 (Phase 4 Commerce) |
|
||
| [V0_402_RELEASE_SCOPE.md](V0_402_RELEASE_SCOPE.md) | Scope v0.402 (checkout & codes promo) |
|
||
| [V0_303_RELEASE_SCOPE.md](V0_303_RELEASE_SCOPE.md) | Scope v0.303 (Chat appels WebRTC 1-to-1) |
|
||
| [PLAN_V0_401_IMPLEMENTATION.md](PLAN_V0_401_IMPLEMENTATION.md) | Plan d'implémentation v0.401 |
|
||
| [PLAN_V0_402_IMPLEMENTATION.md](PLAN_V0_402_IMPLEMENTATION.md) | Plan d'implémentation v0.402 |
|
||
| [V0_404_RELEASE_SCOPE.md](V0_404_RELEASE_SCOPE.md) | Scope v0.404 (stabilisation post-audit) |
|
||
| [V0_501_RELEASE_SCOPE.md](V0_501_RELEASE_SCOPE.md) | Scope v0.501 (Streaming & Cloud) |
|
||
| [V0_301_RELEASE_SCOPE.md](V0_301_RELEASE_SCOPE.md) | Scope détaillé v0.301 (Phase 3 Social) |
|
||
| [V0_203_RELEASE_SCOPE.md](V0_203_RELEASE_SCOPE.md) | Scope v0.203 (archivé) |
|
||
| [SCOPE_CONTROL.md](SCOPE_CONTROL.md) | Anti-scope-creep, workflow |
|
||
| [FEATURE_STATUS.md](FEATURE_STATUS.md) | Statut des features par domaine |
|
||
| [CHANGELOG.md](../CHANGELOG.md) | Historique des versions |
|
||
|
||
---
|
||
|
||
## 8. Stack technique
|
||
|
||
| Composant | État |
|
||
|-----------|------|
|
||
| Backend Go | ✅ Opérationnel |
|
||
| Frontend React (Vite) | ✅ Opérationnel |
|
||
| Chat Server Rust | ✅ Opérationnel (compile) |
|
||
| Stream Server Rust | ⚠️ Imports manquants |
|
||
| PostgreSQL | ✅ |
|
||
| Redis | ✅ |
|
||
|
||
---
|
||
|
||
## 9. Indicateurs
|
||
|
||
| Métrique | Valeur |
|
||
|----------|--------|
|
||
| Features livrées (cumul) | ~345 / 600 |
|