// SYSTEM_ARCHITECTURE_TOPOLOGY|BLUEPRINT V2.5

>ARCHITECTURE SYSTÈME

Exploration de la topologie technique : de l'interaction utilisateur au pipeline de déploiement continu.

STATUS: OPERATIONAL HOST: LINUX SERVER VPS
// ARCHITECTURE_SEGMENT_01

> 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.

[CLIENT_&_AUDIO] CLIENT_RUNTIME

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.

VUE 3 // PWA // DEEZER APICLIENT_BOUND
[CLOUDFLARE_PROXY] REVERSE_PROXY_CACHE

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.

ANYCAST PROXY // CACHE CDN // BROTLIPROXIED
[CLOUDFLARE_WAF] L3/L4/L7_FILTERING

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.

MANAGED RULESET // RATE LIMITPROTECTED
[CLOUDFLARE_SSL] FULL_STRICT_TLS

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.

BROTLI // EDGE CACHE // AOPENCRYPTED
[NGINX_REVERSE_PROXY] PORT_443_ONLY

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.

PORT 443 -> LOCAL 3000 // LINUX SERVERISOLATED
[NUXT4_NITRO_CORE] SSR_&_APIS

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.

NVIDIA NIM // TELEGRAM API // SWROPERATIONAL
// ARCHITECTURE_SEGMENT_02

> TOPOLOGIE DU FLUX CI/CD & DÉPLOIEMENT GITOPS

Pipeline automatisé Zero-Trust : compilation cloud, validation HMAC et bascule sans interruption.

[DEV_TRIGGER] GPG_COMMITS

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.

GIT OVER SSH // ED25519SOVEREIGN
[CI_PIPELINE] MULTI_STAGE_DOCKER

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.

NODE 24 ALPINE // NO-NPM RUNNERMINIFIED
[CONTAINER_REGISTRY] CONDITIONAL_DISPATCH

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.

ghcr.io/ardou0/website:shaIMMUTABLE
[SECURE_WEBHOOK] CONSTANT_TIME_CHECK

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.

HMAC-SHA256 // crypto.timingSafeEqualVERIFIED
[DEPLOYER_DAEMON] ANTI_RCE_VOLUME

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.

/deploy-flags/pending.flag // NON-ROOTSECURED
[ZERO_TRUST_PROD] ZERO_DOWNTIME

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.

DOCKER DOOD // HEALTHCHECK PROBEAUTOMATED
// ARCHITECTURE_SEGMENT_03

> 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.

[VPS_HARDENING] UTILISATEUR_NON_ROOT

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.

NODE:NODE // LINUX VPS // NO-ROOTENFORCED
[CONTAINER_DEFENSE] BARRIÈRE_IPC_ISOLÉE

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.

FILE SIGNAL // ZERO SOCKET MOUNTISOLATED
[TLS_PROXIES] SIGNAUX_TIMING_SAFE

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.

CRYPTO.TIMINGSAFEEQUAL // SHA256SECURED
[HMAC_INTEGRITY] RÉSILIENCE_AUTOMATIQUE

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.

10S PROBE // AUTO ROLLBACKACTIVE
[TELEMETRY_MONITOR] TÉLÉMÉTRIE_TEMPS_RÉEL

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.

TELEGRAM BOT // INTERNAL TELEMETRYMONITORED
[CVE_PATCHING] CONTROLES_CVE_AUTOMATIQUES

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.

GHCR REBUILD // SECURITY AUDITPATCHED