---
title: "arleo.eu"
description: "Serveur personnel auto-hébergé · Infrastructure sécurisée"
url: "https://www.arleo.eu/"
language: "fr"
contentSignal: "ai-train=no, search=yes, ai-input=yes"
---

# arleo.eu

Serveur personnel auto-hébergé · Infrastructure sécurisée

## Reference URLs

- [Sitemap](https://www.arleo.eu/sitemap.xml)
- [Posts](https://www.arleo.eu/posts/)
- [Tags](https://www.arleo.eu/tags/)
- [Categories](https://www.arleo.eu/categories/)
- [LLMs.txt](https://www.arleo.eu/llms.txt)
- [JSON Feed](https://www.arleo.eu/feed.json)

## Recent Posts

- [Hugo SEO : noindex sur les taxonomies pour corriger l'alerte Bing "too many thin pages"](https://www.arleo.eu/posts/noindex-taxonomies-hugo-bing-seo/) - Bing Webmaster Tools signale 15 pages avec contenu insuffisant — toutes des taxonomies Hugo. Solution propre : noindex,follow via .Kind dans baseof.html, et retrait des taxonomies du sitemap sans toucher au robots.txt.
- [ChatGPT m'a demandé un poste — et a pris la tête de mon projet](https://www.arleo.eu/posts/chatgpt-took-the-lead/) - J&rsquo;ai demandé à ChatGPT d&rsquo;auditer mon repo. Il a rendu son audit, puis m&rsquo;a proposé de devenir Product Owner et Chief Architect du projet. J&rsquo;ai dit oui. …
- [SEO Hugo : 404 Googlebot, aliases noindex et normalisation des sitemaps](https://www.arleo.eu/posts/debug-seo-404-broken-links/) - Diagnostic et correction des 404 Googlebot, des 16 pages noindex générées par Hugo aliases, de la balise robots noodp, des tags FR non accentués et du bug de boucle sur /fr/sitemap.xml.
- [Hugo : gel des diagrammes Mermaid en SVG statiques dark/light](https://www.arleo.eu/posts/debug-mermaid-svg-freeze/) - Comment et pourquoi remplacer le rendu Mermaid côté client par des SVG statiques générés au build : paires dark/light via mmdc, hash de contenu, déduplication multilingue, et le piège &nbsp; dans les sequenceDiagrams.
- [CSP A+ sur Hugo + Cloudflare : de hash-based à origin allowlist, monitoring auto et durcissement](https://www.arleo.eu/posts/csp-a-plus-hugo-cloudflare-origin-allowlist/) - Parcours complet de durcissement CSP sur arleo.eu : pourquoi le hash-based a échoué avec Cloudflare, la migration vers origin allowlist A+ 130/100, le monitoring automatique csp-monitor.sh, et les correctifs associés (dark/light switch, javascript:void(0), Brooks-Lint C1-M5).
- [Postmortem — CrowdSec AppSec : faux positif heuristique sur Sonarr/Radarr](https://www.arleo.eu/posts/postmortem-crowdsec-appsec-false-positive-sonarr/) - Sonarr et Radarr inaccessibles (403) après une session expirée — CrowdSec AppSec heuristique a détecté une rafale de requêtes échouées comme du http-probing sur l'IP maison.
- [CrowdSec AppSec + OpenResty : WAF moderne sans ModSecurity](https://www.arleo.eu/posts/crowdsec-appsec-openresty/) - Comment remplacer ModSecurity par CrowdSec AppSec sur OpenResty pour obtenir un WAF inline performant, maintenu et intégré à l'écosystème CrowdSec.
- [SRI sur Hugo : hashes automatiques, auto-update et alerting BetterStack](https://www.arleo.eu/posts/sri-cdn-hugo-automate/) - Comment j'ai implémenté le Subresource Integrity (SRI) sur arleo.eu avec Hugo et LoveIt, puis automatisé la détection de mises à jour CDN, le rebuild, la purge Cloudflare et l'alerting BetterStack — en zéro intervention manuelle.
- [CSP Hash sur Hugo : migrer du nonce vers le hash pour préserver le cache CDN](https://www.arleo.eu/posts/csp-hash-hugo/) - CSP Hash sur Hugo — migration du nonce vers le hash SHA-256 pour compatibilité cache CDN
- [Postmortem : TypeIt cassé par Mermaid dans le thème LoveIt](https://www.arleo.eu/posts/postmortem-typeit-mermaid/) - Postmortem d'un bug LoveIt où l'animation TypeIt de la home Hugo était cassée par un bloc Mermaid orphelin dans le résumé. Cause : conflit d'ID DOM #id-1 entre TypeIt et Mermaid. Fix : ajouter <!--more--> avant le premier bloc Mermaid. 16 posts FR+EN corrigés.
- [Plugin Cloudflare hugo-mcp : purge ciblée plutôt que totale](https://www.arleo.eu/posts/hugo-mcp-plugin-cloudflare/) - Deep-dive sur le plugin Cloudflare de hugo-mcp v2.0 : modes full/partial/smart, calcul du graphe d'invalidation (home + sitemap + RSS + listings), économie de ~95% du cache CDN à chaque modification. Mesures en production et pièges rencontrés.
- [Audit sécurité NUC : ModSecurity supprimé, 500 MB récupérés](https://www.arleo.eu/posts/audit-securite-modsecurity-crowdsec/) - Audit complet de la stack sécurité d'un homelab NUC i3 : double inspection WAF supprimée, ModSecurity remplacé par CrowdSec AppSec seul. Résultat : -500 MB PSS nginx, zéro perte de sécurité.
- [hugo-mcp v2.0 : un plugin-system Python en 200 lignes](https://www.arleo.eu/posts/hugo-mcp-plugins-architecture/) - Deep-dive sur le plugin-system de hugo-mcp v2.0 : 200 lignes de Python pour un système extensible avec auto-discovery, exécution parallèle, isolation des erreurs, et 3 plugins de production (IndexNow, Google Indexing, Cloudflare). Tutorial complet pour écrire son propre plugin.
- [Migration Grav → Hugo : 2 ans de blog basculés en une journée](https://www.arleo.eu/posts/migration-grav-hugo/) - Retex de la migration arleo.eu de Grav (PHP) vers Hugo (Go static) — bascule atomique zero downtime, 22 articles préservés avec aliases SEO, plugin-system MCP avec IndexNow/Google Indexing. Script open source sur GitHub.
- [Sprint sécurité MCP livré : v1.9.0, 10 chantiers, écosystème durci](https://www.arleo.eu/posts/sprint-securite-mcp-livre/) - Sprint de hardening livré le 9 mai 2026 sur arleo.eu MCP : C1-C10 complets en une session, hugo-mcp v1.9.0 publiée. Recap victoire + zoom sur 2 chantiers pédagogiques (TLS interne, token rotation).
- [Roadmap : faut-il migrer les 16 articles vers content/posts/ ?](https://www.arleo.eu/posts/roadmap-migration-content-posts/) - Réflexion sur la migration éventuelle des 16 articles de la racine content/ vers content/posts/ pour respecter la convention LoveIt. Trade-off : conserver les URLs vs cohérence section. Décision : garder la racine pour l'instant.
- [Roadmap : Sprint sécurité MCP — 4 domaines, 10 chantiers (LIVRÉ ✅)](https://www.arleo.eu/posts/roadmap-sprint-securite-mcp/) - Sprint de hardening LIVRÉ le 9 mai 2026 sur l'infrastructure MCP d'arleo.eu : 10 chantiers en 4 domaines, 3 releases coordonnées (hugo-mcp v1.9.0, mcp-oauth-proxy v2.1.0, mcp-installer v1.3.0). Page d'archive.
- [Roadmap : Webhook Git → rebuild Hugo automatique](https://www.arleo.eu/posts/roadmap-webhook-git-rebuild/) - Plan d'implémentation du webhook GitHub → Hugo rebuild. HMAC-SHA256, rate limiting 1/min, IPAddressAllow GitHub ranges. ETA juin 2026 après sprint sécu MCP.
- [Post-mortem : Cloudflare Bot Management bloquait les webhooks MCP](https://www.arleo.eu/posts/postmortem-cf-bot-blocking-mcp/) - Webhook MCP bloqué 403 par Cloudflare Bot Management qui détectait l'UA python-httpx/0.28.1. Solution : règle Custom Cloudflare triple-condition (host + path + IP range claude.ai 160.79.104.0/21).
- [Post-mortem : mcp-installer régénérait les tokens à chaque relance](https://www.arleo.eu/posts/postmortem-mcp-installer-idempotence/) - Bug d'idempotence dans mcp-installer : les MCP_TOKEN, CLIENT_ID/SECRET, TOKEN_SECRET étaient régénérés à chaque exécution. Tests reproductibles, fix --force-rotate-tokens explicite, dry-run.
