diff --git a/ecrire/exec/admin_plugin.php b/ecrire/exec/admin_plugin.php
index 41f4b553632aa818a5e7d54d8100244ad327c16b..d1e63b7fe27ec7489b7ba996bc63752b164a8a3b 100644
--- a/ecrire/exec/admin_plugin.php
+++ b/ecrire/exec/admin_plugin.php
@@ -297,7 +297,7 @@ function ligne_plug($plug_file, $actif, $id){
 	// TODO : n'afficher que les actifs, les autres en AHAH
 	if (true
 	OR $actif
-	OR $GLOBALS['spip_accepte_ajax']!=1) # va-t-on afficher le bloc ?
+	OR _SPIP_AJAX!=1) # va-t-on afficher le bloc ?
 		$s .= affiche_bloc_plugin($plug_file, $info);
 
 	return $s;
diff --git a/ecrire/exec/auteurs.php b/ecrire/exec/auteurs.php
index e29f6acd046b77653ee6640ec80b1f6601b368f4..96f634195844fd1577e60fc61201a660d21c5713 100644
--- a/ecrire/exec/auteurs.php
+++ b/ecrire/exec/auteurs.php
@@ -227,7 +227,7 @@ function auteurs_href($clic, $args='', $att='')
 {
 	$h = generer_url_ecrire('auteurs', $args);
 	$a = 'auteurs';
-	if ($_COOKIE['spip_accepte_ajax'] == 1 )
+	if (_SPIP_AJAX == 1 )
 		$att .= ("\nonclick=" . ajax_action_declencheur($h,$a));
 
 	return "<a href='$h#$a'$att>$clic</a>";
diff --git a/ecrire/inc/actions.php b/ecrire/inc/actions.php
index 6059ce7d69865545d6addd35f1fd34cbb769b727..cab96833b992d88c79deba725f113ff38f71657d 100644
--- a/ecrire/inc/actions.php
+++ b/ecrire/inc/actions.php
@@ -53,7 +53,7 @@ function ajax_action_auteur($action, $id, $script, $args='', $corps=false, $args
 	if (is_string($corps)) {
 
 		// Methode traditionnelle
-		if ($_COOKIE['spip_accepte_ajax'] != 1) {
+		if (_SPIP_AJAX != 1) {
 			return redirige_action_auteur($action,
 				$id,
 				$script,
diff --git a/ecrire/inc/agenda.php b/ecrire/inc/agenda.php
index 59df9217693f97600cb2b22a7cf00a9e0c99c7bb..edbcd269302ba5597d9471bcbf65e393fb1be271 100644
--- a/ecrire/inc/agenda.php
+++ b/ecrire/inc/agenda.php
@@ -87,7 +87,7 @@ function calendrier_href($script, $annee, $mois, $jour, $type, $fin, $ancre, $im
 	$moi = preg_match("/exec=" . $GLOBALS['exec'] .'$/', $script);
 	if ($img) $clic =  http_img_pack($img, ($alt ? $alt : $titre), $c);
 	  // pas d'Ajax pour l'espace public pour le moment ou si indispo
-	if (_DIR_RESTREINT  || !$moi || (isset($_COOKIE['spip_accepte_ajax']) && ($_COOKIE['spip_accepte_ajax'] != 1 )))
+	if (_DIR_RESTREINT  || !$moi || (_SPIP_AJAX != 1 ))
 
 		return http_href("$h$a", $clic, $titre, $style, $class, $evt);
 	else {
diff --git a/ecrire/inc/boutons.php b/ecrire/inc/boutons.php
index 9a5ae42834e932f7442687814d09ff8ed4e6cb33..3a7f2566153e12303aa42e5bb363ad5a1a74b65e 100644
--- a/ecrire/inc/boutons.php
+++ b/ecrire/inc/boutons.php
@@ -422,12 +422,9 @@ function bandeau_principal2($rubrique, $sous_rubrique, $largeur) {
 	if ($GLOBALS['browser_name']=="MSIE") $coeff_decalage = 1.0;
 	$largeur_maxi_menu = $largeur-100;
 	$largitem_moy = 85;
-	$ajax =  isset($_COOKIE['spip_accepte_ajax']) 
-	  ? ($_COOKIE['spip_accepte_ajax']!=-1)
-	: 1;
 
 	foreach($GLOBALS['boutons_admin'] as $page => $detail) {
-		if (($rubrique == $page) AND $ajax) {
+		if (($rubrique == $page) AND (_SPIP_AJAX !=-1)) {
 			$class = "visible_au_chargement";
 		} else {
 			$class = "invisible_au_chargement";
diff --git a/ecrire/inc/chercher_rubrique.php b/ecrire/inc/chercher_rubrique.php
index b9feaa9d3e631e43ecc76fa7432dcecd17fd5076..727b1f49b02577b7ae0a727942f21fe963db171d 100644
--- a/ecrire/inc/chercher_rubrique.php
+++ b/ecrire/inc/chercher_rubrique.php
@@ -30,7 +30,7 @@ function inc_chercher_rubrique_dist ($id_rubrique, $type, $restreint, $idem=0) {
 	// Mode sans Ajax :
 	// - soit parce que le cookie ajax n'est pas la
 	// - soit parce qu'il y a peu de rubriques
-	if ($_COOKIE['spip_accepte_ajax'] < 1
+	if (_SPIP_AJAX < 1
 	OR $type == 'breve'
 	OR spip_num_rows(
 	spip_query("SELECT id_rubrique FROM spip_rubriques LIMIT ".intval(_SPIP_SELECT_RUBRIQUES+1))) < _SPIP_SELECT_RUBRIQUES)
diff --git a/ecrire/inc/discuter.php b/ecrire/inc/discuter.php
index 5f436e12ac35587f441919887b44c5d9cbea1d79..f570fd2e0018720312cb1ed973caa69dd63e1585 100644
--- a/ecrire/inc/discuter.php
+++ b/ecrire/inc/discuter.php
@@ -20,7 +20,7 @@ function formulaire_discuter($query, $total, $debut, $total_afficher, $script, $
 {
 	$nav ='';
 	if ($total > $total_afficher) {
-		$evt = $_COOKIE['spip_accepte_ajax'] == 1;
+		$evt = _SPIP_AJAX == 1;
 		$nav = "<div class='serif2' align='center'>";
 		for ($i = 0; $i < $total; $i = $i + $total_afficher){
 			$y = $i + $total_afficher - 1;
diff --git a/ecrire/inc/editer_auteurs.php b/ecrire/inc/editer_auteurs.php
index 14af47403de5772e960f9d1a2aad6aad2cc45844..5911c0dff99d95be06e43da2bcad6d5d4d118b71 100644
--- a/ecrire/inc/editer_auteurs.php
+++ b/ecrire/inc/editer_auteurs.php
@@ -217,7 +217,7 @@ function ajouter_auteurs_articles($id_article, $les_auteurs)
 		   "<span  class='visible_au_chargement' id='valider_ajouter_auteur'>" .
 		   " <input type='submit' value='"._T('bouton_ajouter')."' class='fondo' />" .
 		   "</span>")
-		: ((($_COOKIE['spip_accepte_ajax'] < 1) OR
+		: (((_SPIP_AJAX < 1) OR
 		    ($num >= _SPIP_SELECT_MAX_AUTEURS))
 	      ? ("$text <input type='text' name='cherche_auteur' onclick=\"$js\" class='fondl' value='' size='20' /><span  class='visible_au_chargement' id='valider_ajouter_auteur'>\n<input type='submit' value='"._T('bouton_chercher')."' class='fondo' /></span>")
 	      : (selecteur_auteur_ajax($id_article, $js, $text)
diff --git a/ecrire/inc/forum.php b/ecrire/inc/forum.php
index 92ef08f4ab96c56df84755b3b9ced786281fa836..f4fd4e14677fed173e65a88337d5c72bfd65f1b8 100644
--- a/ecrire/inc/forum.php
+++ b/ecrire/inc/forum.php
@@ -18,7 +18,7 @@ function affiche_navigation_forum($script, $args, $debut, $i, $pack, $ancre, $qu
 {
 	$nav = ($i <=0) ? '' : ("<a href='" . generer_url_ecrire($script, $args) ."'>0</a> ... |\n");
 
-	$e = ($_COOKIE['spip_accepte_ajax'] == 1 );
+	$e = (_SPIP_AJAX == 1 );
 
 	$n = spip_num_rows($query);
 
diff --git a/ecrire/inc/gadgets.php b/ecrire/inc/gadgets.php
index 8f5ea5aa64a52c909425ef8c82357c70607f4277..d4a0c7ba471aebfddf3902c6944beecb84a9998c 100644
--- a/ecrire/inc/gadgets.php
+++ b/ecrire/inc/gadgets.php
@@ -478,7 +478,7 @@ function gadget_messagerie() {
 
 // http://doc.spip.org/@repercuter_gadgets
 function repercuter_gadgets($id_rubrique) {
-	if (isset($_COOKIE['spip_accepte_ajax']) && ($_COOKIE['spip_accepte_ajax'] == -1)) return '';
+	if (_SPIP_AJAX == -1) return '';
 
 	$rub = $id_rubrique ? "\\x26id_rubrique=$id_rubrique" : '';
 
diff --git a/ecrire/inc/layer.php b/ecrire/inc/layer.php
index e695d0c4fb5bdcd42fe9a36074fab96abed6b816..565b863d5ddfc68a3ddc438529784d1d9e8b7f23 100644
--- a/ecrire/inc/layer.php
+++ b/ecrire/inc/layer.php
@@ -31,11 +31,8 @@ function block_parfois_visible($nom, $invite, $masque, $style='', $visible=false
 
 	$nom = 'Layer' . renomme_block($nom);
 
-	$ajax =  isset($_COOKIE['spip_accepte_ajax']) 
-	  ? ($_COOKIE['spip_accepte_ajax']!=-1)
-	: 1;
 	// initialement invisible, seulement si on sait rendre visible
-	if (!$visible AND $ajax)
+	if (!$visible AND (_SPIP_AJAX != -1))
 		$visible = 'display:none;';
 	else 	$visible = 'display:block;';
 
@@ -75,7 +72,7 @@ function debut_block_invisible($nom_block){
 	if (!$browser_layer) return '';
 
 	// si on n'accepte pas js, ne pas fermer
-	if ($_COOKIE['spip_accepte_ajax'] == -1)
+	if (_SPIP_AJAX == -1)
 		return debut_block_visible($nom_block);
 
 	return "<div id='Layer".renomme_block($nom_block)."' style='display: none;'>";
@@ -138,7 +135,7 @@ function produire_acceder_couche($couches, $nom, $icone) {
 
 	global $spip_lang_rtl;
 	// ne rien afficher si js desactive
-	if ($_COOKIE['spip_accepte_ajax'] == -1)
+	if (_SPIP_AJAX == -1)
 		return '';
 
 	$onclick = array();
diff --git a/ecrire/inc/legender_auteur.php b/ecrire/inc/legender_auteur.php
index 87db39e046b505983827c4d4a5447d3aea2780ca..2ca5cbefa311ecc9ba61ab95d53490aada76ea83 100644
--- a/ecrire/inc/legender_auteur.php
+++ b/ecrire/inc/legender_auteur.php
@@ -258,7 +258,7 @@ function legender_auteur_voir($auteur, $redirect)
 		$ancre = "legender_auteur-$id_auteur";
 		$clic = _T("admin_modifier_auteur");
 		$h = generer_url_ecrire("auteur_infos","id_auteur=$id_auteur&initial=0");
-		if (($_COOKIE['spip_accepte_ajax'] == 1 ) AND !$redirect) {
+		if ((_SPIP_AJAX == 1 ) AND !$redirect) {
 		  $evt = "\nonclick=" . ajax_action_declencheur($h,$ancre);
 		  $h = "<a\nhref='$h#$ancre'$evt>$clic</a>";
 		}
diff --git a/ecrire/inc/presentation.php b/ecrire/inc/presentation.php
index d44d57ed2758e82ed7f39c6bc15c6bb015611ace..b4436d15117fc9fd9085ebf26788f15f627095ef 100644
--- a/ecrire/inc/presentation.php
+++ b/ecrire/inc/presentation.php
@@ -660,6 +660,11 @@ function afficher_articles($titre, $requete, $formater='') {
 
 	if (!$cpt = $cpt['n']) return '' ;
 
+
+	$requete['FROM'] = preg_replace("/(spip_articles AS \w*)/", "\\1 LEFT JOIN spip_petitions AS petitions USING (id_article)", $requete['FROM']);
+
+	$requete['SELECT'] .= ", petitions.id_article AS petition ";
+
 	// memorisation des arguments pour gérer l'affichage par tranche
 	// et/ou par langues.
 
@@ -680,10 +685,6 @@ function afficher_articles($titre, $requete, $formater='') {
 		$id_ajax = spip_abstract_insert("spip_ajax_fonc", "(variables, hash, date)", "(" . _q($v) . ", 0x$hash, NOW())");
 	}
 
-	$requete['FROM'] = preg_replace("/(spip_articles AS \w*)/", "\\1 LEFT JOIN spip_petitions AS petitions USING (id_article)", $requete['FROM']);
-
-	$requete['SELECT'] .= ", petitions.id_article AS petition ";
-
 	return afficher_articles_trad($titre, $requete, $formater, $tmp_var, $id_ajax, $cpt);
 }
 
@@ -706,7 +707,8 @@ function afficher_articles_trad($titre_table, $requete, $formater, $tmp_var, $id
 	$nb_aff = ($cpt  > floor(1.5 * _TRANCHES)) ? _TRANCHES : floor(1.5 * _TRANCHES) ;
 	$deb_aff = intval(_request($tmp_var));
 
-	$q = spip_query("SELECT " . $requete['SELECT'] . " FROM " . $requete['FROM'] . ($requete['WHERE'] ? (' WHERE ' . $requete['WHERE']) : '') . ($requete['GROUP BY'] ? (' GROUP BY ' . $requete['GROUP BY']) : '') . ($requete['ORDER BY'] ? (' ORDER BY ' . $requete['ORDER BY']) : '') . " LIMIT " . ($deb_aff >= 0 ? "$deb_aff, $nb_aff" : ($requete['LIMIT'] ? $requete['LIMIT'] : "99999")));
+	$q = spip_query($r="SELECT " . $requete['SELECT'] . " FROM " . $requete['FROM'] . ($requete['WHERE'] ? (' WHERE ' . $requete['WHERE']) : '') . ($requete['GROUP BY'] ? (' GROUP BY ' . $requete['GROUP BY']) : '') . ($requete['ORDER BY'] ? (' ORDER BY ' . $requete['ORDER BY']) : '') . " LIMIT " . ($deb_aff >= 0 ? "$deb_aff, $nb_aff" : ($requete['LIMIT'] ? $requete['LIMIT'] : "99999")));
+	spip_log($r);
 	$t = '';
 	while ($r = spip_fetch_array($q)) $t .= $formater($r);
 	spip_free_result($q);
@@ -1253,9 +1255,6 @@ function envoi_link($nom_site_spip) {
 		'&ltr=' . 
 		$GLOBALS['spip_lang_left'];
 
-	$ajax =  isset($_COOKIE['spip_accepte_ajax']) 
-	? $_COOKIE['spip_accepte_ajax']
-	: 0;
 
 	// CSS de secours en cas de non fonct de la suivante
 	$res = '<link rel="stylesheet" type="text/css" href="'
@@ -1279,7 +1278,7 @@ function envoi_link($nom_site_spip) {
 
 	. '<link rel="stylesheet" type="text/css" href="'
 	. find_in_path('spip_style_'
-		. (($ajax != -1) ? 'invisible' : 'visible')
+		. ((_SPIP_AJAX != -1) ? 'invisible' : 'visible')
 		. '.css')
 	.'" />' . "\n"
 
@@ -1321,13 +1320,10 @@ function debut_javascript($admin, $stat)
 	// On envoie un script ajah ; si le script reussit le cookie passera a +1
 	// on installe egalement un <noscript></noscript> qui charge une image qui
 	// pose un cookie valant -1
-	$ajax =  isset($_COOKIE['spip_accepte_ajax']) 
-	? $_COOKIE['spip_accepte_ajax']
-	: 0;
 
 	$testeur = generer_url_ecrire('test_ajax', 'js=1');
 
-	if ($ajax != -1) {
+	if (_SPIP_AJAX != -1) {
 	  // pour le pied de page
 		define('_TESTER_NOSCRIPT',
 			"<noscript>\n<div style='display:none;'><img src='"
@@ -1339,7 +1335,7 @@ function debut_javascript($admin, $stat)
 	// envoi le fichier JS de config si browser ok.
 		$GLOBALS['browser_layer'] .
 	 	http_script(
-			(($ajax >= 1) ? '' : "ajah('GET', '$testeur')") .
+			((_SPIP_AJAX >= 1) ? '' : "ajah('GET', '$testeur')") .
 			"\nvar ajax_image_searching = \n'<div style=\"float: ".$GLOBALS['spip_lang_right'].";\"><img src=\"".url_absolue(_DIR_IMG_PACK."searching.gif")."\" /></div>';" .
 			"\nvar stat = " . ($stat ? 1 : 0) .
 			"\nvar largeur_icone = " .
diff --git a/ecrire/inc/signatures.php b/ecrire/inc/signatures.php
index 1c086159ba50a77d331b0936d14e17cd7e6dd7fa..c64aa722d5db3d8c26b1a62d8a58dcb9ad6b2ada 100644
--- a/ecrire/inc/signatures.php
+++ b/ecrire/inc/signatures.php
@@ -32,13 +32,12 @@ function inc_signatures_dist($script, $id, $debut, $where, $order, $limit='') {
 	}
 	else $args = "";
 
-	$evt = (isset($_COOKIE['spip_accepte_ajax']) AND ($_COOKIE['spip_accepte_ajax'] == 1));
+	$evt = (_SPIP_AJAX == 1);
 
 	$a = "editer_signature-$id";
 
 	$q = spip_query("SELECT date_time FROM spip_signatures " . ($where ? "WHERE $where" : '') . " ORDER BY date_time DESC");
 
-	spip_log("sig $evt");
 	while ($row = spip_fetch_array($q)) {
 		if($c++%$limit==0) {	
 			if ($c > 1) $res .= " | ";
diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php
index d965714c64a9a3f84dca21534013295f6d57d70d..6109399da783b3d1354c34053e622b23f66ced62 100644
--- a/ecrire/inc/utils.php
+++ b/ecrire/inc/utils.php
@@ -1040,6 +1040,9 @@ function spip_initialisation($pi=NULL, $pa=NULL, $ti=NULL, $ta=NULL) {
 		recuperer_cookies_spip($GLOBALS['cookie_prefix']);
 	}
 
+	define('_SPIP_AJAX',  isset($_COOKIE['spip_accepte_ajax']) 
+		? ($_COOKIE['spip_accepte_ajax']!=-1)
+		: 1);
 
 	//
 	// Capacites php (en fonction de la version)