François Castets
Journal

Des notes de chantier.Notes from the build.

Ce qui a cassé, ce qui a marché, et le chiffre qui le prouve. Des retours de chantier plutôt que des billets écrits pour remplir.What broke, what worked, and the number that proves it. Field reports rather than posts written to fill space.

1 November 20261 November 2026

Une page par ville sans contenu dupliqué : la méthodeA page per town without duplicate content: the method

Décliner une offre sur vingt communes sans produire vingt fois le même texte. Ce qui doit changer d'une page à l'autre pour que ça tienne.Rolling out an offer across twenty towns without writing the same text twenty times. What has to differ for it to work.

Lire la noteRead the note
31 October 202631 October 2026

Ce que le cache règle, et ce qu’il cache sous le tapisWhat caching fixes, and what it sweeps under the rug

Un cache serveur transforme un site lent en site rapide — pour la moitié des visiteurs. Ce qu'il ne règle pas, et qu'il faut traiter quand même.Server caching turns a slow site into a fast one — for half the visitors. What it does not fix, and what you must handle anyway.

Lire la noteRead the note
30 October 202630 October 2026

Le CLS : réserver la place avant que l’image arriveCLS: reserve the space before the image lands

Le texte qui saute pendant la lecture est la nuisance la plus énervante du web, et la plus facile à supprimer. Les quatre sources habituelles.Text jumping while you read is the web’s most irritating defect, and the easiest to remove. The four usual culprits.

Lire la noteRead the note
29 October 202629 October 2026

Une seule police pour tout le site : les fontes variablesOne font file for the whole site: variable fonts

Sept graisses, sept fichiers, sept requêtes. Une fonte variable les remplace par un seul fichier, et ouvre des possibilités typographiques au passage.Seven weights, seven files, seven requests. A variable font replaces them with one file, and opens typographic doors along the way.

Lire la noteRead the note
28 October 202628 October 2026

Ne charger un script que là où il sert : l’exemple du formulaireLoading a script only where it is needed: the contact form case

Une extension de formulaire charge son code sur toutes les pages, y compris celles sans formulaire. Comment le corriger proprement.A form plugin loads its code on every page, including pages with no form. How to fix it cleanly.

Lire la noteRead the note
27 October 202627 October 2026

De 597 à 242 Ko : la recette exacteFrom 597 KB down to 242 KB: the exact recipe

Formats modernes, tailles multiples, chargement différé bien placé : le détail des arbitrages qui ont réduit le poids d'une page de 60 %.Modern formats, multiple sizes, lazy loading in the right place: the trade-offs that cut a page’s weight by 60%.

Lire la noteRead the note
26 October 202626 October 2026

Passer le LCP sous la seconde sur un hébergement mutualiséGetting LCP under a second on shared hosting

Pas de serveur dédié, pas de CDN payant : la suite d'opérations qui a fait passer le plus gros élément affiché sous la seconde.No dedicated server, no paid CDN: the exact sequence that brought the largest contentful paint under one second.

Lire la noteRead the note
25 October 202625 October 2026

Consulter une fiche sans réseau : le cache applicatif en pratiqueReading an entry with no signal: app caching in practice

Un sous-sol, un parking, un train : les endroits où l'on consulte une adresse sont ceux où le réseau manque. Ce qu'il faut garder en local.A basement, a car park, a train: the places where you check an address are the places with no signal. What to keep locally.

Lire la noteRead the note
24 October 202624 October 2026

Notifier quand l’utilisateur passe devant, sans le harcelerNotifying when a user walks past, without hounding them

Le géorepérage permet d'alerter au bon endroit. Mal réglé, il vide la batterie et fait désinstaller l'application. Les réglages qui tiennent.Geofencing lets you alert at the right place. Badly tuned, it drains the battery and gets the app deleted. The settings that work.

Lire la noteRead the note
23 October 202623 October 2026

Natif, web ou hybride : comment j’ai tranché pour l’application Escape GamerNative, web or hybrid: how I settled it for the Escape Gamer app

Trois technologies possibles, trois factures très différentes. Les quatre questions qui décident, et celle qui a emporté la décision.Three possible technologies, three very different bills. The four questions that decide, and the one that settled it.

Lire la noteRead the note