1. Déploiement & Infrastructure

Le déploiement d'ECHO repose sur une philosophie de "Souveraineté par l'Injection". Contrairement aux installations classiques nécessitant un accès internet permanent ou des configurations manuelles fastidieuses, ECHO utilise un pipeline d'automatisation hybride qui transforme le code source en une infrastructure vivante en quelques minutes.

Le Cycle de Vie des 5 Phases

Phase 1 : L'Assemblage & L'Injection (Windows Host)

Tout commence sur le poste de développement via le script deploy-hyperv.ps1. Ce script joue le rôle d'Assembleur.

Phase 2 : Le Provisioning Automatisé (Linux VM)

Dès le premier boot, l'installateur Ubuntu (Subiquity) détecte le disque CIDATA et exécute les instructions cloud-init.

Phase 3 : La Synchronisation des Sources (sync-echo)

Le script sync-echo.sh est le Distributeur du framework. Il garantit l'intégrité du code sur le système de fichiers Linux.

Phase 4 : L'Orchestration & L'Éveil (`install-stack`)

Le script install-stack.sh est le Chef d'Orchestre de Docker Compose, suivi de l'éveil applicatif via config-owui.sh.

Phase 5 : Cycle de Vie & Maintenance

Une fois déployée, la Citadelle ECHO se gère via trois commandes souveraines et permet un basculement dynamique de sa posture de sécurité :

Commande Action Impact
update-echo Mise à jour rapide du code uniquement. Redémarrage "Hot Reload" des micro-services Python sans couper l'interface utilisateur.
upgrade-echo Mise à niveau majeure. Re-synchronisation complète, rebuild des images Docker et recréation de la stack.
rebuild-echo Option Nucléaire. Suppression de TOUS les conteneurs, volumes, images et secrets. Remise à zéro totale (Factory Reset).

Réseau & Sécurité : Le Bouclier BunkerWeb

Pour l'exposition publique, ECHO intègre BunkerWeb (Secure Edge). L'activation via enable-bunkerweb transforme l'infrastructure locale en une plateforme sécurisée :

Récupération des Accès : Après un premier déploiement ou un rebuild-echo, utilisez la commande show-echo-admin pour afficher (et masquer automatiquement) les identifiants générés pour l'interface d'administration.