# Build & Déploiement - Résumé Rapide **Date:** 24 novembre 2025 **Status:** ✅ Scripts Prêts ## 🎯 Fichiers Créés ### Scripts de Build Agent 1. **`agent_v0/agent_v0.spec`** - Configuration PyInstaller 2. **`agent_v0/build_windows.bat`** - Build Windows (.exe) 3. **`agent_v0/build_macos.sh`** - Build macOS (.app) 4. **`agent_v0/build_linux.sh`** - Build Linux (binaire) ### Serveur API 5. **`server/api_upload.py`** - API FastAPI complète 6. **`server/requirements_server.txt`** - Dépendances serveur 7. **`server/start_server.sh`** - Script démarrage serveur ### Documentation 8. **`BUILD_DEPLOY_GUIDE.md`** - Guide complet (détaillé) 9. **`BUILD_DEPLOY_SUMMARY.md`** - Ce fichier (résumé rapide) --- ## ⚡ Quick Start ### 1. Build Exécutables **Windows:** ```cmd cd agent_v0 build_windows.bat → dist\agent_v0.exe ``` **macOS:** ```bash cd agent_v0 ./build_macos.sh → dist/agent_v0.app ``` **Linux:** ```bash cd agent_v0 ./build_linux.sh → dist/agent_v0 ``` ### 2. Démarrer Serveur ```bash cd server # Installer dépendances pip install -r requirements_server.txt # Configurer password export ENCRYPTION_PASSWORD="VotreCléSecrète2025" # Démarrer ./start_server.sh ``` **Serveur accessible sur:** `http://localhost:8000` ### 3. Configurer Agent **Éditer `agent_v0/agent_config.json`:** ```json { "enable_encryption": true, "encryption_password": "VotreCléSecrète2025", "server_url": "http://localhost:8000/api/traces/upload" } ``` ### 4. Tester **Agent:** 1. Lancer l'exécutable 2. Clic gauche → Start session 3. Faire quelques clics 4. Clic gauche → Stop session 5. Vérifier upload dans logs **Serveur:** ```bash curl http://localhost:8000/api/traces/sessions ``` --- ## 📋 Checklist Rapide ### Build - [ ] Windows: `build_windows.bat` → `dist\agent_v0.exe` - [ ] macOS: `./build_macos.sh` → `dist/agent_v0.app` - [ ] Linux: `./build_linux.sh` → `dist/agent_v0` ### Serveur - [ ] Installer: `pip install -r server/requirements_server.txt` - [ ] Configurer: `export ENCRYPTION_PASSWORD="..."` - [ ] Démarrer: `./server/start_server.sh` - [ ] Tester: `curl http://localhost:8000/api/traces/status` ### Configuration - [ ] Agent: Éditer `agent_config.json` (password + server_url) - [ ] Serveur: Même password que l'agent - [ ] Test end-to-end: Agent → Upload → Serveur --- ## 🚀 Production ### Agent 1. Build sur chaque OS 2. Configurer `server_url` production (HTTPS!) 3. Distribuer aux formateurs ### Serveur 1. Déployer sur serveur Linux 2. Configurer HTTPS (Nginx + Let's Encrypt) 3. Configurer systemd (auto-start) 4. Configurer firewall **Voir `BUILD_DEPLOY_GUIDE.md` pour détails complets.** --- ## 🔒 Sécurité **⚠️ Important:** - Utiliser **HTTPS** en production (pas HTTP) - Changer `ENCRYPTION_PASSWORD` par défaut - Même password agent/serveur - Firewall: Autoriser seulement 443 (HTTPS) --- ## 📊 Endpoints API | Endpoint | Méthode | Description | |----------|---------|-------------| | `/api/traces/upload` | POST | Upload session .enc | | `/api/traces/status` | GET | Status serveur | | `/api/traces/sessions` | GET | Liste sessions reçues | | `/` | GET | Page d'accueil | --- ## 🎉 Résultat **Après ces étapes:** - ✅ Exécutables Windows/macOS/Linux prêts - ✅ Serveur API fonctionnel - ✅ Upload chiffré agent → serveur - ✅ Sessions stockées dans `data/training/` **Les formateurs peuvent maintenant enregistrer leurs workflows!** 🚀 --- ## 📞 Aide **Problèmes?** - Voir `BUILD_DEPLOY_GUIDE.md` (guide détaillé) - Logs agent: `agent_v0/logs/agent_v0.log` - Logs serveur: Terminal où tourne `start_server.sh` **Prochaines étapes:** 1. Implémenter déchiffrement AES-256 dans `api_upload.py` 2. Implémenter pipeline processing (ScreenStates, embeddings, workflows) 3. Monitoring et statistiques