diff --git a/ecrire/public/compilo.php b/ecrire/public/compilo.php
index aeb2d1f157b4dcde7f4ea5455084aebed9ead888..876da64acfda709a77a35a74ddf217fcc5768dc8 100644
--- a/ecrire/public/compilo.php
+++ b/ecrire/public/compilo.php
@@ -592,9 +592,9 @@ function calculer_squelette($squelette, $nom, $gram, $sourcefile) {
 	$boucles = array();
 	spip_timer('calcul_skel');
 
-	include_spip('public/phraser_'.$gram);
+	$f = include_fonction('phraser_'.$gram, 'public');
 
-	$racine = phraser($squelette, '',$boucles, $nom);
+	$racine = $f($squelette, '',$boucles, $nom);
 
 	// tableau des informations sur le squelette
 	$descr = array('nom' => $nom, 'documents' => false, 'sourcefile' => $sourcefile);
diff --git a/ecrire/public/phraser_html.php b/ecrire/public/phraser_html.php
index a485ea2dcc07a63f353a95433bb87d0a01f75da1..d18d58ce1872d2e72a315f802252e8425690bb2e 100644
--- a/ecrire/public/phraser_html.php
+++ b/ecrire/public/phraser_html.php
@@ -13,7 +13,7 @@
 
 if (!defined("_ECRIRE_INC_VERSION")) return;
 
-# Ce fichier doit IMPERATIVEMENT contenir la fonction "phraser"
+# Ce fichier doit IMPERATIVEMENT definir la fonction "public_phraser_html"
 # qui transforme un squelette en un tableau d'objets de classe Boucle
 # il est charge par un include calcule dans inc-calcul-squel
 # pour permettre differentes syntaxes en entree
@@ -494,7 +494,7 @@ function phraser_critere_infixe($arg1, $arg2, $args, $op, $not, $cond)
 	return $crit;
 }
 
-function phraser($texte, $id_parent, &$boucles, $nom, $ligne=1) {
+function public_phraser_html($texte, $id_parent, &$boucles, $nom, $ligne=1) {
 
 	$all_res = array();
 
@@ -623,10 +623,10 @@ function phraser($texte, $id_parent, &$boucles, $nom, $ligne=1) {
 				$result->altern);
 		}
 
-		$result->avant = phraser($result->avant, $id_parent,$boucles, $nom, $result->ligne);
-		$result->apres = phraser($result->apres, $id_parent,$boucles, $nom, $result->ligne+$b+$m);
-		$result->altern = phraser($result->altern,$id_parent,$boucles, $nom, $result->ligne+$a+$m+$b);
-		$result->milieu = phraser($milieu, $id_boucle,$boucles, $nom, $result->ligne+$b);
+		$result->avant = public_phraser_html($result->avant, $id_parent,$boucles, $nom, $result->ligne);
+		$result->apres = public_phraser_html($result->apres, $id_parent,$boucles, $nom, $result->ligne+$b+$m);
+		$result->altern = public_phraser_html($result->altern,$id_parent,$boucles, $nom, $result->ligne+$a+$m+$b);
+		$result->milieu = public_phraser_html($milieu, $id_boucle,$boucles, $nom, $result->ligne+$b);
 
 		if ($boucles[$id_boucle]) {
 			erreur_squelette(_T('zbug_erreur_boucle_syntaxe'),