diff --git a/ecrire/exec/articles.php b/ecrire/exec/articles.php
index 06f887ff52f43bd5fea599c2a8f32ba6566195b3..c3bfea049b13ec56b19b40ff33288ea46f8e6a50 100644
--- a/ecrire/exec/articles.php
+++ b/ecrire/exec/articles.php
@@ -109,8 +109,8 @@ function articles_affiche($id_article, $row, $cherche_auteur, $ids, $cherche_mot
 
 	.	(!$iconifier ? '' : $iconifier('id_article', $id_article,'articles'))
 
-	.	(!($options == "avancees" && $connect_statut=='0minirezo' && $flag_editable) ? '' : ( boites_de_config_articles($id_article) . boite_article_virtuel($id_article, $virtuel))) 
-
+	.	boites_de_config_articles($id_article, $flag_editable)
+	.	boite_article_virtuel($id_article, $virtuel, $flag_editable) 
 	.	meme_rubrique($id_rubrique, $id_article, 'article')
 
 	.	 pipeline('affiche_gauche',array('args'=>array('exec'=>'articles','id_article'=>$id_article),'data'=>''))
@@ -226,43 +226,45 @@ function boite_info_articles($id_article, $statut_article, $visites, $id_version
 //
 
 // http://doc.spip.org/@boites_de_config_articles
-function boites_de_config_articles($id_article)
+function boites_de_config_articles($id_article, $modifiable)
 {
-	$nb_forums = spip_fetch_array(spip_query("SELECT COUNT(*) AS count FROM spip_forum WHERE id_article=$id_article 	AND statut IN ('publie', 'off', 'prop')"));
+	$poster = charger_fonction('poster', 'inc');
+	$petitionner = charger_fonction('petitionner', 'inc');
+	$poster = $poster($id_article,"articles","id_article=$id_article", $modifiable);
+	$petitionner = $petitionner($id_article,"articles","id_article=$id_article",$modifiable);
+	$masque = $poster . $petitionner;
+
+	if (!$masque) return '';
+
+	$forums = spip_query("SELECT id_article FROM spip_forum WHERE id_article=$id_article 	AND statut IN ('publie', 'off', 'prop') LIMIT 1");
 
-	$nb_signatures = spip_fetch_array(spip_query("SELECT COUNT(*) AS count FROM spip_signatures WHERE id_article=$id_article AND statut IN ('publie', 'poubelle')"));
+	$visible = spip_fetch_array($forums);
 
-	$nb_forums = $nb_forums['count'];
-	$nb_signatures = $nb_signatures['count'];
-	$visible = $nb_forums || $nb_signatures;
+	if (!$visible) {
+
+		$signatures = spip_query("SELECT id_article FROM spip_signatures WHERE id_article=$id_article AND statut IN ('publie', 'poubelle') LIMIT 1");
+		$visible = spip_fetch_array($signatures);
+	}
 
 	$invite = "<span class='verdana1'><b>"
 	. _T('bouton_forum_petition')
 	. aide('confforums')
 	. "</b></span>";
 
-	$f = charger_fonction('poster', 'inc');
-	$g = charger_fonction('petitionner', 'inc');
-
-	if ($nb_forums) {
-		$masque = icone_horizontale(_T('icone_suivi_forum', array('nb_forums' => $nb_forums)), generer_url_ecrire("articles_forum","id_article=$id_article"), "suivi-forum-24.gif", "", false);
-	} else 	$masque = '';
-
-	$masque .= $f($id_article,"articles","id_article=$id_article")
-	. $g($id_article,"articles","id_article=$id_article");
-
 	return debut_cadre_relief("forum-interne-24.gif", true)
 	. block_parfois_visible('forumpetition', $invite, $masque, 'text-align: center;', $visible)
 	. fin_cadre_relief(true);
 }
 
 // http://doc.spip.org/@boite_article_virtuel
-function boite_article_virtuel($id_article, $virtuel)
+function boite_article_virtuel($id_article, $virtuel, $flag)
 {
 
 	$f = charger_fonction('virtualiser', 'inc');
 
-	$masque = $f($id_article, false, $virtuel, "articles", "id_article=$id_article");
+	$masque = $f($id_article, $flag, $virtuel, "articles", "id_article=$id_article");
+
+	if (!$masque) return '';
 
 	$invite = "<span class='verdana1'>"
 	. '<b>'
diff --git a/ecrire/inc/petitionner.php b/ecrire/inc/petitionner.php
index 614fe82c945810f6f0a05d390401c2ebb0032723..862a89fe590b2f67a114d88112c83d352bc15b0d 100644
--- a/ecrire/inc/petitionner.php
+++ b/ecrire/inc/petitionner.php
@@ -17,9 +17,13 @@ include_spip('inc/actions');
 include_spip('inc/texte');
 
 // http://doc.spip.org/@formulaire_petitionner
-function inc_petitionner_dist($id_article, $script, $args, $ajax=false)
+function inc_petitionner_dist($id_article, $script, $args, $modifiable)
 {
-	global $spip_lang_right;
+	global $spip_lang_right, $options, $connect_statut;
+
+	if (!($options == "avancees" && $connect_statut=='0minirezo' && $modifiable))
+	  return '';
+
 
 	$petition = spip_fetch_array(spip_query("SELECT * FROM spip_petitions WHERE id_article=$id_article"));
 
diff --git a/ecrire/inc/poster.php b/ecrire/inc/poster.php
index 2d01e6ac1f55eb9fa5b2a19976c4519bd9ee980d..0b091205212024dbee88bab54220417e990087b8 100644
--- a/ecrire/inc/poster.php
+++ b/ecrire/inc/poster.php
@@ -30,11 +30,21 @@ function get_forums_publics($id_article=0) {
 // Cree le formulaire de modification du reglage des forums de l'article
 // http://doc.spip.org/@formulaire_poster
 function inc_poster_dist($id_article, $script, $args, $flag=false) {
-	global $spip_lang_right;
+
+	global $spip_lang_right, $options, $connect_statut;
+
+	if (!($options == "avancees" && $connect_statut=='0minirezo' && $flag))
+	  return '';
 
 	$statut_forum = get_forums_publics($id_article);
 
-	$r.= "\n\t"
+	$nb_forums = spip_fetch_array(spip_query("SELECT COUNT(*) AS count FROM spip_forum WHERE id_article=$id_article 	AND statut IN ('publie', 'off', 'prop')"));
+
+	if ($nb_forums) {
+		$r = icone_horizontale(_T('icone_suivi_forum', array('nb_forums' => $nb_forums)), generer_url_ecrire("articles_forum","id_article=$id_article"), "suivi-forum-24.gif", "", false);
+	} else 	$r = '';
+
+	$r = "\n\t"
 	. _T('info_fonctionnement_forum')
 	. "\n\t<select name='change_accepter_forum'
 		class='fondl'
@@ -56,7 +66,7 @@ function inc_poster_dist($id_article, $script, $args, $flag=false) {
 	$r .= "\n\t</select>\n";
 
 	$r .= "<div align='$spip_lang_right' id='valider_poster_$id_article'"
-	. ($flag ? '' : " class='visible_au_chargement'")
+	. " class='visible_au_chargement'"
 	. ">\n\t<input type='submit' class='fondo' style='font-size:10px' value='"
 	. _T('bouton_changer')
 	. "' /></div>\n";
diff --git a/ecrire/inc/virtualiser.php b/ecrire/inc/virtualiser.php
index 73d40361742fbe22ba1ffa28b81c290a84011974..1a44199186fe8feb00dd35608bb403722159c788 100644
--- a/ecrire/inc/virtualiser.php
+++ b/ecrire/inc/virtualiser.php
@@ -16,7 +16,10 @@ include_spip('inc/actions');
 // http://doc.spip.org/@formulaire_virtualiser
 function inc_virtualiser_dist($id_article, $flag, $virtuel, $script, $args)
 {
-	global $spip_lang_right;
+	global $spip_lang_right, $options, $connect_statut;
+
+	if (!($options == "avancees" && $connect_statut=='0minirezo' && $flag))
+	  return '';
 
 	$http = ($virtuel ? "" : "http://");