diff --git a/.gitattributes b/.gitattributes
index bb7bc5598c8b6de6459d314c62668de7f6b902bb..364274721a7fd6060aefd5ff1d923854f46c1d55 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -72,6 +72,7 @@ NAVPICS/rien.gif -text
 ecrire/img_pack/admin-12.gif -text
 ecrire/img_pack/administration-24.gif -text
 ecrire/img_pack/administration-48.gif -text
+ecrire/img_pack/agenda-24.gif -text
 ecrire/img_pack/aide-48.gif -text
 ecrire/img_pack/aide-48_rtl.gif -text
 ecrire/img_pack/aide.gif -text
@@ -116,8 +117,9 @@ ecrire/img_pack/edit.gif -text
 ecrire/img_pack/effacer-cache-24.gif -text
 ecrire/img_pack/fiche-perso-24.gif -text
 ecrire/img_pack/fiche-perso-48.gif -text
-ecrire/img_pack/fleche-apres.png -text
-ecrire/img_pack/fleche-avant.png -text
+ecrire/img_pack/fleche-left.png -text
+ecrire/img_pack/fleche-right.png -text
+ecrire/img_pack/fond-calendrier.gif -text
 ecrire/img_pack/fond-stats.gif -text
 ecrire/img_pack/forum-admin-24.gif -text
 ecrire/img_pack/forum-droite.gif -text
