Skip to main content

Blog

Sur le développement web, la performance, les outils — et, de temps à autre, quelque chose de plus grand.

JavaScriptAnalyticsEvent DelegationServer ComponentsPerformance

Un seul écouteur au lieu d'un composant client par bouton

Dès l'instant où vous ajoutez le suivi analytique d'un clic à un composant, celui-ci devient un composant client qui embarque du JavaScript. Multipliez ce geste à l'échelle d'un site et le suivi à lui seul fait gonfler votre bundle. Voici l'alternative, présente dans la plateforme depuis toujours : un unique écouteur délégué, des attributs de données déclaratifs, et des composants qui restent du pur HTML rendu côté serveur.

28 juillet 202610 min de lecture
Lire l'article
CSSHTMLAccordionFrontendPerformance

Un accordéon fluide avec zéro JavaScript

Tout le monde se rue sur un état React et un hook de mesure de hauteur pour construire un accordéon. Le navigateur en propose un nativement depuis des années — et depuis 2024, il s'anime à l'ouverture comme à la fermeture en CSS pur. Voici la technique complète : details[name], ::details-content, interpolate-size, et la propriété qui rend aussi la fermeture animée.

28 juillet 20269 min de lecture
Lire l'article
JavaScriptWebThird-Party ScriptsFrontendPatterns

Interceptez une valeur tierce dès l'instant où elle arrive sur window

Un script que vous ne contrôlez pas écrit son résultat dans un global de window à un moment que vous ne pouvez pas prévoir. La plupart du code se lance dans une course avec un timeout ou gaspille le main thread en polling. Voici le trick de l'accessor property qui transforme l'écriture en événement — plus le getter que vous ne devez pas oublier, et comment substituer entièrement la valeur.

27 juillet 20269 min de lecture
Lire l'article
CSSContainer QueriesTypographyFrontendPerformance

Ajuster le texte à son conteneur en CSS pur — sans JavaScript

Tout le monde écrit un hook JavaScript pour réduire le font-size jusqu'à ce que le texte tienne dans un conteneur. Voici une alternative pleinement fonctionnelle et sans JS, à base d'unités de container query, de clamp() et de césure selon la langue — y compris le piège de la cascade qui fait abandonner tant de gens.

24 juillet 202611 min de lecture
Lire l'article
Next.jsPerformanceCode SplittingTurbopackReact Server Components

next/dynamic ne vous sauvera pas : pourquoi les pages Next.js pilotées par un CMS embarquent chaque chunk

Nos pages Next.js pilotées par un CMS embarquaient les ~100 composants de section sur chaque route — malgré un usage exemplaire de next/dynamic. Nous avons épuisé tous les correctifs au niveau du bundler (import() direct, découpage des fichiers, config Turbopack, splitChunks de webpack) avant de trouver la vraie cause : la atteignabilité, pas le chunking. Un codegen au build + des rewrites ont réduit le first-load JS de 53%.

18 juillet 202614 min de lecture
Lire l'article
obsidianmiroautomationtoolsopen-source

Je sors mes boards de Miro pour les ramener dans Obsidian

Le bouton Export de Miro te donne un PNG ou un PDF — une photo des données, pas les données. Si tes boards sont des load-bearing maps of thinking accumulées sur des années, leur place est dans Obsidian : editable, searchable, dans un vault local. Comment j'ai sorti les boards de Miro via la REST API et converti vers Excalidraw / Obsidian Canvas — en gardant positions, couleurs, fontes, curved connectors, mindmap nodes — et la leçon dépasse Miro : tout SaaS mérite un exit plan AVANT la première utilisation.

30 juin 20266 min de lecture
Lire l'article
ailearningcareermethodology

CRAFT : une méthode pour utiliser l'AI sans perdre son expertise

Un diagnostic sans remède n'est que de l'anxiété. Après l'article sur la déqualification par l'AI, voici l'ordonnance : CRAFT — cinq principes (Challenge First, Review Adversarially, Ask Why Not What, Friction on Purpose, Test Your Understanding) réunis sous un axiome unique : l'AI fait ce que vous maîtrisez déjà, vous faites ce que vous êtes encore en train d'apprendre. Une méthode pratique et mémorisable pour utiliser l'AI au quotidien sans éroder silencieusement vos compétences.

23 juin 20266 min de lecture
Lire l'article
ailearningcareerengineering

Le silence que l'AI a éteint

