Salut,
Un soucis me bloque dans la mise en place de mod_expires sur mon serveur où j'héberge mon site développé avec Symfony 2. Je pense ne pas être le premier à être confronté au problème, et pourtant j'ai beaucoup de mal à trouver une réponse sur le web. C'est pourquoi je m'en remets à vous.
Je m'explique ! D'après ce que j'ai compris, le fait de mettre en place mod_expires ainsi qu'une durée assez longue de mise en cache de mes ressources CSS et JS m'oblige à renommer mes ressources à chaque fois que je les modifie, pour que le navigateur comprenne que le fichier est nouveau.
Du coup j'ai fais quelques recherches, et je suis tombé sur cette config apache qui permet, peu importe le nom d'une ressource (par exemple main.01234.css), de rerouter la requête vers un fichier bien spécifique (main.css, pour reprendre l'exemple).
Ca m'arrange, mais reste un problème : je n'ai pas envie d'aller dans chaque <link>
, chaque <script>
et j'en passe, renommer mes ressources qui ont changé. Je me demande donc si il existe une technique pour renommer automatiquement toutes ou partie de mes ressources lorsque je fais une mise en prod, afin que les changements que j'ai effectués soient répercutés directement chez tous mes visiteurs, et pas seulement lorsque leur cache arrive à expiration.
Je précise que mon rythme de modification de mes CSS et mes JS est tout à fait aléatoire. Je peux faire 10 modifications que je déploie en production en une journée, tout comme 2 en un mois... Aucune règle à ce niveau. Je cherche donc juste à mettre en place, dans le meilleur des mondes, une commande Symfony qui renommerait dans mes templates les ressources que j'inclue. Mais je n'ai absolument aucun point de départ pour le moment.
Est-ce que vous pourriez m'aider ? :)
Bien à vous !