Comment figer son app hors ligne pour plus d’un mois


Je sers All That Counts avec nginx, et le fichier de config est super simple :

server {
        listen       80;
        server_name allthatcounts.net;

        error_log  /var/log/nginx/error_allthatcounts.log;
        access_log  /var/log/nginx/access_allthatcounts.log;

        location / {
            root /home/allthatcounts/www/;
            gzip  on;
            gzip_http_version 1.0;
            gzip_vary on;
            gzip_comp_level 6;
            gzip_proxied any;
            gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
            gzip_buffers 16 8k;
            gzip_disable ~@~\MSIE [1-6].(?!.*SV1)~@~];
            expires modified +90d;
        }
}

En gros c’est juste du log et servir les fichiers statiques compressés avec gzip. Il n’y a rien de plus à faire parce qu’il n’y a pas de backend. Simple. Efficace.

La couille c’est que c’est un copier / coller d’un autre projet que j’ai fais sans trop réfléchir, et quand j’ai mis en prod de nouvelles modifications sur le serveurs, mon Firefox me les affichait pas. Pourtant j’avais bien modifié le manifeste, donc il aurait du tout recharcher…

Sauf que, con de ma race, j’ai copié la ligne :

expires modified +90d;

Qui dit techniquement, met en cache tous les fichiers statiques pour 90 jours. Donc aussi le manifeste. Du coup, toutes les personnes qui ont visité le site ne verront aucune mise à jour pour un bon mois et demi.

Bravo Sam.

9 thoughts on “Comment figer son app hors ligne pour plus d’un mois

    • Sam Post author

      Très juste :) 90 s fait une minute et demi, mais 90 jours fais 3 mois. Mon cerveau a fait un switch bizarre.

  • Tim

    Il a besoin d’être recharcher ton cerveau ? (oui c’est gratuit, comme la violence évidemment)

  • Zanguu

    @moato, et non, les joies du cache et du manifest. La moindre petite erreur peut te couter 3 mois de “vie”.
    Certaines erreurs te faisant perdre des users “à vie” (ou du moins jusqu’à ce qu’ils vident leur cache/ change de navigateur).

    Heureusement, là l’erreur n’est que sur “un petit outil”, mais si Sam l’avais fait sur un serveur de ses “sites principaux” le blog aurait changé de nom : RIPetmax.com; et il y aurait beaucoup moins de billets =P

    PS: désolé, c’est ma “journée” je met des guillemets “partout”.

Comments are closed.

Des questions Python sans rapport avec l'article ? Posez-les sur IndexError.