diff --git a/ecrire/exec/admin_repair.php b/ecrire/exec/admin_repair.php
index 5b37df245368d2000d05ba21ccb026c0ce0d31e7..f28513fc9f89913f6c0486db89e06d7a90f8cbed 100644
--- a/ecrire/exec/admin_repair.php
+++ b/ecrire/exec/admin_repair.php
@@ -54,7 +54,7 @@ function verifier_base() {
 		$ok = ($row[3] == 'OK');
 
 		if (!$ok)
-			$res .= "<pre><font color='red'><b>".htmlentities(join("\n", $row))."</b></font></pre>\n";
+			$res .= "<pre><span style='color: red; font-weight: bold;'>".htmlentities(join("\n", $row))."</span></pre>\n";
 		else
 			$res .= " "._T('texte_table_ok')."<br />\n";
 
@@ -85,7 +85,7 @@ function exec_admin_repair_dist()
 		debut_admin("admin_repair", $action, $message);
 
 		if (! $res = verifier_base())
-			$res = "<br /><br /><font color='red'><b><tt>"._T('avis_erreur_mysql').' '.spip_sql_errno().': '.spip_sql_error() ."</tt></b></font><br /><br /><br />\n";
+			$res = "<br /><br /><span style='color: red; font-weight: bold;'><tt>"._T('avis_erreur_mysql').' '.spip_sql_errno().': '.spip_sql_error() ."</tt></span><br /><br /><br />\n";
 		fin_admin($action);
 		echo minipres(_T('texte_tentative_recuperation'), $res);
 	}
diff --git a/ecrire/exec/config_multilang.php b/ecrire/exec/config_multilang.php
index 1abcc3d57c8505b95aae8abbc63b330d54ed2c6c..e42fffe38a28ba0ff39a6dcacaa97128eb61fda0 100644
--- a/ecrire/exec/config_multilang.php
+++ b/ecrire/exec/config_multilang.php
@@ -143,10 +143,10 @@ fin_cadre_couleur();
 			echo "\n<div>";
 			$nom_langue = $langues[$code_langue];
 			if ($langues_trad[$code_langue]) $nom_langue = "<u>$nom_langue</u>";
-			$nom_langue = "<b><font color='$couleur_foncee'>$nom_langue</font></b>";
+			$nom_langue = "<span style='color: $couleur_foncee; font-weight: bold'>$nom_langue</span>";
 			echo "<input type='hidden' name='langues_auth[]' value='$code_langue' id='langue_auth_$code_langue' />";
 			echo "<input type='checkbox' checked='checked' disabled='disabled' />";
-			echo  "\n$nom_langue\n&nbsp; &nbsp;<font color='#777777'>[$code_langue]</font>";
+			echo  "\n$nom_langue\n&nbsp; &nbsp;<span style='color: #777777'>[$code_langue]</span>";
 			echo "</div>";
 
 			if ($i == $cesure) echo "\n</td><td style='width: 50%' class='verdana1'>";
@@ -167,7 +167,7 @@ fin_cadre_couleur();
 			else {
 				echo "<input type='checkbox' name='langues_auth[]' value='$code_langue' id='langue_auth_$code_langue' />";
 			}
-			echo  "\n<label for='langue_auth_$code_langue'>$nom_langue</label> &nbsp; &nbsp;<font color='#777777'>[$code_langue]</font>";
+			echo  "\n<label for='langue_auth_$code_langue'>$nom_langue</label> &nbsp; &nbsp;<span style='color: #777777'>[$code_langue]</span>";
 
 			echo "</div>";
 
