diff --git a/README.md b/README.md
index a33cb4b..1bf0c36 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,25 @@ Plateforme CTF open-source pour étudiants et professionnels cybersécurité. Ch
## Architecture
-
+```mermaid
+flowchart LR
+ joueur["👤 Joueur
(navigateur / SSH / nc)"]
+
+ subgraph tailnet["Réseau privé Tailscale"]
+ direction TB
+ subgraph vm["VM Debian durcie (CIS)"]
+ apache["Apache
reverse-proxy :80"]
+ ctfd["CTFd
(systemd, gunicorn :8000)"]
+ plugin["CTFdDockerContainersPlugin"]
+ docker["Docker + containerd"]
+ inst["Instances de challenges
(1 conteneur / équipe)"]
+ end
+ end
+
+ joueur -->|VPN| apache --> ctfd --> plugin
+ plugin -->|pilote| docker --> inst
+ joueur -.->|accès direct à l'instance
port dynamique| inst
+```
Le serveur est une VM Debian durcie selon le benchmark CIS, qui héberge :
- **CTFd** : géré comme un service systemd, accessible sur le port 8000
@@ -65,7 +83,8 @@ Numérotation par équipe (`N-Blue-Team-*` / `N-Red-Team-*`).
| Red 2 | `challenges/2-Red-Team-Operation-Silent-Ledger-Lucas` | Opération Silent Ledger — machine Linux compromise (SSH → escalade → GPG) | Red Team | Intégré |
| Blue 3 | `challenges/3-Blue-Team-Hardening-Lucas` | Hardening / durcissement système | Blue Team | Intégré |
| Red 3 | `challenges/3-Red-Team-Nexus-Cipher-Sarah` | Cipher — pentest du portail API Nexus (crypto/web, 10 flags) | Red Team | Intégré |
-| Blue 4 / Red 4 | _à venir_ | — | — | À faire |
+| Red 4 | `challenges/4-Red-Team-breach-and-ascend` | Breach & Ascend — intrusion web (upload) puis élévation → root | Red Team | En cours |
+| Blue 4 | _à venir_ | — | — | À faire |
## Ajout d'un challenge sur le serveur
diff --git a/docs/DEPLOIEMENT.md b/docs/DEPLOIEMENT.md
index 4b2a6ea..25a701e 100644
--- a/docs/DEPLOIEMENT.md
+++ b/docs/DEPLOIEMENT.md
@@ -94,6 +94,7 @@ se fait **une fois** par challenge/serveur (et à chaque changement de code ou d
| `2-Red-Team-Operation-Silent-Ledger-Lucas` | `rootmeup/rt2-silent-ledger:1.0` | (voir Dockerfile) | SSH / service |
| `3-Red-Team-Nexus-Cipher-Sarah` | `rootmeup/rt3-ciphers-nexus:1.0` | (voir Dockerfile) | HTTP (API) |
| `3-Blue-Team-Hardening-Lucas` | *(image à confirmer)* | (voir Dockerfile) | — |
+| `4-Red-Team-breach-and-ascend` | *(image à confirmer)* | `80` | HTTP (web → root) |
> Les ports marqués « voir Dockerfile » sont à confirmer via l'instruction `EXPOSE`
> du Dockerfile de chaque challenge.
diff --git a/docs/SUPERVISION.md b/docs/SUPERVISION.md
index 1534291..2ded5be 100644
--- a/docs/SUPERVISION.md
+++ b/docs/SUPERVISION.md
@@ -6,14 +6,25 @@ plein**) plutôt que de les subir.
## Architecture
-```
- VM Grafana (Tailscale 100.84.158.83) VM CTF (100.118.132.76)
- ┌─────────────────────────────┐ ┌──────────────────────────┐
- │ Grafana :3000 │ │ node_exporter :9100 │
- │ Prometheus :9090 ──────────scrape────►│ (métriques système) │
- │ └─ règles d'alerte │ │ CTFd (Apache :80) │
- │ └─► Discord (webhook) │ └──────────────────────────┘
- └─────────────────────────────┘
+```mermaid
+flowchart LR
+ subgraph grafana_vm["VM Grafana — Tailscale 100.84.158.83"]
+ direction TB
+ prometheus["Prometheus :9090
(scrape /15 s)"]
+ grafana["Grafana :3000
dashboards + règles d'alerte"]
+ prometheus --> grafana
+ end
+
+ subgraph ctf_vm["VM CTF — 100.118.132.76"]
+ direction TB
+ node["node_exporter :9100
(CPU / RAM / disque / réseau)"]
+ ctfd["CTFd (Apache :80)"]
+ end
+
+ discord["🔔 Discord
(webhook — secret)"]
+
+ prometheus -->|scrape| node
+ grafana -->|alertes| discord
```
- **node_exporter** (sur la VM CTF) : expose CPU / RAM / disque / réseau.
diff --git a/docs/architecture.md b/docs/architecture.md
index fb816b6..1b869dc 100644
--- a/docs/architecture.md
+++ b/docs/architecture.md
@@ -1,7 +1,25 @@
-
-
# Architecture RootMeUp
+```mermaid
+flowchart LR
+ joueur["👤 Joueur
(navigateur / SSH / nc)"]
+
+ subgraph tailnet["Réseau privé Tailscale"]
+ direction TB
+ subgraph vm["VM Debian durcie (CIS)"]
+ apache["Apache
reverse-proxy :80"]
+ ctfd["CTFd
(systemd, gunicorn :8000)"]
+ plugin["CTFdDockerContainersPlugin"]
+ docker["Docker + containerd"]
+ inst["Instances de challenges
(1 conteneur / équipe)"]
+ end
+ end
+
+ joueur -->|VPN| apache --> ctfd --> plugin
+ plugin -->|pilote| docker --> inst
+ joueur -.->|accès direct à l'instance
port dynamique| inst
+```
+
## Composants
- **CTFd** : interface web pour les joueurs, gestion des équipes, scores et flags. Géré comme un service systemd sur le port 8000.