Hier j’ai décidé de refaire intégralement le design de mon site et pour ce faire je travail sur un sous domaine test (oui j’étais très inspiré je sais ).
Le cache de Cloudflare est actif depuis des années sur mon site et j’ai voulu le désactiver UNIQUEMENT pour mon sous domaine de test histoire de pas attendre 3 plombes pour enfin voir mon changement.
Sur mon compte Cloudflare, je suis donc aller dans les paramètres de mon domaine > Caching > Cache Rules et j’ai mis ça:
Le problème étant que le cache fonctionne toujours, car j’ai beau vider le cache du navigateur ou en navigation privée ou même tester sur un autre navigateur, il faut encore que j’attende.
J’en déduis donc que soit je l’ai mal configuré la chose, soit j’ai absolument pas fait au bon endroit.
Pour info je suis hébergé chez LWS, je précise au cas ou il y aurait un soucis de compatibilité entre LWS et Cloudflare.
Est ce que temporairement le mode “developement” pourrait etre utile?
Votre regle de caching semble correcte. Difficile d’en etre sure a 100% sans entrer dans le détail (par exemple une requete curl et son résultat).
Quelques pistes :
pensez bien a distinguer le “browser cache” (celui du navigateur), du “edge cache” (celui de Cloudflare), de l “origin cache” (celui qui pourrait être en oeuvre chez votre hébergeur)
dans la devtool de votre navigateur, onglet “network”, cochez “disable cache”
dans la devtool de votre navigateur, onglet “network”, cliquez sur la ressource qui n’est pas fraiche et consultez le header de réponse CF-Cache-Status (qui pourrait avoir comme valeur HIT, MISS, DYNAMIC, …). cf. Default Cache Behavior · Cloudflare Cache (CDN) docs
utiliser curl en ligne de commande pour debuguer les problemes de cache
par défaut la query string fait partie de la clé de cache = en ajoutant un parametre aléatoire (“?tutu=tata”) cvous invalidez le cache
versionnez vos assets (js, css, images) pour ne pas avoir a vider le cache.
Par exemple:
/main.css
devient /main.css?ts=123456789
ou encore /main.css?version=13
ou encore /main-123456789.css
…
@nicgayerie
Oui voici l’URL où je fais mes tests: https://test.breat.fr/fr/ actuellement et où ma règle sur Cloudflare est sensée être appliquée si je l’ai faite correctement.
En effet j’ai songé dans un premier temps à activer le mode développement, mais ça me gène un peu de le mettre sur TOUT le site alors que c’est uniquement pour un sous-domaine de test et qui normalement n’est pas pour le public.
Du coup en attendant j’utilise “Cloudflare Purge Plugin” https://chrome.google.com/webstore/detail/cloudflare-purge-plugin/nbpecchpcfacahhekolpaofpmogkmmok comme extension de navigateur histoire de m’éviter d’aller sur le site pour le vider à chaque modification.
De plus, il me semblait peut-être à tort que le HTML n’était pas mis en cache or moi il y est.
Peut-être est-ce car mes pages sont en format PHP que j’utilise très peu sauf pour les include afin de me faciliter la gestion ?