diff --git a/ecrire/base/db_mysql.php b/ecrire/base/db_mysql.php
index 0d005cc13b5473bc197b7bed6966ee233fb8a203..b6b9f91c6cf4bd19af47cedc22bb26ca5d1c51cf 100644
--- a/ecrire/base/db_mysql.php
+++ b/ecrire/base/db_mysql.php
@@ -203,10 +203,10 @@ function traite_query($query) {
 function spip_connect_db($host, $port, $login, $pass, $db) {
 	global $spip_mysql_link, $spip_mysql_db;	// pour connexions multiples
 
-	// gerer le fichier ecrire/data/mysql_out
+	// gerer le fichier tmp/mysql_out
 	## TODO : ajouter md5(parametres de connexion)
-	if (@file_exists(_FILE_MYSQL_OUT)
-	AND (time() - @filemtime(_FILE_MYSQL_OUT) < 120)
+	if (@file_exists(_DIR_TMP.'mysql_out')
+	AND (time() - @filemtime(_DIR_TMP.'mysql_out') < 30)
 	AND !defined('_ECRIRE_INSTALL'))
 		return $GLOBALS['db_ok'] = false;
 
@@ -224,7 +224,7 @@ function spip_connect_db($host, $port, $login, $pass, $db) {
 	// En cas d'erreur marquer le fichier mysql_out
 	if (!$GLOBALS['db_ok']
 	AND !defined('_ECRIRE_INSTALL')) {
-		@touch(_FILE_MYSQL_OUT);
+		@touch(_DIR_TMP.'mysql_out');
 		$err = 'Echec connexion MySQL '.spip_sql_errno().' '.spip_sql_error();
 		spip_log($err);
 		spip_log($err, 'mysql');
diff --git a/ecrire/inc/cron.php b/ecrire/inc/cron.php
index 91f2b482405b48f85979c87a84082748d1da19b7..372cac1eaa817550d2adc9375bee14ee97db8dc8 100644
--- a/ecrire/inc/cron.php
+++ b/ecrire/inc/cron.php
@@ -56,8 +56,8 @@ if (!defined("_ECRIRE_INC_VERSION")) return;
 // http://doc.spip.org/@spip_cron
 function spip_cron($taches = array()) {
 	$t = time();
-	if (@file_exists(_FILE_MYSQL_OUT)
-	AND ($t - @filemtime(_FILE_MYSQL_OUT) < 300))
+	if (@file_exists(_DIR_TMP.'mysql_out')
+	AND ($t - @filemtime(_DIR_TMP.'mysql_out') < 300))
 		return;
 
 	include_spip('inc/meta');
diff --git a/ecrire/inc/math.php b/ecrire/inc/math.php
index 1723e22e099c7800cb51acfadb7b71184f60163a..e8cd54082ddb5b85fd2df6093536988ed6a06464 100644
--- a/ecrire/inc/math.php
+++ b/ecrire/inc/math.php
@@ -36,10 +36,9 @@ function image_math($tex) {
 	}
 
 	// Regarder dans le repertoire local des images TeX et blocs MathML
-
-	if (!@is_dir(_DIR_TeX))
-		@mkdir (_DIR_TeX, _SPIP_CHMOD);
-	$fichier = _DIR_TeX .md5(trim($tex)).$ext;
+	if (!@is_dir($dir_tex = _DIR_IMG_TMP.'cache-TeX/'))
+		@mkdir ($dir_tex, _SPIP_CHMOD);
+	$fichier = $dir_tex .md5(trim($tex)).$ext;
 	
 
 	if (!@file_exists($fichier)) {
diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php
index 7633e15e964756ab9babe543eec292d9a770606c..4135aeb4df0aea58a5e8c6cc3925d394c0aebfee 100644
--- a/ecrire/inc/utils.php
+++ b/ecrire/inc/utils.php
@@ -539,12 +539,12 @@ function cron ($gourmand=false) {
 	// Si on est gourmand, ou si le fichier gourmand n'existe pas
 	// (ou est trop vieux -> 60 sec), on va voir si un cron est necessaire.
 	// Au passage si on est gourmand on le dit aux autres
-	if (spip_touch(_FILE_CRON_LOCK.'-gourmand', 60, $gourmand)
+	if (spip_touch(_DIR_TMP.'cron.lock-gourmand', 60, $gourmand)
 	OR $gourmand) {
 
 		// Faut-il travailler ? Pas tous en meme temps svp
 		// Au passage si on travaille on bloque les autres
-		if (spip_touch(_FILE_CRON_LOCK, 2)) {
+		if (spip_touch(_DIR_TMP.'cron.lock', 2)) {
 			include_spip('inc/cron');
 			spip_cron();
 		}
diff --git a/ecrire/inc_version.php b/ecrire/inc_version.php
index 6c310abd2e33933b040e09554ba976e38b66854b..073ede5227e446ca8a13cde28d73a2008253c35c 100644
--- a/ecrire/inc_version.php
+++ b/ecrire/inc_version.php
@@ -28,25 +28,9 @@ define("_ECRIRE_INC_VERSION", "1");
 # ou inversement ?
 @define('_DIR_RACINE', _DIR_RESTREINT ? '' : '../');
 
-# le nom du repertoire plugins/
-define('_DIR_PLUGINS', _DIR_RACINE . "plugins/");
-
 // nombre de repertoires depuis la racine
-
 $profondeur_url = _DIR_RESTREINT ? 0 : 1;
 
-# Le nom des 4 repertoires modifiables par les scripts lances par httpd
-# Par defaut ces 4 noms seront suffixes par _DIR_RACINE (cf plus bas)
-# mais on peut les mettre ailleurs et changer completement les noms
-
-# le nom du repertoire des fichiers Permanents Inaccessibles par http://
-define('_DIRNAME_PERMANENT_INACCESSIBLE', "config/");
-# le nom du repertoire des fichiers Permanents Accessibles par http://
-define('_DIRNAME_PERMANENT_ACCESSIBLE', "IMG/");
-# le nom du repertoire des fichiers Temporaires Inaccessibles par http://
-define('_DIRNAME_TEMPORAIRE_INACCESSIBLE', "tmp/");
-# le nom du repertoire des fichiers Temporaires Accessibles par http://
-define('_DIRNAME_TEMPORAIRE_ACCESSIBLE', "tmp_img/");
 
 //
 // *** Parametrage par defaut de SPIP ***
@@ -275,11 +259,20 @@ $auteur_session = $connect_statut = $connect_toutes_rubriques = $connect_id_rubr
 // mais ne touche pas a cette variable si elle est deja definie
 // afin que mes_options.php puisse en specifier d'autres.
 
-function spip_initialisation_parametree($pi, $pa, $ti, $ta) {
+function spip_initialisation_parametree($pi=NULL, $pa=NULL, $ti=NULL, $ta=NULL){
+	static $too_late = 0;
+	if ($too_late++) return;
+
 
-	static $too_late = false;
-	if ($too_late) return;
-	$too_late = true;
+	// Quatre repertoires modifiables par les scripts de SPIP
+	# Repertoire des fichiers Permanents Inaccessibles par http://
+	isset($pi) OR $pi = _DIR_RACINE.'config/';
+	# Repertoire des fichiers Permanents Accessibles par http://
+	isset($pa) OR $pa = _DIR_RACINE.'IMG/';
+	# Repertoire des fichiers Temporaires Inaccessibles par http://
+	isset($ti) OR $ti = _DIR_RACINE.'tmp/';
+	# Repertoire des fichiers Temporaires Accessibles par http://
+	isset($ta) OR $ta = _DIR_RACINE.'IMG/'; # provisoire ?
 
 	define('_DIR_IMG', $pa);
 	define('_DIR_DOC', $pa);
@@ -293,30 +286,23 @@ function spip_initialisation_parametree($pi, $pa, $ti, $ta) {
 	define('_DIR_SKELS', $ti . "CACHE/skel/");
 	define('_DIR_TMP', $ti);
 
-	define('_FILE_CRON_LOCK', $ti . 'cron.lock');
-	define('_FILE_MYSQL_OUT', $ti . 'mysql_out');
-	define('_FILE_GARBAGE', $ti . '.poubelle');
 	define('_FILE_META', $ti . 'meta_cache.txt');
 
 	define('_DIR_TMP_IMG', $ta);
-	define('_DIR_TeX', $ta . "cache-TeX/");
 
 	define('_DIR_CONFIG', $pi);
 
-	// Le fichier de definition des droits d'acces en ecriture
-	define('_FILE_CHMOD_INS', ($pi . "chmod"));
-	define('_FILE_CHMOD',
-		(@is_readable($f = _FILE_CHMOD_INS . '.php') ? $f
-	:	false));
-	
+	// Definition des droits d'acces en ecriture
+	if (@is_readable($f = _DIR_CONFIG . 'chmod.php')) {
+		include_once $f;
+	} else
+		define('_SPIP_CHMOD', 0777);
 
 	// Le fichier de connexion a la base de donnees
-	define('_FILE_CONNECT_INS_ANTE_192', (_DIR_RESTREINT . "inc_connect"));
-	define('_FILE_CONNECT_INS', ($pi . "connect"));
 	define('_FILE_CONNECT',
-		(@is_readable($f = _FILE_CONNECT_INS . '.php') ? $f
-	:	(@is_readable($f = _FILE_CONNECT_INS_ANTE_192 . '.php') ? $f
-	:	(@is_readable($f = _FILE_CONNECT_INS_ANTE_192 . '.php3') ? $f
+		(@is_readable($f = _DIR_CONFIG . 'connect.php') ? $f
+	:	(@is_readable($f = _DIR_RESTREINT . 'inc_connect.php') ? $f
+	:	(@is_readable($f = _DIR_RESTREINT . 'inc_connect.php3') ? $f
 	:	false))));
 
 	if (!isset($GLOBALS['test_dirs']))
@@ -327,52 +313,30 @@ function spip_initialisation_parametree($pi, $pa, $ti, $ta) {
 // Inclure le fichier config/mes_options (ou equivalent)
 //
 
-if (defined('_FILE_OPTIONS')) {
-	if (@file_exists(_FILE_OPTIONS)) {
-		include_once(_FILE_OPTIONS);
-	}
-} else {
-	if (@file_exists(_DIRNAME_PERMANENT_INACCESSIBLE . 'mes_options.php')) {
-		define('_FILE_OPTIONS', _DIRNAME_PERMANENT_INACCESSIBLE . 'mes_options.php');
-		include_once(_FILE_OPTIONS);
-	}
-	else if (@file_exists(_DIR_RESTREINT . 'mes_options.php')) {
-		define('_FILE_OPTIONS',_DIR_RESTREINT . 'mes_options.php');
-		include_once(_FILE_OPTIONS);
-	}
-	# COMPATIBILITE .php3
-	else if (_EXTENSION_PHP && @file_exists(_DIR_RESTREINT . 'mes_options.php3')) {
-		define('_FILE_OPTIONS', _DIR_RESTREINT . 'mes_options.php3');
-		include_once(_FILE_OPTIONS);
-	}
+if (defined('_FILE_OPTIONS')
+OR @file_exists($f = _DIR_CONFIG.'mes_options.php')
+OR @file_exists($f = _DIR_RESTREINT.'mes_options.php')
+OR (_EXTENSION_PHP AND @file_exists($f = _DIR_RESTREINT.'mes_options.php3'))
+OR !($f = false)) {
+	define('_FILE_OPTIONS', $f);
+	if ($f) { @include_once(_FILE_OPTIONS); }
 }
 
+
 //
-// INITIALISER LES REPERTOIRES NON PARTAGEABLES
+// Definitions standards (charge aussi inc/flock)
 //
-// 
-// mais cette fonction a peut-etre deja ete appelee par mes_options
 
-spip_initialisation_parametree(
-       (_DIR_RACINE  . _DIRNAME_PERMANENT_INACCESSIBLE),
-       (_DIR_RACINE  . _DIRNAME_PERMANENT_ACCESSIBLE),
-       (_DIR_RACINE  . _DIRNAME_TEMPORAIRE_INACCESSIBLE),
-       (_DIR_RACINE  . _DIRNAME_TEMPORAIRE_ACCESSIBLE)
-       );
+require_once(_DIR_RESTREINT . 'inc/utils.php');
 
-if (defined('_FILE_CHMOD')) {
-	if (@file_exists(_FILE_CHMOD)) {
-		include_once(_FILE_CHMOD);
-	}
-}else {
-	define('_SPIP_CHMOD', 0777);
-}
 
 //
-// Definitions standards (charge aussi inc/flock)
+// INITIALISER LES REPERTOIRES NON PARTAGEABLES
 //
+// 
+// mais cette fonction a peut-etre deja ete appelee par mes_options
+spip_initialisation_parametree();
 
-require_once(_DIR_RESTREINT . 'inc/utils.php');
 
 //
 // INITIALISER LES CONSTANTES ET LES VARIABLES SYSTEMES DE SPIP
@@ -384,6 +348,9 @@ spip_initialisation();
 // car dans les plugins on peut inclure inc-version
 // qui ne sera pas execute car _ECRIRE_INC_VERSION est defini
 // donc il faut avoir tout fini ici avant de charger les plugins
+# le nom du repertoire plugins/
+define('_DIR_PLUGINS', _DIR_RACINE . "plugins/");
+
 if (@is_readable(_DIR_TMP."charger_plugins_options.php")){
 	// chargement optimise precompile
 	include_once(_DIR_TMP."charger_plugins_options.php");