diff --git a/ecrire/inc/invalideur.php b/ecrire/inc/invalideur.php
index 4a162d93a73c194aa50cc5b926a909fdafdf9e21..8761232e88f35d33473e4727a0f42c2780519805 100644
--- a/ecrire/inc/invalideur.php
+++ b/ecrire/inc/invalideur.php
@@ -19,16 +19,6 @@ function supprime_invalideurs() {
 	spip_query("DELETE FROM spip_caches");
 }
 
-
-// Compilateur : ajouter un invalideur "$type/$valeur" a un code donne
-// Attention le type est compile, pas forcement la valeur
-function ajouter_invalideur($type, $valeur, $code) {
-	return '
-	// invalideur '.$type.'
-	(!($Cache[\''.$type.'\']['.$valeur."]=1) ? '':\n\t" . $code .")\n";
-}
-
-
 //
 // Calcul des pages : noter dans la base les liens d'invalidation
 //
diff --git a/ecrire/public/balises.php b/ecrire/public/balises.php
index e8cad9531e55a89282dbc15e6e3ef7c7c5550e5a..7b6fab5456b447017e44e76626b8cd04e740e77b 100644
--- a/ecrire/public/balises.php
+++ b/ecrire/public/balises.php
@@ -713,16 +713,17 @@ function balise_PARAMETRES_FORUM_dist($p) {
 // Noter l'invalideur de la page contenant ces parametres,
 // en cas de premier post sur le forum
 function code_invalideur_forums($p, $code) {
-	include_spip('inc/invalideur');
 	$type = 'id_forum';
 	$valeur = "\n\t\tcalcul_index_forum("
-		// Retournera 4 [$SP] mais force la demande du champ a MySQL
+		// Retournera 4 [$SP] mais force la demande du champ SQL
 		. champ_sql('id_article', $p) . ','
 		. champ_sql('id_breve', $p) .  ','
 		. champ_sql('id_rubrique', $p) .','
 		. champ_sql('id_syndic', $p) .  ")\n\t";
 
-	return ajouter_invalideur($type, $valeur, $code);
+	return '
+	// invalideur '.$type.'
+	(!($Cache[\''.$type.'\']['.$valeur."]=1) ? '':\n\t" . $code .")\n";
 }
 
 // Reference a l'URL de la page courante
diff --git a/ecrire/public/compiler_squelette.php b/ecrire/public/compiler_squelette.php
index 3086e8590d4b316afa29c121284aaec1a28ab217..5bec042483be287f52fb8eb973c63f364d48b30c 100644
--- a/ecrire/public/compiler_squelette.php
+++ b/ecrire/public/compiler_squelette.php
@@ -659,8 +659,6 @@ function public_compiler_squelette_dist($squelette, $nom, $gram, $sourcefile) {
 	// Calcul du corps de toutes les fonctions PHP,
 	// en particulier les requetes SQL et TOTAL_BOUCLE
 	// de'terminables seulement maintenant
-	//  Les 4 premiers parame`tres sont passe's par re'fe'rence
-	// (les 1er et 3e pour modif, les 2 et 4 pour gain de place)
 
 	foreach($boucles as $id => $boucle) {
 		// appeler la fonction de definition de la boucle
@@ -693,7 +691,7 @@ function public_compiler_squelette_dist($squelette, $nom, $gram, $sourcefile) {
 		.preg_replace(',\.html$,', '', $sourcefile)
 		."] ".creer_repertoire(_DIR_CACHE, 'skel')."$nom.php");
 
-	$squelette_compile = "<"."?php
+	$code = "<"."?php
 /*
  * Squelette : $sourcefile
  * Date :      ".http_gmoddate(@filemtime($sourcefile))." GMT
@@ -701,23 +699,25 @@ function public_compiler_squelette_dist($squelette, $nom, $gram, $sourcefile) {
  * " . (!$boucles ?  "Pas de boucle" :
 	("Boucles :   " . join (', ', array_keys($boucles)))) ."
  */ " .
-	  // ATTENTION, le calcul du l'expression $corps affectera $Cache
-	  // ==> l'affecter a une variable auxiliaire avant de referencer $Cache
-	  $code . "
+	  $code . '
 
 //
-// Fonction principale du squelette $sourcefile
+// Fonction principale du squelette ' . $sourcefile ."
 //
-function $nom (\$Cache, \$Pile, \$doublons=array(), \$Numrows='', \$SP=0) {
-	\$page = $corps;
+function " . $nom . '($Cache, $Pile, $doublons=array(), $Numrows=array(), $SP=0) {
+	$page = ' .
+	// ATTENTION, le calcul du l'expression $corps affectera 
+	// c'est pourquoi on l'affecte a cette variable auxiliaire
+	// avant de referencer $Cache
+	$corps . ";
 	return analyse_resultat_skel('$nom', \$Cache, \$page);
 }
 
 ?".">";
 
 	if ($GLOBALS['var_mode'] == 'debug')
-	  squelette_debug_compile($nom, $sourcefile, $squelette_compile, $squelette);
-	return $squelette_compile;
+		squelette_debug_compile($nom, $sourcefile, $code, $squelette);
+	return $code;
 
 }
 
diff --git a/ecrire/public/executer_squelette.php b/ecrire/public/executer_squelette.php
index dbab42d42dbe593e15b7a7dc621aa93d42858932..47b3b4baa5b6c26668c49a3eb23e3ecacf7e38bf 100644
--- a/ecrire/public/executer_squelette.php
+++ b/ecrire/public/executer_squelette.php
@@ -435,7 +435,7 @@ function sql_auteurs($id_article, $table, $id_boucle, $serveur='') {
 	return (!$auteurs) ? "" : join($auteurs, ", ");
 }
 
-function sql_petitions($id_article, $table, $id_boucle, $serveur, &$Cache) {
+function sql_petitions($id_article, $table, $id_boucle, $serveur, &$cache) {
 	$retour = spip_abstract_fetsel(
 		array('texte'),
 		array('spip_petitions'),
@@ -445,7 +445,7 @@ function sql_petitions($id_article, $table, $id_boucle, $serveur, &$Cache) {
 
 	if (!$retour) return '';
 	# cette page est invalidee par toute petition
-	$Cache['varia']['pet'.$id_article] = 1;
+	$cache['varia']['pet'.$id_article] = 1;
 	# ne pas retourner '' car le texte sert aussi de presence
 	return ($retour['texte'] ? $retour['texte'] : ' ');
 }
diff --git a/ecrire/public/localiser_page.php b/ecrire/public/localiser_page.php
index aafdfc11b3e6774cdab7b20425199263d23891ee..d984a87af60a9af85a6780dfe18e666130c5ee82 100644
--- a/ecrire/public/localiser_page.php
+++ b/ecrire/public/localiser_page.php
@@ -152,7 +152,7 @@ function signaler_squelette($contexte)
 
 
 
-function analyse_resultat_skel($nom, $Cache, $corps) {
+function analyse_resultat_skel($nom, $cache, $corps) {
 	$headers = array();
 
 	// Recupere les < ?php header('Xx: y'); ? > pour $page['headers']
@@ -171,7 +171,7 @@ function analyse_resultat_skel($nom, $Cache, $corps) {
 	return array('texte' => $corps,
 		'squelette' => $nom,
 		'process_ins' => ((strpos($corps,'<'.'?')=== false)?'html':'php'),
-		'invalideurs' => $Cache,
+		'invalideurs' => $cache,
 		'entetes' => $headers,
 		'duree' => $headers['X-Spip-Cache']
 	);