1. Ajouter chez OVH un enregistrement A : champ « Sous-domaine » = `status` (seulement : OVH ajoute `.syllabuslab.fr` ; saisir le nom complet crée `status.syllabuslab.fr.syllabuslab.fr`), cible `163.172.4.195`.
3. Dans Uptime Kuma (par tunnel), menu « Pages de statut » (pas « Ajouter une sonde ») : créer une page dont l'identifiant (slug) est `syllabus`, y ajouter les sondes à publier, enregistrer. Vérifier : `curl -m 5 http://127.0.0.1:3001/api/status-page/syllabus` sur le serveur doit répondre (Kuma 1.23 ne répond jamais pour une page inexistante).
4.`cd ansible && script -q /dev/null ansible-playbook portail.yml -i inventory.ini` : le rôle détecte le nom, l'ajoute au certificat et active le site.
5. Vérifier : `https://status.syllabuslab.fr` affiche la page ; `https://status.syllabuslab.fr/dashboard` et `/metrics` répondent 404.
5 échecs de validation par heure et par nom — corriger avant de réessayer.
## Ajouter un script à une page de l'application
La CSP stricte bloque tout script sans le nonce de la requête :
```
<scriptnonce="{{ Vite::cspNonce() }}">…</script>
```
Pas de `onclick="…"` : utiliser `addEventListener` dans un script avec nonce.
Pas de CDN : passer par Vite (`resources/js/`).
## Pièges (évités ou rencontrés)
- Évité par conception : une redirection `return 301` au niveau `server` s'exécute avant toute `location`, elle risquerait de court-circuiter le défi ACME que certbot insère au renouvellement. Les redirections sont dans `location /` ; `certbot renew --dry-run` réussit.
-`X25519MLKEM768` (recommandé par Mozilla v6.0) demande OpenSSL 3.5 ; Debian 12 a OpenSSL 3.0 : retiré par précaution (non essayé). À réintroduire au passage à Debian 13.
- Depuis Internet, un scan peut montrer 21, 554 et 1723 ouverts : c'est la box du réseau qui scanne (même résultat vers `192.0.2.1`, adresse inexistante). Côté serveur : `sudo ss -tlnp` et `sudo nft list chain inet filter input`.