veza/docs/PLAN_V0_301_FINALISATION.md

143 lines
5.2 KiB
Markdown

# Plan de finalisation v0.301 — Phase 3 Social
**Version cible** : v0.301
**Référence** : [V0_301_RELEASE_SCOPE.md](V0_301_RELEASE_SCOPE.md)
**Dernière mise à jour** : 20 février 2026
---
## 1. Objectif
Finaliser entièrement la version v0.301 : vérifier tous les critères de livraison, mettre à jour la documentation, effectuer les opérations Git de release, et nettoyer les branches résiduelles.
---
## 2. État actuel (pré-finalisation)
| Élément | État |
|---------|------|
| Branche courante | `main` |
| Tag v0.301 | Créé et poussé sur origin |
| Branche release/v0.301 | N'existe pas (déjà mergée ou jamais créée) |
| Backend Go | `go build ./...` OK |
| Frontend | `npm run build` OK |
| Chat Server Rust | `cargo build --release` OK |
| Working tree | Propre (rien à committer) |
---
## 3. Lots et statut
| Lot | Description | Statut | Vérification |
|-----|-------------|--------|---------------|
| P0 | Chat Server compilable, auth WebSocket | ✅ | `cd veza-chat-server && cargo build --release` |
| C1 | Typing, read receipts, delivered | ✅ | Code présent, MSW si besoin |
| P1 | Présence API, PresenceBadge, last_seen | ✅ | GET /users/:id/presence, migration 088 |
| S1 | Feed enrichi, pagination, explore, filtres | ✅ | socialService.getFeed, SocialViewExplore |
---
## 4. Plan d'exécution détaillé
### Phase F1 — Vérification des builds (5 min)
| # | Commande | Répertoire | Critère |
|---|----------|------------|---------|
| F1.1 | `go build ./...` | veza-backend-api | Exit 0 |
| F1.2 | `cargo build --release` | veza-chat-server | Exit 0 |
| F1.3 | `npm run build` | apps/web | Exit 0 |
| F1.4 | `npx tsc --noEmit` | apps/web | Exit 0 (optionnel, léger) |
### Phase F2 — Vérification des critères de livraison (10 min)
| Critère | Fichier / Route | Vérification |
|---------|-----------------|---------------|
| Chat Server compile | veza-chat-server | F1.2 |
| Typing indicators | TypingIndicator.tsx, chatStore | Grep `UserTyping`, `setUserTyping` |
| Read receipts | read_receipts, MarkAsRead | Grep `MarkAsRead`, `MessageRead` |
| Delivered status | Delivered, MessageDelivered | Grep `Delivered` |
| Présence visible | PresenceBadge, GET /users/:id/presence | presence_handler.go, PresenceBadge.tsx |
| Feed pagination | socialService.getFeed, useInfiniteQuery | useSocialView.ts, next_cursor |
| Posts enrichis (track inline) | SocialViewFeedItem | target_type === 'track', item.track |
| Onglet exploration | SocialViewExplore, GET /social/explore | SocialView.tsx, social_handler.go |
| Filtres feed | type=all\|following\|groups | SocialViewFeed.tsx, GetFeed |
| Tests backend | go test | `go test ./...` (optionnel, peut être lourd) |
| Documentation | FEATURE_STATUS, PROJECT_STATE, CHANGELOG | Fichiers à jour |
### Phase F3 — Mise à jour documentation (15 min)
| # | Fichier | Action |
|---|---------|--------|
| F3.1 | docs/PROJECT_STATE.md | Branche courante = main, Chat Server ✅, prochaines étapes = v0.302 |
| F3.2 | docs/V0_301_RELEASE_SCOPE.md | Cocher critères de livraison (§7), checklist pré-merge (§8) |
| F3.3 | docs/SCOPE_CONTROL.md | v0.301 taguée (ligne 127) |
| F3.4 | docs/FEATURE_STATUS.md | Vérifier cohérence (déjà à jour) |
### Phase F4 — Opérations Git (5 min)
| # | Action | Commande |
|---|--------|----------|
| F4.1 | Vérifier tag local | `git tag -l v0.301` |
| F4.2 | Vérifier tag remote | `git ls-remote origin refs/tags/v0.301` |
| F4.3 | Si tag manquant ou décalé | `git tag -a v0.301 -m "Release v0.301 - Phase 3 Social"` puis `git push origin v0.301` |
| F4.4 | Vérifier merge main | main doit contenir tous les commits v0.301 |
### Phase F5 — Nettoyage branches (2 min)
| # | Action | Commande |
|---|--------|----------|
| F5.1 | Lister branches locales | `git branch` |
| F5.2 | Si release/v0.301 existe et mergée | `git branch -d release/v0.301` |
| F5.3 | Si release/v0.301 remote existe | `git push origin --delete release/v0.301` (optionnel) |
### Phase F6 — Commit final (2 min)
| # | Action |
|---|--------|
| F6.1 | Commit des mises à jour doc | `git add docs/ && git commit -m "docs: finalisation v0.301, plan et checklists"` |
| F6.2 | Push main | `git push origin main` |
---
## 5. Checklist finale (à cocher)
- [ ] F1.1 Backend Go build OK
- [ ] F1.2 Chat Server build OK
- [ ] F1.3 Frontend build OK
- [ ] F2 Critères de livraison vérifiés
- [ ] F3 Documentation mise à jour
- [ ] F4 Tag v0.301 présent (local + remote)
- [ ] F5 Branche release/v0.301 supprimée si existante
- [ ] F6 Commit et push effectués
---
## 6. Commandes consolidées
```bash
# Vérification builds
cd /home/senke/git/talas/veza/veza-backend-api && go build ./...
cd /home/senke/git/talas/veza/veza-chat-server && cargo build --release
cd /home/senke/git/talas/veza/apps/web && npm run build
# Git
cd /home/senke/git/talas/veza
git status
git branch
git tag -l v0.301
git ls-remote origin refs/tags/v0.301
# Si release/v0.301 existe : git branch -d release/v0.301
git add docs/
git status
git commit -m "docs: finalisation v0.301, plan et checklists"
git push origin main
```
---
## 7. Références
- [V0_301_RELEASE_SCOPE.md](V0_301_RELEASE_SCOPE.md)
- [PROJECT_STATE.md](PROJECT_STATE.md)
- [SCOPE_CONTROL.md](SCOPE_CONTROL.md)
- [FEATURE_STATUS.md](FEATURE_STATUS.md)