diff --git a/ecrire/inc_version.php b/ecrire/inc_version.php
index 6a7b74fbf8c792bac572eeff89c64eb2d6bed469..5b060376e263c80ff76fa9e6ad5ec9df462a48e2 100644
--- a/ecrire/inc_version.php
+++ b/ecrire/inc_version.php
@@ -124,6 +124,9 @@ $ignore_remote_user = true; # methode obsolete et risquee
 #$invalider_caches = 'id_article,id_breve,id_rubrique,id_syndic';
 $invalider_caches = '';
 
+// Autre approche, egalement experimentale : tout invalider si modif
+$derniere_modif_invalide = false;
+
 // Quota : la variable $quota_cache, si elle est > 0, indique la taille
 // totale maximale desiree des fichiers contenus dans le CACHE/ ;
 // ce quota n'est pas "dur", il ne s'applique qu'une fois par heure et
diff --git a/ecrire/public/cacher.php b/ecrire/public/cacher.php
index 71ca9512a39a3d9e66e27070df40082c1f229bf3..3a22e08460462849a4a234e2f83fce12f9820d36 100644
--- a/ecrire/public/cacher.php
+++ b/ecrire/public/cacher.php
@@ -164,6 +164,12 @@ function cache_valide_autodetermine($chemin_cache, $page, $date) {
 
 	if (!$page) return 1;
 
+	// Cache invalide par la meta 'derniere_modif'
+	if ($GLOBALS['derniere_modif_invalide']
+	AND $date < $GLOBALS['meta']['derniere_modif'])
+		return 1;
+
+	// Duree du cache precisee par #CACHE{x}
 	if (isset($page['entetes']['X-Spip-Cache'])) {
 		$duree = intval($page['entetes']['X-Spip-Cache']);
 		if ($duree == 0)  #CACHE{0}