diff --git a/ecrire/exec/controle_forum.php b/ecrire/exec/controle_forum.php
index 85622280e1c4b8e6f0b4c613341778ec0404f17c..b38dbf2ab37547a93bd2db9ce88df6733789bc84 100644
--- a/ecrire/exec/controle_forum.php
+++ b/ecrire/exec/controle_forum.php
@@ -46,7 +46,7 @@ function forum_parent($id_forum) {
 			 'type' => 'id_article',
 			 'valeur' => $id_article,
 			 'titre' => $titre,
-			 'avant' => "<a href='" . generer_url_ecrire("articles_forum","id_article=$id_article") . "'><font color='red'>"._T('lien_forum_public'). "</font></a><br />");
+			 'avant' => "<a href='" . generer_url_ecrire("articles_forum","id_article=$id_article") . "'><span style='color: red'>"._T('lien_forum_public'). "</span></a><br />");
 	  }
 	}
 	else if ($forum_id_rubrique > 0) {
diff --git a/ecrire/exec/sites.php b/ecrire/exec/sites.php
index 80cefdb4970da01d73bc9cf07637f5e2a5667ae7..8bd711bebe44da11c3c12e58ed7281d1d169b98e 100644
--- a/ecrire/exec/sites.php
+++ b/ecrire/exec/sites.php
@@ -264,7 +264,7 @@ if ($syndication == "oui" OR $syndication == "off" OR $syndication == "sus") {
 	'</font></p>';
 
 	if ($erreur_syndic)
-		echo "<p><font color='red'><b>$erreur_syndic</b></font></p>";
+		echo "<p style='color: red; font-weight: bold;'>",$erreur_syndic,"</p>";
 
 	if ($syndication == "off" OR $syndication=="sus") {
 		debut_boite_info();
diff --git a/ecrire/extract/pdf.php b/ecrire/extract/pdf.php
index e68c4fe9ae29238b013a75f3c66da8cb310ba547..aa8a83c3d69a0bb99f4752034d30d186f4288ed5 100644
--- a/ecrire/extract/pdf.php
+++ b/ecrire/extract/pdf.php
@@ -234,7 +234,7 @@ class Format_PDF {
 			if ($in_stream) {
 				if (!($p = strpos($t, "endstream")) && !($q = strpos($t, "endobj"))) {
 					$stream .= $t;
-#					echo "<font color='red'>Stream continué</font><p>";
+#					echo "<span style='color: red'>Stream continué</span><p>";
 					continue;
 				}
 				$in_stream = false;
diff --git a/ecrire/inc/acces.php b/ecrire/inc/acces.php
index 2cc545e09c4f7c7a7f5c9396d0005e7ad5794269..76f1d6b20713be810bf51bd0526f9b0ef1b33bfa 100644
--- a/ecrire/inc/acces.php
+++ b/ecrire/inc/acces.php
@@ -205,7 +205,7 @@ function verifier_htaccess($rep) {
 				fclose($f);
 			}
 		} else {
-			echo "<font color=\"#FF0000\">IMPORTANT : </font>";
+			echo "<span style='color: #FF0000'>IMPORTANT : </span>";
 			echo "Votre h&eacute;bergeur est Nexen Services.<br />";
 			echo "La protection du r&eacute;pertoire <i>$rep/</i> doit se faire
 			par l'interm&eacute;diaire de ";
diff --git a/ecrire/inc/commencer_page.php b/ecrire/inc/commencer_page.php
index 82de0ebf337e7118560acf7a616440a62e9081c3..d9fd2e103ae4842b36674740498dd9559830a35f 100644
--- a/ecrire/inc/commencer_page.php
+++ b/ecrire/inc/commencer_page.php
@@ -260,9 +260,9 @@ function avertissement_messagerie() {
 	if ($total_messages == 1) {
 		$row = @spip_fetch_array($result_messages);
 		$ze_message=$row['id_message'];
-		return "<div class='messages'><a href='" . generer_url_ecrire("message","id_message=$ze_message") . "'><font color='$couleur_foncee'>"._T('info_nouveau_message')."</font></a></div>";
+		return "<div class='messages'><a href='" . generer_url_ecrire("message","id_message=$ze_message") . "'><span style='color: $couleur_foncee'>"._T('info_nouveau_message')."</span></a></div>";
 	} elseif ($total_messages > 1)
-		return "<div class='messages'><a href='" . generer_url_ecrire("messagerie") . "'><font color='$couleur_foncee'>"._T('info_nouveaux_messages', array('total_messages' => $total_messages))."</font></a></div>";
+		return "<div class='messages'><a href='" . generer_url_ecrire("messagerie") . "'><span style='color: $couleur_foncee'>"._T('info_nouveaux_messages', array('total_messages' => $total_messages))."</span></a></div>";
 	else return '';
 }
 
diff --git a/ecrire/inc/editer_article.php b/ecrire/inc/editer_article.php
index 503a023e171d2d8737659044b44b48db33f9b1e5..6d78f8494ac4ae9e0172f65cb147db997da7e5b8 100644
--- a/ecrire/inc/editer_article.php
+++ b/ecrire/inc/editer_article.php
@@ -239,7 +239,7 @@ function coupe_trop_long($texte){
 // http://doc.spip.org/@editer_article_recolle
 function editer_article_recolle($texte, $att_text)
 {
-	$textes_supplement = "<br /><font color='red'>"._T('info_texte_long')."</font>\n";
+	$textes_supplement = "<br /><span style='color: red'>"._T('info_texte_long')."</span>\n";
 	$nombre = 0;
 
 	while (strlen($texte)>29*1024) {
diff --git a/ecrire/inc/export.php b/ecrire/inc/export.php
index 8cfe565da678e5c3f91e7e0535362832acab382a..70d534ff005da1ad51694c2fbb2b337e7aadd33a 100644
--- a/ecrire/inc/export.php
+++ b/ecrire/inc/export.php
@@ -109,7 +109,7 @@ function export_objets($table, $primary, $liens, $file = 0, $gz = false, $etape_
 		flush();
 	} else {
 		if (!isset($etape_affichee[$etape_actuelle]))
-			echo "<li> <font color='#999999'>",$etape_actuelle,'-',$nom_etape,'</font></li>';
+			echo "<li> <span style='color: #999999'>",$etape_actuelle,'-',$nom_etape,'</span></li>';
 		if ($GLOBALS['flag_ob_flush']) ob_flush();
 		flush();
 	}
diff --git a/ecrire/inc/extra.php b/ecrire/inc/extra.php
index ad017a8c6cb0fa84ee09b05161a0505717b66d07..bc715e6e5751be280394aace431c15a66c5f4eb6 100644
--- a/ecrire/inc/extra.php
+++ b/ecrire/inc/extra.php
@@ -232,7 +232,7 @@ function extra_form($extra, $type, $ensemble='') {
 				break;
 
 			case "masque":
-				$affiche .= "<font color='#555555'>".interdire_scripts($extra[$champ])."</font>\n";
+				$affiche .= "<span style='color: #555555'>".interdire_scripts($extra[$champ])."</span>\n";
 				break;
 
 			case "ligne":
diff --git a/ecrire/inc/forum.php b/ecrire/inc/forum.php
index cc9aff5025bdb94bc75bba63b2b1167e948fce06..9010716074ac7da61c839fe1a2e27ef4f5df8baf 100644
--- a/ecrire/inc/forum.php
+++ b/ecrire/inc/forum.php
@@ -99,7 +99,7 @@ function boutons_controle_forum($id_forum, $forum_stat, $forum_id_auteur=0, $ref
 			$valider = 'publie';
 			$valider_repondre = false;
 			$suppression = false;
-			$controle = "<br /><font color='red'><b>"._T('info_message_supprime')." $forum_ip</b></font>";
+			$controle = "<br /><span style='color: red; font-weight: bold;'>"._T('info_message_supprime')." $forum_ip</span>";
 			if($forum_id_auteur)
 				$controle .= " - <a href='" . generer_url_ecrire('auteurs_edit', "id_auteur=$forum_id_auteur") .
 				  "'>" ._T('lien_voir_auteur'). "</a>";
diff --git a/ecrire/inc/import_1_2.php b/ecrire/inc/import_1_2.php
index eaa037841c2874e2e467a2f6691b32ba0a144656..cf71898e49a43b4dfbab8d10594031baded26d80 100644
--- a/ecrire/inc/import_1_2.php
+++ b/ecrire/inc/import_1_2.php
@@ -80,9 +80,9 @@ function inc_import_1_2_dist($f, $request, $gz='fread') {
 			if (($type == 'article') && ($col == 'images'))
 			{
 				if ($value) {		// ne pas afficher de message si on a un champ suppl mais vide
-					echo "--><br /><font color='red'><b>"._T('avis_erreur_sauvegarde', array('type' => $type, 'id_objet' => $id_objet))."</b></font>\n<font color='black'>"._T('avis_colonne_inexistante', array('col' => $col));
+					echo "--><br /><span style='color: red; font-weight: bold;'>"._T('avis_erreur_sauvegarde', array('type' => $type, 'id_objet' => $id_objet))."</span>\n<span style='color: black'>"._T('avis_colonne_inexistante', array('col' => $col));
 					if ($col == 'images') echo _T('info_verifier_image');
-					echo "</font>\n<!--";
+					echo "</span>\n<!--";
 					$GLOBALS['erreur_restauration'] = true;
 				}
 			}
@@ -96,7 +96,7 @@ function inc_import_1_2_dist($f, $request, $gz='fread') {
 	}
    if ($values) {
 	if (!spip_query("REPLACE $table (" . join(',', array_keys($values)) . ') VALUES (' . join(',', array_map('_q', $values)) . ')')) {
-		echo "--><br /><font color='red'><b>"._T('avis_erreur_mysql')."</b></font>\n<font color='black'><tt>".spip_sql_error()."</tt></font>\n<!--";
+		echo "--><br /><span style='color: red; font-weight: bold;'>"._T('avis_erreur_mysql')."</span>\n<span style='color: black'><tt>".spip_sql_error()."</tt></span>\n<!--";
 		$GLOBALS['erreur_restauration'] = true;
 	}
 
diff --git a/ecrire/inc/legender_auteur.php b/ecrire/inc/legender_auteur.php
index c2ca0de208976fa1fb3f6f5b1ce97df4837760c5..4989b0c8edffaea77ca947d2718648f37a001a0e 100644
--- a/ecrire/inc/legender_auteur.php
+++ b/ecrire/inc/legender_auteur.php
@@ -147,7 +147,7 @@ else {
 // Un redacteur n'a pas le droit de modifier son login !
 	if ($edit_login) {
 		$corps .= "<b>"._T('item_login')."</b> "
-		. "<font color='red'>("._T('texte_plus_trois_car').")</font> :<br />\n"
+		. "<span style='color: red'>("._T('texte_plus_trois_car').")</span> :<br />\n"
 		. "<input type='text' name='new_login' class='formo' value=\"".entites_html($auteur['login'])."\" size='40' /><br />\n";
 	} else {
 		$corps .= "<fieldset style='padding:5'><legend><b>"._T('item_login')."</b><br />\n</legend><br /><b>".$auteur['login']."</b> "
@@ -157,7 +157,7 @@ else {
 // On ne peut modifier le mot de passe en cas de source externe (par exemple LDAP)
 	if ($edit_pass) {
 		$res = "<b>"._T('entree_nouveau_passe')."</b> "
-		. "<font color='red'>("._T('info_plus_cinq_car').")</font> :<br />\n"
+		. "<span style='color: red'>("._T('info_plus_cinq_car').")</span> :<br />\n"
 		. "<input type='password' name='new_pass' class='formo' value=\"\" size='40' /><br />\n"
 		. _T('info_confirmer_passe')."<br />\n"
 		. "<input type='password' name='new_pass2' class='formo' value=\"\" size='40' /><br />\n";
diff --git a/ecrire/inc/message_select.php b/ecrire/inc/message_select.php
index fb11606df79e83e0735797bc19a728d13332fd8c..0888287b9ba589abb2fcc4416cb66cdef02460e1 100644
--- a/ecrire/inc/message_select.php
+++ b/ecrire/inc/message_select.php
@@ -133,7 +133,7 @@ function afficher_message_boucles($row, &$messages_vus, $voir_logo, $afficher_au
 			http_style_background('rv-12.gif', "$spip_lang_left center no-repeat; padding-$spip_lang_left: 15px") .
 			"><a href='" . generer_url_ecrire("calendrier","type=jour&jour=$jour&mois=$mois&annee=$annee") . "'><b style='color: black;'>$s</b><br />$heure-$heure_fin</a></div>";
 	} else {
-		$s = "<font color='#999999'>$s</font>";
+		$s = "<span style='color: #999999'>$s</span>";
 	}
 			
 	$vals[] = $s;
diff --git a/ecrire/inc/referencer_traduction.php b/ecrire/inc/referencer_traduction.php
index 36f74403d1f6c6da7991b13cfaadc157aa900577..d2293065d56be412c1c2df2b7d387ec9a7e07601 100644
--- a/ecrire/inc/referencer_traduction.php
+++ b/ecrire/inc/referencer_traduction.php
@@ -52,7 +52,7 @@ function inc_referencer_traduction_dist($id_article, $flag, $id_rubrique, $id_tr
 	}
 
 	if ($trad_err)
-		$reponse .= "<div><font color='red' size='2' face='verdana,arial,helvetica,sans-serif'>"._T('trad_deja_traduit'). "</font></div>";
+		$reponse .= "<div><span style='color: red' size='2' face='verdana,arial,helvetica,sans-serif'>"._T('trad_deja_traduit'). "</span></div>";
 
 		// Afficher la liste des traductions
 	$table = !$id_trad ? array() : articles_traduction($id_article, $id_trad);
diff --git a/ecrire/inc/sites_voir.php b/ecrire/inc/sites_voir.php
index 6e951238ffd8516f12457b1feff0979d9708b5e1..09b56a98bbe568fc27b1f06c17021d9202b35391 100644
--- a/ecrire/inc/sites_voir.php
+++ b/ecrire/inc/sites_voir.php
@@ -225,7 +225,7 @@ function afficher_syndic_articles_boucle($row, &$my_sites, $bof, $redirect)
 		. (!$id ? '' : "&id_syndic=$id");
 
 		if ($statut == "publie"){
-		  $s =  "[<a href='". redirige_action_auteur('instituer_syndic',"$id_syndic_article-refuse", $GLOBALS['exec'], $redirect) . "'><font color='black'>"._T('info_bloquer_lien')."</font></a>]";
+		  $s =  "[<a href='". redirige_action_auteur('instituer_syndic',"$id_syndic_article-refuse", $GLOBALS['exec'], $redirect) . "'><span style='color: black'>"._T('info_bloquer_lien')."</span></a>]";
 		
 		}
 		else if ($statut == "refuse"){
diff --git a/ecrire/inc/statistiques.php b/ecrire/inc/statistiques.php
index d51dc804a8b4f4d452dc6254ae076d38cf472410..db0ec63801341e0c814293a531332a7e3f4db2e4 100644
--- a/ecrire/inc/statistiques.php
+++ b/ecrire/inc/statistiques.php
@@ -202,9 +202,9 @@ function aff_referers ($result, $limit, $plus) {
 
 			$ret .= "\n<li>";
 
-			if ($visites > 5) $ret .= "<font color='red'>$visites "._T('info_visites')."</font> ";
+			if ($visites > 5) $ret .= "<span style='color: red'>$visites "._T('info_visites')."</span> ";
 			else if ($visites > 1) $ret .= "$visites "._T('info_visites')." ";
-			else $ret .= "<font color='#999999'>$visites "._T('info_visite')."</font> ";
+			else $ret .= "<span style='color: #999999'>$visites "._T('info_visite')."</span> ";
 		
 		
 			if ($lesdomaines[$numero] == "(email)") {
@@ -215,7 +215,7 @@ function aff_referers ($result, $limit, $plus) {
 				global $couleur_foncee;
 				$referers = join ("</li><li>",$lesreferers[$numero]);
 				$aff .= $ret;
-				$aff .= "<a href='http://".quote_amp($lesurls[$numero])."'><b><font color='$couleur_foncee'>".$lesdomaines[$numero]."</font></b></a>";
+				$aff .= "<a href='http://".quote_amp($lesurls[$numero])."'><span style='color: $couleur_foncee; font-weight: bold;'>".$lesdomaines[$numero]."</span></a>";
 				if ($rac = $lesliensracine[$numero]) $aff .= " <font size='1'>($rac)</font>";
 				$aff .= "<ul style='font-size:x-small;'><li>$referers</li></ul>";
 				$aff .= "</li></ul><ul style='font-size:small;'>\n";