255 lines
6.4 KiB
Markdown
255 lines
6.4 KiB
Markdown
|
|
# PHASE 0: ERROR RESOLUTION - Guide de Démarrage
|
||
|
|
|
||
|
|
## 🎯 Objectif
|
||
|
|
|
||
|
|
Corriger **TOUTES** les erreurs existantes dans le codebase avant de reprendre l'implémentation des 2100+ tâches restantes. Cette phase garantit une base stable et fonctionnelle.
|
||
|
|
|
||
|
|
## ⚡ Démarrage Rapide (5 minutes)
|
||
|
|
|
||
|
|
### 1. Découvrir les Erreurs
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd /home/senke/Documents/veza-full-stack
|
||
|
|
./scripts/discover-errors.sh
|
||
|
|
```
|
||
|
|
|
||
|
|
Ce script va :
|
||
|
|
- Compiler le backend Go
|
||
|
|
- Compiler le frontend React
|
||
|
|
- Exécuter tous les tests
|
||
|
|
- Générer un rapport détaillé
|
||
|
|
|
||
|
|
### 2. Consulter le Résumé
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# Trouver le dernier rapport
|
||
|
|
ls -lt docs/ORIGIN/error-logs/summary-*.md | head -1
|
||
|
|
|
||
|
|
# L'afficher
|
||
|
|
cat docs/ORIGIN/error-logs/summary-XXXXXXXX-XXXXXX.md
|
||
|
|
```
|
||
|
|
|
||
|
|
### 3. Mettre à Jour le Registre
|
||
|
|
|
||
|
|
Éditer `docs/ORIGIN/ORIGIN_ERROR_REGISTRY.md` avec toutes les erreurs découvertes.
|
||
|
|
|
||
|
|
### 4. Corriger par Priorité
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# Ordre: P0 → P1 → P2 → P3
|
||
|
|
# Voir ORIGIN_IMPLEMENTATION_TASKS.md (section PHASE 0)
|
||
|
|
# Commencer par TERR-001
|
||
|
|
```
|
||
|
|
|
||
|
|
### 5. Valider et Recommencer
|
||
|
|
|
||
|
|
Après chaque correction :
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# Recommencer la découverte pour voir la progression
|
||
|
|
./scripts/discover-errors.sh
|
||
|
|
|
||
|
|
# Vérifier que le nombre d'erreurs diminue
|
||
|
|
```
|
||
|
|
|
||
|
|
## 📚 Documentation Complète
|
||
|
|
|
||
|
|
| Document | Description |
|
||
|
|
|----------|-------------|
|
||
|
|
| **ORIGIN_ERROR_RESOLUTION_STRATEGY.md** | Stratégie complète de résolution |
|
||
|
|
| **ORIGIN_ERROR_REGISTRY.md** | Registre de toutes les erreurs |
|
||
|
|
| **ORIGIN_IMPLEMENTATION_TASKS.md** | Tâches TERR-XXX détaillées |
|
||
|
|
| **ORIGIN_CODE_STANDARDS.md** | Standards à respecter |
|
||
|
|
| **ORIGIN_MASTER_ARCHITECTURE.md** | Architecture de référence |
|
||
|
|
|
||
|
|
## 🔍 Erreurs Actuellement Identifiées
|
||
|
|
|
||
|
|
Au moment de la création de cette phase (2025-01-XX), **4 erreurs P0** ont été identifiées :
|
||
|
|
|
||
|
|
1. **TERR-001** : Packages manquants dans backend API router (P0, 2-4h)
|
||
|
|
2. **TERR-002** : Cycle d'imports dans internal/config (P0, 2-3h)
|
||
|
|
3. **TERR-003** : Docker daemon non démarré (P0, 15min)
|
||
|
|
4. **TERR-004** : Erreur de syntaxe YAML dans docker-compose.yml (P0, 5min)
|
||
|
|
|
||
|
|
**Temps estimé total P0** : ~5-8 heures
|
||
|
|
|
||
|
|
## 📋 Checklist de la Phase 0
|
||
|
|
|
||
|
|
### Avant de Commencer
|
||
|
|
|
||
|
|
- [ ] Lire `ORIGIN_ERROR_RESOLUTION_STRATEGY.md`
|
||
|
|
- [ ] Comprendre les catégories d'erreurs (CAT-XX)
|
||
|
|
- [ ] Comprendre les priorités (P0 > P1 > P2 > P3)
|
||
|
|
- [ ] Sauvegarder le code actuel (`git commit`)
|
||
|
|
|
||
|
|
### Pendant la Résolution
|
||
|
|
|
||
|
|
- [ ] Pour chaque erreur, créer/mettre à jour la tâche TERR-XXX
|
||
|
|
- [ ] Respecter `ORIGIN_CODE_STANDARDS.md`
|
||
|
|
- [ ] Tester après chaque correction
|
||
|
|
- [ ] Documenter la solution
|
||
|
|
- [ ] Commiter avec format : `TERR-XXX: [type] [description]`
|
||
|
|
|
||
|
|
### Avant de Reprendre les Tâches Normales
|
||
|
|
|
||
|
|
- [ ] 100% des erreurs P0 résolues
|
||
|
|
- [ ] 100% des erreurs P1 résolues
|
||
|
|
- [ ] ≥ 80% des erreurs P2 résolues
|
||
|
|
- [ ] Backend compile et démarre
|
||
|
|
- [ ] Frontend compile et démarre
|
||
|
|
- [ ] Tests backend ≥ 80% coverage
|
||
|
|
- [ ] Tests frontend ≥ 80% coverage
|
||
|
|
- [ ] Builds de production OK
|
||
|
|
- [ ] `./scripts/discover-errors.sh` : 0 erreur critique
|
||
|
|
- [ ] Rapport de validation créé
|
||
|
|
- [ ] Commit final : `PHASE 0: Error Resolution Complete`
|
||
|
|
|
||
|
|
## 🛠️ Commandes Utiles
|
||
|
|
|
||
|
|
### Analyse
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# Découverte complète
|
||
|
|
./scripts/discover-errors.sh
|
||
|
|
|
||
|
|
# Backend uniquement
|
||
|
|
cd veza-backend-api
|
||
|
|
go build ./...
|
||
|
|
go test ./... -v
|
||
|
|
go vet ./...
|
||
|
|
|
||
|
|
# Frontend uniquement
|
||
|
|
cd apps/web
|
||
|
|
npm run build
|
||
|
|
npm test
|
||
|
|
npm run lint
|
||
|
|
npx tsc --noEmit
|
||
|
|
```
|
||
|
|
|
||
|
|
### Correction
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# Format du commit pour corrections
|
||
|
|
git commit -m "TERR-XXX: [type] [description]
|
||
|
|
|
||
|
|
[Description détaillée]
|
||
|
|
|
||
|
|
Fixes: TERR-XXX
|
||
|
|
Category: CAT-XX
|
||
|
|
Priority: PX
|
||
|
|
Files: file1.go, file2.tsx
|
||
|
|
Tests: Added/Updated/None"
|
||
|
|
```
|
||
|
|
|
||
|
|
### Validation
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# Vérifier que tout fonctionne
|
||
|
|
docker-compose up -d postgres redis
|
||
|
|
cd veza-backend-api && go run main.go &
|
||
|
|
cd apps/web && npm run dev &
|
||
|
|
|
||
|
|
# Tester les endpoints
|
||
|
|
curl http://localhost:8080/api/v1/health
|
||
|
|
curl http://localhost:3001
|
||
|
|
```
|
||
|
|
|
||
|
|
## 📊 Métriques de Succès
|
||
|
|
|
||
|
|
| Métrique | Cible | Actuel |
|
||
|
|
|----------|-------|--------|
|
||
|
|
| **Erreurs P0** | 0 | 4 |
|
||
|
|
| **Erreurs P1** | 0 | 0 |
|
||
|
|
| **Erreurs P2** | ≤ 20% | TBD |
|
||
|
|
| **Tests Backend Coverage** | ≥ 80% | ~92% |
|
||
|
|
| **Tests Frontend Coverage** | ≥ 80% | ~42% |
|
||
|
|
| **Build Backend** | ✅ | ❌ |
|
||
|
|
| **Build Frontend** | ✅ | ❌ |
|
||
|
|
|
||
|
|
## 🚨 Problèmes Courants
|
||
|
|
|
||
|
|
### "Package not found"
|
||
|
|
|
||
|
|
- **Cause** : Import vers un package non créé
|
||
|
|
- **Solution** : Créer stub OU retirer l'import
|
||
|
|
- **Voir** : TERR-001
|
||
|
|
|
||
|
|
### "Import cycle not allowed"
|
||
|
|
|
||
|
|
- **Cause** : Dépendances circulaires
|
||
|
|
- **Solution** : Refactorer, créer package intermédiaire
|
||
|
|
- **Voir** : TERR-002
|
||
|
|
|
||
|
|
### "Cannot connect to Docker"
|
||
|
|
|
||
|
|
- **Cause** : Docker daemon non démarré
|
||
|
|
- **Solution** : `sudo systemctl start docker`
|
||
|
|
- **Voir** : TERR-003
|
||
|
|
|
||
|
|
### "YAML syntax error"
|
||
|
|
|
||
|
|
- **Cause** : Indentation ou caractères invalides
|
||
|
|
- **Solution** : Corriger YAML, valider avec `docker-compose config`
|
||
|
|
- **Voir** : TERR-004
|
||
|
|
|
||
|
|
## 📈 Progression Attendue
|
||
|
|
|
||
|
|
| Jour | Objectif |
|
||
|
|
|------|----------|
|
||
|
|
| **Jour 1** | Découverte + Classification complète |
|
||
|
|
| **Jour 2-3** | Correction erreurs P0 (100%) |
|
||
|
|
| **Jour 4-5** | Correction erreurs P1 (100%) |
|
||
|
|
| **Jour 6-7** | Correction erreurs P2 (≥80%) |
|
||
|
|
| **Jour 8** | Validation finale + rapport |
|
||
|
|
|
||
|
|
## ✅ Critères de Sortie
|
||
|
|
|
||
|
|
La Phase 0 est **TERMINÉE** quand :
|
||
|
|
|
||
|
|
1. ✅ **Toutes les erreurs critiques corrigées**
|
||
|
|
- P0 : 100%
|
||
|
|
- P1 : 100%
|
||
|
|
- P2 : ≥ 80%
|
||
|
|
|
||
|
|
2. ✅ **Tous les services fonctionnent**
|
||
|
|
- Backend démarre sans erreur
|
||
|
|
- Frontend démarre sans erreur
|
||
|
|
- PostgreSQL + Redis accessibles
|
||
|
|
|
||
|
|
3. ✅ **Qualité du code**
|
||
|
|
- Tests backend ≥ 80% coverage
|
||
|
|
- Tests frontend ≥ 80% coverage
|
||
|
|
- Builds de production OK
|
||
|
|
|
||
|
|
4. ✅ **Documentation à jour**
|
||
|
|
- ORIGIN_ERROR_REGISTRY.md complet
|
||
|
|
- Toutes les tâches TERR-XXX documentées
|
||
|
|
- Rapport de validation créé
|
||
|
|
|
||
|
|
5. ✅ **Commit final**
|
||
|
|
- Message : `PHASE 0: Error Resolution Complete - Ready for T0511`
|
||
|
|
|
||
|
|
## 🎉 Après la Phase 0
|
||
|
|
|
||
|
|
Une fois la Phase 0 terminée :
|
||
|
|
|
||
|
|
1. ✅ Marquer la phase comme **TERMINÉE** dans `ORIGIN_IMPLEMENTATION_TASKS.md`
|
||
|
|
2. ✅ Reprendre à partir de **T0511** (tâche suivant T0510)
|
||
|
|
3. ✅ Maintenir la qualité (ne plus accumuler de dette technique)
|
||
|
|
4. ✅ Corriger immédiatement toute nouvelle erreur
|
||
|
|
|
||
|
|
## 🤝 Besoin d'Aide ?
|
||
|
|
|
||
|
|
- **Documentation** : Voir `/docs/ORIGIN/`
|
||
|
|
- **Standards** : `ORIGIN_CODE_STANDARDS.md`
|
||
|
|
- **Architecture** : `ORIGIN_MASTER_ARCHITECTURE.md`
|
||
|
|
- **Stratégie** : `ORIGIN_ERROR_RESOLUTION_STRATEGY.md`
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
**Date de création** : Janvier 2025
|
||
|
|
**Version** : 1.0.0
|
||
|
|
**Auteur** : Méthodologie ORIGIN_
|
||
|
|
**Statut** : 🔄 Phase active
|
||
|
|
|