diff --git a/inc-public-global.php3 b/inc-public-global.php3
index c5d7ae1b7c90e85f32fcc279cce4d493183c029c..f118c5e7397e7bbcb08bcf45e3270f281c9920ec 100644
--- a/inc-public-global.php3
+++ b/inc-public-global.php3
@@ -189,8 +189,6 @@ if (!file_exists("CACHE/.htaccess")) {
 
 
 
-///////////////////////////////////////////////////////////// taches de fond
-
 //
 // Fonctionnalites administrateur (declenchees par le cookie admin, authentifie ou non)
 //
@@ -207,15 +205,8 @@ if ($admin_ok AND !$flag_preserver AND !$flag_boutons_admin) {
 @flush();
 
 
-//
-// Gestion des statistiques du site public
-//
-
-if (lire_meta("activer_statistiques") != "non") {
-	include_local ("inc-stats.php3");
-	ecrire_stats();
-}
-
+// ---------------------------------------------------------------------------------------------
+// Taches de fond
 
 
 //
@@ -299,6 +290,16 @@ if (!$timeout AND $use_cache AND file_exists('CACHE/.purge')) {
 }
 
 
+//
+// Archivage des statistiques du site public
+//
+
+if (!$timeout AND lire_meta("activer_statistiques") != "non") {
+	include_local ("inc-stats.php3");
+	archiver_stats();
+}
+
+
 //
 // Gerer l'indexation automatique
 //
@@ -350,15 +351,29 @@ if (lire_meta('activer_moteur') == 'oui') {
 // Mise a jour d'un (ou de zero) site syndique
 //
 
-if (!$timeout AND $db_ok AND lire_meta("activer_syndic") != "non") {
+if ($db_ok AND lire_meta("activer_syndic") != "non") {
 	include_ecrire("inc_texte.php3");
 	include_ecrire("inc_filtres.php3");
 	include_ecrire("inc_sites.php3");
 	include_ecrire("inc_index.php3");
 
 	executer_une_syndication();
-	executer_une_indexation_syndic();
-	$timeout = true;
+	if (lire_meta('activer_moteur') == 'oui' AND !$timeout) {
+		executer_une_indexation_syndic();
+		$timeout = true;
+	}
 }
 
+
+//
+// Gestion des statistiques du site public
+// (a la fin pour ne pas forcer le $db_ok)
+//
+
+if (lire_meta("activer_statistiques") != "non") {
+	include_local ("inc-stats.php3");
+	ecrire_stats();
+}
+
+
 ?>
diff --git a/inc-stats.php3 b/inc-stats.php3
index b1ff27c0de838710068c0139d324bcf95898df24..c7c8f7de0611ff175e835ec285a95e536b86f6f2 100644
--- a/inc-stats.php3
+++ b/inc-stats.php3
@@ -6,7 +6,7 @@ if (defined("_INC_STATS")) return;
 define("_INC_STATS", "1");
 
 function ecrire_stats() {
-	global $id_article, $id_breve, $id_rubrique, $admin_ok, $timeout;
+	global $id_article, $id_breve, $id_rubrique;
 
 	$log_ip = $GLOBALS['REMOTE_ADDR'];
 	if ($id_rubrique > 0) {
@@ -32,7 +32,6 @@ function ecrire_stats() {
 	}
 	else return;
 
-
 	//
 	// Loguer la visite dans la base si possible
 	//
@@ -54,12 +53,23 @@ function ecrire_stats() {
 		}
 	}
 
+	// Traiter les referers toutes les heures
+	$date_refs = lire_meta('date_stats_referers');
+	if ((time() - $date_refs) > 3600) {
+		include_ecrire("inc_meta.php3");
+		ecrire_meta("date_stats_referers", time());
+		ecrire_meta('calculer_referers_now', 'oui');
+		ecrire_metas();
+	}
+}
+
+
+function archiver_stats() {
+	global $timeout;
 
 	//
 	// Archivage des visites temporaires
 	//
-	if ($timeout) return;
-
 	$date = date("Y-m-d");
 	$last_date = lire_meta("date_statistiques");
 
@@ -70,7 +80,8 @@ function ecrire_stats() {
 		ecrire_metas();
 		calculer_referers();
 		$timeout = true;
-	} else if ($date != $last_date) {
+	}
+	else if ($date != $last_date) {
 		include_ecrire("inc_meta.php3");
 		include_ecrire("inc_statistiques.php3");
 		ecrire_meta("date_statistiques", $date);
@@ -87,23 +98,13 @@ function ecrire_stats() {
 		$timeout = true;
 	}
 
-	// popularite, mise a jour dix minutes
+	// popularite, mise a jour une demie-heure
 	$date_popularite = lire_meta('date_stats_popularite');
-	if (!$timeout AND ((time() - $date_popularite) > 600)) {
+	if (!$timeout AND ((time() - $date_popularite) > 1800)) {
 		include_ecrire("inc_statistiques.php3");
 		calculer_popularites();
 		$timeout = true;
 	}
-
-
-	// traiter les referers toutes les heures
-	$date_refs = lire_meta('date_stats_referers');
-	if ((time() - $date_refs) > 3600) {
-		include_ecrire("inc_meta.php3");
-		ecrire_meta("date_stats_referers", time());
-		ecrire_meta('calculer_referers_now', 'oui');
-		ecrire_metas();
-	}
 }