diff --git a/casse-noisettes.html b/casse-noisettes.html
index 04d6779379efed9f736e72e3281331e6437db127..a761d98f25e5f8c7c8025c43fc0e53e89ebccaa7 100644
--- a/casse-noisettes.html
+++ b/casse-noisettes.html
@@ -1,54 +1,54 @@
 <table border='1' width='100%'>
 <tr><td colspan=2 align=center>Balise hors boucle </td></tr>
-<tr><td>NOM_SITE_SPIP</td><td> #NOM_SITE_SPIP</td></tr>
-<tr><td>EMAIL_WEBMASTER</td><td> #EMAIL_WEBMASTER</td></tr>
-<tr><td>CHARSET</td><td> #CHARSET</td></tr>
-<tr><td>LANG_LEFT</td><td> #LANG_LEFT</td></tr>
-<tr><td>LANG_RIGHT</td><td> #LANG_RIGHT</td></tr>
-<tr><td>LANG_DIR</td><td> #LANG_DIR</td></tr>
-<tr><td>PUCE</td><td> #PUCE</td></tr>
-<tr><td>DATE</td><td> #DATE</td></tr>
-<tr><td>DATE_REDAC</td><td> #DATE_REDAC</td></tr>
-<tr><td>DATE_MODIF</td><td> #DATE_MODIF</td></tr>
-<tr><td>DATE_NOUVEAUTES</td><td> #DATE_NOUVEAUTES</td></tr>
-<tr><td>URL_SITE_SPIP</td><td> #URL_SITE_SPIP</td></tr>
-<tr><td>URL_ARTICLE</td><td> #URL_ARTICLE</td></tr>
-<tr><td>URL_RUBRIQUE</td><td> #URL_RUBRIQUE</td></tr>
-<tr><td>URL_BREVE</td><td> #URL_BREVE</td></tr>
-<tr><td>URL_MOT</td><td> #URL_MOT</td></tr>
-<tr><td>URL_FORUM</td><td> #URL_FORUM</td></tr>
-<tr><td>URL_DOCUMENT</td><td> #URL_DOCUMENT</td></tr>
-<tr><td>URL_AUTEUR</td><td> #URL_AUTEUR</td></tr>
-<tr><td>NOTES</td><td> #NOTES</td></tr>
-<tr><td>RECHERCHE</td><td> #RECHERCHE</td></tr>
-<tr><td>POPULARITE_ABSOLUE</td><td> #POPULARITE_ABSOLUE</td></tr>
-<tr><td>POPULARITE_SITE</td><td> #POPULARITE_SITE</td></tr>
-<tr><td>POPULARITE_MAX</td><td> #POPULARITE_MAX</td></tr>
-<tr><td>EMBED_DOCUMENT</td><td> #EMBED_DOCUMENT</td></tr>
-<tr><td>DEBUT_SURLIGNE</td><td> #DEBUT_SURLIGNE</td></tr>
-<tr><td>FIN_SURLIGNE</td><td> #FIN_SURLIGNE</td></tr>
-<tr><td>MENU_LANG</td><td> #MENU_LANG</td></tr>
-<tr><td>MENU_LANG_ECRIRE</td><td> #MENU_LANG_ECRIRE</td></tr>
-<tr><td>LOGIN_PRIVE</td><td> #LOGIN_PRIVE</td></tr>
-<tr><td>LOGIN_PUBLIC</td><td> #LOGIN_PUBLIC</td></tr>
-<tr><td>URL_LOGOUT</td><td> #URL_LOGOUT</td></tr>
-<tr><td>INTRODUCTION</td><td> #INTRODUCTION</td></tr>
-<tr><td>LANG</td><td> #LANG</td></tr>
-<tr><td>LESAUTEURS</td><td> #LESAUTEURS</td></tr>
-<tr><td>PETITION</td><td> #PETITION</td></tr>
-<tr><td>POPULARITE</td><td> #POPULARITE</td></tr>
-<tr><td>EXTRA</td><td> #EXTRA</td></tr>
+<tr><td>&#35;NOM_SITE_SPIP</td><td> #NOM_SITE_SPIP</td></tr>
+<tr><td>&#35;EMAIL_WEBMASTER</td><td> #EMAIL_WEBMASTER</td></tr>
+<tr><td>&#35;CHARSET</td><td> #CHARSET</td></tr>
+<tr><td>&#35;LANG_LEFT</td><td> #LANG_LEFT</td></tr>
+<tr><td>&#35;LANG_RIGHT</td><td> #LANG_RIGHT</td></tr>
+<tr><td>&#35;LANG_DIR</td><td> #LANG_DIR</td></tr>
+<tr><td>&#35;PUCE</td><td> #PUCE</td></tr>
+<tr><td>&#35;DATE</td><td> #DATE</td></tr>
+<tr><td>&#35;DATE_REDAC</td><td> #DATE_REDAC</td></tr>
+<tr><td>&#35;DATE_MODIF</td><td> #DATE_MODIF</td></tr>
+<tr><td>&#35;DATE_NOUVEAUTES</td><td> #DATE_NOUVEAUTES</td></tr>
+<tr><td>&#35;URL_SITE_SPIP</td><td> #URL_SITE_SPIP</td></tr>
+<tr><td>&#35;URL_ARTICLE</td><td> #URL_ARTICLE</td></tr>
+<tr><td>&#35;URL_RUBRIQUE</td><td> #URL_RUBRIQUE</td></tr>
+<tr><td>&#35;URL_BREVE</td><td> #URL_BREVE</td></tr>
+<tr><td>&#35;URL_MOT</td><td> #URL_MOT</td></tr>
+<tr><td>&#35;URL_FORUM</td><td> #URL_FORUM</td></tr>
+<tr><td>&#35;URL_DOCUMENT</td><td> #URL_DOCUMENT</td></tr>
+<tr><td>&#35;URL_AUTEUR</td><td> #URL_AUTEUR</td></tr>
+<tr><td>&#35;NOTES</td><td> #NOTES</td></tr>
+<tr><td>&#35;RECHERCHE</td><td> #RECHERCHE</td></tr>
+<tr><td>&#35;POPULARITE_ABSOLUE</td><td> #POPULARITE_ABSOLUE</td></tr>
+<tr><td>&#35;POPULARITE_SITE</td><td> #POPULARITE_SITE</td></tr>
+<tr><td>&#35;POPULARITE_MAX</td><td> #POPULARITE_MAX</td></tr>
+<tr><td>&#35;EMBED_DOCUMENT</td><td> #EMBED_DOCUMENT</td></tr>
+<tr><td>&#35;DEBUT_SURLIGNE</td><td> #DEBUT_SURLIGNE</td></tr>
+<tr><td>&#35;FIN_SURLIGNE</td><td> #FIN_SURLIGNE</td></tr>
+<tr><td>&#35;MENU_LANG</td><td> #MENU_LANG</td></tr>
+<tr><td>&#35;MENU_LANG_ECRIRE</td><td> #MENU_LANG_ECRIRE</td></tr>
+<tr><td>&#35;LOGIN_PRIVE</td><td> #LOGIN_PRIVE</td></tr>
+<tr><td>&#35;LOGIN_PUBLIC</td><td> #LOGIN_PUBLIC</td></tr>
+<tr><td>&#35;URL_LOGOUT</td><td> #URL_LOGOUT</td></tr>
+<tr><td>&#35;INTRODUCTION</td><td> #INTRODUCTION</td></tr>
+<tr><td>&#35;LANG</td><td> #LANG</td></tr>
+<tr><td>&#35;LESAUTEURS</td><td> #LESAUTEURS</td></tr>
+<tr><td>&#35;PETITION</td><td> #PETITION</td></tr>
+<tr><td>&#35;POPULARITE</td><td> #POPULARITE</td></tr>
+<tr><td>&#35;EXTRA</td><td> #EXTRA</td></tr>
 </table>
 <hr /> 
 <table border='1' width='100%'>
 <tr><td colspan=2 align=center>Balises interdites hors boucle </td></tr>
