diff --git a/ecrire/action/editer_article.php b/ecrire/action/editer_article.php
index cf8dbd425c9e93079f458cf3fc9a7c0aa586eb02..e0c8301c14847ff052f81654d55031598e179910 100644
--- a/ecrire/action/editer_article.php
+++ b/ecrire/action/editer_article.php
@@ -240,7 +240,7 @@ function instituer_article($id_article, $c, $calcul_rub=true) {
 
 	// Invalider les caches
 	include_spip('inc/invalideur');
-	suivre_invalideur("id='id_article/$id_article'");
+	suivre_invalideur("id='article/$id_article'");
 
 	if ($date) {
 		$t = strtotime($date);
diff --git a/ecrire/action/editer_auteur.php b/ecrire/action/editer_auteur.php
index 945ce4a73b33e697848991fe4fa891a7f9dfc762..7126759f3456b481353132371a4906e7562955f5 100644
--- a/ecrire/action/editer_auteur.php
+++ b/ecrire/action/editer_auteur.php
@@ -214,7 +214,7 @@ function instituer_auteur($id_auteur, $c, $force_webmestre = false) {
 	
 	// Invalider les caches
 	include_spip('inc/invalideur');
-	suivre_invalideur("id='id_auteur/$id_auteur'");
+	suivre_invalideur("id='auteur/$id_auteur'");
 	
 	// Pipeline
 	pipeline('post_edition',
diff --git a/ecrire/action/editer_breve.php b/ecrire/action/editer_breve.php
index 7bdb3447c150c2aee682b94ed496964ba6c5ee40..fa71ead252db63460d7918ed31dbb09f86350900 100644
--- a/ecrire/action/editer_breve.php
+++ b/ecrire/action/editer_breve.php
@@ -121,7 +121,7 @@ function revisions_breves ($id_breve, $c=false) {
 	// Si la breve est publiee, invalider les caches et demander sa reindexation
 	$t = sql_getfetsel("statut", "spip_breves", "id_breve=$id_breve");
 	if ($t == 'publie') {
-		$invalideur = "id='id_breve/$id_breve'";
+		$invalideur = "id='breve/$id_breve'";
 		$indexation = true;
 	}
 
@@ -180,7 +180,7 @@ function revisions_breves ($id_breve, $c=false) {
 
 	// Invalider les caches
 	include_spip('inc/invalideur');
-	suivre_invalideur("id='id_breve/$id_breve'");
+	suivre_invalideur("id='breve/$id_breve'");
 
 	// Au besoin, changer le statut des rubriques concernees 
 	include_spip('inc/rubriques');
diff --git a/ecrire/action/editer_rubrique.php b/ecrire/action/editer_rubrique.php
index c9483eb703e7f9487f40aa2d0b4cdbf1d8f9e13b..9147cb0e381e1aad357ed118ab5cddc1c21a6f09 100644
--- a/ecrire/action/editer_rubrique.php
+++ b/ecrire/action/editer_rubrique.php
@@ -110,7 +110,7 @@ function revisions_rubriques($id_rubrique, $c=false) {
 
 	// invalider les caches marques de cette rubrique
 	include_spip('inc/invalideur');
-	suivre_invalideur("id='id_rubrique/$id_rubrique'");
+	suivre_invalideur("id='rubrique/$id_rubrique'");
 	// et celui de menu_rubriques 
 	effacer_meta("date_calcul_rubriques");
 
diff --git a/ecrire/action/instituer_langue_rubrique.php b/ecrire/action/instituer_langue_rubrique.php
index 72a74cffa52b723ccde7e4fb13d793daa84cf02b..183df933b7664a4d865447834368e2dd54ad9200 100644
--- a/ecrire/action/instituer_langue_rubrique.php
+++ b/ecrire/action/instituer_langue_rubrique.php
@@ -40,7 +40,7 @@ function action_instituer_langue_rubrique_dist() {
 
 		// invalider les caches marques de cette rubrique
 		include_spip('inc/invalideur');
-		suivre_invalideur("id='id_rubrique/$id_rubrique'");
+		suivre_invalideur("id='rubrique/$id_rubrique'");
 	}
 }
 ?>
diff --git a/ecrire/action/joindre.php b/ecrire/action/joindre.php
index 9b69e277849902911e2ad7af2e340c206c4ae66c..84313fd5e29cbda753f2b7e8fcaaf9877279757a 100644
--- a/ecrire/action/joindre.php
+++ b/ecrire/action/joindre.php
@@ -196,7 +196,7 @@ function joindre_documents($files, $mode, $type, $id, $id_document, $hash, $redi
 	}
 	// un invalideur a la hussarde qui doit marcher au moins pour article, breve, rubrique
 	include_spip('inc/invalideur');
-	suivre_invalideur("id='id_$type/$id'");
+	suivre_invalideur("id='$type/$id'");
 	return $x;
 }
 
diff --git a/ecrire/action/supprimer.php b/ecrire/action/supprimer.php
index eabbe27726016ee8f0945ab375abf094ffdcb39c..3542226a950ab78385bdf23619bc965a7e5aba2d 100644
--- a/ecrire/action/supprimer.php
+++ b/ecrire/action/supprimer.php
@@ -60,7 +60,7 @@ function action_supprimer_rubrique($r)
 
 	// invalider les caches marques de cette rubrique
 	include_spip('inc/invalideur');
-	suivre_invalideur("id='id_rubrique/$id_rubrique'");
+	suivre_invalideur("id='rubrique/$id_rubrique'");
 }
 
 ?>
diff --git a/ecrire/inc/invalideur.php b/ecrire/inc/invalideur.php
index e305ab5318082c7b24d7df47cc764fb4b4ed4680..775f15c2a8406a4bb4f8d33a3be1a3039a62efc6 100644
--- a/ecrire/inc/invalideur.php
+++ b/ecrire/inc/invalideur.php
@@ -58,6 +58,8 @@ function taille_du_cache() {
 }
 
 // Invalider les caches lies a telle condition
+// les invalideurs sont de la forme 'objet/id_objet'
+// la condition est generalement "id='objet/id_objet'"
 // ici on se contente de noter la date de mise a jour dans les metas
 // http://doc.spip.org/@suivre_invalideur
 function suivre_invalideur($cond, $modif=true) {
@@ -65,11 +67,8 @@ function suivre_invalideur($cond, $modif=true) {
 		return;
 
 	// determiner l'objet modifie : forum, article, etc
-	if (preg_match(',id_([a-z]+),', $cond, $r))
-		$objet = $r[1];
-	// cas particulier des signatures
-	else if (strpos($cond, 'varia/pet'))
-		$objet = 'signature';
+	if (preg_match(',["\']([a-z_]+)[/"\'],', $cond, $r))
+		$objet = objet_type($r[1]);
 
 	// stocker la date_modif_$objet (ne sert a rien pour le moment)
 	if (isset($objet))
@@ -85,7 +84,6 @@ function suivre_invalideur($cond, $modif=true) {
 	else
 		ecrire_meta('derniere_modif', time());
 
-
 }
 
 
@@ -234,9 +232,7 @@ function supprime_invalideurs() { }
 // http://doc.spip.org/@maj_invalideurs
 function maj_invalideurs ($fichier, &$page) { }
 
-// pour les forums l'invalideur est : 'id_forum/a23'
-// pour les petitions et autres, l'invalideur est par exemple :
-// 'varia/pet60'
+// les invalideurs sont de la forme "objet/id_objet"
 // http://doc.spip.org/@insere_invalideur
 function insere_invalideur($inval, $fichier) { }
 
diff --git a/ecrire/inc/modifier.php b/ecrire/inc/modifier.php
index a671cb62bf2121c10d3e6c3c8897e575f1ae0a63..899555664be8a319b4bdc03afc773da96e38c45e 100644
--- a/ecrire/inc/modifier.php
+++ b/ecrire/inc/modifier.php
@@ -238,7 +238,7 @@ function revision_article ($id_article, $c=false) {
 	// Si l'article est publie, invalider les caches et demander sa reindexation
 	$t = sql_getfetsel("statut", "spip_articles", "id_article=$id_article");
 	if ($t == 'publie') {
-		$invalideur = "id='id_article/$id_article'";
+		$invalideur = "id='article/$id_article'";
 		$indexation = true;
 	}