JeuWeb - Crée ton jeu par navigateur
Cache - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Cache (/showthread.php?tid=1293)



Cache - DeadGreat - 04-05-2014

Bonjour,

Dans le développement de mon jeu, j'en suis aux graphismes des maps..
Bien-sur.. les images des maps vont dans le cache, seulement je voudrais éviter ceci car supprimer le cache à chaque modification.. ça deviens assez énervant..

J'ai essayer avec la méta no cache mais en vain...

Avez-vous des idées ?


RE: Cache - Xenos - 04-05-2014

4 possibilités:

• Ctrl+F5 sur firefox pour recharger la page sans cache.

• Utiliser un paramètre "get" aléatoire (ou valant le timestamp) sur chaque URL d'image (exemple: 127.0.0.1/site/images/cases/case1.png?t=1399206794)

• Peut-etre la directive n'est pas bien envoyée au client (vérifie via firebug ou via la console webkit pour confirmer que le serveur envoie le "Cache: no-cache" au client). Sinon, la directive n'est peut-être pas complète, essaie:
Code :
Expires: Sat, 26 Jul 1997 05:00:00 GMT
Cache-Control: no-store, no-cache, must-revalidate
Pragma: no-cache
Sinon, regarde la liste des options du cache fournies par la spcéification HTTP/1.1

• Passer par un fichier php qui renvoie l'image demandée (exemple: 127.0.0.1/site/images.php?nom=cases/case1.png dont le code se résume à "header('Content-Type:image/png');imagepng($_GET['nom']);")


RE: Cache - DeadGreat - 04-05-2014

D'accord, merci pour t'es réponses.. Je vais voir ce que ça donne sans utiliser la première solution.


RE: Cache - Argorate - 04-05-2014

Sinon il y a le principe utilisés par les framework, d'ajouter systématiquement le numéro de version des images (généralement le time() du moment généré), et ainsi invalider tous les assets en faisant changer ce numéro de version.


RE: Cache - DeadGreat - 04-05-2014

Je pense que j'utiliserais le get.. Merci à vous deux.