Mise à jour automatique du cache #129
Labels
No Label
Core
bug
duplicate
easy
enhancement
help wanted
invalid
performance
proposal
question
security
warning
wontfix
No Milestone
No Assignees
4 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: devs/PCv5#129
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Lorsque les ressources statiques (scripts, css) sont modifiées, il faut que chaque client force le rafraichissement du cache de son navigateur.
Une solution simple est d'ajouter un paramètre GET quelconque qui va indiquer aux navigateurs que la ressource a changé. On peut utiliser un timestamp unix, une date ou autre.
Exemple :
<link rel="stylesheet" type="text/css" href="/static/css/base.css?t=1686125654">
C'est pas très compliqué à implémenter : https://v5.planet-casio.com/forum/actus/projets/2/fin/avancees-de-la-v5#6845
Les fichiers concernés sont :
IIRC l'ajout d'un paramètre GET interfère avec le cache, ie. il y a un risque que le navigateur fasse la requête à chaque fois
C’est pas précisément ce à quoi sert le header ETag ?
Si, effectivement ! Je ne connaissais pas. Il y a quelques extensions pour Flask (eg. wim-vdw/flask-etag donc ça ne doit pas être nativement supporté, mais je ne doute pas que ça doit être facile à gérer puisqu'on peut ajouter un header manuellement aux réponses pour les fichiers en question.
C'est ça il faut juste ajouter le bon header, mais comme c'est nginx qui s'occupe de servir les fichiers statiques on devrai plutôt regarder comment le configurer lui.
Bon bah suffisait de RTFM https://nginx.org/en/docs/http/ngx_http_core_module.html#etag
À priori on a bien les header ETag d'activé (option par défaut de Nginx)
Le problème c'est que c'est pas pris en compte coté serveur :
C’est bien un problème de durée de validité du cache. Elle était à 7 jours. Pour la preprod je l’ai passée à 10 minutes.
Cf la config Nginx.