Le poids caché des polices web
Une belle typographie peut coûter cher en performance si on ne fait pas attention. Voici comment je garde des polices nettes sans plomber le chargement.
Une police mal gérée, c'est plusieurs centaines de kilo-octets, un texte qui saute au chargement, et un score de performance qui chute. Pourtant la typographie reste l'un des leviers les plus forts d'une identité.
Trois règles que j'applique systématiquement : ne charger que les graisses réellement utilisées, servir les fichiers en WOFF2, et précharger la police principale pour éviter le flash de texte invisible.
Le sous-ensemble (subsetting) change tout. Un fichier de police contient souvent des centaines de caractères pour des alphabets qu'on n'utilisera jamais. En ne gardant que le latin, on divise parfois le poids par trois ou quatre.
Les polices variables sont une autre arme : un seul fichier couvre toutes les graisses d'une famille. Tant qu'on en utilise au moins trois, c'est presque toujours plus léger que de charger chaque graisse séparément.
Côté repli, je définis toujours une pile de polices système cohérente. Si la police personnalisée tarde, le texte reste lisible dans une fonte proche, sans saut de mise en page brutal une fois la vraie police arrivée.
J'évite aussi de multiplier les familles. Deux polices bien choisies, parfois trois, suffisent à créer une hiérarchie claire. Au-delà, on gagne en bazar ce qu'on perd en cohérence.
Le bon réflexe : se demander si chaque kilo-octet de police sert vraiment le message. Si la réponse est non, il dégage.