Vaut-il encore la peine d'apprendre à programmer si l'AI existe ? La réponse bruyante se trompe des deux côtés. Avec la base de preuves 2025–2026 (Nature, Anthropic, AI & Society), la question n'est pas "AI ou pas", mais quelles compétences céder à l'AI et lesquelles garder pour toi — et il y a une chose qui a vraiment changé : avant, la réalité te forçait à apprendre par friction, l'AI a éteint cette pression en silence.

22 juin 20268 min de lecture
Lire l'article
claude-codeproductivityclidevtools

Claude Code Multi-Profile, v2 : une architecture XDG propre

Après un mois sur l'ancienne approche par alias, j'ai refait mon setup multi-profile Claude Code dans une structure compatible XDG sous ~/.config/claude-profiles/. La vraie raison n'était pas la propreté — c'était la découverte que ~/.claude.json est un fichier séparé à la racine du home dans lequel vivaient discrètement les serveurs MCP ajoutés via --scope user.

13 juin 20269 min de lecture
Lire l'article
claude-codeagentsaiprompt-engineeringautomation

Comment écrire des agents Claude Code qui ne te mentent pas

Deux règles pour construire des pipelines d'agents Claude Code fiables : un agent par spécialisation, et des commandes shell plutôt que des prompts partout où une réponse quantitative est en jeu.

29 mai 20266 min de lecture
Lire l'article
claude-codeproductivityclidevtools

Plusieurs comptes Claude Code sur un seul appareil

Comment utiliser deux (ou plus) comptes Claude Code en parallèle — personnel et entreprise — avec isolation complète grâce à une seule variable d'environnement.

5 mai 20264 min de lecture
Lire l'article
ObsidianClaudeMCPAutomationAI

Comment connecter Claude Desktop à Obsidian — Un parcours à travers 4 serveurs MCP

Une histoire réelle de recherche d'un moyen stable d'automatiser le refactoring du vault Obsidian via Claude. Ce qui a cassé, ce qui a fonctionné, et pourquoi VaultForge s'est avéré être la seule option fonctionnelle.

3 mai 20269 min de lecture
Lire l'article
physicsphilosophyconsciousnessblack-holescosmology

Les trous noirs comme univers récursifs : de la physique au sens de l'existence

Et si chaque trou noir était un Big Bang d'un nouvel univers ? Une exploration de la cosmologie récursive et de la clôture cognitive.

17 avril 202610 min de lecture
Lire l'article
aicmsweb-developmentopinionworkflow

L'IA a tué le CMS — du moins pour les sites simples

Pourquoi les systèmes de gestion de contenu traditionnels deviennent inutiles pour les portfolios, blogs et pages d'atterrissage.

17 avril 20268 min de lecture
Lire l'article
ObsidianPerplexityMCPAIProductivity

Comment connecter Perplexity AI à Obsidian via MCP — Prise de notes directe depuis le chat

Configurez Perplexity Desktop pour lire et écrire dans votre Obsidian vault en utilisant le serveur MCP filesystem. Recherchez sur le web et sauvegardez dans vos notes en une conversation.

12 avril 20265 min de lecture
Lire l'article
Claude CodeAIObsidianAutomationProductivity

Digest Quotidien AI avec Claude Code CLI et Obsidian — Zéro Dépendance

Comment j'ai construit un agent de recherche d'actualités quotidien avec un script bash de 6 lignes, le mode headless de Claude Code et macOS launchd.

12 avril 20267 min de lecture
Lire l'article
next.jsreact-19dark-modezustandperformance

Mode sombre Next.js sans flash ni avertissements React 19

Comment remplacer next-themes par Zustand + useServerInsertedHTML pour un mode sombre sans clignotement dans Next.js 15+.

11 avril 20268 min de lecture
Lire l'article
Next.jsCSSPerformanceTurbopackSCSS

Comment j'ai éliminé 94 fichiers CSS bloquant le rendu dans Next.js 16 avec une fonctionnalité Turbopack peu documentée

Après des jours à essayer chaque approche — de experimental.inlineCss aux hacks MutationObserver — j'ai découvert les Turbopack Import Attributes qui résolvent le problème de CSS bloquant le rendu dans Next.js App Router.

8 avril 202612 min de lecture
Lire l'article
Next.jsMemory LeakDockerAWS LambdaNode.js

Next.js Memory Leak : Fetch + Mode Standalone — 2 ans sans correctif

Next.js patche le fetch global et ajoute une couche de cache qui fuit à chaque requête. Sous Docker/K8s, cela provoque des crashes OOM toutes les quelques heures. Le bug existe depuis Next.js 14 et n'est toujours pas résolu dans 16.2.x.

19 mars 202610 min de lecture
Lire l'article