>ARCHITECTURE SYSTÈME
Exploration de la topologie technique : de l'interaction utilisateur au pipeline de déploiement continu.
> TOPOLOGIE DU FLUX UTILISATEUR & SITE WEB
Cycle de vie d'une requête : du navigateur client à travers Cloudflare et Nginx jusqu'au moteur Nuxt 4.
1. Client Web Audio API & Intégrations Musicales
L'application s'exécute chez le visiteur avec hydratation progressive du DOM Vue 3. Le lecteur audio HTML5 exploite l'API Web Audio et communique avec les APIs publiques de Deezer, Apple Music/iTunes et YouTube pour récupérer les pochettes d'albums haute définition et les métadonnées en temps réel, tout en lisant le flux audio servi de manière fragmentée par le serveur.
2. Proxy Inverse Cloudflare & Cache CDN Edge
Cloudflare s'interpose comme mandataire inverse (Reverse Proxy) entre le visiteur et l'hôte. Il prend en charge l'ensemble du trafic public, dissimule intégralement l'adresse IP réelle du serveur VPS et distribue les assets statiques depuis son cache mondial pour accélérer les temps de réponse.
3. Filtrage WAF, Anti-DDoS & Règles OWASP
Cloudflare inspecte chaque paquet entrant. Les attaques volumétriques (SYN/UDP flood) et applicatives (HTTP flood, injections SQL, XSS) sont neutralisées en périphérie. Un filtrage par réputation d'IP et Geo-IP prévient les analyses automatisées malveillantes.
4. Terminaison SSL/TLS 1.3 & Cache de Bord
Le handshake TLS 1.3 est finalisé sur le point de présence le plus proche du visiteur. Les ressources statiques, icônes et polices de caractères locales sont servies depuis le cache périphérique avec compression Brotli, réduisant la latence globale sous les 25 millisecondes.
5. Passerelle Hôte Nginx & Chiffrement Origin
Seul le port 443 est exposé sur l'hôte Linux. Nginx communique de manière chiffrée avec Cloudflare, extrait les en-têtes réels de l'internaute (CF-Connecting-IP) et transmet les requêtes via le port privé local 3000 vers le conteneur Docker.
6. Moteur SSR Nuxt 4 & Relais IA / Telegram
Le moteur Nitro génère le HTML côté serveur et exécute les API routes. Les requêtes sensibles (validation anti-spam Breach Protocol, résolution DNS MX des adresses e-mail, inférence NVIDIA NIM et alertes Telegram) sont scellées et exécutées côté serveur sans jamais exposer de jetons au client.
> TOPOLOGIE DU FLUX CI/CD & DÉPLOIEMENT GITOPS
Pipeline automatisé Zero-Trust : compilation cloud, validation HMAC et bascule sans interruption.
1. Push Git sur la Branche Main
Le développeur pousse ses commits signés cryptographiquement vers le dépôt GitHub. Ce push constitue le déclencheur unique et souverain de toute la chaîne d'automatisation continue.
2. Tests, Compilation & Multi-Stage Build
Le runner GitHub Actions exécute les tests unitaires et le linter. En cas de succès, il assemble une image Docker multi-stage : l'étape builder compile le code, puis l'étape runner Alpine n'embarque que le strict binaire Nitro, éliminant npm et toute dépendance superflue.
3. Publication GHCR & Déclenchement Conditionnel
Si et seulement si la compilation et les tests ont réussi, l'image est téléversée sur le registre privé GitHub Container Registry (GHCR) avec son tag SHA immuable. C'est cette étape validée qui initie la notification de mise à jour vers l'hôte distant.
4. Webhook Chiffré HMAC & Vérification Timing-Safe
GitHub Actions envoie une requête POST vers /api/deploy-webhook signée avec une clé secrète partagée. Le serveur calcule l'empreinte HMAC-SHA256 de la charge utile et la valide avec crypto.timingSafeEqual en temps constant, interdisant toute attaque temporelle ou falsification de requête.
5. Dépôt de Flag & Zéro Commande Shell
Le serveur web n'a aucun privilège shell, aucun accès à bash ni au socket Docker. Une fois la signature HMAC vérifiée, il dépose simplement un fichier vide pending.flag dans un volume Docker partagé, excluant tout risque d'exécution de code à distance (RCE) via le web.
6. Déployeur Isolé, Bascule & Rollback Auto
Le conteneur daemon website_deployer détecte le flag, effectue le docker compose pull depuis GHCR et met à jour l'application sans coupure. Il interroge ensuite la sonde /api/health pendant 10 secondes : en cas de non-conformité, la version précédente saine est immédiatement réactivée.
> MATRICE DE SÉCURITÉ & PRINCIPES ZERO-TRUST
Mesures défensives appliquées pour garantir l'intégrité, l'isolation et la résilience du système.
1. Sécurisation Hôte Linux & Isolation OS
L'application s'exécute avec les privilèges réduits de l'utilisateur node, prévenant toute modification du conteneur en cas d'intrusion.
2. Barrière IPC Isolée & Aucun Shell Web
La mise à jour système passe uniquement par un signal fichier dans un volume partagé, rendant l'exécution de code à distance impossible depuis le web.
3. Signaux Timing-Safe & Anti-Analyse Temporelle
Toutes les signatures HMAC de déploiement sont vérifiées par comparaison à temps constant pour bloquer les attaques par analyse temporelle.
4. Sonde de Santé Synthétique & Rollback
Validation continue de la réponse de l'application post-déploiement avec bascule inverse automatique vers l'image saine précédente en cas d'erreur.
5. Télémétrie Temps Réel & Relais d'Alerte
L'état de santé du système hôte, les événements de déploiement et les journaux de sécurité sont surveillés en continu et transmis vers Telegram.
6. Correctifs Automatiques & Veille CVE
Les images conteneurisées et les dépendances Node sont régulièrement reconstruites et corrigées face aux nouveaux bulletins de sécurité CVE.