0Pricing
Flask Academy · Leçon

Invalider le cache avec les versions de fichiers

Forcez les navigateurs à récupérer les ressources mises à jour.

Invalider le cache avec les versions de fichiers est une leçon Flask Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Flask Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Flask Academy comprend 4 leçons au total.

Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.

Browsers Love to Cache

Browsers save assets to load pages faster. That is great until you ship a new style.css and visitors keep seeing the cached old one. 🗂️

The Stale Asset Problem

If the URL stays /static/style.css forever, the browser assumes nothing changed. Your fresh design simply never reaches the user.

Change the URL to Refetch

The fix is cache busting: change the asset URL whenever the file changes. A new URL forces the browser to download again.

A Version Query String

The simplest trick adds a version query parameter. /static/style.css?v=2 is treated as a new resource by the browser.

<link href="{{ url_for('static', filename='style.css') }}?v=2">

Bump It on Each Release

Each time you deploy changed CSS, raise the v number. A central variable beats editing the value in many templates by hand.

Use the File's mtime

A smarter bust uses the file modification time. Read getmtime so the version changes only when the file actually does.

import os
v = int(os.path.getmtime("static/style.css"))

Let url_for Carry Extras

Any unknown keyword you pass url_for becomes a query parameter, so you can attach a computed version cleanly.

url_for("static", filename="style.css", v=v)
# -> /static/style.css?v=1718000000

Content Hashes Are Best

The strongest approach names files by a hash of their contents, like style.abc123.css. New contents mean a new name and a guaranteed refetch.

Hashes Enable Long Caching

Because a hashed name only changes when contents change, you can cache it almost forever. Speed and freshness stop fighting each other.

Build Tools Do the Work

Asset bundlers generate hashed filenames and a manifest mapping logical names to hashed ones, so your templates ask for the current build.

Pick the Right Tier

Start with a simple ?v= version for small projects. Move to content hashes once a build pipeline is worth the setup.

Quick Check

Why does adding ?v=2 to an asset URL make the browser fetch a fresh copy?

Recap: Cache Busting

You learned to change asset URLs so browsers refetch updates: a version query for small apps, content hashes for serious builds. 🚀

Questions Fréquemment Posées

La leçon « Invalider le cache avec les versions de fichiers » est-elle gratuite ?

Oui — le texte complet de « Invalider le cache avec les versions de fichiers » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Flask Academy, passe à CoddyKit PRO. Le cours Flask Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Invalider le cache avec les versions de fichiers » ?

Forcez les navigateurs à récupérer les ressources mises à jour. Tu pratiques Flask Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Flask Academy ?

Aucune expérience préalable n'est requise. Flask Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.

Combien de temps prend la leçon « Invalider le cache avec les versions de fichiers » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Flask Academy ?

Oui. Chaque leçon Flask Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. La convention du dossier static
  2. Lier les ressources avec url_for static
  3. Invalider le cache avec les versions de fichiers
  4. La réalité des fichiers statiques en production
← Retour à Flask Academy