diff --git a/ecrire/inc_auth.php3 b/ecrire/inc_auth.php3
index 5fc55e62b2cf86c3893797459ef2dc38d27d632b..fb569f990fa1cebe71354dc15214c66a4af0cd1b 100644
--- a/ecrire/inc_auth.php3
+++ b/ecrire/inc_auth.php3
@@ -114,10 +114,10 @@ function auth() {
 
 	// Tentative de login echec
 	else if ($GLOBALS['bonjour'] == 'oui') { 
-		if ($GLOBALS['essai_cookie'] == 'oui')
-			@header("Location: ../spip_login.php3?var_echec_cookie=oui");
-		else
-			@header("Location: ../spip_login.php3");
+		$link = new Link("../spip_cookie.php3?test_echec_cookie=oui");
+		$clean_link->delVar('bonjour');
+		$link->addVar('url', 'ecrire/'.$clean_link->getUrl());
+		@header("Location: ".$link->getUrl());
 		exit;
 	}
 
diff --git a/ecrire/statistiques_visites.php3 b/ecrire/statistiques_visites.php3
index a386102addd6f599967054b68c83cf9c1927936c..362b4604ec7c35af7a34923ab28fae7443f8e7e4 100644
--- a/ecrire/statistiques_visites.php3
+++ b/ecrire/statistiques_visites.php3
@@ -359,11 +359,11 @@ if (count($log)>0){
 		echo "<b>total : $total_absolu</b>";
 		
 		if ($id_article) {
-			echo "<br>popularitŽ&nbsp;: $val_popularite%";
+			echo "<br>popularit&eacute;&nbsp;: $val_popularite%";
 		} else {
 			echo "<font size=1>";
-			echo "<br>popularitŽ du site&nbsp;: ";
-			echo round(max(1,lire_meta('popularite_total')));
+			echo "<br>popularit&eacute; du site&nbsp;: ";
+			echo ceil(lire_meta('popularite_total'));
 			echo "</font>";
 		}
 		
diff --git a/inc-login.php3 b/inc-login.php3
index 27eb5296d3c6571262e83e7d0df37f7a5f808f5f..5e066f3466da1c4ad30c7199617190303d87c6ec 100644
--- a/inc-login.php3
+++ b/inc-login.php3
@@ -55,10 +55,16 @@ function ferme_login() {
 function login($cible = '', $prive = 'prive', $message_login='') {
 	$login = $GLOBALS['var_login'];
 	$erreur = $GLOBALS['var_erreur'];
-	$echec_cookie = $GLOBALS['var_echec_cookie'];
 	$essai_auth_http = $GLOBALS['var_essai_auth_http'];
 	$logout = $GLOBALS['var_logout'];
 
+	// en cas d'echec de cookie, inc_auth a renvoye vers spip_cookie qui
+	// a tente de poser un cookie ; s'il n'est pas la, c'est echec cookie
+	// s'il est la, c'est probablement un bookmark sur bonjour=oui,
+	// et pas un echec cookie.
+	if ($GLOBALS['var_echec_cookie'])
+		$echec_cookie = ($GLOBALS['spip_session'] != 'test_echec_cookie');
+
 	global $auteur_session;
 	global $spip_session, $PHP_AUTH_USER;
 	global $spip_admin;
@@ -200,7 +206,7 @@ function login($cible = '', $prive = 'prive', $message_login='') {
 		echo "de connexion (moins s&eacute;curis&eacute;e) est &agrave; votre disposition&nbsp;: \n";
 		echo "<input type='hidden' name='essai_auth_http' value='oui'> ";
 		$url = $cible->getUrl();
-		echo "<input type='hidden' name='var_url' value='$url'>\n";
+		echo "<input type='hidden' name='url' value='$url'>\n";
 		echo "<div align='right'><input type='submit' name='submit' class='spip_bouton' value='Identification sans cookie'></div>\n";
 		echo "</fieldset></form>\n";
 	}
diff --git a/spip_cookie.php3 b/spip_cookie.php3
index b08fd4f24faaab3a575b8afe049b6f8f7811085b..f82d9ab2359d73a65b2826636fb2ac701221debb 100644
--- a/spip_cookie.php3
+++ b/spip_cookie.php3
@@ -56,6 +56,17 @@ if ($logout) {
 }
 
 
+// en cas de login sur bonjour=oui, on tente de poser un cookie
+// puis de passer a spip_login qui diagnostiquera l'echec de cookie
+// le cas echeant.
+if ($test_echec_cookie == 'oui') {
+	setcookie('spip_session', 'test_echec_cookie');
+	$link = new Link("spip_login.php3?var_echec_cookie=oui");
+	$link->addVar("var_url", $cible->getUrl());
+	@header("Location: ".$link->getUrl());
+	exit;
+}
+
 // tentative de login
 unset ($cookie_session);
 if ($essai_login == "oui") {
@@ -102,7 +113,6 @@ if ($essai_login == "oui") {
 		@spip_query($query);
 		if (ereg("ecrire/", $cible->getUrl())) {
 			$cible->addVar('bonjour','oui');
-			$cible->addVar('essai_cookie','oui');
 		}
 	}
 	else {