-<tr><td>POINTS</td><td><BOUCLE_POINTS(ARTICLES){1,1}{recherche}>#POINTS</BOUCLE_POINTS></td></tr>
-<tr><td>TOTAL_BOUCLE</td><td><BOUCLE_TOTAL_BOUCLE(AUTEURS)> #TOTAL_BOUCLE</BOUCLE_TOTAL_BOUCLE></td></tr>
-<tr><td>COMPTEUR_BOUCLE</td><td><BOUCLE_COMPTEUR_BOUCLE(AUTEURS)> #COMPTEUR_BOUCLE</BOUCLE_COMPTEUR_BOUCLE></td></tr>
-<tr><td>EXPOSER</td><td><BOUCLE_EXPOSER(ARTICLES){1,1}> #EXPOSER</BOUCLE_EXPOSER></td></tr>
-<tr><td>{titre=#&nbsp;NOM_SITE_SPIP}</td><td><BOUCLE_TITRE2(ARTICLES){id_rubrique}{id_article=#NOM_SITE_SPIP}{"<br />"}>#ID_ARTICLE #TITRE #NOM_SITE_SPIP</BOUCLE_TITRE2></td></tr>
-<tr><td>{id_article=#&nbsp;ID_RUBRIQUE}</td><td><BOUCLE1(RUBRIQUES){par id_rubrique}><BOUCLE_TITRE1(ARTICLES){id_rubrique}{id_article=#ID_RUBRIQUE}{"<br />"}>#ID_RUBRIQUE #ID_ARTICLE </BOUCLE_TITRE1><br />#TOTAL_BOUCLE</B_TITRE1> </BOUCLE1></td></tr>
-<tr><td>{titre=#&nbsp;TITRE*}</td><td><BOUCLE3(RUBRIQUES){par id_rubrique}><BOUCLE_TITRE3(ARTICLES){id_rubrique}{id_article=#TITRE*}{"<br />"}>#ID_RUBRIQUE #TITRE #ID_ARTICLE </BOUCLE_TITRE3></B_TITRE3> </BOUCLE3></td></tr>
+<tr><td>&#35;POINTS</td><td><BOUCLE_POINTS(ARTICLES){1,1}{recherche}>#POINTS</BOUCLE_POINTS></td></tr>
+<tr><td>&#35;TOTAL_BOUCLE</td><td><BOUCLE_TOTAL_BOUCLE(AUTEURS)> #TOTAL_BOUCLE</BOUCLE_TOTAL_BOUCLE></td></tr>
+<tr><td>&#35;COMPTEUR_BOUCLE</td><td><BOUCLE_COMPTEUR_BOUCLE(AUTEURS)> #COMPTEUR_BOUCLE</BOUCLE_COMPTEUR_BOUCLE></td></tr>
+<tr><td>&#35;EXPOSER</td><td><BOUCLE_EXPOSER(ARTICLES){1,1}> #EXPOSER</BOUCLE_EXPOSER></td></tr>
+<tr><td>{titre=&#35;NOM_SITE_SPIP}</td><td><BOUCLE_TITRE2(ARTICLES){id_rubrique}{id_article=#NOM_SITE_SPIP}{"<br />"}>#ID_ARTICLE #TITRE #NOM_SITE_SPIP</BOUCLE_TITRE2></td></tr>
+<tr><td>{id_article=&#35;ID_RUBRIQUE}</td><td><BOUCLE1(RUBRIQUES){par id_rubrique}><BOUCLE_TITRE1(ARTICLES){id_rubrique}{id_article=#ID_RUBRIQUE}{"<br />"}>#ID_RUBRIQUE #ID_ARTICLE </BOUCLE_TITRE1><br />#TOTAL_BOUCLE</B_TITRE1> </BOUCLE1></td></tr>
+<tr><td>{titre=&#35;TITRE*}</td><td><BOUCLE3(RUBRIQUES){par id_rubrique}><BOUCLE_TITRE3(ARTICLES){id_rubrique}{id_article=#TITRE*}{"<br />"}>#ID_RUBRIQUE #TITRE #ID_ARTICLE </BOUCLE_TITRE3></B_TITRE3> </BOUCLE3></td></tr>
 <tr><td>0:TITRE</td><td><BOUCLE0(RUBRIQUES){0,1}{par id_rubrique}>#TITRE<BOUCLE_TITRE(ARTICLES){1,1}{par id_article}> (#ID_RUBRIQUE) #TITRE  #0:TITRE</BOUCLE_TITRE></BOUCLE0></td></tr>
 </table>
 <hr />
@@ -116,3 +116,10 @@
 </BOUCLE_LOGO_DOCUMENT></td></tr>
 </table>
 <hr /> 
+<table border='1' width='100%'>
+<tr><td colspan=2 align=center>A tout bout de champs</td></tr> 
+<tr><td>[[g1 (&#35;TITRE) d1 [[g3 (&#35;TITRE) d3] (&#35;TITRE|strtoupper) [g4 (&#35;TITRE) d4]]] (&#35;TITRE|strtoupper) [g5 (&#35;TITRE) d5]][g6 (&#35;TITRE) d7]</td><td><BOUCLE_a(ARTICLES){1,1}>
+[[g1 (#TITRE)d1 [[g3 (#TITRE) d3] (#TITRE|strtoupper) [g4 (#TITRE) d4]]] (#TITRE|strtoupper) [g5 (#TITRE) d5]][g6 (#TITRE) d7]</td></tr></BOUCLE_a>
+</table>
+
+
diff --git a/lagaffe.php3 b/lagaffe.php3
index edbdf30b02c28780a9340e1a9fe2adc6f17b2f2a..df247d9c51f53f59f045bbe39ad9ff9c1bf6b449 100644
--- a/lagaffe.php3
+++ b/lagaffe.php3
@@ -35,13 +35,13 @@ function dispose_champs($type)
 {
   $corps = '';
   $p = new Champ;
-  $p->id_boucle = $nom;
+  $p->id_boucle = '';
   $p->boucles = '';
-  $p->id_mere = $nom;
+  $p->id_mere = '';
   $p->etoile = false; # le + dur
   $p->documents = true; # le + dur
   $p->statut = 'html';
-  $p->type_requete = $v;
+  $p->type_requete = '';
   $p->code ='';
   global $tables_principales;
   foreach($tables_principales[$type]['field'] as $n => $t) {
@@ -110,9 +110,14 @@ foreach($table_des_tables as $k => $v)
     "\n<br><hr><br>\n";
 }
 
-$res .= "</body></html>";
 $fond = "lagaffe";
-$f = fopen($GLOBALS['dossier_squelettes'] . $fond. ".html",'w');
+if (!($f = fopen($GLOBALS['dossier_squelettes'] . $fond. ".html",'w')))
+  {if (function_exists("php_sapi_name")  AND eregi("cgi", @php_sapi_name()))
+      Header("Status: 503");
+    else Header("HTTP/1.0 Service Unavailable");
+    echo ("impossible d'écrire le fichier de tests");
+    exit;
+  }
 fwrite($f, $res);
 fwrite($f, '<INCLUDE(casse-noisettes.php3)>');
 fclose($f);
@@ -121,5 +126,5 @@ $flag_dynamique = true;
 $delais = 0;
 
 include ("inc-public.php3");
-
+$res .= "</body></html>";
 ?>