Charger une police depuis les serveurs de Google déclenche une requête sortante depuis le navigateur du visiteur, avant tout consentement. Cette requête transmet son adresse IP, l’adresse de la page consultée et son agent utilisateur à un tiers situé hors de l’Union européenne. C’est un traitement de données personnelles qui n’a pas de base légale, et il est trivialement constatable par n’importe qui ouvrant l’inspecteur du navigateur.
Une décision du tribunal régional de Munich en 2022 a condamné un exploitant de site sur ce fondement précis, et l’affaire a servi de base à une vague de mises en demeure en Allemagne. La CNIL a repris le sujet dans ses recommandations. Le risque n’est pas théorique.
Pourquoi le consentement ne règle pas le problème
On pourrait imaginer bloquer les polices jusqu’au consentement, comme un script de mesure d’audience. En pratique cette approche ne tient pas : une page qui attend le consentement pour charger ses polices s’affiche d’abord en police système puis bascule, ce qui produit un décalage visuel important et dégrade l’expérience pour tout le monde.
L’auto-hébergement est la seule réponse qui règle à la fois la conformité et la performance. Vous téléchargez les fichiers une fois, vous les servez depuis votre propre domaine, et aucune requête ne part chez un tiers.
Où se cachent les appels dans PrestaShop
C’est la partie que la plupart des rapatriements manquent. Un appel supprimé du thème ne signifie pas que le site est propre.
- Le thème. Une balise de lien vers fonts.googleapis.com dans le fichier d’en-tête, parfois accompagnée d’une directive de préconnexion.
- Les feuilles de style. Une règle d’import en tête d’un fichier CSS, souvent oubliée parce qu’elle n’apparaît pas dans le code des templates.
- Les modules. Un module de carrousel, de compte à rebours ou de pop-up qui charge sa propre police. Chaque module ajoute potentiellement un appel.
- Les icônes. Les bibliothèques d’icônes hébergées chez le même fournisseur relèvent exactement du même problème.
- Le contenu. Une page CMS ou une description produit collée depuis un éditeur externe peut contenir une balise de style important une police distante.
Module Google Fonts Local PrestaShop 8/9 — Polices Auto-hébergées RGPDVos polices Google Fonts, hébergées chez vous. Zéro requête vers Google, zéro fichier de thème modifié.€59.00
La procédure
Quatre étapes, dans cet ordre.
1. Inventorier. Ouvrez l’onglet Réseau de votre navigateur, filtrez sur les domaines de polices, et rechargez plusieurs pages types : accueil, catégorie, fiche produit, panier, page CMS. Notez chaque famille et chaque graisse réellement appelée.
2. Télécharger. Récupérez les fichiers au format WOFF2, qui couvre tous les navigateurs actuels. Ne conservez que les graisses que vous utilisez vraiment : une famille chargée en six graisses alors que le thème n’en emploie que deux représente plusieurs centaines de kilo-octets inutiles.
3. Déclarer. Placez les fichiers dans votre thème et déclarez chaque famille avec une règle de police personnalisée, en précisant un comportement d’affichage de type échange pour éviter le texte invisible pendant le chargement.
4. Nettoyer. Supprimez toutes les références distantes trouvées à l’étape 1, y compris les directives de préconnexion, qui déclenchent une connexion même sans téléchargement de fichier.
Le contrôle final
Le test se fait dans l’onglet Réseau, navigation privée, cache vidé. Filtrez sur les domaines de polices distants : zéro requête attendue, sur toutes les pages types, connecté comme déconnecté.
Deux vérifications complémentaires méritent d’être faites. Le back-office charge parfois ses propres polices distantes, ce qui ne concerne pas vos visiteurs mais mérite d’être traité pour vos équipes. Et les emails transactionnels au format HTML peuvent également contenir des appels de polices, ce qui transmet des données à chaque ouverture d’un message.
Le bénéfice de performance
L’auto-hébergement supprime une résolution DNS, une négociation TLS et une connexion vers un domaine tiers, sur le chemin critique du rendu. Sur une connexion mobile moyenne, cela représente couramment plusieurs centaines de millisecondes gagnées sur l’affichage du texte.
Deux réglages complètent le gain. Le préchargement de la police principale, à déclarer dans l’en-tête, la fait démarrer avant l’analyse du CSS. Et la réduction du jeu de caractères aux alphabets réellement utilisés allège chaque fichier, souvent de moitié quand on retire les caractères cyrilliques et grecs d’une police universelle.
Le point de vigilance sur la licence
La quasi-totalité des polices distribuées par Google sont sous licence libre, ce qui autorise l’auto-hébergement sans démarche. Vérifiez tout de même la licence des familles que vous rapatriez, en particulier si vous les avez obtenues ailleurs, et conservez le fichier de licence à côté des fichiers de police.
Automatiser le rapatriement
Le module Google Fonts Local pour PrestaShop traite cette chaîne sur PrestaShop 8 et 9 : détection des appels distants dans le thème et les modules, téléchargement et hébergement local des familles utilisées, réécriture des références et contrôle qu’aucune requête ne subsiste.