# 🎯 TODOLIST - INTERFACE DE TRAITEMENT BATCH

**Objectif**: Créer une interface web complète pour traiter les lignes Google Sheets une par une avec configuration pipeline modulaire et monitoring temps réel.

## 📊 **STATUT GLOBAL**
- **Tâches totales**: 16 (avec tests intégrés)
- **Terminées**: 0
- **En cours**: 0
- **Restantes**: 16
- **Phase actuelle**: 🔧 Phase 1 - API Endpoints Backend

---

## 📋 **TÂCHES DÉTAILLÉES**

### 🔧 **1. API Endpoints Backend**
- [ ] **Créer endpoints configuration pipeline**
  - POST `/api/batch/config` - Sauvegarder configuration
  - GET `/api/batch/config` - Récupérer configuration actuelle
- [ ] **Créer endpoints contrôle traitement**
  - POST `/api/batch/start` - Démarrer traitement
  - POST `/api/batch/stop` - Arrêter traitement
  - POST `/api/batch/pause` - Mettre en pause
  - POST `/api/batch/resume` - Reprendre
- [ ] **Créer endpoints monitoring**
  - GET `/api/batch/status` - État actuel
  - GET `/api/batch/progress` - Progression détaillée
  - WebSocket `/ws/batch` - Updates temps réel
- [ ] 🧪 **TEST PHASE 1**: Validation tous endpoints avec curl/Postman

### ⚙️ **2. Système Queue & Processing**
- [ ] **Créer BatchProcessor class**
  - Gestion queue lignes Google Sheets
  - États: idle/running/paused/error
  - Retry logic pour erreurs
- [ ] **Intégrer Digital Ocean**
  - Récupération XML templates depuis DO Spaces
  - Cache local des templates
  - Fallback templates par défaut
- [ ] **Gestion configuration pipeline**
  - Support tous les stacks modulaires
  - Sauvegarde/restauration état
- [ ] 🧪 **TEST PHASE 2**: Test queue + DO templates + pipeline config

### 🖥️ **3. Interface Web Frontend**
- [ ] **Page configuration pipeline**
  - Sélecteurs selective/adversarial/human/pattern
  - Sliders intensité (0.5-1.5)
  - Choix plage lignes (début-fin)
- [ ] **Dashboard monitoring**
  - Progression en temps réel
  - État ligne actuelle
  - Métriques (temps, coûts, erreurs)
- [ ] **Contrôles traitement**
  - Boutons Start/Stop/Pause/Reset
  - Logs en direct avec filtres
- [ ] 🧪 **TEST PHASE 3**: Test interface complète + UX + WebSocket

### 🧪 **4. Tests & Validation Finale**
- [ ] **Tests intégration complète**
  - API + Queue + Interface ensemble
- [ ] **Tests end-to-end production**
  - Vraies données Google Sheets
  - Digital Ocean réel
  - Pipeline complet
- [ ] **Tests performance & charge**
  - Multiple lignes simultanées
  - Gestion mémoire/CPU
- [ ] 🧪 **TEST PHASE 4**: Validation production complète

---

## 🎯 **ORDRE D'IMPLÉMENTATION PRÉVU**

1. ✅ **Phase 1**: API Endpoints Backend
   - 🧪 **Tests Phase 1**: Validation endpoints avec curl/Postman
2. ✅ **Phase 2**: BatchProcessor + Digital Ocean
   - 🧪 **Tests Phase 2**: Test queue + récupération DO templates
3. ✅ **Phase 3**: Interface Web
   - 🧪 **Tests Phase 3**: Test interface complète en local
4. ✅ **Phase 4**: Tests & Finalisation
   - 🧪 **Tests Phase 4**: Tests end-to-end production

---

## 📝 **NOTES TECHNIQUES**

### **Configuration Pipeline Structure**
```json
{
  "selective": "lightEnhancement|standardEnhancement|fullEnhancement|personalityFocus|fluidityFocus",
  "adversarial": "none|light|standard|heavy|adaptive",
  "humanSimulation": "none|lightSimulation|personalityFocus|adaptive",
  "patternBreaking": "none|syntaxFocus|connectorsFocus|adaptive",
  "intensity": 0.5-1.5,
  "rowRange": { "start": 2, "end": 10 },
  "saveIntermediateSteps": true/false
}
```

### **État Processing**
```json
{
  "status": "idle|running|paused|error|completed",
  "currentRow": 3,
  "totalRows": 8,
  "progress": 37.5,
  "startTime": "2025-09-18T06:00:00Z",
  "estimatedEnd": "2025-09-18T06:45:00Z",
  "errors": [],
  "lastResult": { "rowNumber": 2, "articleId": 79, "wordCount": 229 }
}
```

### **Digital Ocean Integration**
- Bucket: `autocollant`
- Path pattern: `/templates/{filename}`
- Cache dans `./cache/templates/`
- Timeout: 10s

---

## 🚨 **POINTS D'ATTENTION**

- [ ] **Gestion erreurs réseau** (Google Sheets + Digital Ocean)
- [ ] **Persistance état** pour reprendre après crash
- [ ] **Limitations rate LLM** à surveiller
- [ ] **WebSocket disconnections** à gérer
- [ ] **Concurrent access** si plusieurs utilisateurs

---

**🕐 Dernière mise à jour**: 2025-09-18 06:50:00
**👤 Assigné à**: Claude Code
**🎯 Deadline**: À définir avec utilisateur