diff --git a/ecrire/calendrier.php3 b/ecrire/calendrier.php3
index 6635b74d56c5bfb50981ce20ee67d97de6c3100d..5f9915f39c10b44d0befa526c0e6674a516893f7 100644
--- a/ecrire/calendrier.php3
+++ b/ecrire/calendrier.php3
@@ -4,6 +4,7 @@ include ("inc.php3");
 
 
 function afficher_mois($jour_today,$mois_today,$annee_today,$nom_mois){
+	global $spip_lang_rtl, $spip_lang_right, $spip_lang_left;
 	global $connect_id_auteur, $connect_statut;
 	global $les_articles;
 	global $les_breves;
@@ -43,39 +44,33 @@ function afficher_mois($jour_today,$mois_today,$annee_today,$nom_mois){
 		
 		if ($mois != $mois_today OR $annee != $annee_today) {
 			icone(_T("info_aujourdhui")."<br>".nom_mois("$annee-$mois-1")." $annee", "calendrier.php3", "calendrier-24.gif", "", "center");
+			echo "<p />";
 		}
 		$annee_avant = $annee_today - 1;
 		$annee_apres = $annee_today + 1;
 		
-		if ($mois_today <=6) {
-			debut_boite_info();
+		
+		echo "<div class='verdana1'>";
 			echo "<div><b>$annee_avant</b></div>";
-			for ($i=9; $i < 13; $i++) {
-				echo "<div><a href='calendrier.php3?mois=$i&annee=$annee_avant'>".nom_mois("$annee_avant-$i-1")."</a></div>";
+			for ($i=$mois_today; $i < 13; $i++) {
+				echo "<div style='margin-$spip_lang_left: 10px; padding: 2px; -moz-border-radius: 5px; margin-top: 2px; border: 1px solid #cccccc; background-color: #cccccc;'><a href='calendrier.php3?mois=$i&annee=$annee_avant'>".nom_mois("$annee_avant-$i-1")."</a></div>";
 			}
-			fin_boite_info();
-		}
 		
-		debut_boite_info();
 		echo "<div><b>$annee_today</b></div>";
 		for ($i=1; $i < 13; $i++) {
 			if ($i == $mois_today) {
-				echo "<div><b>".nom_mois("$annee_today-$i-1")."</b></div>";
+				echo "<div style='margin-$spip_lang_left: 10px; padding: 2px; -moz-border-radius: 5px; margin-top: 2px; border: 1px solid #666666; background-color: white;'><b>".nom_mois("$annee_today-$i-1")."</b></div>";
 			}
 			else {
-				echo "<div><a href='calendrier.php3?mois=$i&annee=$annee_today'>".nom_mois("$annee_today-$i-1")."</a></div>";
+				echo "<div style='margin-$spip_lang_left: 10px; padding: 2px; -moz-border-radius: 5px; margin-top: 2px; border: 1px solid #cccccc; background-color: #cccccc;'><a href='calendrier.php3?mois=$i&annee=$annee_today'>".nom_mois("$annee_today-$i-1")."</a></div>";
 			}
 		}
-		fin_boite_info();
 
-		if ($mois_today >=7) {
-			debut_boite_info();
 			echo "<div><b>$annee_apres</b></div>";
-			for ($i=1; $i < 7; $i++) {
-				echo "<div><a href='calendrier.php3?mois=$i&annee=$annee_apres'>".nom_mois("$annee_apres-$i-1")."</a></div>";
-			}
-			fin_boite_info();
+			for ($i=1; $i < $mois_today+1; $i++) {
+				echo "<div style='margin-$spip_lang_left: 10px; padding: 2px; -moz-border-radius: 5px; margin-top: 2px; border: 1px solid #cccccc; background-color: #cccccc;'><a href='calendrier.php3?mois=$i&annee=$annee_apres'>".nom_mois("$annee_apres-$i-1")."</a></div>";
 		}
+		echo "</div>";
 	
 	echo "</td>";
 	echo "<td width='20'>&nbsp;</td>";
@@ -121,25 +116,9 @@ function afficher_mois($jour_today,$mois_today,$annee_today,$nom_mois){
 			$les_breves["$lejour"].="<BR><A HREF='breves_voir.php3?id_breve=$id_breve'><img src='img_pack/puce-blanche.gif' width='7' height='7' border='0'> <i>$titre</i></A>";
 	}
 
-	// annonces
-	$result_messages=spip_query("SELECT messages.* FROM spip_messages AS messages WHERE messages.type='affich' AND messages.rv='oui' AND messages.date_heure >='$annee_today-$mois_today-1' AND messages.date_heure <= DATE_ADD('$annee_today-$mois_today-1', INTERVAL 1 MONTH) AND messages.statut='publie' GROUP BY messages.id_message ORDER BY messages.date_heure");
-	while($row=spip_fetch_array($result_messages)){
-		$id_message=$row['id_message'];
-		$date_heure=$row["date_heure"];
-		$titre=typo($row["titre"]);
-		$type=$row["type"];
-		$lejour=journum($row['date_heure']);
-
-		if ($type=="normal") $la_couleur="red";
-		elseif ($type=="pb") $la_couleur="blue";
-		elseif ($type=="affich") $la_couleur="#ff6600";
-		else $la_couleur="black";
-
-		$les_rv["$lejour"].="<br><font color='$la_couleur'><b>".heures($date_heure).":".minutes($date_heure)."</b></font> <a href='message.php3?id_message=$id_message'>$titre</a>";
-	}
 
 	// rendez-vous personnels
-	$result_messages=spip_query("SELECT messages.* FROM spip_messages AS messages, spip_auteurs_messages AS lien WHERE (lien.id_auteur='$connect_id_auteur' AND lien.id_message=messages.id_message) AND messages.rv='oui' AND messages.date_heure >='$annee_today-$mois_today-1' AND messages.date_heure <= DATE_ADD('$annee_today-$mois_today-1', INTERVAL 1 MONTH) AND messages.statut='publie' GROUP BY messages.id_message ORDER BY messages.date_heure");
+	$result_messages=spip_query("SELECT messages.* FROM spip_messages AS messages, spip_auteurs_messages AS lien WHERE ((lien.id_auteur='$connect_id_auteur' AND lien.id_message=messages.id_message) OR messages.type='affich') AND messages.rv='oui' AND messages.date_heure >='$annee_today-$mois_today-1' AND messages.date_heure <= DATE_ADD('$annee_today-$mois_today-1', INTERVAL 1 MONTH) AND messages.statut='publie' GROUP BY messages.id_message ORDER BY messages.date_heure");
 	while($row=spip_fetch_array($result_messages)){
 		$id_message=$row['id_message'];
 		$date_heure=$row["date_heure"];
@@ -147,27 +126,38 @@ function afficher_mois($jour_today,$mois_today,$annee_today,$nom_mois){
 		$type=$row["type"];
 		$lejour=journum($row['date_heure']);
 
-		if ($type=="normal") $la_couleur="red";
-		elseif ($type=="pb") $la_couleur="blue";
-		elseif ($type=="affich") $la_couleur="#ff6600";
-		else $la_couleur="black";
-
-		$les_rv["$lejour"].="<br><font color='$la_couleur'><b>".heures($date_heure).":".minutes($date_heure)."</b></font> <a href='message.php3?id_message=$id_message'>$titre</a>";
+		if ($type=="normal") {
+			$la_couleur = "#0A9C60";
+			$couleur_fond = "#BDF0DB";
+		}
+		elseif ($type=="pb") {
+			$la_couleur = "#0000ff";
+			$couleur_fond = "#ccccff";
+		}
+		elseif ($type=="affich") {
+			$la_couleur = "#ccaa00";
+			$couleur_fond = "#ffffee";
+		}
+		else {
+			$la_couleur="black";
+			$couleur_fond="#aaaaaa";
+		}
+		$les_rv["$lejour"][]="<div style='padding: 2px; margin-top: 2px; background-color: $couleur_fond; border: 1px solid $la_couleur; -moz-border-radius: 3px;' class='arial0'><font color='$la_couleur'><b>".heures($date_heure).":".minutes($date_heure)."</b></font> <a href='message.php3?id_message=$id_message' style='color: black;'>$titre</a></div>";
 	}
 
 
-	echo "<TR><TD><A HREF='calendrier.php3?mois=$mois_prec&annee=$annee_prec'><img src='img_pack/fleche-avant.png' alt='&lt;&lt;&lt;' width='12' height='12' border='0'></A></TD>";
+	echo "<TR><TD align='$spip_lang_left'><A HREF='calendrier.php3?mois=$mois_prec&annee=$annee_prec'><img src='img_pack/fleche-$spip_lang_left.png' alt='&lt;&lt;&lt;' width='12' height='12' border='0'></A></TD>";
 	echo "<TD ALIGN='center' COLSPAN=5><FONT FACE='arial,helvetica,sans-serif' SIZE=3><B>$nom_mois $annee_today ".aide ("messcalen")."</B></FONT></TD>";
-	echo "<TD ALIGN=right><A HREF='calendrier.php3?mois=$mois_suiv&annee=$annee_suiv'><img src='img_pack/fleche-apres.png' alt='&gt;&gt;&gt;' width='12' height='12' border='0'></A></TD></TR>";
+	echo "<TD align='$spip_lang_right'><A HREF='calendrier.php3?mois=$mois_suiv&annee=$annee_suiv'><img src='img_pack/fleche-$spip_lang_right.png' alt='&gt;&gt;&gt;' width='12' height='12' border='0'></A></TD></TR>";
 
 	echo "<TR>";
-	echo "<TD ALIGN='center' style='border-bottom: 1px solid black; border-right: 1px solid black; border-left: 1px solid $couleur_claire; border-top: 1px solid $couleur_claire;'  BGCOLOR='$couleur_foncee'><FONT FACE='arial,helvetica,sans-serif' SIZE=3 COLOR='#FFFFFF'><B>"._T('date_jour_2')."</B></TD>";
-	echo "<TD ALIGN='center' style='border-bottom: 1px solid black; border-right: 1px solid black; border-left: 1px solid $couleur_claire; border-top: 1px solid $couleur_claire;'  BGCOLOR='$couleur_foncee'><FONT FACE='arial,helvetica,sans-serif' SIZE=3 COLOR='#FFFFFF'><B>"._T('date_jour_3')."</B></TD>";
-	echo "<TD ALIGN='center' style='border-bottom: 1px solid black; border-right: 1px solid black; border-left: 1px solid $couleur_claire; border-top: 1px solid $couleur_claire;'  BGCOLOR='$couleur_foncee'><FONT FACE='arial,helvetica,sans-serif' SIZE=3 COLOR='#FFFFFF'><B>"._T('date_jour_4')."</B></TD>";
-	echo "<TD ALIGN='center' style='border-bottom: 1px solid black; border-right: 1px solid black; border-left: 1px solid $couleur_claire; border-top: 1px solid $couleur_claire;'  BGCOLOR='$couleur_foncee'><FONT FACE='arial,helvetica,sans-serif' SIZE=3 COLOR='#FFFFFF'><B>"._T('date_jour_5')."</B></TD>";
-	echo "<TD ALIGN='center' style='border-bottom: 1px solid black; border-right: 1px solid black; border-left: 1px solid $couleur_claire; border-top: 1px solid $couleur_claire;'  BGCOLOR='$couleur_foncee'><FONT FACE='arial,helvetica,sans-serif' SIZE=3 COLOR='#FFFFFF'><B>"._T('date_jour_6')."</B></TD>";
-	echo "<TD ALIGN='center' style='border-bottom: 1px solid black; border-right: 1px solid black; border-left: 1px solid $couleur_claire; border-top: 1px solid $couleur_claire;'  BGCOLOR='$couleur_foncee'><FONT FACE='arial,helvetica,sans-serif' SIZE=3 COLOR='#FFFFFF'><B>"._T('date_jour_7')."</B></TD>";
-	echo "<TD ALIGN='center' style='border-bottom: 1px solid black; border-right: 1px solid black; border-left: 1px solid $couleur_claire; border-top: 1px solid $couleur_claire;'  BGCOLOR='$couleur_foncee'><FONT FACE='arial,helvetica,sans-serif' SIZE=3 COLOR='#FFFFFF'><B>"._T('date_jour_1')."</B></TD>";
+	echo "<TD ALIGN='center' width='$largeur_col' style='border-bottom: 1px solid black; border-right: 1px solid black; border-left: 1px solid $couleur_claire; border-top: 1px solid $couleur_claire;'  BGCOLOR='$couleur_foncee'><font class='verdana2' color='#FFFFFF'><B>"._T('date_jour_2')."</B></TD>";
+	echo "<TD ALIGN='center' width='$largeur_col' style='border-bottom: 1px solid black; border-right: 1px solid black; border-left: 1px solid $couleur_claire; border-top: 1px solid $couleur_claire;'  BGCOLOR='$couleur_foncee'><font class='verdana2' color='#FFFFFF'><B>"._T('date_jour_3')."</B></TD>";
+	echo "<TD ALIGN='center' width='$largeur_col' style='border-bottom: 1px solid black; border-right: 1px solid black; border-left: 1px solid $couleur_claire; border-top: 1px solid $couleur_claire;'  BGCOLOR='$couleur_foncee'><font class='verdana2' color='#FFFFFF'><B>"._T('date_jour_4')."</B></TD>";
+	echo "<TD ALIGN='center' width='$largeur_col' style='border-bottom: 1px solid black; border-right: 1px solid black; border-left: 1px solid $couleur_claire; border-top: 1px solid $couleur_claire;'  BGCOLOR='$couleur_foncee'><font class='verdana2' color='#FFFFFF'><B>"._T('date_jour_5')."</B></TD>";
+	echo "<TD ALIGN='center' width='$largeur_col' style='border-bottom: 1px solid black; border-right: 1px solid black; border-left: 1px solid $couleur_claire; border-top: 1px solid $couleur_claire;'  BGCOLOR='$couleur_foncee'><font class='verdana2' color='#FFFFFF'><B>"._T('date_jour_6')."</B></TD>";
+	echo "<TD ALIGN='center' width='$largeur_col' style='border-bottom: 1px solid black; border-right: 1px solid black; border-left: 1px solid $couleur_claire; border-top: 1px solid $couleur_claire;'  BGCOLOR='$couleur_foncee'><font class='verdana2' color='#FFFFFF'><B>"._T('date_jour_7')."</B></TD>";
+	echo "<TD ALIGN='center' width='$largeur_col' style='border-bottom: 1px solid black; border-right: 1px solid black; border-left: 1px solid $couleur_claire; border-top: 1px solid $couleur_claire;'  BGCOLOR='$couleur_foncee'><font class='verdana2' color='#FFFFFF'><B>"._T('date_jour_1')."</B></TD>";
 
 	echo "</TR><TR>";
 	
@@ -184,25 +174,33 @@ function afficher_mois($jour_today,$mois_today,$annee_today,$nom_mois){
 		$jour_semaine = date("w",$nom);
 
 		if (checkdate($mois_today,$jour,$annee_today)){
-			if ("$annee_today-$mois_today-$jour"==$ce_jour){
-				echo "<TD width='$largeur_col' HEIGHT=80 BGCOLOR='#FFFFFF' VALIGN='top'><FONT FACE='arial,helvetica,sans-serif' SIZE=3 COLOR='red'><B>$jour</B></FONT>";
-			}else{		
-				echo "<TD width='$largeur_col' HEIGHT=80 BGCOLOR='#E4E4E4' VALIGN='top' style='border-bottom: 1px solid white; border-right: 1px solid white; border-left: 1px solid #aaaaaa; border-top: 1px solid #aaaaaa;'><FONT FACE='arial,helvetica,sans-serif' SIZE=3><B>$jour</B></FONT>";
+			if ("$annee_today-$mois_today-$jour"==$ce_jour) {
+				$couleur_lien = "red";
+				$couleur_fond = "white";
+			}
+			else {
+				$couleur_lien = "black";
+				$couleur_fond = "#e4e4e4";
+			}
+		
+			if ($activer_messagerie == "oui" AND $connect_activer_messagerie != "non"){
+				echo "<td width='$largeur_col' HEIGHT=80 BGCOLOR='$couleur_fond' VALIGN='top' style='border-bottom: 1px solid white; border-right: 1px solid white; border-left: 1px solid #aaaaaa; border-top: 1px solid #aaaaaa;'><a href='calendrier_jour.php3?jour=$jour&mois=$mois_today&annee=$annee_today'><font face='arial,helvetica,sans-serif' SIZE=3 color='$couleur_lien'><b>$jour</b></a></font>";
+			} else {
+				echo "<td width='$largeur_col' HEIGHT=80 BGCOLOR='$couleur_fond' VALIGN='top' style='border-bottom: 1px solid white; border-right: 1px solid white; border-left: 1px solid #aaaaaa; border-top: 1px solid #aaaaaa;'><font face='arial,helvetica,sans-serif' SIZE=3 color='$couleur_lien'><b>$jour</b></font>";
 			}
 
 			$activer_messagerie = lire_meta("activer_messagerie");
 			$connect_activer_messagerie = $GLOBALS["connect_activer_messagerie"];
 			if ($activer_messagerie == "oui" AND $connect_activer_messagerie != "non"){
-				echo " <a href='message_edit.php3?rv=$annee_today-$mois_today-$jour&new=oui&type=pb'><IMG SRC='img_pack/m_envoi_bleu$spip_lang_rtl.gif' WIDTH='14' HEIGHT='7' BORDER='0'></a>\n";
-				echo " <a href='message_edit.php3?rv=$annee_today-$mois_today-$jour&new=oui&type=normal'><IMG SRC='img_pack/m_envoi$spip_lang_rtl.gif' WIDTH='14' HEIGHT='7' BORDER='0'></a>\n";
+				echo " <a href='message_edit.php3?rv=$annee_today-$mois_today-$jour&new=oui&type=pb' title='"._T("lien_nouvea_pense_bete")."'><IMG SRC='img_pack/m_envoi_bleu$spip_lang_rtl.gif' WIDTH='14' HEIGHT='7' BORDER='0'></a>";
+				echo " <a href='message_edit.php3?rv=$annee_today-$mois_today-$jour&new=oui&type=normal' title='"._T("lien_nouveau_message")."'><IMG SRC='img_pack/m_envoi$spip_lang_rtl.gif' WIDTH='14' HEIGHT='7' BORDER='0'></a>";
 			}
 			if ($connect_statut == "0minirezo")
-				echo " <a href='message_edit.php3?rv=$annee_today-$mois_today-$jour&new=oui&type=affich'><IMG SRC='img_pack/m_envoi_jaune$spip_lang_rtl.gif' WIDTH='14' HEIGHT='7' BORDER='0'></a>\n";
+				echo " <a href='message_edit.php3?rv=$annee_today-$mois_today-$jour&new=oui&type=affich' title='"._T("lien_nouvelle_annonce")."'><IMG SRC='img_pack/m_envoi_jaune$spip_lang_rtl.gif' WIDTH='14' HEIGHT='7' BORDER='0'></a>\n";
 			echo "<FONT FACE='arial,helvetica,sans-serif' SIZE=1>";
 			
-			if (strlen($les_rv[$j])>0){
-				echo $les_rv[$j];
-				echo "<hr noshade size=1>";
+			if (count($les_rv[$j])>0){
+				echo join($les_rv[$j],"\n");
 			}
 
 			echo $les_articles[$j];
@@ -235,9 +233,14 @@ if (!$mois){
 $nom_mois = nom_mois('2000-'.sprintf("%02d", $mois).'-01');
 
 debut_page(_T('titre_page_calendrier', array('nom_mois' => $nom_mois, 'annee' => $annee)), "asuivre", "calendrier");
+$activer_messagerie = lire_meta("activer_messagerie");
+$connect_activer_messagerie = $GLOBALS["connect_activer_messagerie"];
 
-echo "<BR><BR><BR>";
-
+//echo "<BR><BR><BR>";
+if ($activer_messagerie == "oui" AND $connect_activer_messagerie != "non"){
+	barre_onglets("calendrier", "calendrier");
+	echo "<br /><br />";
+}
 
 // marges et pied de page supprimes pour prendre toute la largeur
 // debut_gauche();
@@ -253,14 +256,12 @@ if (strlen($les_breves["0"]) > 0 OR $les_articles["0"] > 0){
 	echo "</font></td></tr></table>";
 }
 	
-$activer_messagerie = lire_meta("activer_messagerie");
-$connect_activer_messagerie = $GLOBALS["connect_activer_messagerie"];
 if ($activer_messagerie == "oui" AND $connect_activer_messagerie != "non"){
 	echo "<br><br><br><table width='700' background=''><tr width='700'><td><FONT FACE='arial,helvetica,sans-serif' SIZE=2>";
 	echo "<b>"._T('info_aide')."</b>";
-
-	echo "<br><IMG SRC='img_pack/m_envoi_bleu$spip_lang_rtl.gif' WIDTH='14' HEIGHT='7' BORDER='0'> "._T('info_nouveau_pense_bete')."\n";
-	echo "<br><IMG SRC='img_pack/m_envoi$spip_lang_rtl.gif' WIDTH='14' HEIGHT='7' BORDER='0'> "._T('info_donner_rendez_vous')."\n";
+	echo "<br><IMG SRC='img_pack/m_envoi_bleu$spip_lang_rtl.gif' WIDTH='14' HEIGHT='7' BORDER='0'> "._T('info_symbole_bleu')."\n";
+	echo "<br><IMG SRC='img_pack/m_envoi$spip_lang_rtl.gif' WIDTH='14' HEIGHT='7' BORDER='0'> "._T('info_symbole_vert')."\n";
+	echo "<br><IMG SRC='img_pack/m_envoi_jaune$spip_lang_rtl.gif' WIDTH='14' HEIGHT='7' BORDER='0'> "._T('info_symbole_jaune')."\n";
 	echo "</font></td></tr></table>";
 }
 
diff --git a/ecrire/calendrier_jour.php3 b/ecrire/calendrier_jour.php3
new file mode 100644
index 0000000000000000000000000000000000000000..53bde1dce278251724c83061effe38d1dc7fd1e9
--- /dev/null
+++ b/ecrire/calendrier_jour.php3
@@ -0,0 +1,172 @@
+<?php
+
+include ("inc.php3");
+include_ecrire ("inc_logos.php3");
+include_ecrire ("inc_mots.php3");
+include_ecrire ("inc_documents.php3");
+
+
+// date du jour
+$today=getdate(time());
+	$jour_today = $today["mday"];
+	$mois_today = $today["mon"];
+	$annee_today = $today["year"];
+
+// sans arguments => mois courant
+if (!$mois){
+	$jour=$today["mday"];
+	$mois=$today["mon"];
+	$annee=$today["year"];
+}
+
+
+
+
+///// debut de la page
+debut_page(nom_jour("$annee-$mois-$jour")." ".affdate("$annee-$mois-$jour"),  "asuivre", "calendrier");
+
+
+//////// parents
+
+
+barre_onglets("calendrier", "jour");
+
+
+gros_titre(nom_jour("$annee-$mois-$jour")." ".affdate("$annee-$mois-$jour"));
+
+
+echo "<p /><div align='center'>";
+	echo "<font size='1'>";
+	echo " <a href='message_edit.php3?rv=$annee-$mois-$jour&new=oui&type=pb' style='color: blue;'><IMG SRC='img_pack/m_envoi_bleu$spip_lang_rtl.gif' WIDTH='14' HEIGHT='7' BORDER='0'> "._T("lien_nouvea_pense_bete")."</a>";
+	echo " &nbsp; <a href='message_edit.php3?rv=$annee-$mois-$jour&new=oui&type=normal' style='color: green;'><IMG SRC='img_pack/m_envoi$spip_lang_rtl.gif' WIDTH='14' HEIGHT='7' BORDER='0'> "._T("lien_nouveau_message")."</a>";
+
+	if ($connect_statut == "0minirezo")
+		echo " &nbsp; <a href='message_edit.php3?rv=$annee-$mois-$jour&new=oui&type=affich' style='color: #ff9900;'><IMG SRC='img_pack/m_envoi_jaune$spip_lang_rtl.gif' WIDTH='14' HEIGHT='7' BORDER='0'> "._T("lien_nouvelle_annonce")."</a>\n";
+	echo "</font>";
+echo "</div>\n";	
+
+
+debut_gauche();
+
+if ($jour != $jour_today OR $mois != $mois_today OR $annee != $annee_today) {
+			icone(_T("info_aujourdhui")."<br>".affdate("$annee_today-$mois_today-$jour_today"), "calendrier_jour.php3", "calendrier-24.gif", "", "center");
+			echo "<p />";
+}
+
+agenda ($mois-1, $annee, $jour, $mois, $annee);
+agenda ($mois, $annee, $jour, $mois, $annee);
+agenda ($mois+1, $annee, $jour, $mois, $annee);
+
+	// afficher en reduction le tableau du jour suivant
+	creer_colonne_droite();	
+	calendrier_jour($jour+1,$mois,$annee, false);
+
+debut_droite();
+
+calendrier_jour($jour,$mois,$annee, true);
+
+	// articles
+	echo "<p />";
+	$query_articles="SELECT * FROM spip_articles WHERE statut='publie' AND date >='$annee-$mois-$jour' AND date < DATE_ADD('$annee-$mois$jour', INTERVAL 1 DAY) ORDER BY titre";
+	afficher_articles(_T('icone_articles'),$query_articles);
+
+	// breves
+	echo "<p />";
+	$query_breves="SELECT * FROM spip_breves WHERE statut='publie' AND date_heure >='$annee-$mois-$jour' AND date_heure < DATE_ADD('$annee-$mois$jour', INTERVAL 1 DAY) ORDER BY titre";
+	afficher_breves(_T('icone_breves'),$query_breves);
+
+
+//
+// Verifier les boucles a mettre en relief
+//
+
+$relief = false;
+
+if (!$relief) {
+	$query = "SELECT id_article FROM spip_articles AS articles WHERE statut='prop'$vos_articles LIMIT 0,1";
+	$result = spip_query($query);
+	$relief = (spip_num_rows($result) > 0);
+}
+
+if (!$relief) {
+	$query = "SELECT id_breve FROM spip_breves WHERE statut='prop' LIMIT 0,1";
+	$result = spip_query($query);
+	$relief = (spip_num_rows($result) > 0);
+}
+
+if (!$relief AND lire_meta('activer_syndic') != 'non') {
+	$query = "SELECT id_syndic FROM spip_syndic WHERE statut='prop' LIMIT 0,1";
+	$result = spip_query($query);
+	$relief = (spip_num_rows($result) > 0);
+}
+
+if (!$relief AND lire_meta('activer_syndic') != 'non' AND $connect_statut == '0minirezo' AND $connect_toutes_rubriques) {
+	$query = "SELECT id_syndic FROM spip_syndic WHERE syndication='off' LIMIT 0,1";
+	$result = spip_query($query);
+	$relief = (spip_num_rows($result) > 0);
+}
+
+
+if ($relief) {
+	echo "<p>";
+	debut_cadre_enfonce();
+	echo "<font color='$couleur_foncee' face='arial,helvetica,sans-serif'><b>"._T('texte_en_cours_validation')."</b></font><p>";
+
+	//
+	// Les articles a valider
+	//
+	afficher_articles(_T('info_articles_proposes'),
+		"WHERE statut='prop'$vos_articles ORDER BY date DESC");
+
+	//
+	// Les breves a valider
+	//
+	$query = "SELECT * FROM spip_breves WHERE statut='prepa' OR statut='prop' ORDER BY date_heure DESC";
+	afficher_breves(_T('info_breves_valider'), $query, true);
+
+	//
+	// Les sites references a valider
+	//
+	if (lire_meta('activer_syndic') != 'non') {
+		include_ecrire("inc_sites.php3");
+		afficher_sites(_T('info_site_valider'), "SELECT * FROM spip_syndic WHERE statut='prop' ORDER BY nom_site");
+	}
+
+	//
+	// Les sites a probleme
+	//
+	if (lire_meta('activer_syndic') != 'non' AND $connect_statut == '0minirezo' AND $connect_toutes_rubriques) {
+		include_ecrire("inc_sites.php3");
+		afficher_sites(_T('avis_sites_syndiques_probleme'),
+			"SELECT * FROM spip_syndic WHERE syndication='off' AND statut='publie' ORDER BY nom_site");
+	}
+
+	// Les articles syndiques en attente de validation
+	if ($connect_statut == '0minirezo' AND $connect_toutes_rubriques) {
+		$result = spip_query ("SELECT COUNT(*) AS compte FROM spip_syndic_articles WHERE statut='dispo'");
+		if (($row = spip_fetch_array($result)) AND $row['compte'])
+			echo "<br><small><a href='sites_tous.php3'>".$row['compte']." "._T('info_liens_syndiques_1')."</a> "._T('info_liens_syndiques_2')."</small>";
+	}
+
+	// Les forums en attente de moderation
+	if ($connect_statut == '0minirezo' AND $connect_toutes_rubriques) {
+		$result = spip_query ("SELECT COUNT(*) AS compte FROM spip_forum WHERE statut='prop'");
+		if (($row = spip_fetch_array($result)) AND $row['compte']) {
+			echo "<br><small> <a href='controle_forum.php3'>".$row['compte'];
+			if ($row['compte']>1)
+				echo " "._T('info_liens_syndiques_3')."</a> "._T('info_liens_syndiques_4');
+			else
+				echo " "._T('info_liens_syndiques_5')."</a> "._T('info_liens_syndiques_6');
+			echo " "._T('info_liens_syndiques_7')."</small>.";
+		}
+	}
+	fin_cadre_enfonce();
+}
+
+
+
+
+
+fin_page();
+
+?>
diff --git a/ecrire/config-lang.php3 b/ecrire/config-lang.php3
index 3ec7d168f70fb2caab67fe4f8f14918f09ada26b..e083a273ebebefabaa2f472db4ed13b1f75325e4 100644
--- a/ecrire/config-lang.php3
+++ b/ecrire/config-lang.php3
@@ -253,7 +253,6 @@ debut_cadre_enfonce();
 
 		while (list($code_langue, $nom_langue) = each($langues)) {
 			if ($langues_bloquees[$code_langue]) continue;
-
 			$i++;
 			echo "<div>";
 
diff --git a/ecrire/img_pack/agenda-24.gif b/ecrire/img_pack/agenda-24.gif
new file mode 100644
index 0000000000000000000000000000000000000000..14287aff6a4476b8abb438ba582143e611f86cbf
Binary files /dev/null and b/ecrire/img_pack/agenda-24.gif differ
diff --git a/ecrire/img_pack/fleche-avant.png b/ecrire/img_pack/fleche-left.png
similarity index 100%
rename from ecrire/img_pack/fleche-avant.png
rename to ecrire/img_pack/fleche-left.png
diff --git a/ecrire/img_pack/fleche-apres.png b/ecrire/img_pack/fleche-right.png
similarity index 100%
rename from ecrire/img_pack/fleche-apres.png
rename to ecrire/img_pack/fleche-right.png
diff --git a/ecrire/img_pack/fond-calendrier.gif b/ecrire/img_pack/fond-calendrier.gif
new file mode 100644
index 0000000000000000000000000000000000000000..b9d65c772001269d708ae19c6416cf5f42a85bd6
Binary files /dev/null and b/ecrire/img_pack/fond-calendrier.gif differ
diff --git a/ecrire/inc_base.php3 b/ecrire/inc_base.php3
index a97debc480a4300b668b5a7d0f3c10dc2df70d7e..2167a98fd5dc5669bfb2b1c138414a897140b1fa 100644
--- a/ecrire/inc_base.php3
+++ b/ecrire/inc_base.php3
@@ -108,6 +108,7 @@ function creer_base() {
 		texte longblob NOT NULL,
 		type varchar(6) NOT NULL,
 		date_heure datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
+		date_fin datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
 		rv varchar(3) NOT NULL,
 		statut varchar(6) NOT NULL,
 		id_auteur bigint(21) NOT NULL,
@@ -1374,6 +1375,12 @@ function maj_base() {
 		maj_version (1.723);
 	}
 
+	if ($version_installee < 1.724) {
+		spip_query("ALTER TABLE spip_messages ADD date_fin datetime DEFAULT '0000-00-00 00:00:00' NOT NULL");
+		maj_version (1.724);
+	}
+
+
 	return true;
 }
 
diff --git a/ecrire/inc_lang.php3 b/ecrire/inc_lang.php3
index ca065a943045d6bc56ba5fbede3c0da797cc72be..028bc25302c56531bced26548a005638dde6aea4 100644
--- a/ecrire/inc_lang.php3
+++ b/ecrire/inc_lang.php3
@@ -407,10 +407,10 @@ function menu_langues($nom_select = 'var_lang', $default = '', $texte = '', $her
 			$selected = '';
 		}
 		if ($l == $herit) {
-			$ret .= "<option style='font-weight: bold;' value='herit'$selected>"
+			$ret .= "<option class='maj-debut' style='font-weight: bold;' value='herit'$selected>"
 				.traduire_nom_langue($herit)." ("._T('info_multi_herit').")</option>\n";
 		}
-		else $ret .= "<option value='$l'$selected>".traduire_nom_langue($l)."</option>\n";
+		else $ret .= "<option class='maj-debut' value='$l'$selected>".traduire_nom_langue($l)."</option>\n";
 	}
 	$ret .= "</select>\n";
 	if ($nom_select == 'var_lang') $ret .= "<noscript><INPUT TYPE='submit' NAME='Valider' VALUE='>>' class='verdana1' style='background-color: $couleur_foncee; color: white; height: 19px;'></noscript>";
diff --git a/ecrire/inc_presentation.php3 b/ecrire/inc_presentation.php3
index 049ed7654dda761eb4f223d9ce552994b6d6d9a8..a4c287614890960f7283ace2c8e699cbfe8aa41b 100644
--- a/ecrire/inc_presentation.php3
+++ b/ecrire/inc_presentation.php3
@@ -1102,6 +1102,12 @@ function barre_onglets($rubrique, $onglet){
 			onglet(_T('onglet_messages_vide'), "controle_forum.php3?page=vide", "sans", $onglet);
 		}
 	}
+	
+	if ($rubrique == "calendrier") {
+		onglet(_T('icone_calendrier_messagerie'), "calendrier_jour.php3", "jour", $onglet, "agenda-24.gif");
+		onglet(_T('icone_calendrier'), "calendrier.php3", "calendrier", $onglet, "calendrier-24.gif");
+		onglet(_T('icone_messagerie_personnelle'), "messagerie.php3", "messagerie", $onglet, "messagerie-24.gif");
+	}
 
 	fin_onglet();
 }
@@ -1426,6 +1432,8 @@ function debut_page($titre = "", $rubrique = "asuivre", $sous_rubrique = "asuivr
 
 
 	// Icones secondaires
+	$activer_messagerie = lire_meta("activer_messagerie");
+	$connect_activer_messagerie = $GLOBALS["connect_activer_messagerie"];
 
 	echo "<div class='bandeau-secondaire' align='center'>\n";
 	echo "<div class='bandeau-icones' style='width: ".$largeur."px'>\n";
@@ -1434,10 +1442,6 @@ function debut_page($titre = "", $rubrique = "asuivre", $sous_rubrique = "asuivr
 	if ($rubrique == "asuivre"){
 		icone_bandeau_secondaire (_T('icone_a_suivre'), "index.php3", "asuivre-24.gif", "asuivre", $sous_rubrique);
 		icone_bandeau_secondaire (_T('icone_site_entier'), "articles_tous.php3", "tout-site-24.gif", "tout-site", $sous_rubrique);
-		if ($options == "avancees") {
-			bandeau_barre_verticale();
-			icone_bandeau_secondaire (_T('icone_calendrier'), "calendrier.php3", "calendrier-24.gif", "calendrier", $sous_rubrique);
-		}
 	}
 	else if ($rubrique == "documents"){
 		icone_bandeau_secondaire (_T('icone_rubriques'), "naviguer.php3", "rubrique-24.gif", "rubriques", $sous_rubrique);
@@ -1483,9 +1487,6 @@ function debut_page($titre = "", $rubrique = "asuivre", $sous_rubrique = "asuivr
 			icone_bandeau_secondaire (_T('icone_suivi_forums'), "controle_forum.php3", "suivi-forum-24.gif", "forum-controle", $sous_rubrique);
 			icone_bandeau_secondaire (_T('icone_suivi_pettions'), "controle_petition.php3", "petition-24.gif", "suivi-petition", $sous_rubrique);
 		}
-		bandeau_barre_verticale();
-		if ($activer_messagerie != 'non' AND $connect_activer_messagerie != 'non')
-			icone_bandeau_secondaire (_T('icone_messagerie_personnelle'), "messagerie.php3", "messagerie-24.gif", "messagerie", $sous_rubrique);
 	}
 	else if ($rubrique == "administration"){
 		if ($connect_toutes_rubriques) {
@@ -1514,11 +1515,16 @@ function debut_page($titre = "", $rubrique = "asuivre", $sous_rubrique = "asuivr
 		echo "<form method='get' style='margin: 0px;' action='recherche.php3'>";
 		if ($spip_display == "2")
 			echo "<font face='Verdana,Arial,Helvetica,sans-serif' size=1 color='#505050'><b>"._T('info_rechercher_02')."</b></font><br>";
-		echo '<input type="text" size="18" value="'.$recherche_aff.'" name="recherche" class="spip_recherche" accesskey="r">';
+		echo '<input type="text" size="10" value="'.$recherche_aff.'" name="recherche" class="spip_recherche" accesskey="r">';
 		echo "</form>";
 		echo "</td>";
 	}
 
+	if ($activer_messagerie == "oui" AND $connect_activer_messagerie != "non"){
+		bandeau_barre_verticale();
+		icone_bandeau_secondaire (_T('icone_calendrier_messagerie'), "calendrier_jour.php3", "agenda-24.gif", "calendrier", $sous_rubrique);
+	}
+
 	echo "</tr></table>\n";
 
 	if ($auth_can_disconnect) {
@@ -2054,4 +2060,222 @@ function install_fin_html() {
 	';
 }
 
+
+//
+// Afficher un agenda (un mois) sous forme de petit tableau
+//
+
+function agenda ($mois, $annee, $jour_ved, $mois_ved, $annee_ved) {
+	global $couleur_foncee, $couleur_claire;
+	global $connect_id_auteur;
+
+	$today=getdate(time());
+	$jour_today = $today["mday"];
+	$mois_today = $today["mon"];
+	$annee_today = $today["year"];
+
+
+	$date = date("Y-m-d", mktime(0,0,0,$mois, 1, $annee));
+	$mois = mois($date);
+	$annee = annee($date);
+
+
+	// rendez-vous personnels dans le mois
+	$result_messages=spip_query("SELECT messages.* FROM spip_messages AS messages, spip_auteurs_messages AS lien WHERE ((lien.id_auteur='$connect_id_auteur' AND lien.id_message=messages.id_message) OR messages.type='affich') AND messages.rv='oui' AND messages.date_heure >='$annee-$mois-1' AND date_heure < DATE_ADD('$annee-$mois-1', INTERVAL 1 MONTH) AND messages.statut='publie' GROUP BY messages.id_message ORDER BY messages.date_heure");
+	while($row=spip_fetch_array($result_messages)){
+		$date_heure=$row["date_heure"];
+		$lejour=journum($row['date_heure']);
+		$les_rv[$lejour] ++;
+	}
+
+	
+	$nom = mktime(1,1,1,$mois,1,$annee);
+	$jour_semaine = date("w",$nom);
+	$nom_mois = nom_mois('2000-'.sprintf("%02d", $mois).'-01');
+	
+	echo "<div align='center' style='padding: 5px;'><b class='verdana1'><a href='calendrier.php3?mois=$mois&&annee=$annee' style='color: black;'>$nom_mois $annee</a></b></div>";
+	
+	echo "<table width='100%' cellspacing='1' cellpadding='2'>";
+
+	echo "<tr>";
+	for ($i=1;$i<$jour_semaine;$i++){
+		echo "<td></td>";
+	}
+
+	for ($j=1; $j<32; $j++) {
+		$jour_j = sprintf("%02d", $j);
+		$nom = mktime(1,1,1,$mois,$jour_j,$annee);
+		$jour_semaine = date("w",$nom);
+				
+		if (checkdate($mois,$j,$annee)){
+
+			if ($j == $jour_ved AND $mois == $mois_ved AND $annee == $annee_ved) {
+				echo "<td align='center' class='arial2' style='background-color: white; border: 1px solid $couleur_foncee; -moz-border-radius: 8px;'>";
+				echo "<a href='calendrier_jour.php3?jour=$j&mois=$mois&annee=$annee' style='color: black'><b>$j</b></a>";
+				echo "</td>";
+			} else {
+				if ($j == $jour_today AND $mois == $mois_today AND $annee == $annee_today) {
+					$couleur_fond = $couleur_foncee;
+					$couleur = "white";
+				}
+				else {
+					if ($jour_semaine == 0) {
+						$couleur_fond = $couleur_claire;
+						$couleur = "#aaaaaa";
+					} else {
+						$couleur_fond = "#eeeeee";
+						$couleur = "#aaaaaa";
+					}
+					if ($les_rv[$j] > 0) {
+						$couleur = "black";
+					}
+				}
+				echo "<td align='center' class='arial2' style='background-color: $couleur_fond; -moz-border-radius: 8px;'>";
+				echo "<a href='calendrier_jour.php3?jour=$j&mois=$mois&annee=$annee' style='color: $couleur;'>$j</a>";
+				echo "</td>";
+			}			
+			
+			if ($jour_semaine==0) echo "</tr>\n<tr>";
+
+		}	
+	
+	}
+	echo "</tr>\n";
+	echo "</table>";
+
+}
+
+
+
+function calendrier_jour($jour,$mois,$annee,$large = true, $le_message = 0) {
+	global $spip_lang_rtl, $spip_lang_right, $spip_lang_left;
+	global $connect_id_auteur, $connect_statut;
+
+
+	$date = date("Y-m-d", mktime(0,0,0,$mois, $jour, $annee));
+	$jour = journum($date);
+	$mois = mois($date);
+	$annee = annee($date);
+
+
+	if ($large) {
+		$largeur = 350;
+		$modif_decalage = 40;
+	} else {
+		$largeur = 120;
+		$modif_decalage = 15;
+	}
+
+	if (!$large) echo "<div align='center' style='padding: 5px;'><b class='verdana1'><a href='calendrier_jour.php3?jour=$jour&mois=$mois&annee=$annee' style='color:black;'>".affdate("$annee-$mois-$jour")."</a></b></div>";
+
+	echo"<div style='border-left: 1px solid #aaaaaa; border-right: 1px solid #aaaaaa; border-bottom: 1px solid #aaaaaa;'>"; // bordure
+	echo "<div style='position: relative; width: 100%; height: 450; background: url(img_pack/fond-calendrier.gif)'>";
+	
+	echo "<div style='position: absolute; $spip_lang_left: 2px; top: 2px; color: #666666;' class='arial0'><b class='arial0'>0:00<br />7:00</b></div>";
+	
+	for ($i = 7; $i < 20; $i++) {
+		echo "<div style='position: absolute; $spip_lang_left: 2px; top: ".(($i-6)*30+2)."px; color: #666666;' class='arial0'><b class='arial0'>$i:00</b></div>";
+	}
+	echo "<div style='position: absolute; $spip_lang_left: 2px; top: 422px; color: #666666;' class='arial0'><b class='arial0'>20:00<br />23:59</b></div>";
+
+
+	// rendez-vous personnels
+	$result_messages=spip_query("SELECT messages.* FROM spip_messages AS messages, spip_auteurs_messages AS lien WHERE ((lien.id_auteur='$connect_id_auteur' AND lien.id_message=messages.id_message) OR messages.type='affich') AND messages.rv='oui' AND messages.date_heure >='$annee-$mois-$jour' AND messages.date_heure <= '$annee-$mois-$jour 23:59:59' AND messages.statut='publie' GROUP BY messages.id_message ORDER BY messages.date_heure");
+	while($row=spip_fetch_array($result_messages)){
+		$id_message=$row['id_message'];
+		$date_heure=$row["date_heure"];
+		$date_fin=$row["date_fin"];
+		$titre=propre($row["titre"]);
+		$texte = propre($row["texte"]);
+		$type=$row["type"];
+		$lejour=journum($row['date_heure']);
+
+		if ($type=="normal") {
+			$la_couleur = "#0A9C60";
+			$couleur_fond = "#BDF0DB";
+		}
+		elseif ($type=="pb") {
+			$la_couleur = "#0000ff";
+			$couleur_fond = "#ccccff";
+		}
+		elseif ($type=="affich") {
+			$la_couleur = "#ccaa00";
+			$couleur_fond = "#ffffee";
+		}
+		else {
+			$la_couleur="black";
+			$couleur_fond="#aaaaaa";
+		}
+
+		$heure_debut = heures($date_heure);
+		$minutes_debut = minutes($date_heure);
+
+		// En attendant gestion heure de fin...
+		$heure_fin = heures($date_fin);
+		$minutes_fin = minutes($date_fin);
+
+		if ($heure_debut < 6) {
+			$heure_debut = 6;
+			$minutes_debut = 0;	
+		}
+		if ($heure_fin < 7) {
+			$heure_fin = 7;
+			$minutes_fin = 00;
+		}
+		
+		if ($heure_debut > 20) {
+			$heure_debut = 20;
+			$minutes_debut = 0;
+		}
+		if ($heure_fin > 20) {
+			$heure_fin = 21;
+			$minutes_fin = 00;
+		}
+		
+		$haut = floor((($heure_debut - 6)*60 + $minutes_debut)/2);
+		$bas = floor((($heure_fin - 6)*60 + $minutes_fin)/2);
+		
+		$hauteur = ($bas-$haut) - 7;
+		if ($hauteur < 23) $hauteur = 23;
+		
+		if ($bas_prec > $haut) $decalage = $decalage + $modif_decalage;
+		else $decalage = 40;
+		
+		if ($bas > $bas_prec) $bas_prec = $bas;		
+		
+		if ($le_message == $id_message)	$couleur_cadre = "red";
+		else $couleur_cadre = "#999999";
+		
+		
+		echo "<div style='position: absolute; $spip_lang_left: ".$decalage."px; top: ".$haut."px; height: ".$hauteur."px; width: ".$largeur."px;  border: 1px solid $la_couleur; padding: 3px; background-color: $couleur_fond; -moz-opacity: 0.7; -moz-border-radius: 5px; filter: alpha(opacity=70);'>";
+		echo "</div>";
+		echo "<div style='position: absolute; overflow: hidden; $spip_lang_left: ".$decalage."px; top: ".$haut."px; height: ".$hauteur."px; width: ".$largeur."px;  border: 1px solid $couleur_cadre; padding: 3px; -moz-border-radius: 5px;'>";
+		echo "<div><b><a href='message.php3?id_message=$id_message' class='verdana1' style='color: black;'>$titre</a></b></div>";
+		
+		if ($type == "normal") {
+			$result_auteurs=spip_query("SELECT auteurs.* FROM spip_auteurs AS auteurs, spip_auteurs_messages AS lien WHERE (lien.id_message='$id_message' AND (auteurs.id_auteur!='$connect_id_auteur' AND lien.id_auteur=auteurs.id_auteur))");
+			while($row_auteur=spip_fetch_array($result_auteurs)){
+				$id_auteur=$row_auteur['id_auteur'];
+				$nom_auteur=$row_auteur['nom'];
+				$les_auteurs[$id_message][] = $nom_auteur;
+			}
+			if (count($les_auteurs[$id_message]) > 0) {
+				echo "<div><font class='verdana1'>".join($les_auteurs[$id_message],", ")."</font></div>";
+			}
+		}
+		
+		if ($large) echo "<div><a href='message.php3?id_message=$id_message' class='arial1' style='color: #333333; text-decoration: none;'>$texte</a></div>";
+		echo "</div>";
+	}
+
+	
+	echo "</div>";
+	echo "</div>";
+
+
+
+}
+
+
+
 ?>
diff --git a/ecrire/inc_version.php3 b/ecrire/inc_version.php3
index 17267d215e1fe49ac9c41a4534c4552d6a74adb7..0b56381d157463b3bdbf61dbeeb2beb25776fd4d 100644
--- a/ecrire/inc_version.php3
+++ b/ecrire/inc_version.php3
@@ -155,7 +155,7 @@ if ($flag_ecrire) {
 // (utilise pour les modifs de la base de donnees)
 
 // version de la base
-$spip_version = 1.723;
+$spip_version = 1.724;
 
 // version de spip
 $spip_version_affichee = "1.7b2 CVS";
diff --git a/ecrire/index.php3 b/ecrire/index.php3
index 9034d7da93d7c88eed9a66ff109f59a54b85fc48..5fad689a6ed73643993ba5552753e1e28f6e7dfd 100644
--- a/ecrire/index.php3
+++ b/ecrire/index.php3
@@ -109,29 +109,45 @@ fin_cadre_relief();
 //
 // Annonces
 //
-$query = "SELECT * FROM spip_messages WHERE type = 'affich' AND statut = 'publie' ORDER BY date_heure DESC";
+$query = "SELECT * FROM spip_messages WHERE type = 'affich' AND rv != 'oui' AND statut = 'publie' ORDER BY date_heure DESC";
 $result = spip_query($query);
 
 if (spip_num_rows($result) > 0){
-	debut_cadre_enfonce("messagerie-24.gif");
+	echo "<div style='border: 1px solid #999999; background-color: #ffffee; -moz-border-radius: 5px;'>";
 	echo "<font face='Verdana,Arial,Helvetica,sans-serif' size='1'>";
 	echo "<div style='background-color: yellow; padding: 3px;'>";
 	echo "<b>"._T('info_annonces_generales')."</b>";
 	echo "</div>";
+	echo "<div style='padding: 5px;'>";
 	while ($row = spip_fetch_object($result)) {
 		if (ereg("^=([^[:space:]]+)$",$row->texte,$match))
 			$url = $match[1];
 		else
 			$url = "message.php3?id_message=".$row->id_message;
 		$titre = typo($row->titre);
-		echo "<div style='padding-top: 2px;'><img src='img_pack/m_envoi_jaune$spip_lang_rtl.gif' border=0> <a href='$url'>$titre</a></div>\n";
+		echo "<div style='padding: 2px;'><img src='img_pack/m_envoi_jaune$spip_lang_rtl.gif' border=0> <a href='$url'>$titre</a></div>\n";
 	}
+	echo "</div>";
 	echo "</font>";
-	fin_cadre_enfonce();
+	
+	echo "</div>";
+}
+
+if (lire_meta('activer_messagerie') != 'non' AND $connect_activer_messagerie != "non") {
+	$today=getdate(time());
+	$jour_today = $today["mday"];
+	$mois_today = $today["mon"];
+	$annee_today = $today["year"];
+	echo "<p />";
+	agenda ($mois_today, $annee_today, $jour_today, $mois_today, $annee_today);
+
+
 }
 
 
 
+
+
 debut_raccourcis();
 
 
@@ -188,6 +204,10 @@ else if ($connect_statut == '0minirezo' and $connect_toutes_rubriques) {
 
 fin_raccourcis();
 
+if ($options == "avancees" AND lire_meta('activer_messagerie') != 'non' AND $connect_activer_messagerie != "non") {
+	creer_colonne_droite();	
+	calendrier_jour($jour_today,$mois_today,$annee_today, false);
+}
 
 debut_droite();
 
diff --git a/ecrire/lang/spip_fr.php3 b/ecrire/lang/spip_fr.php3
index bbc830c446f93567a5a5b9f02a987a39a13472e2..402b13bdbe467a349d12949b6d86c8731715e174 100644
--- a/ecrire/lang/spip_fr.php3
+++ b/ecrire/lang/spip_fr.php3
@@ -374,6 +374,7 @@ Merci de votre participation
 'icone_auteurs' => 'Auteurs',
 'icone_breves' => 'Br&egrave;ves',
 'icone_calendrier' => 'Calendrier',
+'icone_calendrier_messagerie' => 'Agenda',
 'icone_configuration_site' => 'Configuration du site',
 'icone_configurer_site' => 'Configurer votre site',
 'icone_creation_groupe_mots' => 'Cr&eacute;er un nouveau groupe de mots',
@@ -582,7 +583,6 @@ Merci de votre participation
 'info_dimension' => 'Dimensions&nbsp;:',
 'info_discussion_cours' => 'Discussions en cours',
 'info_document' => 'Document',
-'info_donner_rendez_vous' => 'Ce bouton vous permet de donner un rendez-vous &agrave; un autre participant.',
 'info_echange_message' => 'SPIP permet l\'&eacute;change de messages et la constitution de forums de discussion
 		priv&eacute;s entre les participants du site. Vous pouvez activer ou
 		d&eacute;sactiver cette fonctionnalit&eacute;.',
@@ -757,7 +757,6 @@ exige d\'avoir un acc&egrave;s FTP au site Web.',
 'info_notes' => 'Notes',
 'info_nouveau' => '(Nouveau)',
 'info_nouveau_message' => 'VOUS AVEZ UN NOUVEAU MESSAGE',
-'info_nouveau_pense_bete' => 'Ce bouton vous permet de cr&eacute;er un nouveau pense-b&ecirc;te personnel.',
 'info_nouveaux_message' => 'Nouveaux messages',
 'info_nouveaux_messages' => 'VOUS AVEZ @total_messages@ NOUVEAUX MESSAGES',
 'info_nouvel_article' => 'Nouvel article',
diff --git a/ecrire/message.php3 b/ecrire/message.php3
index 9eaeae5ad6b1fd056c487f9f684c0f8705cd6325..121e41d10892cb1c791f4d31e448eddb358f28e2 100644
--- a/ecrire/message.php3
+++ b/ecrire/message.php3
@@ -82,7 +82,15 @@ if ($changer_rv) {
 }
 
 if ($jour) {
-	spip_query("UPDATE spip_messages SET date_heure='$annee-$mois-$jour $heures:$minutes:00' WHERE id_message='$id_message'");
+			if (($heures_fin * 60) + $minutes_fin < ($heures_debut * 60) + $minutes_debut) {
+				$minutes_fin = $minutes_debut;
+				$heures_fin = $heures_debut + 1;
+			}
+			if ($heures_fin >=24){
+				$heures_fin = 23;
+				$minutes_fin = 59;	
+			}
+	spip_query("UPDATE spip_messages SET date_heure='$annee-$mois-$jour $heures:$minutes:00',  date_fin='$annee-$mois-$jour $heures_fin:$minutes_fin:00' WHERE id_message='$id_message'");
 }
 
 if ($change_statut) {
@@ -105,6 +113,7 @@ $result_message = spip_query($query_message);
 while($row = spip_fetch_array($result_message)) {
 	$id_message = $row['id_message'];
 	$date_heure = $row["date_heure"];
+	$date_fin = $row["date_fin"];
 	$titre = typo($row["titre"]);
 	$texte = propre($row["texte"]);
 	$type = $row["type"];
@@ -112,6 +121,11 @@ while($row = spip_fetch_array($result_message)) {
 	$page = $row["page"];
 	$rv = $row["rv"];
 	$expediteur = $row['id_auteur'];
+
+	$lejour=journum($row['date_heure']);
+	$lemois = mois($row['date_heure']);		
+	$lannee = annee($row['date_heure']);		
+
 	
 	// Marquer le message vu pour le visiteur
 	if ($type != "affich")
@@ -119,37 +133,44 @@ while($row = spip_fetch_array($result_message)) {
 
 
 	
-	debut_page($titre, "messagerie", "messagerie");
+	debut_page($titre, "asuivre", "calendrier");
+	barre_onglets("calendrier", "message");
+
+
 
 	debut_gauche();
 	
-	if ($statut == 'publie' AND $type == 'normal' AND $type != 'affich') {
-
-		echo "<div align='center'>";
-		icone (_T('icone_arret_discussion'), "messagerie.php3?id_message=$id_message&supp_dest=$connect_id_auteur", "messagerie-24.gif", "supprimer.gif");
-		echo "</div>";
-	}
+	if ($rv == 'oui') agenda ($lemois, $lannee, $lejour, $lemois, $lannee);
+	
+	
+		
+	creer_colonne_droite();	
+	calendrier_jour($lejour,$lemois,$lannee, false, $id_message);
 	
 	
 	debut_droite();
 
-	debut_cadre_relief("messagerie-24.gif");
-	echo "<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0 BORDER=0>";
-	echo "<TR><TD>";
-
 	if ($type == 'normal') {
 		$le_type = "MESSAGE".aide ("messut");
-		$la_couleur = "green";
+		$la_couleur = "#0A9C60";
+		$couleur_fond = "#BDF0DB";
 	}
 	else if ($type == 'pb') {
 		$le_type = _T('info_pense_bete').aide ("messpense");
-		$la_couleur = "blue";	
+		$la_couleur = "#0000ff";
+		$couleur_fond = "#ddddff";
 	}
 	else if ($type == 'affich') {
 		$le_type = _T('info_annonce');
-		$la_couleur = "red";	
+		$la_couleur = "#ccaa00";
+		$couleur_fond = "#ffffee";
 	}
 
+	echo "<div style='border: 1px solid $la_couleur; background-color: $couleur_fond; padding: 5px;'>"; // debut cadre de couleur
+	//debut_cadre_relief("messagerie-24.gif");
+	echo "<TABLE WIDTH=100% CELLPADDING=0 CELLSPACING=0 BORDER=0>";
+	echo "<TR><TD>";
+
 	echo "<font face='Verdana,Arial,Helvetica,sans-serif' size=2 color='$la_couleur'><b>$le_type</b></font><br>";
 	echo "<font face='Verdana,Arial,Helvetica,sans-serif' size=5><b>$titre</b></font>";
 	if ($statut == 'redac') {
@@ -168,40 +189,6 @@ while($row = spip_fetch_array($result_message)) {
 	if ($type == 'normal') {
 		debut_cadre_enfonce("redacteurs-24.gif");
 
-		//
-		// Expediteur
-		//		
-		$result = spip_query("SELECT * FROM spip_auteurs WHERE id_auteur=$expediteur");
-
-		if ($row = spip_fetch_array($result)) {
-
-			echo "<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=3 WIDTH=100% BACKGROUND=''><TR><TD BGCOLOR='#EEEECC'>";
-			echo "<FONT SIZE=2 FACE='Georgia,Garamond,Times,serif'><B>"._T('info_auteur_message')."</B></FONT>";
-			echo "</td></tr>";
-
-			$nom_auteur = typo($row["nom"]);
-			$statut_auteur = $row["statut"];
-			$id_auteur = $expediteur;
-
-			if (!$ifond) {
-				$ifond = 1;
-				$couleur = '#FFFFFF';
-			}
-			else {
-				$ifond = 0;
-				$couleur = $couleur_claire;
-			}
-
-			echo "<tr><td background='' bgcolor='$couleur'><font face='Verdana,Arial,Helvetica,sans-serif' size=2>";
-			echo "&nbsp;".bonhomme_statut($row)."&nbsp;";
-			echo ' '.$nom_auteur;
-			echo "</font></td></tr>";
-				
-			echo "</table>";
-
-		}
-
-
 		//
 		// Recherche d'auteur
 		//
@@ -294,10 +281,23 @@ while($row = spip_fetch_array($result_message)) {
 		$total_dest = spip_num_rows($result_auteurs);
 
 		if ($total_dest > 0) {
-			echo "<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=3 WIDTH=100% BACKGROUND=''><TR><TD BGCOLOR='#EEEECC' colspan=2>";
-			echo "<FONT SIZE=2 FACE='Georgia,Garamond,Times,serif'><B>"._T('info_nombre_partcipants')."</B></FONT>";
+			echo "<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=3 WIDTH=100% BACKGROUND=''><TR><TD BGCOLOR='#EEEECC'>";
+			echo bouton_block_invisible("auteurs,ajouter_auteur");
+			echo "<FONT SIZE=1 FACE='Georgia,Garamond,Times,serif'><B>"._T('info_nombre_partcipants')."</B></FONT>";
+
+			$result_auteurs_tmp = spip_query($query_auteurs);
+			while($row_tmp = spip_fetch_array($result_auteurs_tmp)) {
+				$id_auteur = $row_tmp["id_auteur"];
+				$auteurs_tmp[$id_message][] = typo($row_tmp["nom"]);
+			}
+			
+			if (count($auteurs_tmp[$id_message]) > 0) echo " <font class='arial2'>".join($auteurs_tmp[$id_message],", ")."</font>";
+			
 			echo "</td></tr>";
+			echo "</table>";
 
+			echo debut_block_invisible("auteurs");
+			echo "<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=3 WIDTH=100% BACKGROUND=''><TR><TD BGCOLOR='#EEEECC' colspan=2>";
 			$ifond = 0;
 			while($row = spip_fetch_array($result_auteurs)) {
 				$id_auteur = $row["id_auteur"];
@@ -316,6 +316,7 @@ while($row = spip_fetch_array($result_message)) {
 
 				echo "<tr><td background='' bgcolor='$couleur'><font face='Verdana,Arial,Helvetica,sans-serif' size=2>";
 				echo "&nbsp;".bonhomme_statut($row)."&nbsp;";
+				if ($id_auteur == $expediteur) echo "<font class='arial0'>"._T('info_auteur_message')."</font>";
 				echo " $nom_auteur";
 				echo "</font></td>";
 				
@@ -331,6 +332,7 @@ while($row = spip_fetch_array($result_message)) {
 				echo "</tr>\n";
 			}
 			echo "</table>";
+			echo fin_block();
 		}
 
 		$ze_auteurs = join(',', $ze_auteurs);
@@ -401,67 +403,26 @@ while($row = spip_fetch_array($result_message)) {
 				}
 			}
 			else {
+				echo debut_block_invisible("ajouter_auteur");
 				echo "<br><div align='right'><font face='Verdana,Arial,Helvetica,sans-serif' size='2'><a href='message.php3?id_message=$id_message&forcer_dest=oui'>"._T('lien_ajouter_participant')."</a></font></div>";
+				echo fin_block();
 			}
 		}
 		fin_cadre_enfonce();
 	}
 	
-	else {
+/*	else {
 		$expediteur = $connect_id_auteur;
 		$ze_auteurs = $expediteur;
 	}
-
+*/
 
 	//////////////////////////////////////////////////////
 	// Fixer rendez-vous?
 	//
 
-	if ($statut == 'redac' OR $type == 'pb' OR $forcer_rv) {
-		echo "<form action='message.php3' method='post'>";
-		debut_boite_info();
-		echo "<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=3 WIDTH=100% BACKGROUND=''><TR><TD BGCOLOR='#$couleur_foncee' colspan=2>";
-		echo "<FONT SIZE=2 FACE='Georgia,Garamond,Times,serif' color='#FFFFFF'><B>"._T('titre_rendez_vous')."</B></FONT>";
-		echo "</td></tr></table>";
-		echo "<input type='hidden' name='id_message' value='$id_message'>";
-		echo "<input type='hidden' name='changer_rv' value='$id_message'>";
-		if ($rv != "oui") {
-			echo "<INPUT TYPE='radio' NAME='rv' VALUE='oui' id='rv_on'>";
-			echo " <label for='rv_on'>"._T('item_afficher_calendrier')."</label> ";
-			echo " <br><INPUT TYPE='radio' NAME='rv' VALUE='non' CHECKED id='rv_off'>";
-			echo " <B><label for='rv_off'>"._T('item_non_afficher_calendrier')."</label></B> ";
-		}
-		else {
-			echo "<INPUT TYPE='radio' NAME='rv' VALUE='oui' CHECKED id='rv_on'>";
-			echo " <b><label for='rv_on'>"._T('item_afficher_calendrier')."</label></b> ";
-
-			echo "<center><SELECT NAME='jour' SIZE=1 CLASS='fondl'>";
-			afficher_jour(jour($date_heure));
-			echo "</SELECT> ";
-			echo "<SELECT NAME='mois' SIZE=1 CLASS='fondl'>";
-			afficher_mois(mois($date_heure));
-			echo "</SELECT> ";
-			echo "<SELECT NAME='annee' SIZE=1 CLASS='fondl'>";
-			afficher_annee(annee($date_heure));
-			echo "</SELECT>\n";
-			
-			echo " - &nbsp;<INPUT TYPE='text' CLASS='fondl' NAME='heures' VALUE=\"".heures($date_heure)."\" SIZE='3'>&nbsp;".majuscules(_T('date_mot_heures'))."&nbsp;";
-			echo "<INPUT TYPE='text' CLASS='fondl' NAME='minutes' VALUE=\"".minutes($date_heure)."\" SIZE='3'> ";
-
-			echo "</center>";
-
-			echo " <p><INPUT TYPE='radio' NAME='rv' VALUE='non' id='rv_off'>";
-			echo " <label for='rv_off'>"._T('item_non_afficher_calendrier')."</label> ";
-		}
-
-		echo "<div align='right'><INPUT TYPE='submit' NAME='Ajouter' VALUE='"._T('bouton_ajouter')."' CLASS='fondo'></div>";
-
-		fin_boite_info();
-		echo "</form>";
-	}
-	else if ($rv == "oui") {
-		echo "<p><center><font face='Verdana,Arial,Helvetica,sans-serif' size=2 color='#666666'><b>"._T('titre_rendez_vous')." <font color='red'>".majuscules(nom_jour($date_heure))." ".majuscules(affdate_heure($date_heure))."</font></b></font></center>";
-		if ($type != "affich") echo "<div align='right'><font size=2><a href='message.php3?id_message=$id_message&forcer_rv=oui'>"._T('lien_modifer_date')."</a></font></div><p>";
+	if ($rv == "oui") {
+		echo "<p><center class='verdana2'>"._T('titre_rendez_vous')." ".majuscules(nom_jour($date_heure))." <b>".majuscules(affdate($date_heure))."</b><br><b>".heures($date_heure)." "._T('date_mot_heures')." ".minutes($date_heure)."</b>  &nbsp; <img src='puce$spip_lang_rtl.gif' border='0'> &nbsp;  ".heures($date_fin)." "._T('date_mot_heures')." ".minutes($date_fin)."</center>";
 	}
 
 
@@ -475,42 +436,51 @@ while($row = spip_fetch_array($result_message)) {
 
 	echo "<br><font face='Georgia,Garamond,Times,serif' size=3>";
 	
-	if ($expediteur == $connect_id_auteur AND ($statut == 'redac' OR $type == 'pb') OR ($type == 'affich' AND $connect_statut == '0minirezo')) {
-		echo "\n<table align='right'><tr><td>";
-		icone (_T('icone_modifier_message'), newLinkUrl("message_edit.php3?id_message=$id_message"), "messagerie-24.gif", "edit.gif");
-		echo "</td></tr></table>";
-	}
 
 	echo "<p>$texte";
 	echo "</font>";
-	echo "</td></tr></table>";	
-
-
-	if ($expediteur == $connect_id_auteur AND ($statut == 'redac' OR $type == 'pb') OR ($type == 'affich' AND $connect_statut == '0minirezo')) {
 
-		echo "<hr noshade size=1>";
 
-		if ($expediteur == $connect_id_auteur AND ($statut == 'redac' OR $type == 'pb') OR ($type == 'affich' AND $connect_statut == '0minirezo')) {
-			echo "\n<table align='left'><tr><td>";
-			icone (_T('icone_supprimer_message'), newLinkUrl("messagerie.php3?detruire_message=$id_message"), "messagerie-24.gif", "supprimer.gif");
-			echo "</td></tr></table>";
-		}
 		if ($expediteur == $connect_id_auteur AND $statut == 'redac') {
 			if ($type == 'normal' AND $total_dest < 2){
 				echo "<p align='right'><font face='Verdana,Arial,Helvetica,sans-serif' size='2' color='#666666'><b>"._T('avis_destinataire_obligatoire')."</b></font></p>";
 			}
 			else {
-				echo "\n<table align='right'><tr><td>";
+				echo "\n<p><center><table><tr><td>";
 				icone (_T('icone_envoyer_message'), newLinkUrl("message.php3?id_message=$id_message&change_statut=publie"), "messagerie-24.gif", "creer.gif");
-				echo "</td></tr></table>";
+				echo "</td></tr></table></center>";
 			}
 		}
-		
-	}
+
+	echo "</td></tr></table>";	
+
+
 
 	echo "</td></tr></table></div>";
-	fin_cadre_relief();
+	//fin_cadre_relief();
+	echo "</div>"; // fin du cadre de couleur
 	
+	echo "\n<table width='100%'><tr><td>";
+		if ($expediteur == $connect_id_auteur AND ($statut == 'redac' OR $type == 'pb') OR ($type == 'affich' AND $connect_statut == '0minirezo')) {
+			echo "\n<table align='left'><tr><td>";
+			icone (_T('icone_supprimer_message'), newLinkUrl("messagerie.php3?detruire_message=$id_message"), "messagerie-24.gif", "supprimer.gif");
+			echo "</td></tr></table>";
+		}
+
+		if ($statut == 'publie' AND $type == 'normal' AND $type != 'affich') {
+			echo "\n<table align='left'><tr><td>";
+			icone (_T('icone_arret_discussion'), "messagerie.php3?id_message=$id_message&supp_dest=$connect_id_auteur", "messagerie-24.gif", "supprimer.gif");
+			echo "</td></tr></table>";
+		}
+
+
+		if ($expediteur == $connect_id_auteur OR ($type == 'affich' AND $connect_statut == '0minirezo')) {
+			echo "\n<table align='right'><tr><td>";
+			icone (_T('icone_modifier_message'), newLinkUrl("message_edit.php3?id_message=$id_message"), "messagerie-24.gif", "edit.gif");
+			echo "</td></tr></table>";
+		}
+	echo "</td></tr></table>";
+		
 	//////////////////////////////////////////////////////
 	// Forums
 	//
diff --git a/ecrire/message_edit.php3 b/ecrire/message_edit.php3
index ce9c11cc08c216c6b42eb3b8260272d08702238a..d5012ef7550f1f5823aac7bb2f6b3ac44dd4c9bb 100644
--- a/ecrire/message_edit.php3
+++ b/ecrire/message_edit.php3
@@ -3,6 +3,47 @@
 include ("inc.php3");
 
 
+function my_sel($num, $tex, $comp) {
+	if ($num == $comp) {
+		echo "<OPTION VALUE='$num' SELECTED>$tex\n";
+	}
+	else {
+		echo "<OPTION VALUE='$num'>$tex\n";
+	}
+}
+
+function afficher_mois($mois){
+	my_sel("01", _T('date_mois_1'), $mois);
+	my_sel("02", _T('date_mois_2'), $mois);
+	my_sel("03", _T('date_mois_3'), $mois);
+	my_sel("04", _T('date_mois_4'), $mois);
+	my_sel("05", _T('date_mois_5'), $mois);
+	my_sel("06", _T('date_mois_6'), $mois);
+	my_sel("07", _T('date_mois_7'), $mois);
+	my_sel("08", _T('date_mois_8'), $mois);
+	my_sel("09", _T('date_mois_9'), $mois);
+	my_sel("10", _T('date_mois_10'), $mois);
+	my_sel("11", _T('date_mois_11'), $mois);
+	my_sel("12", _T('date_mois_12'), $mois);
+}
+
+function afficher_annee($annee) {
+	if ($annee < 1996) {
+		echo "<OPTION VALUE='$annee' SELECTED>$annee\n";
+	}
+	for ($i=date("Y") - 1; $i < date("Y") + 3; $i++) {
+		my_sel($i,$i,$annee);
+	}
+}
+
+function afficher_jour($jour){
+	for($i=1;$i<32;$i++){
+		if ($i<10){$aff="&nbsp;".$i;}else{$aff=$i;}
+		my_sel($i,$aff,$jour);
+	}
+}
+
+
 debut_page(_T('titre_page_message_edit'), "asuivre", "messagerie");
 debut_gauche();
 debut_droite();
@@ -40,14 +81,15 @@ $result = spip_query($query);
 if ($row = spip_fetch_array($result)) {
 	$id_message = $row['id_message'];
 	$date_heure = $row["date_heure"];
+	$date_fin = $row["date_fin"];
 	$titre = entites_html($row["titre"]);
 	$texte = entites_html($row["texte"]);
 	$type = $row["type"];
 	$statut = $row["statut"];
 	$page = $row["page"];
 	$rv = $row["rv"];
-	$id_auteur = $row["id_auteur"];
-	if (!($id_auteur == $connect_id_auteur OR ($type == "affich" AND $connect_statut == "0minirezo"))) break;
+	$expediteur = $row["id_auteur"];
+		if (!($expediteur == $connect_id_auteur OR ($type == 'affich' AND $connect_statut == '0minirezo'))) die();
 
 
 	echo "<FORM ACTION='message.php3?id_message=$id_message' METHOD='post'>";
@@ -65,14 +107,72 @@ if ($row = spip_fetch_array($result)) {
 	echo "<INPUT TYPE='Hidden' NAME='id_message' VALUE=\"$id_message\">";
 
 	echo _T('texte_titre_obligatoire')."<BR>";
-	echo "<INPUT TYPE='text' CLASS='formo' NAME='titre' VALUE=\"$titre\" SIZE='40'><P>";
+	echo "<INPUT TYPE='text' CLASS='formo' NAME='titre' VALUE=\"$titre\" SIZE='40'>";
 
 	if ($ajouter_auteur) {
-		echo "<B>"._T('info_nom_destinataire')."</B><BR>";
-		echo "<INPUT TYPE='text' CLASS='formo' NAME='cherche_auteur' VALUE='' SIZE='40'><P>";
+		echo "<P><B>"._T('info_nom_destinataire')."</B><BR>";
+		echo "<INPUT TYPE='text' CLASS='formo' NAME='cherche_auteur' VALUE='' SIZE='40'>";
 	}
 
-	echo "<B>"._T('info_texte_message_02')."</B><BR>";
+	//////////////////////////////////////////////////////
+	// Fixer rendez-vous?
+	//
+
+		debut_boite_info();
+		echo "<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=3 WIDTH=100% BACKGROUND=''><TR><TD BGCOLOR='#$couleur_foncee' colspan=2>";
+		echo "<FONT SIZE=2 FACE='Georgia,Garamond,Times,serif' color='#FFFFFF'><B>"._T('titre_rendez_vous')."</B></FONT>";
+		echo "</td></tr></table>";
+		echo "<input type='hidden' name='id_message' value='$id_message'>";
+		echo "<input type='hidden' name='changer_rv' value='$id_message'>";
+		if ($rv != "oui") {
+			echo "<INPUT TYPE='radio' NAME='rv' VALUE='oui' id='rv_on'>";
+			echo " <label for='rv_on'>"._T('item_afficher_calendrier')."</label> ";
+			echo " <br><INPUT TYPE='radio' NAME='rv' VALUE='non' CHECKED id='rv_off'>";
+			echo " <B><label for='rv_off'>"._T('item_non_afficher_calendrier')."</label></B> ";
+		}
+		else {
+			echo "<INPUT TYPE='radio' NAME='rv' VALUE='oui' CHECKED id='rv_on'>";
+			echo " <b><label for='rv_on'>"._T('item_afficher_calendrier')."</label></b> ";
+
+			echo "<div style='text-align: center; padding: 4px;'><SELECT NAME='jour' SIZE=1 CLASS='fondl'>";
+			afficher_jour(jour($date_heure));
+			echo "</SELECT> ";
+			echo "<SELECT NAME='mois' SIZE=1 CLASS='fondl'>";
+			afficher_mois(mois($date_heure));
+			echo "</SELECT> ";
+			echo "<SELECT NAME='annee' SIZE=1 CLASS='fondl'>";
+			afficher_annee(annee($date_heure));
+			echo "</SELECT>\n";
+			
+			$heures_debut = heures($date_heure);
+			$minutes_debut = minutes($date_heure);
+			echo "<br><INPUT TYPE='text' CLASS='fondl' NAME='heures' VALUE=\"".$heures_debut."\" SIZE='3'>&nbsp;".majuscules(_T('date_mot_heures'))."&nbsp;";
+			echo "<INPUT TYPE='text' CLASS='fondl' NAME='minutes' VALUE=\"$minutes_debut\" SIZE='3'> ";
+			
+			$heures_fin = heures($date_fin);
+			$minutes_fin = minutes($date_fin);
+			
+			if (($heures_fin * 60) + $minutes_fin < ($heures_debut * 60) + $minutes_debut) {
+				$minutes_fin = $minutes_debut;
+				$heures_fin = $heures_debut + 1;
+			}
+			if ($heures_fin >=24){
+				$heures_fin = 23;
+				$minutes_fin = 59;	
+			}
+			
+			echo " &nbsp; <img src='puce$spip_lang_rtl.gif' border='0'> &nbsp; <INPUT TYPE='text' CLASS='fondl' NAME='heures_fin' VALUE=\"".$heures_fin."\" SIZE='3'>&nbsp;".majuscules(_T('date_mot_heures'))."&nbsp;";
+			echo "<INPUT TYPE='text' CLASS='fondl' NAME='minutes_fin' VALUE=\"".$minutes_fin."\" SIZE='3'> ";
+
+			echo "</div>";
+
+			echo " <p><INPUT TYPE='radio' NAME='rv' VALUE='non' id='rv_off'>";
+			echo " <label for='rv_off'>"._T('item_non_afficher_calendrier')."</label> ";
+		}
+
+		fin_boite_info();
+
+	echo "<p><B>"._T('info_texte_message_02')."</B><BR>";
 	echo "<TEXTAREA NAME='texte' ROWS='20' CLASS='formo' COLS='40' wrap=soft>";
 	echo $texte;
 	echo "</TEXTAREA><P>\n";
diff --git a/ecrire/messagerie.php3 b/ecrire/messagerie.php3
index f037dd1cde83a768ff0db299e3df6cbf81285ab1..a9351f140bdfe953d4334e447845cfb2ff0255e5 100644
--- a/ecrire/messagerie.php3
+++ b/ecrire/messagerie.php3
@@ -13,7 +13,11 @@ if ($detruire_message) {
 }
 
 
-debut_page(_T('titre_page_messagerie'), "messagerie", "messagerie");
+debut_page(_T('titre_page_messagerie'), "asuivre", "calendrier");
+
+barre_onglets("calendrier", "messagerie");
+
+
 debut_gauche("messagerie");
 
 
@@ -48,8 +52,11 @@ function afficher_messages($titre_table, $query_message, $afficher_auteurs = tru
 		$query_message .= ' AND messages.id_message NOT IN ('.join(',', $messages_vus).')';
 	}
 
+
+	if ($afficher_auteurs) $cols = 3;
+	else $cols = 2;
 	$query_message .= ' ORDER BY date_heure DESC';
-	$tranches = afficher_tranches_requete($query_message, 3);
+	$tranches = afficher_tranches_requete($query_message, $cols);
 
 	if ($tranches OR $obligatoire) {
 		if ($important) debut_cadre_relief();
@@ -126,8 +133,18 @@ function afficher_messages($titre_table, $query_message, $afficher_auteurs = tru
 			//
 			// Date
 			//
-
+			
 			$s = affdate($date);
+			if ($rv == 'oui') {
+				$jour=journum($date);
+				$mois=mois($date);
+				$annee=annee($date);
+
+				$s = "<a href='calendrier_jour.php3?jour=$jour&mois=$mois&annee=$annee'>$s</a>";
+			} else {
+				$s = "<font color='#999999'>$s</font>";
+			}
+			
 			$vals[] = $s;
 
 			$table[] = $vals;
@@ -154,11 +171,15 @@ function afficher_messages($titre_table, $query_message, $afficher_auteurs = tru
 
 $messages_vus = '';
 
-$query_message = "SELECT * FROM spip_messages AS messages, spip_auteurs_messages AS lien ".
-	"WHERE lien.id_auteur=$connect_id_auteur AND rv='oui' AND date_heure > DATE_SUB(NOW(), INTERVAL 1 DAY) ".
-	"AND statut='publie' AND lien.id_message=messages.id_message";
+$query_message = "SELECT messages.* FROM spip_messages AS messages, spip_auteurs_messages AS lien ".
+	"WHERE ((lien.id_auteur=$connect_id_auteur AND lien.id_message=messages.id_message)) AND messages.rv='oui' AND messages.date_heure > DATE_SUB(NOW(), INTERVAL 1 DAY) ".
+	"AND messages.statut='publie'";
 afficher_messages(_T('info_vos_rendez_vous'), $query_message, true, true);
 
+$query_message = "SELECT * FROM spip_messages AS messages WHERE statut='publie' AND rv='oui' AND type='affich'";
+afficher_messages(_T('info_tous_redacteurs'), $query_message, false, true, false, true);
+
+
 $query_message = "SELECT * FROM spip_messages AS messages WHERE id_auteur=$connect_id_auteur AND statut='publie' AND type='pb' AND (date_heure > DATE_SUB(NOW(), INTERVAL 1 DAY) OR rv != 'oui')";
 afficher_messages(_T('infos_vos_pense_bete'), $query_message, false, true);
 
@@ -177,14 +198,8 @@ afficher_messages(_T('info_message_en_redaction'), $query_message, true, false,
 $query_message = "SELECT * FROM spip_messages AS messages WHERE id_auteur=$connect_id_auteur AND statut='publie' AND type='pb'";
 afficher_messages(_T('info_pense_bete_ancien'), $query_message, false, false, false);
 
-if ($connect_statut == '0minirezo') {
-	$query_message = "SELECT * FROM spip_messages AS messages WHERE statut='publie' AND type='affich'";
-	afficher_messages(_T('info_tous_redacteur')." <font size=1>&nbsp;&nbsp;&nbsp;<a href='message_edit.php3?new=oui&type=affich'><img src='img_pack/m_envoi_jaune$spip_lang_rtl.gif' width='14' height='7' border='0'> "._T('bouton_ajouter')."</a></font>", $query_message, false, false, false, true);
-}
-else {
-	$query_message = "SELECT * FROM spip_messages AS messages WHERE statut='publie' AND type='affich'";
-	afficher_messages(_T('info_tous_redacteurs'), $query_message, false, false, false, true);
-}
+$query_message = "SELECT * FROM spip_messages AS messages WHERE statut='publie' AND type='affich'";
+afficher_messages(_T('info_tous_redacteurs'), $query_message, false, false, false, true);
 
 fin_page();
 
diff --git a/ecrire/spip_style.php3 b/ecrire/spip_style.php3
index b25790655366dcb374c26e63203bd02e960c01c2..320c683ab8d1f32b3633167578029bfd5623f30f 100644
--- a/ecrire/spip_style.php3
+++ b/ecrire/spip_style.php3
@@ -22,7 +22,7 @@ body { font-family: Verdana,Arial,Helvetica,sans-serif; }
 .fondl { background-color: <?php echo $couleur_claire; ?>; background-position: center bottom; float: none; color: #000000; }
 .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; }
 
 /*
  * Icones et bandeaux
@@ -327,6 +327,7 @@ a.cellule-h-texte:hover {
 .iconedanger { padding: 3px; margin: 1px; border: 1px dashed black; background: url(img_pack/rayures-sup.gif);}
 
 /* Raccourcis pour les polices (utile pour les tableaux) */
+.arial0 { font-family: Arial, Helvetica, sans-serif; font-size: 9px; }
 .arial1 { font-family: Arial, Helvetica, sans-serif; font-size: 10px; }
 .arial2 { font-family: Arial, Helvetica, sans-serif; font-size: 12px; }
 .verdana1 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; }