Conventional Commits : un historique Git lisible
Une convention simple pour nommer ses commits, faciliter les revues, les rollbacks et la génération de journaux de modifications.
Blog technique · Next.js
Des articles pour approfondir, des présentations pour partager. Code et diagrammes inclus.
01 — ARTICLES
Une convention simple pour nommer ses commits, faciliter les revues, les rollbacks et la génération de journaux de modifications.
Centraliser couleurs, espacements et rayons dans des variables CSS pour gérer deux thèmes sans dupliquer les composants.
LCP, INP, CLS : ce qu'ils mesurent et comment les améliorer, avec des exemples tirés de ce blog (polices auto-hébergées, chargement à la demande).
Documenter un projet utilement : ce qu'un README doit contenir, et comment les Architecture Decision Records préservent le « pourquoi » des choix.
Construire un pipeline simple et efficace : une seule étape de vérification, un Dockerfile multi-étapes et un cache bien placé.
Intégrer axe-core à Playwright pour détecter les violations WCAG à chaque build, avec un exemple réel : les cases à cocher GFM sans libellé.
Une stratégie de tests en trois étages pour un site Next.js : unitaires, intégration et end-to-end, avec seuils de couverture et pièges concrets.
Lire une valeur extérieure à React (attribut du DOM, localStorage) sans setState dans un effet : l'exemple du thème clair/sombre.
middleware.ts est déprécié dans Next.js 16. Voici comment passer à proxy.ts, et un cas d'usage concret : renvoyer un vrai 404 pour les slugs inconnus.
Comment décider entre composant serveur et composant client dans Next.js, avec un exemple concret : pourquoi le rendu Markdown ne doit jamais passer côté client.
Ce que change cacheComponents dans Next.js 16 : prérendu, cacheLife, et les pièges rencontrés en construisant ce blog (Date.now dans Shiki, soft 404).
Un projet moderne dépend de centaines de paquets. Lockfile, audit, Dependabot et typosquatting : comment limiter le risque lié aux dépendances.
Fichiers .env, variables de CI, rotation et détection de fuites : les bons réflexes pour que mots de passe et clés d'API ne finissent jamais dans Git.
La Content Security Policy expliquée simplement : directives, pièges de unsafe-inline, nonces, et pourquoi les pages statiques changent la donne.
Tour d'horizon des 10 vulnérabilités web les plus critiques selon OWASP, avec des exemples concrets et les contre-mesures à implémenter dans vos applications.
02 — PRÉSENTATIONS
Tables, clés, jointures, index et transactions : les bases pour concevoir un schéma solide et écrire des requêtes efficaces.
Clavier, contrastes, texte alternatif, ARIA et lecteurs d'écran : les fondamentaux pour des interfaces utilisables par tous.
Dessiner des diagrammes avec du texte : organigrammes, séquences, états et chronologies, directement dans le Markdown.
Reproduire, isoler, bisecter : une démarche en étapes pour trouver un bug sans tâtonner.
Que relire, comment formuler ses commentaires et comment garder des revues rapides et bienveillantes.
Comment fonctionne une requête HTTP, et quels en-têtes de réponse protègent votre site : CSP, HSTS, X-Frame-Options, COOP, CORP.
Pyramide des tests, ce qu'il faut tester et ce qu'on peut laisser : une approche pragmatique pour des tests utiles et stables.
Unions discriminées, satisfies, génériques et narrowing : quelques techniques pour que le compilateur attrape vos erreurs avant vos utilisateurs.
De la monolithique au microservices : comprendre les patterns d'architecture web modernes, leurs avantages et comment choisir la bonne approche pour votre projet.
Comprendre l'intégration et la livraison continues, construire un premier pipeline et savoir ce qu'il doit vérifier.
Images, conteneurs, couches, multi-stage et Compose : l'essentiel de Docker pour livrer une application de façon reproductible.
Parce qu'on a tous eu cette petite goutte de sueur au moment de faire son premier push. Un guide humble pour bien démarrer, puis pour se sortir des situations délicates.