diff --git a/ecrire/inc_presentation.php3 b/ecrire/inc_presentation.php3
index 5d60b0b68fd1150b76beb1796726d5cc151715cf..602e750c289001e6f818458eb3fab25147330ea5 100644
--- a/ecrire/inc_presentation.php3
+++ b/ecrire/inc_presentation.php3
@@ -61,31 +61,40 @@ function bouton_imessage($destinataire, $row = '') {
 }
 
 //
-// un cadre en relief
+// Cadres
 //
-function debut_cadre_relief($icone='', $return = false, $fonction=''){
+
+function debut_cadre($style, $icone, $fonction) {
 	global $spip_display;
 	if ($spip_display != 1){	
-
 		if (strlen($icone)<3) $icone = "rien.gif";
-			$retour_aff.= "<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0 WIDTH=\"100%\">";
-			$retour_aff.= "<tr>";
-			$retour_aff.= "<td width='5'><img src='img_pack/rond-hg-24.gif' alt='' width='5' height='24'></td>";
-			$retour_aff.= "<td background='img_pack/rond-h-24.gif'>";
-			if (strlen($fonction)>3) {
-				$retour_aff.= "<table cellpadding=0 cellspacing=0 border=0><tr><td background='img_pack/$icone'><img src='img_pack/$fonction' alt='' width='24' height='24'></td></tr></table>";
-			}
-			else {
-				$retour_aff.= "<img src='img_pack/$icone' alt='' width='24' height='24'>";
-			}
-			$retour_aff.= "</td>";
-			$retour_aff.= "<td width='5'><img src='img_pack/rond-hd-24.gif' alt='' width='5' height='24'></td>";
-			$retour_aff.= "</tr>";
-	
-		$retour_aff.= "<TR>";
-		$retour_aff.= "<td background='img_pack/rond-g.gif' width='5'><img src='img_pack/rien.gif' alt='' width='5' height='5'></td>";
-		$retour_aff.= "<TD WIDTH=\"100%\">";
-		$retour_aff.= "<TABLE CELLPADDING=3 CELLSPACING=0 BORDER=0 WIDTH=\"100%\"><TR><TD BGCOLOR='#ffffff' WIDTH=\"100%\">";
+		$retour_aff .= "\n<table class='cadre' cellspacing='0'><tr>";
+		$retour_aff .= "\n<td class='$style-hg'></td>";
+		$retour_aff .= "\n<td class='$style-h'><img src='img_pack/$icone'></td>";
+		$retour_aff .= "\n<td class='$style-hd'></td></tr>";
+		$retour_aff .= "\n<tr><td class='$style-g'></td>";
+		$retour_aff .= "\n<td class='$style-c'>";
+	}
+	return $retour_aff;
+}
+
+function fin_cadre($style) {
+	global $spip_display;
+	if ($spip_display != 1){	
+		$retour_aff .= "\n</td>";
+		$retour_aff .= "\n<td class='$style-d'></td></tr>";
+		$retour_aff .= "\n<td class='$style-bg'></td>";
+		$retour_aff .= "\n<td class='$style-b'></td>";
+		$retour_aff .= "\n<td class='$style-bd'></td></tr>";
+		$retour_aff .= "\n</table>\n";
+	}
+	return $retour_aff;
+}
+
+function debut_cadre_relief($icone='', $return = false, $fonction=''){
+	global $spip_display;
+	if ($spip_display != 1){	
+		$retour_aff = debut_cadre('r', $icone, $fonction);
 	}
 	else {
 		$retour_aff = "<p><div style='border-right: 1px solid #cccccc; border-bottom: 1px solid #cccccc;'><div style='border: 1px solid #666666; padding: 5px; background-color: white;'>";
@@ -93,25 +102,12 @@ function debut_cadre_relief($icone='', $return = false, $fonction=''){
 	
 	if ($return) return $retour_aff;
 	else echo $retour_aff;
-		
 }
 
 function fin_cadre_relief($return = false){
 	global $spip_display;
 	if ($spip_display != 1){	
-
-		$retour_aff.= "</td></tr></table>";
-		$retour_aff.= "</td>";
-		$retour_aff.= "<td background='img_pack/rond-d.gif' width='5'><img src='img_pack/rien.gif' alt='' width='5' height='5'></td></tr>";
-		$retour_aff.= "<tr>";
-		$retour_aff.= "<td width='5'><img src='img_pack/rond-bg.gif' alt='' width='5' height='5'></td>";
-		$retour_aff.= "<td background='img_pack/rond-b.gif'><img src='img_pack/rien.gif' alt='' width='5' height='5'></td>";
-		$retour_aff.= "<td width='5'><img src='img_pack/rond-bd.gif' alt='' width='5' height='5'></td>";
-		$retour_aff.= "</tr>";
-		$retour_aff.= "<tr><td></td><td bgcolor='#bbbbbb'><img src='img_pack/rien.gif' alt='' width='5' height='1'></td></tr>";
-		$retour_aff.= "<tr><td><img src='img_pack/rien.gif' alt='' width='5' height='4'></td></tr>";
-		$retour_aff.= "</table>";
-
+		$retour_aff = fin_cadre('r');
 	}
 	else {
 		$retour_aff = "</div></div></p>\n";
@@ -124,28 +120,9 @@ function fin_cadre_relief($return = false){
 
 function debut_cadre_enfonce($icone='', $return = false, $fonction=''){
 	global $spip_display;
-	$img_pack = $GLOBALS['flag_ecrire'] ? 'img_pack' : 'ecrire/img_pack';
 
 	if ($spip_display != 1){	
-		if (strlen($icone)<3) $icone = "rien.gif";
-			$retour_aff.= "<TABLE CELLPADDING=0 CELLSPACING=0 BORDER=0 WIDTH=\"100%\">";
-			$retour_aff.= "<tr>";
-			$retour_aff.= "<td width='5'><img src='$img_pack/cadre-hg.gif' alt='' width='5' height='24'></td>";
-			$retour_aff.= "<td background='$img_pack/cadre-h.gif'>";
-			if (strlen($fonction)>3) {
-				$retour_aff.= "<table cellpadding=0 cellspacing=0 border=0><tr><td background='$img_pack/$icone'><img src='$img_pack/$fonction' alt='' width='24' height='24'></td></tr></table>";
-			}
-			else {
-				$retour_aff.= "<img src='$img_pack/$icone' alt='' width='24' height='24'>";
-			}
-			$retour_aff.= "</td>";
-			$retour_aff.= "<td width='5'><img src='$img_pack/cadre-hd.gif' alt='' width='5' height='24'></td>";
-			$retour_aff.= "</tr>";
-	
-		$retour_aff.= "<TR>";
-		$retour_aff.= "<td background='$img_pack/cadre-g.gif' width='5'><img src='$img_pack/rien.gif' alt='' width='5' height='5'></td>";
-		$retour_aff.= "<TD WIDTH=\"100%\" bgcolor='#e0e0e0' background=''>";
-		$retour_aff.= "<TABLE CELLPADDING=3 CELLSPACING=0 BORDER=0 WIDTH=\"100%\"><TR><TD WIDTH=\"100%\">";
+		$retour_aff = debut_cadre('e', $icone, $fonction);
 	}
 	else {
 		$retour_aff = "<p><div style=\"border: 1px solid #333333; background-color: #e0e0e0;\"><div style=\"padding: 5px; left-right: 1px solid #999999; border-top: 1px solid #999999;\">";
@@ -157,19 +134,9 @@ function debut_cadre_enfonce($icone='', $return = false, $fonction=''){
 
 function fin_cadre_enfonce($return = false){
 	global $spip_display;
-	$img_pack = $GLOBALS['flag_ecrire'] ? 'img_pack' : 'ecrire/img_pack';
 
-	if ($spip_display != 1){	
-		$retour_aff.= "</TD></TR></TABLE>";
-		$retour_aff.= "</TD>";
-		$retour_aff.= "<td background='$img_pack/cadre-d.gif' width='5'><img src='$img_pack/rien.gif' alt='' width='5' height='5'></td>";
-		$retour_aff.= "<tr>";
-		$retour_aff.= "<td width='5'><img src='$img_pack/cadre-bg.gif' alt='' width='5' height='5'></td>";
-		$retour_aff.= "<td background='$img_pack/cadre-b.gif'><img src='$img_pack/rien.gif' alt='' width='5' height='5'></td>";
-		$retour_aff.= "<td width='5'><img src='$img_pack/cadre-bd.gif' alt='' width='5' height='5'></td>";
-		$retour_aff.= "</tr>";
-		$retour_aff.= "<tr><td><img src='$img_pack/rien.gif' alt='' width='5' height='4'></td></tr>";
-		$retour_aff.= "</table>";
+	if ($spip_display != 1) {
+		$retour_aff = fin_cadre('e');
 	}
 	else {
 		$retour_aff = "</div></div></p>\n";
@@ -254,46 +221,12 @@ function fin_raccourcis() {
 }
 
 
-//
-// Une icone avec lien et legende (texte en-dessous)
-//
-
-function afficher_icone_texte($url, $texte, $image, $largeur, $hauteur, $align = "") {
-	echo "<table";
-	if ($align) echo " align='$align'";
-	echo " cellspacing='0' cellpadding='10'>";
-	echo "<tr><td width='".floor($largeur * 2.0)."' align='center'>\n";
-	echo "\t<a class='icone' href=\"$url\"><font face='Verdana,Arial,Helvetica,sans-serif' size='1'>\n";
-	echo "\t<img src='$image' border='0' alt='' width='$largeur' height='$hauteur'><br>\n";
-	echo "\t<b>$texte</b></font></a>\n";
-	echo "\t</td></tr></table>\n";
-}
-
-
-//
-// Une icone avec lien et info-bulle (pas de texte en-dessous)
-//
-
-function afficher_icone($url, $texte, $image, $largeur, $hauteur, $align = "") {
-	echo "<a class='icone' href=\"$url\">\n";
-	$texte = attribut_html($texte);
-	echo "\t<img src='$image' border='0' width='$largeur' height='$hauteur' alt=\"$texte\" title=\"$texte\"";
-	if ($align) echo " align='$align'";
-	echo "></a>\n";
-}
-
-
 
 
 //
 // Fonctions d'affichage
 //
 
-function tableau($texte,$lien,$image){
-	echo "<td width=15>&nbsp;</td>\n";
-	echo "<td width=80 valign='top' align='center'><a href='$lien'><img src='$image' border='0' alt=''></a><br><font size=1 face='arial,helvetica' color='#e86519'><b>$texte</b></font></td>";
-}
-
 function afficher_liste($largeurs, $table, $styles = '') {
 	global $couleur_claire;
 
@@ -1050,6 +983,7 @@ function barre_onglets($rubrique, $onglet){
 }
 
 
+
 function icone_bandeau_principal($texte, $lien, $fond, $rubrique_icone = "vide", $rubrique = "", $lien_noscript = ""){
 	global $spip_display, $spip_ecran ;
 	
@@ -1236,51 +1170,32 @@ function icone($texte, $lien, $fond, $fonction="", $align=""){
 	echo "</table>";
 }
 
-function icone_horizontale($texte, $lien, $fond = "", $fonction = "", $important=false) {
+function icone_horizontale($texte, $lien, $fond = "", $fonction = "") {
 	global $spip_display, $couleur_claire, $couleur_foncee;
-		
+
 	if (strlen($fonction) < 3) $fonction = "rien.gif";
 
 	$hauteur = 30;
 	$largeur = "100%";
 
-	if ($important)
-		echo "\n<table cellpadding=0 cellspacing=0 border=0 width=$largeur class=\"iconeimpoff\" onMouseOver=\"changeclass(this,'iconeon');\" onMouseOut=\"changeclass(this,'iconeimpoff');\" onClick=\"document.location='$lien'\">";
-	else
-		echo "\n<table cellpadding=0 cellspacing=0 border=0 width=$largeur class=\"iconeoff\" onMouseOver=\"changeclass(this,'iconeon');\" onMouseOut=\"changeclass(this,'iconeoff');\" onClick=\"document.location='$lien'\">";
-
+	echo "\n<table class=\"icone-h\" onMouseOver=\"changeclass(this,'icone-h-on');\" onMouseOut=\"changeclass(this,'icone-h');\" onClick=\"document.location='$lien'\">";
 	echo "<tr>";
 	
-	echo "<td background='' align='left' valign='middle' width=$largeur height=$hauteur>";
-	echo "\n<table cellpadding=0 cellspacing=0 border=0>";
-	echo "<tr>";
-		
 	if ($spip_display != 1 AND $fond != "") {
-		echo "<td background='' align='center'>";
-		if ($fonction != "rien.gif") {
-			echo "\n<table cellpadding=0 cellspacing=0 border=0><tr><td background='img_pack/$fond'>";
-			echo "<a href='$lien'><img src='img_pack/$fonction' alt='' $title width='24' height='24' border='0'></a>";
-			echo "</td></tr></table>\n";
-		}
-		else {
-			echo "\n<table cellpadding=0 cellspacing=0 border=0><tr><td background=''>";
-			echo "<a href='$lien'><img src='img_pack/$fond' alt='' $title width='24' height='24' border='0'></a>";
-			echo "</td></tr></table>\n";
-		}
+		echo "<td class='image' style='background-image: url(\"img_pack/$fond\")'>";
+		echo "<a href='$lien'>";
+		echo "<img src='img_pack/$fonction' alt=''>";
+		echo "</a>";
 		echo "</td>";
 	}
 
-	echo "<td background=''>";
-	echo "<img src='img_pack/rien.gif' alt='' width=5 height=1>";
-	echo "</td>";
-
-	echo "<td background='' align='left'>";
-	echo "<a href='$lien' class='icone'><font face='Verdana,Arial,Helvetica,sans-serif' size='1' color='#666666'><b>$texte</b></font></a>";
+	echo "<td valign='middle'>";
+	echo "<a href='$lien'>";
+	echo "$texte";
+	echo "</a>";
 	echo "</td></tr>";
 
-	echo "</table>";
-	echo "</td></tr>";
-	echo "</table>";
+	echo "</table>\n";
 }
 
 
@@ -1356,6 +1271,7 @@ function debut_page($titre = "", $rubrique = "asuivre", $sous_rubrique = "asuivr
 	// Icones principales
 	echo "<table cellpadding='0' style='background-image: url(img_pack/rayures-fines.gif);' width='100%'><tr width='100%'><td width='100%' align='center'>";
 	echo "<table cellpadding='0' background='' width='$largeur'><tr width='$largeur'>";
+	echo "<tr width='$largeur'>";
 		icone_bandeau_principal ("&Agrave; suivre", "index.php3", "asuivre-48.gif", "asuivre", $rubrique);
 		icone_bandeau_principal ("&Eacute;dition du site", "naviguer.php3", "documents-48.gif", "documents", $rubrique);
 		if ($options == "avancees") {
diff --git a/ecrire/spip_style.php3 b/ecrire/spip_style.php3
index f45f7379388f60d8935e208e08e5e5081bd5105d..3ecc01644ef52cbd4ce9e76ac76cc35d84517098 100644
--- a/ecrire/spip_style.php3
+++ b/ecrire/spip_style.php3
@@ -35,6 +35,143 @@ a:hover { text-decoration: underline; }
 a.icone { text-decoration: none; }
 a.icone:hover { text-decoration: none; }
 
+
+/*
+ * Cadre blanc arrondi
+ */
+
+.cadre {
+	padding: 0px;
+	border: 0px;
+	width: 100%;
+}
+/* Haut-gauche, etc. */
+.r-hg 	{
+	width: 5px; height: 24px; background: url('img_pack/rond-hg-24.gif') no-repeat right bottom;
+}
+.r-h {
+	height: 24px; background: url('img_pack/rond-h-24.gif') repeat-x bottom;
+}
+.r-hd {
+	width: 5px; height: 24px; background: url('img_pack/rond-hd-24.gif') no-repeat left bottom;
+}
+.r-g {
+	width: 5px; background: url('img_pack/rond-g.gif') repeat-y right;
+}
+.r-d {
+	width: 5px; background: url('img_pack/rond-d.gif') repeat-y left;
+}
+.r-bg {
+	width: 5px; height: 5px; background: url('img_pack/rond-bg.gif') no-repeat right top;
+}
+.r-b {
+	height: 5px; background: url('img_pack/rond-b.gif') repeat-x top;
+}
+.r-bd {
+	width: 5px; height: 5px; background: url('img_pack/rond-bd.gif') no-repeat left top;
+}
+.r-c {
+	background: white; padding: 2px;
+}
+
+
+/*
+ * Cadre gris enfonce
+ */
+
+/* Haut-gauche, etc. */
+.e-hg {
+	width: 5px; height: 24px; background: url('img_pack/cadre-hg.gif') no-repeat right bottom;
+}
+.e-h {
+	height: 24px; background: url('img_pack/cadre-h.gif') repeat-x bottom;
+}
+.e-hd {
+	width: 5px; height: 24px; background: url('img_pack/cadre-hd.gif') no-repeat left bottom;
+}
+.e-g {
+	width: 5px; background: url('img_pack/cadre-g.gif') repeat-y right;
+}
+.e-d {
+	width: 5px; background: url('img_pack/cadre-d.gif') repeat-y left;
+}
+.e-bg {
+	width: 5px; height: 5px; background: url('img_pack/cadre-bg.gif') no-repeat right top;
+}
+.e-b {
+	height: 5px; background: url('img_pack/cadre-b.gif') repeat-x top;
+}
+.e-bd {
+	width: 5px; height: 5px; background: url('img_pack/cadre-bd.gif') no-repeat left top;
+}
+.e-c {
+	background: #e0e0e0; padding: 2px;
+}
+
+
+/*
+ * Icones horizontales
+ * (on utilise deux styles distincts car IE ne gere pas le :hover)
+ */
+
+.icone-h {
+	padding: 3px;
+	margin: 2px;
+	border: 1px dashed #aaaaaa;
+	background-color: #f0f0f0;
+	width: 100%;
+	color: #666666;
+	text-decoration: none;
+	font-family: Verdana,Arial,Helvetica,sans-serif;
+	font-size: 10px;
+	font-weight: bold;
+}
+.icone-h-on {
+	cursor: pointer;
+	padding: 3px;
+	margin: 2px;
+	border-right: solid 1px white;
+	border-bottom: solid 1px white;
+	border-left: solid 1px #666666;
+	border-top: solid 1px #666666;
+	background-color: #eeeeee;
+	width: 100%;
+	color: #666666;
+	text-decoration: none;
+	font-family: Verdana,Arial,Helvetica,sans-serif;
+	font-size: 10px;
+	font-weight: bold;
+}
+.icone-h .image {
+	width: 24px;
+	height: 24px;
+	background-repeat: no-repeat;
+}
+.icone-h-on .image {
+	width: 24px;
+	height: 24px;
+	background-repeat: no-repeat;
+}
+.icone-h a {
+	color: #666666;
+	text-decoration: none;
+}
+.icone-h-on a {
+	color: #666666;
+	text-decoration: none;
+}
+.icone-h .image img {
+	width: 24px;
+	height: 24px;
+	border: 0px;
+}
+.icone-h-on .image img {
+	width: 24px;
+	height: 24px;
+	border: 0px;
+}
+
+
 a.spip_in  {background-color:#eeeeee;}
 a.spip_out {}
 a.spip_note {}