Éco-conception
Exercices

Stratégies de Cache

Le cache est l'arme absolue. À vous de définir la bonne stratégie pour chaque ressource.

Le Quiz Cache-Control

Pour chaque ressource ci-dessous, quel header Cache-Control choisiriez-vous ?

Cas 1 : Le Logo du site (logo-v1.png)

Cette image ne change jamais. Si on la modifie, on change son nom (logo-v2.png).

  • A) no-store
  • B) public, max-age=3600 (1 heure)
  • C) public, max-age=31536000, immutable (1 an)
✅ Voir la réponse

Réponse C : public, max-age=31536000, immutable Comme le fichier est versionné (v1, v2...), on peut le cacher "à l'infini". C'est la stratégie la plus performante.

Cas 2 : La page "Dashboard" (/dashboard)

Cette page contient des données privées (factures, profil) propres à l'utilisateur connecté.

  • A) private, no-cache
  • B) public, max-age=60
  • C) public, stale-while-revalidate=60
✅ Voir la réponse

Réponse A : private, no-cache (ou no-store selon la sensibilité).

  • Private : Interdit aux CDN/Proxies partagés de stocker la page (sinon un autre utilisateur verrait vos factures !).
  • No-cache : Force le navigateur à revérifier (revalidation) avec le serveur à chaque visite pour être sûr d'avoir les données à jour.

Cas 3 : La liste des articles (/blog)

Cette page est publique. On veut qu'elle soit rapide, mais si un nouvel article sort, on accepte qu'il apparaisse avec 1 minute de retard.

  • A) no-cache
  • B) public, max-age=3600
  • C) public, max-age=60, stale-while-revalidate=600
✅ Voir la réponse

Réponse C : public, max-age=60, stale-while-revalidate=600

  • max-age=60 : Le cache est frais pendant 1 minute.
  • stale-while-revalidate=600 : Entre 1 min et 10 min, on sert la version "périmée" (immédiat) tout en rechargeant la nouvelle en arrière-plan. C'est le meilleur compromis UX/Performance.