Revision a0b5aab0
[#1286] Politique de cache plus aggressive
Ajoute une option (cache_max_age) dans les IHM web afin de suggérer de
manière plus aggressive aux navigateurs de mettre en cache les fichiers
statiques, afin d'accélérer le (re)chargement des pages.
NB: cette option n'a d'intérêt que si le client ne dispose d'aucune
surcharge pour les fichiers statiques ou si ces surcharges évoluent peu.
De plus, il s'agit d'une indication; le navigateur peut choisir de
l'ignorer complètement (par exemple, si l'utilisateur a explicitement
demandé que les contenus ne soient jamais mis en cache).
Change-Id: I3f2c2b15fd4cb05e9ca5732ff237233a667c3962
Refs: #1286.
Reviewed-on: https://vigilo-dev.si.c-s.fr/review/1495
Tested-by: Build system <qa@vigilo-dev.si.c-s.fr>
Reviewed-by: Thomas BURGUIERE <thomas.burguiere@c-s.fr>
deployment/settings.ini.in | ||
---|---|---|
195 | 195 |
; Par défaut : -1 (Désactivé) |
196 | 196 |
freshness_threshold = -1 |
197 | 197 |
|
198 |
; Durée maximale en secondes de conservation en cache |
|
199 |
; des fichiers statiques (CSS, JavaScript, images, etc.). |
|
200 |
; La valeur 0 permet de désactiver complètement la mise en cache. |
|
201 |
; Notes : |
|
202 |
; * Cette valeur fournit une indication sur la gestion du cache |
|
203 |
; aux navigateurs, mais ils sont libres de l'ignorer. |
|
204 |
; * Si vous utilisez des fichiers statiques personnalisés, |
|
205 |
; une valeur trop élevée ralentira leur prise en compte. |
|
206 |
;cache_max_age = 0 |
|
207 |
|
|
198 | 208 |
; |
199 | 209 |
; 4 - Configuration du proxy Nagios. |
200 | 210 |
; |
development.ini | ||
---|---|---|
70 | 70 |
; versions de Vigilo antérieures à la version 3.6. |
71 | 71 |
default_sort = ack:asc problem:asc priority:asc details:desc date:desc |
72 | 72 |
|
73 |
cache_max_age=0 |
|
74 |
|
|
73 | 75 |
; Caractère de séparation des champs dans |
74 | 76 |
; l'export CSV. |
75 | 77 |
csv_delimiter_char = ; |
vigiboard/config/middleware.py | ||
---|---|---|
54 | 54 |
""" |
55 | 55 |
app = make_base_app(global_conf, full_stack=full_stack, **app_conf) |
56 | 56 |
|
57 |
max_age = app_conf.get("cache_max_age") |
|
58 |
try: |
|
59 |
max_age = int(max_age) |
|
60 |
except (ValueError, TypeError): |
|
61 |
max_age = None |
|
62 |
|
|
57 | 63 |
# Personalisation des fichiers statiques via /etc/vigilo/vigiboard/public/. |
58 |
custom_static = StaticURLParser('/etc/vigilo/vigiboard/public/') |
|
64 |
custom_static = StaticURLParser('/etc/vigilo/vigiboard/public/', |
|
65 |
cache_max_age=max_age) |
|
59 | 66 |
|
60 | 67 |
# On définit 2 middlewares pour fichiers statiques qui cherchent |
61 | 68 |
# les fichiers dans le thème actuellement chargé. |
62 | 69 |
# Le premier va les chercher dans le dossier des fichiers spécifiques |
63 | 70 |
# à l'application, le second cherche dans les fichiers communs. |
64 |
app_static = StaticURLParser(resource_filename( |
|
65 |
'vigilo.themes.public', 'vigiboard')) |
|
66 |
common_static = StaticURLParser(resource_filename( |
|
67 |
'vigilo.themes.public', 'common')) |
|
68 |
local_static = StaticURLParser(resource_filename( |
|
69 |
'vigiboard', 'public')) |
|
71 |
app_static = StaticURLParser( |
|
72 |
resource_filename('vigilo.themes.public', 'vigiboard'), |
|
73 |
cache_max_age=max_age) |
|
74 |
common_static = StaticURLParser( |
|
75 |
resource_filename('vigilo.themes.public', 'common'), |
|
76 |
cache_max_age=max_age) |
|
77 |
local_static = StaticURLParser( |
|
78 |
resource_filename('vigiboard', 'public'), |
|
79 |
cache_max_age=max_age) |
|
70 | 80 |
app = Cascade([custom_static, app_static, common_static, local_static, app]) |
71 | 81 |
return app |
Also available in: Unified diff