# 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

