Project

General

Profile

Revision a0b5aab0

IDa0b5aab08febae57c8f67c7eb01af4111e108998
Parent de7d5c68
Child 4e7f81f8

Added by Francois POIROTTE over 9 years ago

[#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 <>
Reviewed-by: Thomas BURGUIERE <>

View differences:

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