diff --git a/.gitattributes b/.gitattributes
index a0334b88be3dc378d8677d4e6b9a16c805b7f0f4..8c3b2d04f1dbd923dc34ac6cb47d18776aa72ba9 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -107,7 +107,6 @@ ecrire/img_pack/deconnecter-24.gif -text
 ecrire/img_pack/deconnecter-24_rtl.gif -text
 ecrire/img_pack/degrade.jpg -text
 ecrire/img_pack/deplierbas.gif -text
-ecrire/img_pack/deplierbas_rtl.gif -text
 ecrire/img_pack/deplierhaut.gif -text
 ecrire/img_pack/deplierhaut_rtl.gif -text
 ecrire/img_pack/doc-24.gif -text
@@ -209,6 +208,9 @@ ecrire/img_pack/suivi-forum-24.gif -text
 ecrire/img_pack/supprimer.gif -text
 ecrire/img_pack/synchro-24.gif -text
 ecrire/img_pack/tirets-separation.gif -text
+ecrire/img_pack/tourner-180.gif -text
+ecrire/img_pack/tourner-droite.gif -text
+ecrire/img_pack/tourner-gauche.gif -text
 ecrire/img_pack/tout-site-24.gif -text
 ecrire/img_pack/tout-site.gif -text
 ecrire/img_pack/traductions-24.gif -text
