Blog
Notes depuis la salle des serveurs
Écrits pratiques sur la gestion d'AWS, GCP et Azure à l'échelle.
30 mai 2026 · 1 min de lecture
Migration MySQL vers Postgres — quand ça vaut le coup, les pièges et le workflow pgloader
Nous avons migré des bases dans les deux sens. Voici le cadre de décision honnête, les pièges de types de données qui mordent toute équipe, et le runbook de migration que nous avons affiné sur les engagements clients.
Lire l'article28 mai 2026 · 1 min de lecture
RHEL 9 vers RHEL 10 avec Leapp — les checks pre-flight et les pièges que nous rencontrons
Les upgrades de version majeure in-place sont maintenant réellement viables sur RHEL. Ils ne sont cependant pas fire-and-forget. Voici le workflow Leapp que nous faisons tourner, les problèmes que nous faisons remonter, et quand nous préférons encore les fresh installs.
Lire l'article28 mai 2026 · 1 min de lecture
OpenTelemetry pour Node.js — le wiring qui marche réellement en production
OpenTelemetry a gagné la bataille du distributed tracing. Voici comment nous instrumentons les services Node, comment nous exportons vers OTLP, et les erreurs que nous avons déjà faites pour que vous n'ayez pas à les refaire.
Lire l'article27 mai 2026 · 1 min de lecture
Opérations WP-CLI à grande échelle — gérer 200 sites WordPress depuis un seul terminal
Les patterns WP-CLI que nous utilisons pour exploiter des centaines de sites WordPress sans perdre la tête — la boucle multi-site, la discipline du dry-run, et le script d'audit.
Lire l'article27 mai 2026 · 1 min de lecture
Patterns de réplication Postgres en 2026 — Patroni, services managés et l'histoire du failover
Quand monter son propre cluster Patroni, quand utiliser Postgres managé, et les sémantiques de failover que personne n'explique avant que la prod casse.
Lire l'article27 mai 2026 · 1 min de lecture
Les migrations Laravel qui cassent la production — et les patterns sûrs que nous utilisons à la place
Renommer une colonne, drop une colonne, changer un type, ajouter un NOT NULL — chacun a un mode de défaillance « marche sur staging, casse à minuit en prod ».
Lire l'article26 mai 2026 · 1 min de lecture
SELinux en production — le workflow qui marche réellement, et les denials AVC que nous trouvons sans cesse
Setenforce 0 n'est pas une stratégie. Voici le workflow SELinux que nous utilisons sur chaque hôte RHEL que nous gérons, y compris les modules de policy custom et les étapes de debugging dans l'ordre.
Lire l'article26 mai 2026 · 1 min de lecture
Upgrade vers PHP 8.3 en production — le playbook de migration pour les flottes Laravel, Symfony et WordPress
PHP 8.3 est mature, rapide, et la surface de deprecation depuis 8.1/8.2 est petite mais tranchante. Voici le playbook étalé que nous utilisons pour faire passer les flottes clients sans incident.
Lire l'article26 mai 2026 · 1 min de lecture
La supply chain npm en 2026 — lockfiles, sigstore, Socket et les attaques que nous avons vues
npm est la plus grande supply chain logicielle de l'histoire et la plus attaquée. Voici le threat model en 2026 et les contrôles que nous livrons sur chaque stack Node.js managée.
Lire l'article26 mai 2026 · 1 min de lecture
Tuning des slow queries MySQL — le workflow EXPLAIN-driven que nous utilisons sur les bases clients
Slow query logs, EXPLAIN ANALYZE, performance_schema, et les sept antipatterns que nous trouvons sur presque chaque audit.
Lire l'article26 mai 2026 · 1 min de lecture
Builds Docker multi-arch en 2026 — livrer ARM et x86 depuis le même pipeline
Graviton, Ampere et Apple Silicon rendent ARM réel en production. Voici comment nous construisons des images multi-arch qui fonctionnent partout, sans 3× le temps de build.
Lire l'article24 mai 2026 · 1 min de lecture
Nginx vs HAProxy vs Envoy — une comparaison 2026 honnête
Trois excellents proxies, trois sweet spots différents. Là où nous déployons chacun pour des clients, et les modes de défaillance qui décident lequel choisir.
Lire l'article24 mai 2026 · 1 min de lecture
EKS vs GKE vs AKS en 2026 — une comparaison de terrain honnête
Nous exploitons les trois pour des clients. Voici où chacun gagne discrètement, où il perd, et le cadre de décision que nous utilisons réellement.
Lire l'article23 mai 2026 · 1 min de lecture
Autovacuum Postgres, démystifié — le tuning qui prévient la panique de wraparound à 3 h
Les échecs d'autovacuum sont silencieux jusqu'à ne plus l'être. Voici comment il fonctionne réellement, les métriques qui comptent et le tuning par table que nous appliquons sur les DB clients.
Lire l'article23 mai 2026 · 1 min de lecture
PM2 vs cluster vs containers — comment nous faisons tourner Node.js en 2026
PM2 était la bonne réponse en 2018. Le module cluster l'était avant ça. En 2026, la réponse dépend de ce que vous optimisez.
Lire l'article22 mai 2026 · 1 min de lecture
Migrer un site WooCommerce de 50 Go sans interruption — le runbook que nous suivons
Les grosses migrations WooCommerce échouent de manière prévisible. Voici le runbook que nous suivons, les pièges à anticiper, et le script de cutover qui relie le tout.
Lire l'article22 mai 2026 · 1 min de lecture
Supply chain Composer en 2026 — les audits, locks et contrôles de signature que nous livrons par défaut
Composer est le plus grand point d'entrée dans les applications PHP. Après trois ans d'attaques sur Packagist, les contrôles que chaque shop PHP devrait avoir ne sont plus optionnels.
Lire l'article22 mai 2026 · 1 min de lecture
Nginx, HTTP/3 et une config TLS réellement actuelle pour 2026
Support QUIC, TLS 1.3, OCSP stapling, durcissement de ciphers et les petits détails qui déterminent si votre edge obtient un A+ ou un C sur chaque scanner TLS.
Lire l'article22 mai 2026 · 1 min de lecture
De Docker Compose à Kubernetes — la migration qui n'a pas à être douloureuse
Un playbook de migration en plusieurs étapes depuis docker-compose vers Kubernetes, incluant les patterns qui traduisent proprement et ceux qui nécessitent une refonte.
Lire l'article21 mai 2026 · 1 min de lecture
kpatch sur RHEL — patcher les CVE kernel sans le reboot
Le live kernel patching est réel, supporté, et utile. Ce n'est aussi pas une silver bullet. Voici comment nous utilisons kpatch en production et où nous rebootons encore.
Lire l'article21 mai 2026 · 1 min de lecture
Pooling de connexions Postgres avec PgBouncer — les patterns que nous utilisons en production
Mode transaction, mode session, prepared statements, et les décisions de topologie de cluster qui déterminent si PgBouncer aide ou nuit.
Lire l'article21 mai 2026 · 1 min de lecture
Le playbook des fuites mémoire Node.js — heap snapshots, clinic.js et les quatre patterns que nous trouvons sans cesse
La plupart des fuites mémoire Node.js ne sont pas exotiques. Ce sont la même poignée de patterns qui apparaissent en prod encore et encore. Voici comment nous les diagnostiquons.
Lire l'article20 mai 2026 · 1 min de lecture
Rate limiting en couches dans Nginx — de limit_req_zone à Cloudflare et retour
Comment nous empilons le rate limiting edge, perimeter et origin pour absorber les scrapers, tentatives de brute-force et l'occasionnel DDoS volumétrique sans réveiller l'astreinte.
Lire l'article20 mai 2026 · 1 min de lecture
Déploiements Laravel zero-downtime — la pipeline symlink-atomique qui garde les queues honnêtes
Ce qu'il faut réellement pour déployer Laravel sans laisser tomber de requêtes ni perdre de jobs : releases atomiques, la danse des queue workers, timing du reset OPcache, et la pipeline style Envoyer que nous livrons.
Lire l'article20 mai 2026 · 1 min de lecture
Le baseline de sécurité Kubernetes aligné CIS que nous livrons dès le premier jour
Pod Security Standards, policies Kyverno, NetworkPolicies, audit logging — les contrôles que nous appliquons à chaque cluster client avant que les workloads n'arrivent.
Lire l'article19 mai 2026 · 1 min de lecture
OPcache et JIT en production PHP 8.3 — ce qui bouge réellement l'aiguille
OPcache est obligatoire. JIT est conditionnel. Voici la config production que nous livrons, le débat sur le mode JIT réglé avec des chiffres, et les charges où JIT fait vraiment mal.
Lire l'article19 mai 2026 · 1 min de lecture
Des backups MySQL qui restaurent vraiment — XtraBackup, binlogs et le drill trimestriel
mysqldump n'est pas une stratégie de backup pour la prod. Voici le setup Percona XtraBackup + PITR binlog que nous déployons, et le drill de restauration qui le garde honnête.
Lire l'article19 mai 2026 · 1 min de lecture
Durcir WordPress en 2026 — la checklist que nous appliquons sur les sites clients
La plupart des guides de sécurité WordPress sont 80 % de bruit. Voici les contrôles qui arrêtent réellement les attaques que nous voyons chaque semaine.
Lire l'article19 mai 2026 · 1 min de lecture
Bonnes pratiques Dockerfile en 2026 — les patterns qui comptent vraiment
La plupart des guides Dockerfile sont obsolètes. Voici les patterns qui rapportent en production : multi-stage builds, cache mounts, bases distroless et la story rootless.
Lire l'article18 mai 2026 · 1 min de lecture
Les patterns de reverse proxy Nginx que nous faisons réellement tourner en production
Blocs upstream, tuning keepalive, forwarding de headers et la chaîne X-Forwarded-For. La config de reverse proxy que nous copions sur l'edge de chaque client.
Lire l'article18 mai 2026 · 1 min de lecture
Un setup Argo CD pragmatique — du GitOps qui survit au contact de la réalité
GitOps est vendu comme de la magie. En pratique, la magie opère quand la structure de votre repo, l'orchestration des sync waves et votre stratégie de secrets travaillent ensemble. Voici la disposition que nous utilisons.
Lire l'article17 mai 2026 · 1 min de lecture
Migrer Apache vers Nginx — les patterns de traduction et le playbook que nous utilisons
La plupart des migrations Apache-vers-Nginx restent bloquées sur .htaccess. Voici la table de traduction, les pièges et le playbook qui fait passer un vrai site sans surprises.
Lire l'article16 mai 2026 · 1 min de lecture
Checklist de durcissement Ubuntu Server 24.04 fresh-install
Les étapes exactes que nous exécutons sur chaque nouvel hôte Ubuntu 24.04 avant que toute charge n'arrive — SSH, UFW, fail2ban, AppArmor, auditd, et les petits détails qui comptent réellement.
Lire l'article15 mai 2026 · 1 min de lecture
FastAPI sur Kubernetes — le déploiement production que nous livrons par défaut
Pydantic v2, choix du serveur ASGI, OpenAPI en CI, health checks, et les manifestes Kubernetes que nous appliquons à chaque nouveau service FastAPI.
Lire l'article15 mai 2026 · 1 min de lecture
Appliquer le benchmark CIS Ubuntu — les contrôles qui comptent et ceux que nous sautons
Une promenade pragmatique à travers CIS Ubuntu 22.04 et 24.04 Level 1 et Level 2 : quels contrôles bougent l'économie de l'attaquant, lesquels produisent des cochons jaunes pour les auditeurs, et comment auditer à l'échelle.
Lire l'article15 mai 2026 · 1 min de lecture
Durcissement TLS Apache en 2026 — ciphers, OCSP stapling et la pipeline de renouvellement de cert
TLS 1.3 est le défaut, mais la plupart des installs Apache ont encore une config de la guerre des suites de chiffrement de 2018. Voici ce qui appartient réellement à votre config SSL aujourd'hui.
Lire l'article14 mai 2026 · 1 min de lecture
Canonical Livepatch en production — patcher les CVE kernel sans rebooter
Comment Livepatch fonctionne réellement, ce qu'il peut et ne peut pas patcher, l'économie de la souscription Pro, et les alternatives si vous ne pouvez ou ne voulez pas l'utiliser.
Lire l'article14 mai 2026 · 1 min de lecture
Gérer RHEL à l'échelle — Satellite, content views et le lifecycle que nous livrons réellement
subscription-manager suffit jusqu'à ce que vous ayez 300 hôtes. Voici la disposition Satellite qui garde les flottes RHEL saines, patchées et auditables.
Lire l'article14 mai 2026 · 1 min de lecture
Sécurité des dépendances Python en 2026 — pip-audit, lockfiles et les attaques PyPI que nous voyons sans cesse
Les attaques supply-chain sur PyPI sont devenues routinières. Voici la toolchain que nous faisons tourner, la discipline de lockfile que nous imposons, et les alertes sur lesquelles nous agissons réellement.
Lire l'article14 mai 2026 · 2 min de lecture
ModSecurity et l'OWASP CRS — les règles WAF que nous livrons réellement sur Apache
La plupart des installs ModSecurity sont soit éteintes par défaut, soit si bruyantes que personne ne lit les logs. Voici comment nous le tunons pour être utile sans nous noyer dans les faux positifs.
Lire l'article13 mai 2026 · 1 min de lecture
Configurer unattended-upgrades sur Ubuntu comme la production en a vraiment besoin
Quels patchs de sécurité vous voulez auto-appliqués, lesquels non, et comment nous gérons les reboots sur une flotte de milliers de serveurs.
Lire l'article13 mai 2026 · 1 min de lecture
Celery en production — choix du broker, sémantique de retry, et ce que Flower vous dit vraiment
Redis vs RabbitMQ, tâches idempotentes, le backoff de retry que nous appliquons par défaut, et le monitoring qui attrape les problèmes avant que les utilisateurs ne le remarquent.
Lire l'article13 mai 2026 · 1 min de lecture
Haute disponibilité MySQL en 2026 — Galera, InnoDB Cluster ou réplicas async ?
Trois vraies approches de HA pour MySQL, ce que chacune apporte réellement, et l'arbre de décision que nous utilisons pour monter des clusters clients.
Lire l'article13 mai 2026 · 1 min de lecture
Laravel Octane en production — RoadRunner vs Swoole vs FrankenPHP
Nous avons migré des dizaines d'apps Laravel vers Octane sur trois runtimes différents. Voici comment RoadRunner, Swoole et FrankenPHP se comparent sur le throughput, la mémoire, l'ergonomie de déploiement et les modes de défaillance.
Lire l'article13 mai 2026 · 2 min de lecture
Apache MPM event en 2026 — dimensionner le pool de threads que nous faisons réellement tourner
Prefork est une pièce de musée. Worker est correct. Event est ce que vous voulez — et la plupart des installs Apache que nous auditons l'ont mal tuné.
Lire l'article12 mai 2026 · 2 min de lecture
La stack de cache WordPress qui survit vraiment au Black Friday
Cache de page, cache d'objets, cache d'opcode, cache edge — ce que chacun apporte, où ils se contredisent, et l'ordre d'empilement qui tient au pic.
Lire l'article12 mai 2026 · 1 min de lecture
Gunicorn et Uvicorn en production — le tuning de workers que nous appliquons réellement
Sync vs async, le calcul du nombre de CPU, le pattern Gunicorn-with-Uvicorn-workers, et les timeouts qui gardent les services Python en bonne santé sous charge.
Lire l'article12 mai 2026 · 1 min de lecture
Tuning du pool PHP-FPM en production — la décision static vs dynamic vs ondemand
La plupart des problèmes de performance PHP ne sont pas PHP. C'est le dimensionnement du pool, le mode process manager et un slowlog que personne ne lit. Voici comment nous tunons PHP-FPM sur de vraies charges.
Lire l'article10 mai 2026 · 1 min de lecture
Exécuter un drill de restauration PITR PostgreSQL chaque semaine (voici notre runbook)
Des sauvegardes que vous n'avez jamais restaurées ne sont pas des sauvegardes. Notre drill hebdomadaire de point-in-time recovery — ce qu'il teste, ce que nous automatisons, et ce que nous faisons encore à la main.
Lire l'article8 mai 2026 · 2 min de lecture
Six fuites de coût Kubernetes que nous trouvons sur presque chaque cluster
Namespaces inactifs, requests surdimensionnées, prolifération de snapshots EBS, factures d'egress NAT — les façons récurrentes dont K8s brûle 25-40 % de votre budget compute.
Lire l'article6 mai 2026 · 1 min de lecture
Laravel Horizon en production — dimensionner les workers, survivre à Redis, et la stratégie de retry
Ce que nous avons appris en faisant tourner Horizon pour des clients Laravel qui traitent des millions de jobs par jour : autoscaling des workers, isolation des queues, sémantique de retry, et les erreurs de config qui brûlent silencieusement de l'argent.
Lire l'article6 mai 2026 · 2 min de lecture
Une supply chain Docker pratique : signée, scannée, attestée
Cosign, Trivy, SBOMs et policies d'admission — la configuration minimale de supply chain de conteneurs que nous livrons sur chaque cluster client.
Lire l'article