diff --git a/ecrire/exec_articles_tous.php b/ecrire/exec_articles_tous.php
index d0a74d11d0eb8009a6b15779e523dc6020eef558..5c2b348cef5bff7115515a931dc47061e4770115 100644
--- a/ecrire/exec_articles_tous.php
+++ b/ecrire/exec_articles_tous.php
@@ -27,6 +27,12 @@ arbo_articles_tous();
 debut_page(_T('titre_page_articles_tous'), "asuivre", "tout-site");
 debut_gauche();
 
+
+if (($GLOBALS['meta']['multi_rubriques'] == 'oui' OR $GLOBALS['meta']['multi_articles'] == 'oui') AND $GLOBALS['meta']['gerer_trad'] == 'oui') 
+	$langues = explode(',', $GLOBALS['meta']['langues_multilingue']);
+ else
+	$langues = array();  
+
 $sel_lang[$spip_lang] = $spip_lang;
 
 if ($connect_statut == "0minirezo") $query = "SELECT articles.id_article, articles.titre, articles.statut, articles.id_rubrique, articles.lang, articles.id_trad, articles.date_modif FROM spip_articles AS articles ORDER BY date DESC";
@@ -50,15 +56,11 @@ while($row = spip_fetch_array($result)) {
 	$text_article[$id_article]["date_modif"] = $date_modif;
 	$GLOBALS['langues_utilisees'][$lang] = true;
 
-
-		$langues = explode(',', $GLOBALS['meta']['langues_multilingue']);
-		if (($GLOBALS['meta']['multi_rubriques'] == 'oui' OR $GLOBALS['meta']['multi_articles'] == 'oui') AND $GLOBALS['meta']['gerer_trad'] == 'oui') {
-			if (count($langues) > 1) {
-				while (list(, $l) = each ($langues)) {
-				  if (in_array($l, $sel_lang)) $text_article[$id_article]["trad"]["$l"] =  "<span class='creer'>$l</span>";
-				}
-			}
+	if (count($langues) > 1) {
+		while (list(, $l) = each ($langues)) {
+			if (in_array($l, $sel_lang)) $text_article[$id_article]["trad"]["$l"] =  "<span class='creer'>$l</span>";
 		}
+	}
 		
 	if ($id_trad == $id_article OR $id_trad == 0) {
 		$text_article[$id_article]["trad"]["$lang"] = "<span class='lang_base'$spip_dir_lang>$lang</span>";
@@ -120,7 +122,7 @@ while ($row = spip_fetch_array($result)) {
 }
 
 
-//  checkbox avec imgage
+//  checkbox avec image
 
 function http_label_img($statut, $etat, $var, $img, $texte) {
   return "<label for='$statut'>". 
@@ -242,14 +244,16 @@ function couche_formulaire_tous($first_couche, $last_couche)
 }
 
 function afficher_rubriques_filles($id_parent) {
-	global $enfant, $article, $text_article;
-	global $spip_lang_left, $spip_lang_right, $spip_lang, $direction_generale;
+	global $enfant, $article;
+	global $spip_lang_left, $spip_lang_right, $spip_lang;
 	global $couleur_claire;
 	global $decal;
 	
 	
 
-	
+	$flag_trad = (($GLOBALS['meta']['multi_rubriques'] == 'oui' 
+			OR $GLOBALS['meta']['multi_articles'] == 'oui') 
+		AND $GLOBALS['meta']['gerer_trad'] == 'oui');
 	$decal = $decal + 1;
 	$droite = 500 - (10 * $decal);
 	
@@ -267,39 +271,23 @@ function afficher_rubriques_filles($id_parent) {
 			
 			echo "<div style='padding-top: 5px; padding-bottom: 5px; padding-$spip_lang_left: 28px; background: url(" . _DIR_IMG_PACK . "$icone) $spip_lang_left center no-repeat;$bgcolor'>";
 			
-			if ($enfant[$id_rubrique] OR $article[$id_rubrique]) echo bouton_block_invisible("rubrique$id_rubrique");
-			
-			echo "<b class='verdana2'><a href='" . generer_url_ecrire("naviguer","id_rubrique=$id_rubrique") . "'>";
-			echo $titre;
-			echo "</b></a></div>\n";
-			
-
-			if ($enfant[$id_rubrique] OR $article[$id_rubrique]) {
-				echo debut_block_invisible("rubrique$id_rubrique");			
+			$lesarticles = $article[$id_rubrique];
 
+			if ($enfant[$id_rubrique] OR $lesarticles) echo bouton_block_invisible("rubrique$id_rubrique");
+			
+			echo "<b class='verdana2'><a href='",
+			  generer_url_ecrire("naviguer","id_rubrique=$id_rubrique"),
+			  "'>",
+			  $titre,
+			  "</b></a></div>\n";
+
+			if ($enfant[$id_rubrique] OR $lesarticles) {
+				echo debut_block_invisible("rubrique$id_rubrique");
 				echo "<div class='plan-rubrique'>";
-				if ($article[$id_rubrique]) {
+				if ($lesarticles) {
 					echo "<div class='plan-articles'>";
-					while(list(,$zarticle) = each($article[$id_rubrique]) ) {
-						$zelang = $text_article[$zarticle]["lang"];
-						$text_article[$zarticle]["trad"]["$zelang"] = "";
-						if (count($text_article[$zarticle]["trad"]) > 0) {
-							ksort($text_article[$zarticle]["trad"]);
-							$traductions = join ($text_article[$zarticle]["trad"], "");
-						} else {
-							$traductions = "";
-						}
-						if ($text_article[$zarticle]["id_trad"] == 0 OR $text_article[$zarticle]["id_trad"] == $zarticle) {
-							//echo "<div style='position: relative;'$direction_generale>";
-							if (strlen($traductions)>0) echo "<div class='trad_float'>$traductions</div>";
-							echo "<a class='".$text_article[$zarticle]["statut"]."' href='" . generer_url_ecrire("articles","id_article=$zarticle") . "'>";
-							if (($GLOBALS['meta']['multi_rubriques'] == 'oui' OR $GLOBALS['meta']['multi_articles'] == 'oui') AND $GLOBALS['meta']['gerer_trad'] == 'oui') echo "<span class='lang_base'$direction_generale>".$text_article[$zarticle]["lang"]."</span> ";
-							echo "<span>".$text_article[$zarticle]["titre"]."</span></a>";	
-							//echo "</div>\n";
-						}
-					}
+					article_tous_rubrique($lesarticles, $id_rubrique, $flag_trad);
 					echo "</div>";
-								
 				}
 
 				afficher_rubriques_filles($id_rubrique);	
@@ -314,4 +302,44 @@ function afficher_rubriques_filles($id_parent) {
 	
 }
 
+function article_tous_rubrique($tous, $id_rubrique, $flag_trad) 
+{
+	global $text_article;
+
+	while(list(,$zarticle) = each($tous) ) {
+		$attarticle = &$text_article[$zarticle];
+		$zelang = $attarticle["lang"];
+		unset ($attarticle["trad"][$zelang]);
+		if ($attarticle["id_trad"] == 0 OR $attarticle["id_trad"] == $zarticle) {
+			$auteurs = trouve_auteurs_articles($zarticle);
+			/* pas loin du but, mais mise en page horrible
+$statuts= puce_statut_article($zarticle, $attarticle['statut'], $id_rubrique);
+			*/
+			if (count($attarticle["trad"]) > 0) {
+				ksort($attarticle["trad"]);
+				$traductions = join ($attarticle["trad"], "");
+			echo "<span class='trad_float'>", $traductions, "</span>";
+			}
+			echo "<a   class='",
+			  $attarticle["statut"],
+			  "' href='", 
+			  generer_url_ecrire("articles","id_article=$zarticle"),
+			  "'",
+			  ($auteurs ? (' title="' . htmlspecialchars($auteurs). '"') :''),
+			  ">",
+			  ($flag_trad ? "<span class='lang_base'>$zelang</span> " : ''),
+			  "<span>",
+			  $attarticle["titre"],
+			  "</span></a>";
+		}
+	}
+}
+
+function trouve_auteurs_articles($id_article)
+{
+	$result = spip_query("SELECT nom FROM spip_auteurs AS auteurs, spip_auteurs_articles AS lien WHERE auteurs.id_auteur=lien.id_auteur AND lien.id_article=$id_article ORDER BY auteurs.nom");
+	$res = array();
+	while ($row = spip_fetch_array($result))  $res[] = $row["nom"];
+	return join(", ", $res);
+}
 ?>