diff --git a/ecrire/img_pack/deplierbas.gif b/ecrire/img_pack/deplierbas.gif
index f2e2ec7e1defab29177d2b078698cc46afe16355..648c71a9e6167858cff45a549d616feda5b3621e 100644
Binary files a/ecrire/img_pack/deplierbas.gif and b/ecrire/img_pack/deplierbas.gif differ
diff --git a/ecrire/img_pack/deplierbas_rtl.gif b/ecrire/img_pack/deplierbas_rtl.gif
deleted file mode 100644
index 58462cc4f373d5cf84e122b6f0f4f159b56abf3e..0000000000000000000000000000000000000000
Binary files a/ecrire/img_pack/deplierbas_rtl.gif and /dev/null differ
diff --git a/ecrire/img_pack/deplierhaut.gif b/ecrire/img_pack/deplierhaut.gif
index ab12428be2aaf670a214b1c3956eb319c35a0aa7..1619cff51379a56aed346d6f219baa775e8d2a79 100644
Binary files a/ecrire/img_pack/deplierhaut.gif and b/ecrire/img_pack/deplierhaut.gif differ
diff --git a/ecrire/img_pack/deplierhaut_rtl.gif b/ecrire/img_pack/deplierhaut_rtl.gif
index 5b46540a0a00befecafd0e9d60a9d2c5d829ef0f..2bf39b3920a26a08543f79d3a48759411ff83fef 100644
Binary files a/ecrire/img_pack/deplierhaut_rtl.gif and b/ecrire/img_pack/deplierhaut_rtl.gif differ
diff --git a/ecrire/img_pack/tourner-180.gif b/ecrire/img_pack/tourner-180.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0265d0a67330297d5127f66e9328af8e856522be
Binary files /dev/null and b/ecrire/img_pack/tourner-180.gif differ
diff --git a/ecrire/img_pack/tourner-droite.gif b/ecrire/img_pack/tourner-droite.gif
new file mode 100644
index 0000000000000000000000000000000000000000..0a893cb627ea13d8fd5be179e034f926dc616eae
Binary files /dev/null and b/ecrire/img_pack/tourner-droite.gif differ
diff --git a/ecrire/img_pack/tourner-gauche.gif b/ecrire/img_pack/tourner-gauche.gif
new file mode 100644
index 0000000000000000000000000000000000000000..bf0c6df353b178165cdf51d72cea950fea4f308c
Binary files /dev/null and b/ecrire/img_pack/tourner-gauche.gif differ
diff --git a/ecrire/inc_documents.php3 b/ecrire/inc_documents.php3
index 818e5e6b23808235854991ffd7f5a754eca43b6f..9dfcc59084c8a0856fee203e5f2b02c9377cbc56 100644
--- a/ecrire/inc_documents.php3
+++ b/ecrire/inc_documents.php3
@@ -522,34 +522,12 @@ function afficher_documents_non_inclus($id_article, $type = "article", $flag_mod
 			$mode = $document->get('mode');
 			
 					
-			//
-			// Recuperer la vignette
-			//
-			if ($id_vignette >0) {
-				$vignette = fetch_document($id_vignette);
-			
-				if ($vignette) {
-					$fichier_vignette = generer_url_document($id_vignette);
-					$largeur_vignette = $vignette->get('largeur');
-					$hauteur_vignette = $vignette->get('hauteur');
-					$taille_vignette = $vignette->get('taille');
-			
-				echo "<div style='text-align:center;'>";
-				echo texte_vignette_document($largeur_vignette, $hauteur_vignette, $fichier_vignette, "../$fichier");
-				echo "</div>";
-				
-				}
-			}
-			else {
-				$fichier_vignette = "../spip_images.php3?vignette=$fichier";
-				echo "<div style='text-align: center;'><a href='../$fichier'><img src='$fichier_vignette' border='0'></a></div>";
-			}
-						
+			echo "<div style='text-align:center;'>";
 			if ($flag_modif) {
 				$process = lire_meta('image_process');
 				 // imagick (php4-imagemagick)
 				 if ($process == 'imagick' OR $process == 'gd2' OR $process == 'convert') {
-					echo "<div class='verdana1' style='text-align:center'>";		
+					echo "<div class='verdana1' style='float: right; text-align:left;'>";		
 					$link_rot = $image_link;
 					$link_rot->addVar('redirect', $redirect_url);
 					$link_rot->addVar('hash', calculer_action_auteur("rotate ".$id_document));
@@ -557,8 +535,8 @@ function afficher_documents_non_inclus($id_article, $type = "article", $flag_mod
 					$link_rot->addVar('doc_rotate', $id_document);
 					$link_rot->addVar('vignette_aff', $id_document);
 					$link_rot->addVar('var_rot', -90);
-					echo "<a href='".$link_rot->getUrl("portfolio")."'>gauche</a> |";
-	
+					echo "<a href='".$link_rot->getUrl("portfolio")."' class='bouton_rotation'><img src='img_pack/tourner-gauche.gif' border='0' /></a> ";
+					echo "<br />";
 					$link_rot = $image_link;
 					$link_rot->addVar('redirect', $redirect_url);
 					$link_rot->addVar('hash', calculer_action_auteur("rotate ".$id_document));
@@ -566,7 +544,8 @@ function afficher_documents_non_inclus($id_article, $type = "article", $flag_mod
 					$link_rot->addVar('doc_rotate', $id_document);
 					$link_rot->addVar('vignette_aff', $id_document);
 					$link_rot->addVar('var_rot', 90);
-					echo "<a href='".$link_rot->getUrl("portfolio")."'>droite</a> |";
+					echo "<a href='".$link_rot->getUrl("portfolio")."' class='bouton_rotation'><img src='img_pack/tourner-droite.gif' border='0' /></a> ";
+					echo "<br />";
 	
 					$link_rot = $image_link;
 					$link_rot->addVar('redirect', $redirect_url);
@@ -575,10 +554,32 @@ function afficher_documents_non_inclus($id_article, $type = "article", $flag_mod
 					$link_rot->addVar('doc_rotate', $id_document);
 					$link_rot->addVar('vignette_aff', $id_document);
 					$link_rot->addVar('var_rot', 180);
-					echo "<a href='".$link_rot->getUrl("portfolio")."'>180&deg;</a>";
+					echo "<a href='".$link_rot->getUrl("portfolio")."' class='bouton_rotation'><img src='img_pack/tourner-180.gif' border='0' /></a>";
 					echo "</div>";
 				}
 			}
+			//
+			// Recuperer la vignette
+			//
+			if ($id_vignette >0) {
+				$vignette = fetch_document($id_vignette);
+			
+				if ($vignette) {
+					$fichier_vignette = generer_url_document($id_vignette);
+					$largeur_vignette = $vignette->get('largeur');
+					$hauteur_vignette = $vignette->get('hauteur');
+					$taille_vignette = $vignette->get('taille');
+			
+				echo texte_vignette_document($largeur_vignette, $hauteur_vignette, $fichier_vignette, "../$fichier");
+				
+				}
+			}
+			else {
+				$fichier_vignette = "../spip_images.php3?vignette=$fichier";
+				echo "<a href='../$fichier'><img src='$fichier_vignette' border='0'></a>";
+			}
+				echo "</div>";
+						
 			
 			if ($flag_modif) {
 				if ($flag_deplier) $triangle = bouton_block_visible("port$id_document");
@@ -690,7 +691,6 @@ function afficher_documents_non_inclus($id_article, $type = "article", $flag_mod
 
 
 
-	// Ne pas afficher vignettes en tant qu'images sans docs
 	//// Documents associes
 	$query = "SELECT * FROM #table AS docs, spip_documents_".$type."s AS l ".
 		"WHERE l.id_$type=$id_article AND l.id_document=docs.id_document ".
@@ -736,6 +736,16 @@ function afficher_documents_non_inclus($id_article, $type = "article", $flag_mod
 			$taille = $document->get('taille');
 			$date = $document->get('date');
 			$mode = $document->get('mode');
+		
+			$result = spip_query("SELECT * FROM spip_types_documents WHERE id_type=$id_type");
+			if ($type = @spip_fetch_array($result))	{
+				$type_extension = $type['extension'];
+				$type_inclus = $type['inclus'];
+				$type_titre = $type['titre'];
+			}
+
+
+
 			//
 			// Recuperer la vignette
 			//
@@ -776,8 +786,8 @@ function afficher_documents_non_inclus($id_article, $type = "article", $flag_mod
 			if (strlen($descriptif) > 0) {
 				echo "<div class='verdana1'>".propre($descriptif)."</div>";
 			}
-			echo "<div class='verdana1' style='text-align: center;'>$largeur x $hauteur pixels</div>";
-			
+			echo "<div class='verdana1' style='text-align: center;'>".taille_en_octets($taille)."</div>";
+			if ($largeur > 0 AND $hauteur > 0) echo "<div class='verdana1' style='text-align: center;'>$largeur x $hauteur pixels</div>";
 			
 			
 			if ($flag_modif) {
@@ -816,18 +826,18 @@ function afficher_documents_non_inclus($id_article, $type = "article", $flag_mod
 						echo "<b>"._T('info_description')."</b><br />\n";
 						echo "<textarea name='descriptif_document' rows='4' class='forml' style='font-size:10px;' cols='*' wrap='soft'>";
 						echo entites_html($descriptif);
-						echo "</textarea>\n";
+						echo "</textarea><br />\n";
 					} else {
-						echo "<input type='hidden' name='descriptif_document' value='".entites_html($descriptif)."' />\n";
+						echo "<input type='hidden' name='descriptif_document' value='".entites_html($descriptif)."' /><br />\n";
 					}
-			
+
 					if ($type_inclus == "embed" OR $type_inclus == "image") {
-						echo "<br /><b>"._T('info_dimension')."</b><br />\n";
+						echo "<b>"._T('info_dimension')."</b><br />\n";
 						echo "<input type='text' name='largeur_document' class='fondl' style='font-size:9px;' value=\"$largeur\" size='5'>";
 						echo " x <input type='text' name='hauteur_document' class='fondl' style='font-size:9px;' value=\"$hauteur\" size='5'> "._T('info_pixels');
 					} else {
 						echo "<input type='hidden' name='largeur_document' value=\"$largeur\" />\n";
-						echo "<input type='hidden' name='hauteur_document' value=\"$hauteur\" />\n";
+						echo "<input type='hidden' name='hauteur_document' value=\"$hauteur\" /><br >\n";
 					}
 			
 					echo "<div align='".$GLOBALS['spip_lang_right']."'>";
@@ -979,7 +989,7 @@ function afficher_horizontal_document($id_document, $image_link, $redirect_url =
 	$taille = $document->get('taille');
 	$date = $document->get('date');
 	$mode = $document->get('mode');
-
+	
 	if ($mode != 'document') return;
 
 	if (!$titre) {
diff --git a/ecrire/inc_layer.php3 b/ecrire/inc_layer.php3
index 1a501a69de6a1acf10816fd02a7892ae83725456..d79b6e070bb697178637b757e86f75702c96664f 100644
--- a/ecrire/inc_layer.php3
+++ b/ecrire/inc_layer.php3
@@ -95,7 +95,7 @@ function bouton_block_invisible($nom_block) {
 			$javasc .= "swap_couche(\\'".$numero_block[$nom_block]."\\', \\'$spip_lang_rtl\\');";
 		}
 		$retour = "\n<script type='text/javascript'><!--\n";
-		$retour .= "document.write('<a href=\"javascript:$javasc\"><img name=\"triangle".$numero_block["$nom_block"]."\" src=\"img_pack/deplierhaut$spip_lang_rtl.gif\" alt=\"\" title=\"".addslashes(_T('info_deplier'))."\" width=\"16\" height=\"14\" border=\"0\"></a> ');\n";
+		$retour .= "document.write('<a href=\"javascript:$javasc\"><img name=\"triangle".$numero_block["$nom_block"]."\" src=\"img_pack/deplierhaut$spip_lang_rtl.gif\" alt=\"\" title=\"".addslashes(_T('info_deplier'))."\" width=\"10\" height=\"10\" border=\"0\"></a>');\n";
 		$retour .= "//-->\n";
 		$retour .= "</script>\n";
 
@@ -116,7 +116,7 @@ function bouton_block_visible($nom_block){
 			$numero_block["$nom_block"] = $compteur_block;
 		}
 
-		return "<a href=\"javascript:swap_couche('".$numero_block["$nom_block"]."', '$spip_lang_rtl')\"><IMG name='triangle".$numero_block["$nom_block"]."' src='img_pack/deplierbas$spip_lang_rtl.gif' alt='' title='".addslashes(_T('info_deplier'))."' width='16' height='14' border='0'></a> ";
+		return "<a href=\"javascript:swap_couche('".$numero_block["$nom_block"]."', '$spip_lang_rtl')\"><IMG name='triangle".$numero_block["$nom_block"]."' src='img_pack/deplierbas.gif' alt='' title='".addslashes(_T('info_deplier'))."' width='10' height='10' border='0'></a>";
 	}
 }
 
diff --git a/ecrire/layer.js b/ecrire/layer.js
index d7cbcbaac7a53a34a665522ad1698a38c692a5e3..2c3a313ae962e39da8adf048fe4fdb4157fd4849 100644
--- a/ecrire/layer.js
+++ b/ecrire/layer.js
@@ -12,7 +12,7 @@ function swap_couche(couche, rtl) {
 	triangle = MM_findObj('triangle' + couche);
 	if (!(layer = MM_findObj('Layer' + couche))) return;
 	if (vis[couche] == 'hide'){
-		if (triangle) triangle.src = 'img_pack/deplierbas' + rtl + '.gif';
+		if (triangle) triangle.src = 'img_pack/deplierbas.gif';
 		layer.style.display = 'block';
 		vis[couche] = 'show';
 	} else {
@@ -24,7 +24,7 @@ function swap_couche(couche, rtl) {
 function ouvrir_couche(couche, rtl) {
 	triangle = MM_findObj('triangle' + couche);
 	if (!(layer = MM_findObj('Layer' + couche))) return;
-	if (triangle) triangle.src = 'img_pack/deplierbas' + rtl + '.gif';
+	if (triangle) triangle.src = 'img_pack/deplierbas.gif';
 	layer.style.display = 'block';
 	vis[couche] = 'show';
 }
diff --git a/ecrire/spip_style.php3 b/ecrire/spip_style.php3
index c8e2961f15605418305a080629d7cf07c93a5fb0..0c9c9e096ea6e836224f76bbb79ad3ec9e60d5bd 100644
--- a/ecrire/spip_style.php3
+++ b/ecrire/spip_style.php3
@@ -63,7 +63,13 @@ td {
 	background-position: center bottom; float: none; 
 	behavior: url("win_width.htc");
 }
-.fondl { background-color: <?php echo $couleur_claire; ?>; background-position: center bottom; float: none; color: #000000; }
+.fondl { 
+	padding: 3px; 
+	background-color: #e4e4e4; 
+	border: 1px solid <?php echo $couleur_claire; ?>; 
+	background-position: center bottom; 
+	float: none;
+}
 .fondo { background-color: <?php echo $couleur_foncee; ?>; background-position: center bottom; float: none; color: #FFFFFF; }
 .fondf { background-color: #FFFFFF; border-style: solid ; border-width: 1; border-color: #E86519; color: #E86519; }
 .maj-debut:first-letter { text-transform: uppercase; }
@@ -652,6 +658,17 @@ td.icone a img {
 	border: 0px;
 }
 
+a.bouton_rotation img {
+	padding: 1px;
+	margin-bottom: 1px;
+	background-color: #eeeeee;
+	border: 1px solid <? echo $couleur_claire; ?>;
+}
+
+a.bouton_rotation:hover img {
+	border: 1px solid <? echo $couleur_foncee; ?>;
+}
+
 
 /*
  * Dessus-dessous calendrier