Pourquoi le cache existe

Un cache est une copie temporaire conservée pour éviter de refaire inutilement le même travail ou de retélécharger les mêmes fichiers. Comme une information déjà préparée à l’accueil d’un lieu, elle permet de répondre plus vite à une demande fréquente.

Pour afficher une page, un site peut solliciter le serveur, exécuter du PHP et parfois consulter une base de données. Il peut aussi devoir envoyer plusieurs fois les mêmes images, feuilles CSS, scripts ou polices. Le cache évite de répéter une partie de ce travail et peut réduire le temps de réponse comme la charge du serveur.

Il ne remplace pas le rôle du serveur web, de PHP ou de la base de données. Il conserve seulement une réponse ou une ressource déjà prête lorsque le contexte le permet.

Les principaux emplacements du cache

La copie ne se trouve pas toujours au même endroit. Un site peut utiliser un ou plusieurs de ces niveaux, mais il n’est pas nécessaire qu’ils soient tous présents.

NiveauOù la copie est conservéeCe qui peut être conservéEffet recherchéLimite importante
NavigateurSur l’appareil du visiteurImages, CSS, JavaScript, polices ou parfois une pageÉviter de retélécharger les mêmes ressourcesLe visiteur peut encore voir une ancienne ressource
Applicatif ou CMSDans l’application qui produit le siteRésultats de calculs, requêtes ou fragments de contenuÉviter de recalculer une réponse identiqueDoit respecter les données propres à chaque utilisateur
Page côté serveur ou hébergeurPrès du serveur qui répond au siteUne page publique déjà généréeRépondre plus vite sans régénérer toute la pageUne modification peut nécessiter une purge ou une attente
CDNSur des serveurs répartis près des visiteursRessources statiques et parfois pages publiquesRéduire la distance et la charge du serveur d’origineUne copie peut rester servie jusqu’à son renouvellement

Le guide 24 abordera ensuite le rôle d’un CDN plus précisément. Il reste à venir, donc aucun réglage ni lien actif n’est nécessaire ici.

Ce qui peut être conservé ou non

Les images, fichiers CSS, JavaScript, polices et pages publiques qui changent peu sont souvent de bonnes candidates au cache. Leur contenu est identique pour de nombreux visiteurs et peut être réutilisé sans confusion.

À l’inverse, un espace client, un panier, un paiement, un profil utilisateur, une administration ou toute donnée personnalisée doit être traité avec beaucoup plus de prudence. Un cache mal configuré ne doit jamais afficher les informations d’un utilisateur à un autre.

Le contexte compte autant que la vitesse

Avant de conserver une page, demandez-vous si son contenu est public et identique pour tout le monde. Une page connectée ou personnalisée exige des règles adaptées, voire l’absence de cache public.

Pourquoi une ancienne version peut apparaître

Après une modification, voir encore l’ancienne version ne signifie pas forcément que le changement a échoué. Le navigateur peut conserver une ressource, un cache de page ou d’hébergement peut ne pas avoir été purgé, ou un CDN peut encore servir une copie. La bonne version peut aussi ne pas avoir été correctement déployée, ou le mauvais environnement peut avoir été vérifié.

  1. Vérifiez que la bonne version a été déployée.
  2. Identifiez quel niveau de cache peut répondre à la demande.
  3. Purgez le cache concerné ou attendez son expiration selon la configuration.
  4. Testez à nouveau, idéalement dans une fenêtre privée ou un autre navigateur.
  5. Évitez de multiplier les modifications à l’aveugle.

Ce raisonnement aide à séparer un problème de publication d’un problème de copie conservée, plutôt que de modifier le site sans savoir ce qui est réellement servi.

Expiration, purge et invalidation

La durée de vie, ou expiration, indique combien de temps une copie peut être utilisée avant d’être redemandée ou renouvelée. Une durée longue peut convenir à un fichier qui change presque jamais ; elle est moins adaptée à une page fréquemment mise à jour.

Une purge consiste à retirer une copie conservée. L’invalidation consiste à la considérer comme obsolète pour qu’elle ne soit plus utilisée. Les mots et les écrans varient selon les outils, mais l’idée reste la même : servir à nouveau une version à jour. Il n’existe pas de durée universelle valable pour tous les sites.

Cache et performance : une relation utile, mais non magique

Le cache aide, il ne répare pas tout

Le cache peut améliorer la vitesse perçue et réduire la charge du serveur. Il ne résout pas automatiquement une image trop lourde, un serveur surchargé, un code lent, une base de données mal utilisée, une connexion Internet lente ou une page qui télécharge trop de ressources.

Il fait partie d’un ensemble de bonnes pratiques de performance. Il faut donc observer ce qui est réellement lent avant de conclure qu’un cache suffit.

Cache et sécurité

Le cache doit respecter le contexte de chaque visite. Ne mettez pas publiquement en cache un contenu privé et vérifiez les pages connectées après toute modification de cache. Un cache n’est ni une sauvegarde, ni un dispositif de sécurité complet.

Les principes présentés dans le guide sur les mots de passe, permissions et accès restent essentiels : limiter les accès et vérifier ce que chaque personne peut consulter ou modifier. Une réponse rapide ne doit jamais devenir une fuite d’information.

Checklist pratique

  • Sachez quel cache est actif sur le projet.
  • Sachez comment le vider ou demander son renouvellement.
  • Vérifiez les pages publiques comme les pages connectées.
  • Testez la version réellement servie après une publication.
  • Gardez une copie ou une sauvegarde avant une modification importante.
  • Documentez les outils de cache utilisés sur le projet.

Ce qu’il faut retenir

  • Le cache conserve temporairement une réponse ou une ressource pour éviter un travail inutile.
  • Il peut se trouver dans le navigateur, l’application, le serveur ou un CDN.
  • Une ancienne version peut provenir d’une copie conservée, d’un déploiement incomplet ou d’un mauvais environnement de test.
  • Expiration, purge et invalidation servent à renouveler une copie devenue obsolète.
  • Les contenus privés et connectés demandent des règles particulièrement prudentes.

Questions fréquentes

C’est une copie temporaire d’une ressource ou d’une réponse, conservée pour éviter de refaire le même travail ou le même téléchargement.
Une ancienne copie peut encore être servie par le navigateur, le serveur, l’hébergeur ou un CDN. Vérifiez aussi que la bonne version a bien été déployée.
Non. Les pages publiques identiques pour tous s’y prêtent souvent mieux que les espaces connectés, paniers, paiements ou données personnalisées.
Non. Le cache sert à accélérer ou alléger des réponses ; une sauvegarde sert à retrouver des données après un incident.
Non. Il peut aider, mais une image lourde, un code lent, une base de données mal utilisée ou une connexion lente restent des causes possibles.