View Revisions: Issue #2856

Summary 0002856: Cache des resources statiques
Revision 2019-09-25 20:15 by Xenos
Description Le principe serait de dire au navigateur de mettre en cache les ressources (js, css, png, etc) et de ne pas requêter le serveur du tout, pendant au moins (disons) 7 jours. L'intérêt est de réduire drastiquement le trafic réseau.

J'ai tenté une première approche dans Dracca en remplaçant les URLs de ces ressources dans les fichiers PHP par des appels à un "Html::resource", qui se chargeait de renvoyer l'URL de la ressource avec un "?hash=" le md5 du fichier.
J'ai même fait une inspection dans le plugin pour obliger à utiliser ça

MAIS
c'est hyper-lourd. C'est pas pratique. C'est pas toujours pertinent (le plugin demande de faire ce remplacement à des endroits incohérents).

Donc, je pense que c'est une mauvaise approche.
L'alternative que j'ai en tête est la suivante: il faudrait modifier le *script de déploiement*, pour remplacer les src="..." et autres href="..." actuellement existants par des src="...?md5=lemd5dfufichier".

Ainsi, il n'y aura aucun changement à faire dans mon code PHP.
De plus, c'est un élément spécifique au déploiment, donc, c'est cohérent de le faire dans le script de déploiment

En revanche, la difficulté sera de "tester" le bon fonctionnement de ce système. Là, je n'ai pas de solution...

Il faudra appliquer ça sur Eclerd, Dracca, Variispace
Revision 2019-09-25 20:15 by Xenos
Description Le principe serait de dire au navigateur de mettre en cache les ressources (js, css, png, etc) et de ne pas requêter le serveur du tout, pendant au moins (disons) 7 jours. L'intérêt est de réduire drastiquement le trafic réseau.

J'ai tenté une première approche dans Dracca en remplaçant les URLs de ces ressources dans les fichiers PHP par des appels à un "Html::resource", qui se chargeait de renvoyer l'URL de la ressource avec un "?hash=" le md5 du fichier.
J'ai même fait une inspection dans le plugin pour obliger à utiliser ça

MAIS
c'est hyper-lourd. C'est pas pratique. C'est pas toujours pertinent (le plugin demande de faire ce remplacement à des endroits incohérents).

Donc, je pense que c'est une mauvaise approche.
L'alternative que j'ai en tête est la suivante: il faudrait modifier le *script de déploiement*, pour remplacer les src="..." et autres href="..." actuellement existants par des src="...?md5=lemd5dfufichier".

Ainsi, il n'y aura aucun changement à faire dans mon code PHP.
De plus, c'est un élément spécifique au déploiment, donc, c'est cohérent de le faire dans le script de déploiment

En revanche, la difficulté sera de "tester" le bon fonctionnement de ce système. Là, je n'ai pas de solution...