# Éditeur de site pour collectivité : Speculative Loading et données sensibles

> Activer le préchargement spéculatif sur un site public de collectivité demande une vigilance particulière dès qu'une page affiche des informations personnelles derrière un lien.

- Auteur : Clément Hadrot
- Publié le : 2025-10-29
- Mis à jour le : 2025-10-29
- Catégorie : FSE
- URL : https://wpmoderne.dev.wordpress-developpement.fr/fse/speculative-loading-collectivite-donnees-sensibles/

## L’essentiel

- Le préchargement spéculatif peut déclencher une page avant même le clic réel
- Une page d'espace citoyen ne doit jamais être préchargée sans vérification
- Le mode prefetch reste plus prudent que le mode prerender pour ces pages

Un lien survolé peut-il déclencher le chargement d'une page contenant des informations personnelles, avant même que le visiteur n'ait cliqué dessus ? C'est précisément la question qui s'est posée lors de l'activation du Speculative Loading, introduit dans le cœur de WordPress avec la version 6.8, sur le site d'une collectivité territoriale proposant un espace citoyen sécurisé.

Le Speculative Loading s'appuie sur la Speculation Rules API du navigateur : WordPress génère automatiquement des règles qui indiquent au navigateur quelles pages précharger, voire prérendre entièrement, en anticipation d'un clic probable. Sur un site vitrine classique, ce mécanisme réduit sensiblement le temps de chargement perçu. Sur un site public exposant des démarches administratives, il mérite un examen préalable.

## Deux modes aux implications très différentes

Le mode `prefetch` se contente de récupérer par avance les ressources HTML de la page ciblée, sans exécuter son JavaScript ni afficher son contenu. Le mode `prerender` va plus loin : il construit la page entière en arrière-plan, comme si elle était déjà ouverte dans un onglet invisible, prête à s'afficher instantanément au moindre clic. C'est ce second mode qui pose la question la plus sensible sur un site de collectivité.

## Le risque concret sur un espace citoyen

> L'essentiel à retenir : Le préchargement spéculatif peut déclencher une page avant même le clic réel ; Une page d'espace citoyen ne doit jamais être préchargée sans vérification ; Le mode prefetch reste plus prudent que le mode prerender pour ces pages

Un lien de navigation menant vers « Mon espace », affiché dans le menu principal de chaque page publique du site, pouvait être survolé par mégarde, déclenchant un prérendu de la page. Si cette page affichait, avant toute authentification stricte, un fragment d'information contextuelle (nom de la dernière démarche consultée, par exemple, conservé en session), ce contenu se retrouvait chargé en arrière-plan sans action volontaire de la part du visiteur, avec un risque de fuite d'information sur un poste partagé.

## La configuration retenue

Plutôt que de désactiver entièrement le Speculative Loading, ce qui aurait privé le reste du site public d'un gain de performance réel, la décision a été d'exclure explicitement les URL sensibles de la génération automatique de règles, via le filtre exposé par le cœur pour personnaliser la configuration :

```
add_filter( 'wp_speculation_rules_configuration', function ( $configuration ) {
    $configuration['prerender']['eagerness'] = 'conservative';
    return $configuration;
} );
```

En complément de ce réglage de prudence générale, les liens vers l'espace citoyen et les pages de démarches en ligne ont été marqués pour être exclus explicitement des règles de préchargement, en s'appuyant sur la possibilité offerte par l'API du navigateur d'exclure des sélecteurs précis plutôt que de désactiver le mécanisme dans son ensemble.

### Pourquoi le mode conservateur plutôt que le mode éliminé

Réduire l'agressivité du préchargement (mode `conservative` plutôt que `eager` ou `moderate`) limite le nombre de liens concernés aux clics jugés quasiment certains par le navigateur, ce qui réduit mécaniquement le risque de préchargement d'une page sensible par un simple survol accidentel, sans renoncer totalement au gain de performance sur le reste du site.

## Ce que cette précaution ne remplace pas

Exclure les pages sensibles du préchargement spéculatif ne dispense en rien d'un vrai contrôle d'authentification à l'entrée de ces pages. Le Speculative Loading n'est jamais la cause d'une fuite de données mal protégée : il ne fait qu'augmenter la probabilité qu'une page mal sécurisée soit chargée à un moment non maîtrisé. La véritable protection reste la vérification stricte de la session côté serveur, indépendamment de tout mécanisme de préchargement.

- Identifier toutes les pages affichant des données personnelles avant authentification complète.
- Exclure ces pages des règles de préchargement, en priorité les liens vers l'espace citoyen et les formulaires de démarche.
- Conserver un mode conservateur pour l'ensemble du reste du site, plutôt qu'une désactivation totale.

> Le Speculative Loading est un formidable outil de performance perçue, à condition de ne jamais oublier qu'il précharge en fonction d'une probabilité de clic, pas d'une intention confirmée du visiteur.

## En résumé

Ce test ne remplace pas un audit RGAA complet ni une revue de la configuration serveur du site, deux chantiers distincts déjà traités séparément sur ce projet. Il montre en revanche qu'une fonctionnalité de performance récente, activée par défaut avec des réglages raisonnables sur un site vitrine, mérite un passage en revue spécifique dès qu'un site public expose des données personnelles derrière un simple lien de navigation.
