diff --git a/ecrire/exec/accueil.php b/ecrire/exec/accueil.php
index 970c2bc0e781fb26ccdeb1243ab752569741fa55..6ff0990407454016f586623b3b1849ad14689a12 100644
--- a/ecrire/exec/accueil.php
+++ b/ecrire/exec/accueil.php
@@ -312,8 +312,9 @@ if ($spip_display != 4) {
 
 	if ($spip_display != 1) {
 		include_spip('inc/logos');
-		echo baliser_logo("site", 0, 170, 170,
-			"text-align:center; margin-bottom: 5px;");
+		$res = decrire_logo("id_syndic", 'on', 0, 170, 170);
+		if ($res)
+			echo  "<div style='text-align:center; margin-bottom: 5px;'>$res</div>";
 	}
 	echo "<div class='verdana1'>";
 
diff --git a/ecrire/exec/ajax_page.php b/ecrire/exec/ajax_page.php
index 4d8c67798afe469170798e8e0bbc635ae24cf0c6..4b644102de12bc9cb25c402630fc0a20ea495142 100644
--- a/ecrire/exec/ajax_page.php
+++ b/ecrire/exec/ajax_page.php
@@ -238,7 +238,9 @@ function ajax_page_aff_info($id, $exclus, $col, $id_ajax_fonc, $type, $rac)
 		echo "<div class='arial2' style='padding: 5px; background-color: white; border: 1px solid $couleur_foncee; border-top: 0px;'>";
 		if ($type == "rubrique" AND $spip_display != 1 AND $spip_display!=4 AND $GLOBALS['meta']['image_process'] != "non") {
 			include_spip('inc/logos');
-			echo baliser_logo("rub",$id, 100, 48,"float: $spip_lang_right; margin-$spip_lang_right: -5px; margin-top: -5px;");
+			$res = decrire_logo("id_rubrique", 'on', $id, 100, 48);
+			if ($res)
+				echo  "<div style='float: $spip_lang_right; margin-$spip_lang_right: -5px; margin-top: -5px;'>$res</div>";
 		}
 
 		echo "<div><p><b>$titre</b></p></div>";
diff --git a/ecrire/exec/articles.php b/ecrire/exec/articles.php
index ba0c6ef1c0a76c852461e1e13045ad363dd491cc..47c74a14f60a906c946651e88a96057f10cbdfdb 100644
--- a/ecrire/exec/articles.php
+++ b/ecrire/exec/articles.php
@@ -238,14 +238,11 @@ function boite_info_articles($id_article, $statut_article, $visites, $id_version
 	echo "<div align='center'>\n";
 
 	echo "<font face='Verdana,Arial,Sans,sans-serif' size='1'><b>"._T('info_numero_article')."</b></font>\n";
-	echo "<br><font face='Verdana,Arial,Sans,sans-serif' size='6'><b>$id_article</b></font>\n";
+	echo "<br /><font face='Verdana,Arial,Sans,sans-serif' size='6'><b>$id_article</b></font>\n";
 
-	voir_en_ligne ('article', $id_article, $statut_article);
+	voir_en_ligne('article', $id_article, $statut_article);
 
-
-	$activer_statistiques = $GLOBALS['meta']["activer_statistiques"];
-
-	if ($connect_statut == "0minirezo" AND $statut_article == 'publie' AND $visites > 0 AND $activer_statistiques != "non" AND $options == "avancees"){
+	if ($connect_statut == "0minirezo" AND $statut_article == 'publie' AND $visites > 0 AND $GLOBALS['meta']["activer_statistiques"] != "non" AND $options == "avancees"){
 	icone_horizontale(_T('icone_evolution_visites', array('visites' => $visites)), generer_url_ecrire("statistiques_visites","id_article=$id_article"), "statistiques-24.gif","rien.gif");
 }
 
@@ -271,12 +268,12 @@ function boites_de_config_articles($id_article, $id_rubrique, $flag_editable,
 				   $message, $texte_petition,
 				   $changer_virtuel, $virtuel)
 {
-  global $connect_statut, $options, $spip_lang_right;
+  global $connect_statut, $options, $spip_lang_right, $spip_display;
 
 // Logos de l'article
 
-	if ($id_article AND $flag_editable)
-	  afficher_boite_logo('art', 'id_article', $id_article,
+	if ($id_article AND $flag_editable AND ($spip_display != 4))
+	  afficher_boite_logo('id_article', $id_article,
 			      _T('logo_article').aide ("logoart"), _T('logo_survol'), 'articles');
 
 
@@ -440,7 +437,7 @@ function boites_de_config_articles($id_article, $id_rubrique, $flag_editable,
 	debut_cadre_relief("site-24.gif");
 	$visible = ($changer_virtuel || $virtuel);
 
-	echo "<div class='verdana1' style='text-align: center;'><b>";
+	echo "\n<div class='verdana1' style='text-align: center;'><b>";
 	if ($visible)
 		echo bouton_block_visible("redirection");
 	else
@@ -454,14 +451,14 @@ function boites_de_config_articles($id_article, $id_rubrique, $flag_editable,
 		echo debut_block_invisible("redirection");
 
 	echo generer_url_post_ecrire("articles", "id_article=$id_article");
-	echo "\n<INPUT TYPE='hidden' NAME='changer_virtuel' VALUE='oui'>";
+	echo "\n<input type='hidden' name='changer_virtuel' value='oui' />";
 	$virtuelhttp = ($virtuel ? "" : "http://");
 
-	echo "<INPUT TYPE='text' NAME='virtuel' CLASS='formo' style='font-size:9px;' VALUE=\"$virtuelhttp$virtuel\" SIZE='40'><br>";
-	echo "<font face='Verdana,Arial,Sans,sans-serif' size=2>";
+	echo "<input type='text' name='virtuel' class='formo' style='font-size:9px;' value=\"$virtuelhttp$virtuel\" size='40' /><br />\n";
+	echo "<font face='Verdana,Arial,Sans,sans-serif' size='2'>";
 	echo "(<b>"._T('texte_article_virtuel')."&nbsp;:</b> "._T('texte_reference_mais_redirige').")";
 	echo "</font>";
-	echo "<div align='$spip_lang_right'><INPUT TYPE='submit' NAME='Changer' CLASS='fondo' VALUE='"._T('bouton_changer')."' STYLE='font-size:10px'></div>";
+	echo "\n<div align='$spip_lang_right'><input type='submit' name='Changer' class='fondo' value='"._T('bouton_changer')."' style='font-size:10px' /></div>";
 	echo "</form>";
 	echo fin_block();
 
@@ -703,7 +700,7 @@ else {
 function langues_articles($id_article, $langue_article, $flag_editable, $id_rubrique, $id_trad, $dir_lang, $nom_select, $lier_trad)
 {
 
-  global $connect_statut, $couleur_claire, $options, $connect_toutes_rubriques;
+  global $connect_statut, $couleur_claire, $options, $connect_toutes_rubriques, $spip_lang_right;
 
   if (($GLOBALS['meta']['multi_articles'] == 'oui')
 	OR (($GLOBALS['meta']['multi_rubriques'] == 'oui') AND ($GLOBALS['meta']['gerer_trad'] == 'oui'))) {
@@ -1194,7 +1191,7 @@ function afficher_corps_articles($virtuel, $chapo, $texte, $ps,  $extra)
 		echo "<div $dir_lang>";
 #	echo reduire_image(propre($texte), 500,10000);
 		echo propre($texte);
-		echo "<br clear='both' />";
+		echo "<br clear='all' />";
 		echo "</div>";
 
 		if ($ps) {
@@ -1541,6 +1538,7 @@ if (isset($_POST['titre'])) {
 
  }
 
+
 	if ($new == 'oui')
 		redirige_par_entete(
 			generer_url_ecrire('articles', 'id_article='.$id_article, '&'));
diff --git a/ecrire/exec/auteurs_edit.php b/ecrire/exec/auteurs_edit.php
index c0611e7a66306d9f9b9c189f99178f66a6e17967..88c9ba2485ed450591b90ed771480b07818613bc 100644
--- a/ecrire/exec/auteurs_edit.php
+++ b/ecrire/exec/auteurs_edit.php
@@ -19,7 +19,7 @@ include_spip('inc/message_select');
 
 function exec_auteurs_edit_dist()
 {
-	global $connect_id_auteur;
+  global $connect_id_auteur, $spip_display;
 
 	$id_auteur = intval(_request('id_auteur'));
 	pipeline('exec_init',array('args'=>array('exec'=>'auteur_edit','$id_auteur'=>$id_auteur),'data'=>''));
@@ -39,8 +39,8 @@ function exec_auteurs_edit_dist()
 
 	cadre_auteur_infos($id_auteur, $auteur);
 
-	if (statut_modifiable_auteur($id_auteur, $auteur)) {
-		afficher_boite_logo('aut', 'id_auteur', $id_auteur,
+	if (statut_modifiable_auteur($id_auteur, $auteur) AND ($spip_display != 4)) {
+		afficher_boite_logo('id_auteur', $id_auteur,
 				    _T('logo_auteur').aide ("logoart"), _T('logo_survol'), 'auteurs_edit');
 	}
 
diff --git a/ecrire/exec/breves_voir.php b/ecrire/exec/breves_voir.php
index e722fa570478d704e12aefeda78e2b1666c1e28d..7d189a0fc46bf657b6d9410fa9e2ea7dac51f3da 100644
--- a/ecrire/exec/breves_voir.php
+++ b/ecrire/exec/breves_voir.php
@@ -22,8 +22,7 @@ include_spip("inc/indexation");
 
 function afficher_breves_voir($id_breve, $changer_lang, $cherche_mot, $supp_mot, $nouv_mot )
 {
-	global $champs_extra, $options, $connect_statut, $les_notes;
-
+	global $champs_extra, $options, $connect_statut, $les_notes,$spip_display;
 	$result = spip_query("SELECT * FROM spip_breves WHERE id_breve='$id_breve'");
 
 
@@ -69,8 +68,8 @@ fin_boite_info();
 // Logos de la breve
 //
 
-if ($id_breve>0 AND ($connect_statut == '0minirezo' AND acces_rubrique($id_rubrique)))
-	afficher_boite_logo('breve', 'id_breve', $id_breve,
+if (($spip_display != 4) AND $id_breve>0 AND ($connect_statut == '0minirezo' AND acces_rubrique($id_rubrique)))
+	afficher_boite_logo('id_breve', $id_breve,
 			    _T('logo_breve').aide ("breveslogo"),
 			    _T('logo_survol'), 'breves_voir'); 
 
@@ -245,17 +244,13 @@ $id_breve = intval($id_breve);
 
 if (($id_breve == 0) AND ($new == "oui")) {
 	$id_rubrique = intval($id_parent);
-	$row = spip_fetch_array(spip_query("SELECT lang, id_secteur FROM spip_rubriques WHERE id_rubrique=$id_rubrique"));
-	$id_rubrique = $row['id_secteur'];
-	if (!$id_rubrique) die('erreur pas de rubrique definie'); # pas normal ca !
-
+	$row = spip_fetch_array(spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=$id_rubrique"));
 	$langue_new = $row ? $row["lang"] : "";
 	if (!$langue_new) $langue_new = $GLOBALS['meta']['langue_site'];
 
 	$id_breve = spip_abstract_insert("spip_breves",
 		"(titre, date_heure, id_rubrique, statut, lang, langue_choisie)", 
 		"('"._T('item_nouvelle_breve')."', NOW(), '$id_rubrique', 'refuse', '$langue_new', 'non')");
-
 }
 
  $calculer_rubriques = false;
@@ -314,7 +309,6 @@ if ($jour AND $connect_statut == '0minirezo') {
 	if ($new == 'oui')
 		redirige_par_entete(
 			generer_url_ecrire('breves_voir', 'id_breve='.$id_breve, '&'));
-
  afficher_breves_voir($id_breve, $changer_lang, $cherche_mot, $supp_mot, $nouv_mot);
 }
 ?>
diff --git a/ecrire/exec/configuration.php b/ecrire/exec/configuration.php
index 383cdf70e16a438009fb7c8b965ad04e85d282b0..7893d0ee696e24d4be0624753dab1ec9e008c422 100644
--- a/ecrire/exec/configuration.php
+++ b/ecrire/exec/configuration.php
@@ -14,7 +14,7 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 
 function exec_configuration_dist()
 {
-  global $connect_statut, $connect_toutes_rubriques, $options, $spip_lang_left, $spip_lang_right,$changer_config;
+  global $connect_statut, $connect_toutes_rubriques, $options, $spip_lang_left, $spip_lang_right,$changer_config, $spip_display;
 
 include_spip('inc/presentation');
 include_spip('inc/config');
@@ -58,7 +58,8 @@ debut_gauche();
 //
 // Le logo de notre site, c'est site{on,off}0.{gif,png,jpg}
 //
-afficher_boite_logo('site', '', 0, _T('logo_site'), _T('logo_survol'), 'configuration');
+if ($spip_display != 4)
+	afficher_boite_logo('id_syndic', 0, _T('logo_site'), _T('logo_survol'), 'configuration');
 
 
 debut_droite();
diff --git a/ecrire/exec/mots_edit.php b/ecrire/exec/mots_edit.php
index 569857ad1a0edf064a5ceab27bbcdda1855a4822..4f31fb6c242e386f4ee8a0bb515085bd2bd27b39 100644
--- a/ecrire/exec/mots_edit.php
+++ b/ecrire/exec/mots_edit.php
@@ -138,8 +138,8 @@ if ($id_mot) {
 // Logos du mot-clef
 //
 
-if ($id_mot > 0 AND $connect_statut == '0minirezo'  AND $connect_toutes_rubriques)
-  afficher_boite_logo('mot', 'id_mot', $id_mot, _T('logo_mot_cle').aide("breveslogo"), _T('logo_survol'), 'mots_edit');
+if ($id_mot > 0 AND $connect_statut == '0minirezo'  AND $connect_toutes_rubriques AND ($spip_display != 4))
+  afficher_boite_logo('id_mot', $id_mot, _T('logo_mot_cle').aide("breveslogo"), _T('logo_survol'), 'mots_edit');
 
 
 //
diff --git a/ecrire/exec/naviguer.php b/ecrire/exec/naviguer.php
index d23b28ee33234bb5c19ae58af5ad07cc13cbfc95..fd0f951ecfe48410aa70e7a3070fd4252bbb6f0c 100644
--- a/ecrire/exec/naviguer.php
+++ b/ecrire/exec/naviguer.php
@@ -104,8 +104,8 @@ function exec_naviguer_dist()
 //
 // Logos de la rubrique
 //
-		if ($flag_editable) 
-			afficher_boite_logo('rub', 'id_rubrique', $id_rubrique, ($id_rubrique ? _T('logo_rubrique') : _T('logo_standard_rubrique'))." ".aide ("rublogo"), _T('logo_survol'), 'naviguer');
+		if ($flag_editable AND ($spip_display != 4)) 
+			afficher_boite_logo('id_rubrique', $id_rubrique, ($id_rubrique ? _T('logo_rubrique') : _T('logo_standard_rubrique'))." ".aide ("rublogo"), _T('logo_survol'), 'naviguer');
 
 //
 // Afficher les boutons de creation d'article et de breve
diff --git a/ecrire/exec/sites.php b/ecrire/exec/sites.php
index 7705518a176cf0092601bb67c6c5a4d7f933e252..ef521a92c6e951037b25c8f529c1542944ee74be 100644
--- a/ecrire/exec/sites.php
+++ b/ecrire/exec/sites.php
@@ -48,6 +48,7 @@ function exec_sites_dist()
   $redirect_ok,
   $reload,
   $resume,
+  $spip_display,
   $supp_mot,
   $syndication,
   $syndication_old,
@@ -263,7 +264,7 @@ echo "<p><center>";
 	icone (_T('icone_voir_sites_references'), generer_url_ecrire("sites_tous",""), "site-24.gif","rien.gif");
 echo "</center>";
 
-if ($id_syndic AND $flag_administrable)
+if ($id_syndic AND $flag_administrable AND ($spip_display != 4))
   afficher_boite_logo('site', 'id_syndic', $id_syndic, _T('logo_site')." ".aide ("rublogo"), _T('logo_survol'), 'sites');
 
 echo pipeline('affiche_gauche',array('args'=>array('exec'=>'sites','id_syndic'=>$id_syndic),'data'=>''));
diff --git a/ecrire/inc/logos.php b/ecrire/inc/logos.php
index 07be61b8142ae467a8769b22c41c29a3a4927afe..042b78cb64d093ce5b4fe56c2cede96b30337f4e 100644
--- a/ecrire/inc/logos.php
+++ b/ecrire/inc/logos.php
@@ -48,16 +48,10 @@ function cherche_logo($id, $type, $mode, $formats = array ('gif', 'jpg', 'png'))
 	return array();
 }
 
-function baliser_logo($type, $id, $width, $height, $style='') {
-	global $spip_lang_right;
-	$logo = decrire_logo($type, 'on', $id, $width, $height);
-	if (!$logo) return "";
-	if (!$style) $style = "float: $spip_lang_right; margin-top: -2px; margin-bottom: -2px;";
-	return  "<div style='$style'>$logo</div>";
-}
 
-function decrire_logo($type, $mode, $id, $width, $height, $titre="", $redirect="") {
+function decrire_logo($id_objet, $mode, $id, $width, $height, $titre="", $script="") {
 		
+	$type = $GLOBALS['table_logos'][$id_objet];
 	if (!$img = cherche_logo($id, $type, $mode)) 	return '';
 	list($fid, $dir, $nom, $format) = $img;
 
@@ -74,7 +68,7 @@ function decrire_logo($type, $mode, $id, $width, $height, $titre="", $redirect="
 		"<font size='1'>" .
 		$xy .
 		"\n<br />[<a href='" .
-		generer_action_auteur("iconifier", "$nom.$format", $redirect) .
+		generer_action_auteur("iconifier", "$nom.$format", generer_url_ecrire($script, "$id_objet=$id", true)) .
 		"'>".
 		_T('lien_supprimer') .
 		"</a>]</font>" .
@@ -83,54 +77,60 @@ function decrire_logo($type, $mode, $id, $width, $height, $titre="", $redirect="
 	}
 }
 
-function afficher_boite_logo($type, $id_objet, $id, $texteon, $texteoff, $script) {
-	global $spip_display;
+function afficher_boite_logo($id_objet, $id, $texteon, $texteoff, $script) {
 
-	if ($spip_display != 4) {
-	
-	  $redirect = generer_url_ecrire($script, "$id_objet=$id", true);
-		$logon = $type.'on'.$id;
-		$logoff = $type.'off'.$id;
-		include_spip('inc/session');
-		echo "<p>";
-		debut_cadre_relief("image-24.gif");
-		echo "<div class='verdana1' style='text-align: center;'>";
-		$desc = afficher_logo($logon, $texteon, $type, 'on', $id, $redirect);
-
-		if ($desc AND $texteoff) {
-			echo "<br /><br />";
-			afficher_logo($logoff, $texteoff, $type, 'off', $id, $redirect);
-		}
+	include_spip('inc/session');
+	echo "<p>";
+	debut_cadre_relief("image-24.gif");
+	echo "<div class='verdana1' style='text-align: center;'>";
+	$desc = afficher_logo($texteon, $id_objet, 'on', $id, $script);
 
-		echo "</div>";
-		fin_cadre_relief();
-		echo "</p>";
+	if ($desc AND $texteoff) {
+		echo "<br /><br />";
+		afficher_logo($texteoff, $id_objet, 'off', $id, $script);
 	}
+
+	echo "</div>";
+	fin_cadre_relief();
+	echo "</p>";
 }
 
+global $table_logos;
+
+$table_logos = array( // cf public/composer.php
+		     'id_article' => 'art', 
+		     'id_auteur' => 'aut', 
+		     'id_breve' => 'breve', 
+		     'id_mot' => 'mot', 
+		     'id_syndic'=> 'site',
+		     'id_rubrique' => 'rub'
+		     );
 
-function afficher_logo($racine, $titre, $type, $mode, $id, $redirect) {
+function afficher_logo($titre, $id_objet, $mode, $id, $script) {
 	global $connect_id_auteur;
 
 	echo bouton_block_invisible(md5($titre)), "<b>", $titre, "</b>";
 
-	$logo = decrire_logo($type,$mode,$id, 170, 170, $titre, $redirect);
+	$logo = decrire_logo($id_objet,$mode,$id, 170, 170, $titre, $script);
 
 	if ($logo) {
 	  echo $logo;
 	}
 	else {
-		$hash = calculer_action_auteur("iconifier $racine");
+		$type = $GLOBALS['table_logos'][$id_objet];
+		$hash = calculer_action_auteur("iconifier $type$mode$id");
 		echo debut_block_invisible(md5($titre));
 
 		echo "\n\n<form action='" . generer_url_action('iconifier') . "' method='POST'
 			ENCTYPE='multipart/form-data'>
 			<div>";
-		echo "\n<input name='redirect' type='hidden' value='$redirect' />";
+		echo "\n<input name='redirect' type='hidden' value='",
+		  generer_url_ecrire($script, "$id_objet=$id"), 
+		  "' />";
 		echo "\n<input name='id_auteur' type='hidden' value='$connect_id_auteur' />";
 		echo "\n<input name='hash' type='hidden' value='$hash' />";
 		echo "\n<input name='action' type='hidden' value='iconifier' />";
-		echo "\n<input name='arg' type='hidden' value='$racine' />";
+		echo "\n<input name='arg' type='hidden' value='$type$mode$id' />";
 		echo "\n"._T('info_telecharger_nouveau_logo')."<br />";
 		echo "\n<input name='image' type='File' class='forml' style='font-size:9px;' size='15'>";
 		echo "<div align='",  $GLOBALS['spip_lang_right'], "'>";
diff --git a/ecrire/inc/presentation.php b/ecrire/inc/presentation.php
index 8432e80775066fb514c95fe713c20f863564a951..d7362a1ad5642e8a69076621a57557126e83859a 100644
--- a/ecrire/inc/presentation.php
+++ b/ecrire/inc/presentation.php
@@ -839,7 +839,7 @@ function afficher_articles($titre_table, $requete, $afficher_visites = false, $a
 
 function afficher_articles_boucle($row, &$tous_id, $afficher_auteurs, $afficher_langue, $langue_defaut, $voir_logo)
 {
-	global $connect_id_auteur, $dir_lang, $options;
+  global $connect_id_auteur, $dir_lang, $options, $spip_lang_right;
 
 	$vals = '';
 
@@ -888,7 +888,14 @@ function afficher_articles_boucle($row, &$tous_id, $afficher_auteurs, $afficher_
 	$s .= "<a href='" . generer_url_ecrire("articles","id_article=$id_article") .
 		"'$descriptif$dir_lang style=\"display:block;\">";
 
-	if ($voir_logo)	$s .= baliser_logo("art", $id_article, 26, 20);
+	if ($voir_logo) {
+
+		include_spip('inc/logos');
+		$logo = decrire_logo("id_article", 'on', $id_article, 26, 20);
+		if ($logo)
+			$s .= "<div style='float: $spip_lang_right; margin-top: -2px; margin-bottom: -2px;'>$logo</div>";
+	}
+
 	$s .= typo($titre);
 	if ($afficher_langue AND $lang != $langue_defaut)
 		$s .= " <font size='1' color='#666666'$dir_lang>(".traduire_nom_langue($lang).")</font>";
@@ -1150,7 +1157,7 @@ function afficher_breves($titre_table, $requete, $affrub=false) {
 
 function afficher_breves_boucle($row, &$tous_id,  $voir_logo, $own)
 {
-	global  $dir_lang, $options, $connect_statut;
+  global  $dir_lang, $options, $connect_statut, $spip_lang_right;
 	$droit = ($connect_statut == '0minirezo' && $options == 'avancees');
 	list($afficher_langue, $affrub, $langue_defaut) = $own;
 	$vals = '';
@@ -1170,7 +1177,14 @@ function afficher_breves_boucle($row, &$tous_id,  $voir_logo, $own)
 	$s = "<div>";
 	$s .= "<a href='" . generer_url_ecrire("breves_voir","id_breve=$id_breve") . "' style=\"display:block;\">";
 
-	if ($voir_logo) $s .= baliser_logo("breve", $id_breve, 26, 20);
+	if ($voir_logo) {
+
+		include_spip('inc/logos');
+		$logo = decrire_logo("id_breve", 'on', $id_breve, 26, 20);
+		if ($logo)
+			$s .= "<div style='float: $spip_lang_right; margin-top: -2px; margin-bottom: -2px;'>$logo</div>";
+	}
+
 	$s .= typo($titre);
 	if ($afficher_langue AND $lang != $langue_defaut)
 		$s .= " <font size='1' color='#666666'$dir_lang>(".traduire_nom_langue($lang).")</font>";
@@ -1429,9 +1443,15 @@ function afficher_forum_thread($row, $controle_id_article, $compteur_forum, $nb_
 		echo "<table width='100%' cellpadding='0' cellspacing='0' border='0'><tr>";
 		afficher_forum_4($compteur_forum, $nb_forum, $i);
 	}
+	$titre_boite = '';
 	if ($id_auteur AND $voir_logo) {
-		$titre_boite = baliser_logo("aut", $id_auteur, 48, 48, $voir_logo) .typo($titre);
-	} else $titre_boite = $titre;
+		include_spip('inc/logos');
+		$titre_boite = decrire_logo("id_auteur", 'on', $id_auteur, 48, 48);
+		if ($titre_boite)
+			$titre_boite = "<div style='$voir_logo'>$titre_boite</div>" ;
+	} 
+
+	$titre_boite .= typo($titre);
 		
 	if ($spip_display == 4) {
 		echo "<li>".typo($titre)."<br>";
@@ -2275,36 +2295,36 @@ if (true /*$bandeau_colore*/) {
 	// (elements invisibles qui s'ouvrent sous la barre precedente)
 	//
 
-// debut des gadgets
-if (true /*$gadgets*/) {
+	bandeau_gadgets($largeur, $simple, $id_rubrique);
 
-	echo "<table width='$largeur' cellpadding='0' cellspacing='0' align='center'><tr><td>";
+	echo "</div>";
+	echo "</div>";
+
+	if ($options != "avancees") echo "<div style='height: 18px;'>&nbsp;</div>";
+}
+
+function bandeau_gadgets($largeur, $simple, $id_rubrique)
+{
+  global $connect_id_auteur, $connect_login, $connect_statut, $options, $couleur_claire,$couleur_foncee, $spip_lang_left, $spip_lang_right, $spip_ecran;
 
 
+	echo "\n<table width='$largeur' cellpadding='0' cellspacing='0' align='center'><tr><td>\n<div style='position: relative; z-index: 1000;'>";
+
 	// GADGET Menu rubriques
-	echo "<div style='position: relative; z-index: 1000;'>";
-	echo "<div id='bandeautoutsite' class='bandeau_couleur_sous' style='$spip_lang_left: 0px;'>";
+	echo "\n<div id='bandeautoutsite' class='bandeau_couleur_sous' style='$spip_lang_left: 0px;'>";
 	echo "<a href='" . generer_url_ecrire("articles_tous") . "' class='lien_sous'>"._T('icone_site_entier')."</a>";
 	echo "<img src='"._DIR_IMG_PACK."searching.gif' id='img_nav-recherche' style='visibility: hidden' />";
 	afficher_menu_rubriques();
-
-//	echo "<div id='nav-recherche' style='width: 450px; visibility: hidden;'></div>";
 	echo "</div>";
 	// FIN GADGET Menu rubriques
 	
-	
-	
 	// GADGET Navigation rapide
 	echo "<div id='bandeaunavrapide' class='bandeau_couleur_sous' style='$spip_lang_left: 30px; width: 300px;'>";
 
-	if ($id_rubrique > 0) echo "<a href='" . generer_url_ecrire("brouteur","id_rubrique=$id_rubrique") . "' class='lien_sous'>";
-	else echo "<a href='" . generer_url_ecrire("brouteur") . "' class='lien_sous'>";
-	echo _T('icone_brouteur');
-	echo "</a>";
-
+	echo "<a href='", generer_url_ecrire("brouteur", ($id_rubrique ? "id_rubrique=$id_rubrique" : '')), "' class='lien_sous'>", _T('icone_brouteur'), "</a>";
 	$gadget = '';
-		$vos_articles = spip_query("SELECT articles.id_article, articles.id_rubrique, articles.titre, articles.statut FROM spip_articles AS articles, spip_auteurs_articles AS lien WHERE articles.id_article=lien.id_article AND lien.id_auteur=$connect_id_auteur AND articles.statut='prepa' ORDER BY articles.date DESC LIMIT 5");
-		if (spip_num_rows($vos_articles) > 0) {
+	$vos_articles = spip_query("SELECT articles.id_article, articles.id_rubrique, articles.titre, articles.statut FROM spip_articles AS articles, spip_auteurs_articles AS lien WHERE articles.id_article=lien.id_article AND lien.id_auteur=$connect_id_auteur AND articles.statut='prepa' ORDER BY articles.date DESC LIMIT 5");
+	if (spip_num_rows($vos_articles) > 0) {
 			$gadget .= "<div>&nbsp;</div>";
 			$gadget .= "<div class='bandeau_rubriques' style='z-index: 1;'>";
 			$gadget .= bandeau_titre_boite2(afficher_plus(generer_url_ecrire("articles_page",""))._T('info_en_cours_validation'), "article-24.gif", $couleur_foncee, 'white', false);
@@ -2317,10 +2337,10 @@ if (true /*$gadgets*/) {
 			}
 			$gadget .= "</div>";
 			$gadget .= "</div>";
-		}
+	}
 	
-		$vos_articles = spip_query("SELECT id_article, id_rubrique, titre, statut FROM spip_articles WHERE statut='prop' ORDER BY date DESC LIMIT 5");
-		if (spip_num_rows($vos_articles) > 0) {
+	$vos_articles = spip_query("SELECT id_article, id_rubrique, titre, statut FROM spip_articles WHERE statut='prop' ORDER BY date DESC LIMIT 5");
+	if (spip_num_rows($vos_articles) > 0) {
 			$gadget .= "<div>&nbsp;</div>";
 			$gadget .= "<div class='bandeau_rubriques' style='z-index: 1;'>";
 			$gadget .= bandeau_titre_boite2(afficher_plus('./')._T('info_articles_proposes'), "article-24.gif", $couleur_foncee, 'white', false);
@@ -2334,10 +2354,10 @@ if (true /*$gadgets*/) {
 			}
 			$gadget .= "</div>";
 			$gadget .= "</div>";
-		}
+	}
 			
-		$vos_articles = spip_query("SELECT * FROM spip_breves WHERE statut='prop' ORDER BY date_heure DESC LIMIT 5");
-		if (spip_num_rows($vos_articles) > 0) {
+	$vos_articles = spip_query("SELECT * FROM spip_breves WHERE statut='prop' ORDER BY date_heure DESC LIMIT 5");
+	if (spip_num_rows($vos_articles) > 0) {
 			$gadget .= "<div>&nbsp;</div>";
 			$gadget .= "<div class='bandeau_rubriques' style='z-index: 1;'>";
 			$gadget .= bandeau_titre_boite2(afficher_plus(generer_url_ecrire("breves"))._T('info_breves_valider'), "breve-24.gif", "$couleur_foncee", "white", false);
@@ -2351,12 +2371,11 @@ if (true /*$gadgets*/) {
 			}
 			$gadget .= "</div>";
 			$gadget .= "</div>";
-		}
-
+	}
 
-		$result = spip_query("SELECT id_rubrique FROM spip_rubriques LIMIT 1");
+	$result = spip_query("SELECT id_rubrique FROM spip_rubriques LIMIT 1");
 		
-		if (spip_num_rows($result) > 0) {
+	if (spip_num_rows($result) > 0) {
 			$gadget .= "<div>&nbsp;</div>";
 			if ($id_rubrique > 0) {
 				$dans_rub = "&id_rubrique=$id_rubrique";
@@ -2374,8 +2393,7 @@ if (true /*$gadgets*/) {
 			$gadget .= icone_horizontale(_T('icone_ecrire_article'), generer_url_ecrire("articles_edit","new=oui$dans_rub"), "article-24.gif","creer.gif", false);
 			$gadget .= "</div>";
 			
-			$activer_breves = $GLOBALS['meta']["activer_breves"];
-			if ($activer_breves != "non") {
+			if ($GLOBALS['meta']["activer_breves"] != "non") {
 				$gadget .= "<div style='width: 140px;  float: $spip_lang_left;'>";
 				$gadget .= icone_horizontale(_T('icone_nouvelle_breve'), generer_url_ecrire("breves_edit","new=oui$dans_rub"), "breve-24.gif","creer.gif", false);
 				$gadget .= "</div>";
@@ -2389,14 +2407,12 @@ if (true /*$gadgets*/) {
 				}
 			}
 			
-		}
-
-		$gadget .= "</div>";
+	}
 
 	echo afficher_javascript($gadget);
+	echo "</div>";
 	// FIN GADGET Navigation rapide
 
-
 	// GADGET Recherche
 	echo "<div id='bandeaurecherche' class='bandeau_couleur_sous' style='width: 146px; $spip_lang_left: 60px;'>";
 	echo "<form method='get' style='margin: 0px; position: relative;' action='" . generer_url_ecrire("recherche") . "'>";
@@ -2406,7 +2422,6 @@ if (true /*$gadgets*/) {
 	echo "</div>";
 	// FIN GADGET recherche
 
-
 	// GADGET Agenda
 	$gadget = '';
 	$today = getdate(time());
@@ -2431,20 +2446,19 @@ if (true /*$gadgets*/) {
 	}
 
 
-
 	// Calendrier
-			$gadget .= "<div id='bandeauagenda' class='bandeau_couleur_sous' style='width: $largeur; $spip_lang_left: 100px;'>";
-			$gadget .= "<a href='" . generer_url_ecrire("calendrier","type=semaine") . "' class='lien_sous'>";
-			$gadget .= _T('icone_agenda');
-			$gadget .= "</a>";
+	$gadget .= "<div id='bandeauagenda' class='bandeau_couleur_sous' style='width: $largeur; $spip_lang_left: 100px;'>";
+	$gadget .= "<a href='" . generer_url_ecrire("calendrier","type=semaine") . "' class='lien_sous'>";
+	$gadget .= _T('icone_agenda');
+	$gadget .= "</a>";
 			
-			$gadget .= "<table><tr>";
-			$gadget .= "<td valign='top' width='200'>";
-				$gadget .= "<div>";
-				$gadget .= http_calendrier_agenda($annee_today, $mois_today, $jour_today, $mois_today, $annee_today, false, generer_url_ecrire('calendrier'));
-				$gadget .= "</div>";
-				$gadget .= "</td>";
-				if ($afficher_cal) {
+	$gadget .= "<table><tr>";
+	$gadget .= "<td valign='top' width='200'>";
+	$gadget .= "<div>";
+	$gadget .= http_calendrier_agenda($annee_today, $mois_today, $jour_today, $mois_today, $annee_today, false, generer_url_ecrire('calendrier'));
+	$gadget .= "</div>";
+	$gadget .= "</td>";
+	if ($afficher_cal) {
 					$gadget .= "<td valign='top' width='10'> &nbsp; </td>";
 					$gadget .= "<td valign='top' width='200'>";
 					$gadget .= "<div>&nbsp;</div>";
@@ -2456,96 +2470,88 @@ if (true /*$gadgets*/) {
 					$gadget .= "</td>";
 				}
 			
-			$gadget .= "</tr></table>";
-			$gadget .= "</div>";
+	$gadget .= "</tr></table>";
+	$gadget .= "</div>";
 	echo afficher_javascript($gadget);
 	// FIN GADGET Agenda
 
-
 	// GADGET Messagerie
 	$gadget = '';
-		$gadget .= "<div id='bandeaumessagerie' class='bandeau_couleur_sous' style='$spip_lang_left: 130px; width: 200px;'>";
-		$gadget .= "<a href='" . generer_url_ecrire("messagerie") . "' class='lien_sous'>";
-		$gadget .= _T('icone_messagerie_personnelle');
-		$gadget .= "</a>";
+	$gadget .= "<div id='bandeaumessagerie' class='bandeau_couleur_sous' style='$spip_lang_left: 130px; width: 200px;'>";
+	$gadget .= "<a href='" . generer_url_ecrire("messagerie") . "' class='lien_sous'>";
+	$gadget .= _T('icone_messagerie_personnelle');
+	$gadget .= "</a>";
 		
-		$gadget .= "<div>&nbsp;</div>";
-		$gadget .= icone_horizontale(_T('lien_nouvea_pense_bete'),generer_url_ecrire("message_edit","new=oui&type=pb"), "pense-bete.gif", '', false);
-		$gadget .= icone_horizontale(_T('lien_nouveau_message'),generer_url_ecrire("message_edit","new=oui&type=normal"), "message.gif", '', false);
-		if ($connect_statut == "0minirezo") {
+	$gadget .= "<div>&nbsp;</div>";
+	$gadget .= icone_horizontale(_T('lien_nouvea_pense_bete'),generer_url_ecrire("message_edit","new=oui&type=pb"), "pense-bete.gif", '', false);
+	$gadget .= icone_horizontale(_T('lien_nouveau_message'),generer_url_ecrire("message_edit","new=oui&type=normal"), "message.gif", '', false);
+	if ($connect_statut == "0minirezo") {
 		  $gadget .= icone_horizontale(_T('lien_nouvelle_annonce'),generer_url_ecrire("message_edit","new=oui&type=affich"), "annonce.gif", '', false);
 		}
-		$gadget .= "</div>";
+	$gadget .= "</div>";
 
 	echo afficher_javascript($gadget);
 
 	// FIN GADGET Messagerie
 
 
-		// Suivi activite	
-		echo "<div id='bandeausynchro' class='bandeau_couleur_sous' style='$spip_lang_left: 160px;'>";
-		echo "<a href='" . generer_url_ecrire("synchro") . "' class='lien_sous'>";
-		echo _T('icone_suivi_activite');
-		echo "</a>";
-		echo "</div>";
+	// Suivi activite	
+	echo "<div id='bandeausynchro' class='bandeau_couleur_sous' style='$spip_lang_left: 160px;'>";
+	echo "<a href='" . generer_url_ecrire("synchro") . "' class='lien_sous'>";
+	echo _T('icone_suivi_activite');
+	echo "</a>";
+	echo "</div>";
 	
 		// Infos perso
-		echo "<div id='bandeauinfoperso' class='bandeau_couleur_sous' style='width: 200px; $spip_lang_left: 200px;'>";
-		echo "<a href='" . generer_url_ecrire("auteurs_edit","id_auteur=$connect_id_auteur") . "' class='lien_sous'>";
-		echo _T('icone_informations_personnelles');
-		echo "</a>";
-		echo "</div>";
+	echo "<div id='bandeauinfoperso' class='bandeau_couleur_sous' style='width: 200px; $spip_lang_left: 200px;'>";
+	echo "<a href='" . generer_url_ecrire("auteurs_edit","id_auteur=$connect_id_auteur") . "' class='lien_sous'>";
+	echo _T('icone_informations_personnelles');
+	echo "</a>";
+	echo "</div>";
 
 		
 		//
 		// -------- Affichage de droite ----------
 	
 		// Deconnection
-		echo "<div class='bandeau_couleur_sous' id='bandeaudeconnecter' style='$spip_lang_right: 0px;'>";
-		echo "<a href='" . generer_url_public("spip_cookie","logout=$connect_login") . "' class='lien_sous'>"._T('icone_deconnecter')."</a>".aide("deconnect");
-		echo "</div>";
+	echo "<div class='bandeau_couleur_sous' id='bandeaudeconnecter' style='$spip_lang_right: 0px;'>";
+	echo "<a href='" . generer_url_public("spip_cookie","logout=$connect_login") . "' class='lien_sous'>"._T('icone_deconnecter')."</a>".aide("deconnect");
+	echo "</div>";
 	
-		$decal = 0;
-		$decal = $decal + 150;
+	$decal = 0;
+	$decal = $decal + 150;
 
-		echo "<div id='bandeauinterface' class='bandeau_couleur_sous' style='$spip_lang_right: ".$decal."px; text-align: $spip_lang_right;'>";
-		echo _T('titre_changer_couleur_interface');
-		echo "</div>";
+	echo "<div id='bandeauinterface' class='bandeau_couleur_sous' style='$spip_lang_right: ".$decal."px; text-align: $spip_lang_right;'>";
+	echo _T('titre_changer_couleur_interface');
+	echo "</div>";
 		
-		$decal = $decal + 70;
+	$decal = $decal + 70;
 		
-		echo "<div id='bandeauecran' class='bandeau_couleur_sous' style='width: 200px; $spip_lang_right: ".$decal."px; text-align: $spip_lang_right;'>";
-		echo $ecran;
-		echo "</div>";
+	echo "<div id='bandeauecran' class='bandeau_couleur_sous' style='width: 200px; $spip_lang_right: ".$decal."px; text-align: $spip_lang_right;'>";
+	if ($spip_ecran == "large") 
+			echo "<div><a href='".parametre_url(self(),'set_ecran', 'etroit')."' class='lien_sous'>"._T('info_petit_ecran')."</a>/<b>"._T('info_grand_ecran')."</b></div>";
+	else
+			echo "<div><b>"._T('info_petit_ecran')."</b>/<a href='".parametre_url(self(),'set_ecran', 'large')."' class='lien_sous'>"._T('info_grand_ecran')."</a></div>";
+	echo "</div>";
 		
-		$decal = $decal + 110;
+	$decal = $decal + 110;
 		
-		// En interface simplifiee, afficher un permanence l'indication de l'interface
-		if ($options != "avancees") {
+	// En interface simplifiee, afficher un permanence l'indication de l'interface
+	if ($options != "avancees") {
 			echo "<div id='displayfond' class='bandeau_couleur_sous' style='$spip_lang_right: ".$decal."px; text-align: $spip_lang_right; visibility: visible; background-color: white; color: $couleur_foncee; z-index: -1000; border: 1px solid $couleur_claire; border-top: 0px;'>";
 			echo "<b>"._T('icone_interface_simple')."</b>";
 			echo "</div>";
-		}
-		echo "<div id='bandeaudisplay' class='bandeau_couleur_sous' style='$spip_lang_right: ".$decal."px; text-align: $spip_lang_right;'>";
-		echo $simple;
+	}
+	echo "<div id='bandeaudisplay' class='bandeau_couleur_sous' style='$spip_lang_right: ".$decal."px; text-align: $spip_lang_right;'>";
+	echo $simple;
 
-		if ($options != "avancees") {		
+	if ($options != "avancees") {		
 				echo "<div>&nbsp;</div><div style='width: 250px; text-align: $spip_lang_left;'>"._T('texte_actualite_site_1')."<a href='./?set_options=avancees'>"._T('texte_actualite_site_2')."</a>"._T('texte_actualite_site_3')."</div>";
-			}
-
-		echo "</div>";
-	
-	
-	echo "</div></div>";
-	echo "</td></tr></table>";
-
-} // fin des gadgets
+	}
 
 	echo "</div>";
 	echo "</div>";
-
-	if ($options != "avancees") echo "<div style='height: 18px;'>&nbsp;</div>";
-	
+	echo "</td></tr></table>";
 }
 
 function debut_corps_page($rubrique='') {
@@ -2781,7 +2787,7 @@ function debut_droite($rubrique="") {
 	echo "<div>&nbsp;</div></td>";
 
 	if (!$flag_3_colonnes) {
-		echo "<td width=50>&nbsp;</td>";
+		echo "<td width='50'>&nbsp;</td>";
 	}
 	else {
 		if (!$deja_colonne_droite) {
diff --git a/ecrire/inc/rubriques.php b/ecrire/inc/rubriques.php
index 33ed64604c160363343f811996aafebbac7c80b7..6b49d18b82af1180bcd00ff89f7d5a9b281daecc 100644
--- a/ecrire/inc/rubriques.php
+++ b/ecrire/inc/rubriques.php
@@ -249,12 +249,16 @@ function enfant_rub($collection){
 
 		if ($spip_display == 4) $les_enfants .= "<li>";
 
+		if ($voir_logo) {
+			$logo = decrire_logo("id_rubrique", 'on', $id_rubrique, 48, 36);
+			if ($logo)
+				$logo =  "<div style='$voir_logo'>$logo</div>";
+		}
 		$les_enfants .= "<div class='enfants'>" .
 			debut_cadre_sous_rub(($id_parent ? "rubrique-24.gif" : "secteur-24.gif"), true) .
-			(!$voir_logo ? "" :
-			 baliser_logo("rub", $id_rubrique, 48, 36, $voir_logo)) .
+			$logo .
 		  (!$les_sous_enfants ? "" : bouton_block_invisible("enfants$id_rubrique")) .
-		  (acces_restreint_rubrique($id_rubrique) ? "" :
+		  (!acces_restreint_rubrique($id_rubrique) ? "" :
 		   http_img_pack("admin-12.gif", '', " width='12' height='12'", _T('image_administrer_rubrique'))) .
 		  " <span dir='$lang_dir'><B><A href='" . 
 		  generer_url_ecrire("naviguer","id_rubrique=$id_rubrique") .
diff --git a/ecrire/inc/sites_voir.php b/ecrire/inc/sites_voir.php
index 90720e4baeb4f48680d78256081d055f7f3d6e29..25809e078078b7134355dfab211cb7ada9349cbc 100644
--- a/ecrire/inc/sites_voir.php
+++ b/ecrire/inc/sites_voir.php
@@ -24,6 +24,7 @@ function afficher_sites($titre_table, $requete)
 
 function afficher_sites_boucle($row, &$tous_id, $voir_logo, $bof)
 {
+  global $spip_lang_right;
 	$vals = '';
 	$id_syndic=$row["id_syndic"];
 	$id_rubrique=$row["id_rubrique"];
@@ -67,7 +68,13 @@ function afficher_sites_boucle($row, &$tous_id, $voir_logo, $bof)
 
 	$s = "<a href=\"".generer_url_ecrire("sites","id_syndic=$id_syndic")."\" title=\"$title\">";
 
-	if ($voir_logo) $s .= baliser_logo("site", $id_syndic, 26, 20) ;
+	if ($voir_logo) {
+
+		include_spip('inc/logos');
+		$logo = decrire_logo("id_syndic", 'on', $id_syndic, 26, 20);
+		if ($logo)
+			$s .= "<div style='float: $spip_lang_right; margin-top: -2px; margin-bottom: -2px;'>$logo</div>";
+	}
 
 	$s .= http_img_pack($puce, $statut, "width='7' height='7'") ."&nbsp;&nbsp;";