Open mmarchois opened 1 year ago
@mmarchois On peut clore ?
Non c'est un sujet qui reste d'actualité. Aujourd'hui on a aucune stratégie de cache et à terme ce serait bien de se pencher dessus. Ceci dit il mériterait un peu plus de spécifications 😅
En travaillant sur la landing page collectivités (#447), j'ai lu un peu la doc sur les ESI dans Symfony
https://symfony.com/doc/current/http_cache/esi.html
Une page comme la landing collectivité est essentiellement statique, donc on devrait pouvoir la mettre en cache pendant longtemps (un jour ?). Mais le header peut varier en fonction de l'utilisateur connecté, ce qui fait qu'en pratique elle ne peut pas être mise en cache en entier.
Si je comprends bien, avec ESI on pourrait mettre en cache la page exemptée d'éventuels ESI contenant le contenu variable. On devrait donc créer un contrôleur pour le header, et faire un {{ render_esi() }}
dans les pages à mettre en cache qui utiliseraient le header.
Mais d'après la doc, ça n'aura d'effet que si on a un cache HTTP entre le serveur PHP et le client.
Nginx n'a pas l'air d'avoir de support pour ESI. Ce serait donc là que Varnish entrerait en jeu ? Content composition with Edge Side Includes (Varnish docs)
Cache applicatif Cache par headers (cache-control, exprires) ...