Index: extensions/PHP_Optimisateur/index.php
===================================================================
--- extensions/PHP_Optimisateur/index.php	(revision 7991)
+++ extensions/PHP_Optimisateur/index.php	(revision 7993)
@@ -8,6 +8,6 @@
 $TIME_START = microtime(true);
 
+include('files/functions.php');
 include('files/header.php');
-include('files/functions.php');
 
 
@@ -16,62 +16,70 @@
 // Fichier de configuration
 if (!file_exists('config.xml')) {
-	die('<div class="error">Erreur fatale : Fichier de configuration introuvable. <a href="index.php">Retour</a></div>');
+	$Errors['ErrorFile'] = true;
+	
+} else {
+	// Configuration
+	extract(load_config());
+
+	// Afficher la configuration
+	if (!$silentORNOT) {
+		include('files/display_config.php');
+	}
+
+	// Dossiers
+	if (!file_exists($DIRsource)) {
+		mkdir($DIRsource);
+	}
+	if (!file_exists($DIRsortie)) {
+		mkdir($DIRsortie);
+	}
+	if (is_dir_empty($DIRsource)) {
+		$Errors['ErrorFolderIn'] = true;
+	}
+	if ($silentORNOT) {
+		rrmdir($DIRsortie); // Si mode silencieux
+		mkdir($DIRsortie); // vidage automatique du dossier de sortie
+	} else if (!is_dir_empty($DIRsortie)) {
+		$Errors['ErrorFolderOut'] = true;
+	}
 }
 
-// Configuration
-$config = simplexml_load_file('config.xml');
-$config = XMLParse($config);
-$config = array_settype($config);
-extract($config);
-
-// Afficher la configuration
-if (!$silentORNOT) {
-	include('files/display_config.php');
+
+### ERREURS ###
+if (isset($Errors)) {
+	$i=0;
+	foreach ($Errors as $key => $null) {
+		// Dégueulasse les ternaires à la suite ! mais j'aime ça
+		echo '<div class="error">'.l10n($key).' '.(($i==0)?'<a href="index.php">'.l10n('Back').'</a> '.(($key!='ErrorFile')?'<a href="setup.php">'.l10n('Config').'</a></div>':'</div>'):'</div>');
+		$i++;
+	}
 }
 
-// Dossiers
-if (!file_exists($DIRsource)) {
-	mkdir($DIRsource);
-}
-if (!file_exists($DIRsortie)) {
-	mkdir($DIRsortie);
-}
-if (is_dir_empty($DIRsource)) {
-	die('<div class="error">Erreur fatale : Dossier source vide. <a href="index.php">Retour</a> <a href="setup.php">Configurer</a></div>');
-}
-if ($silentORNOT) {
-	rrmdir($DIRsortie); // Si mode silencieux
-	mkdir($DIRsortie); // vidage automatique du dossier de sortie
-} else if (!is_dir_empty($DIRsortie)) {
-	die('<div class="error">Erreur fatale : Dossier de sortie non vide. <a href="index.php">Retour</a> <a href="setup.php">Configurer</a></div>');
-}
-
 
 
 ### EXECUTION ###
-if (isset($_GET['Process'])) {
+if (isset($_GET['Process']) AND !isset($Errors)) {
 
 	### Supprimer les caractères spéciaux - dossiers & fichiers ###
-	if ($renameORNOT) {
-		function recursive_delete_special_car($dir) {
-			$dir = rtrim($dir, '/');
-			$dh = opendir($dir);
-			
-			while (($file = readdir($dh)) !== false ) {
-				if ($file !== '.' && $file !== '..') {
-					$path = $dir.'/'.$file;
-					$new_path = $dir.'/'.delete_special_car($file);
-					rename($path, $new_path);
-					
-					if (is_dir($new_path)) {
-						recursive_delete_special_car($new_path);
-					}
+	// Les caractères '%' et '$' sont systématiquement échappés, ca génère des bugs dans les noms de fichiers
+	function recursive_delete_special_car($dir) {
+		$dir = rtrim($dir, '/');
+		$dh = opendir($dir);
+		
+		while (($file = readdir($dh)) !== false ) {
+			if ($file !== '.' && $file !== '..') {
+				$path = $dir.'/'.$file;
+				$new_path = $dir.'/'.delete_special_car($file);
+				rename($path, $new_path);
+				
+				if (is_dir($new_path)) {
+					recursive_delete_special_car($new_path);
 				}
 			}
-			closedir($dh);
-		}
-
-		recursive_delete_special_car($DIRsource);
-	}
+		}
+		closedir($dh);
+	}
+
+	recursive_delete_special_car($DIRsource);
 
 
@@ -150,5 +158,5 @@
 	if (!$silentORNOT) {
 		echo '<div class="files">
-			<h2>Fichiers source</h2>
+			<h2>'.l10n('Source files').'</h2>
 			<ul>';
 				foreach ($FilesSource as $value) {
@@ -156,5 +164,5 @@
 				}
 			echo '</ul>
-			<i>'.count($FilesSource).' fichiers</i>
+			<i>'.l10n('%d files', count($FilesSource)).'</i>
 		</div>';
 	}
@@ -188,10 +196,10 @@
 
 
-	echo '<div class="finish">Opération terminée : '.intval((microtime(true)-$TIME_START)) .' secondes. <a href="index.php">Retour</a> <a href="setup.php">Configurer</a></div>';
+	echo '<div class="finish">'.l10n('Finish %d seconds', intval((microtime(true)-$TIME_START))).' <a href="index.php">'.l10n('Back').'</a> <a href="setup.php">'.l10n('Config').'</a></div>';
 
 	
 	
-} else {
-	echo '<div class="finish">Prêt à commencer. <a href="index.php?Process=true">Exécuter</a> <a href="setup.php">Configurer</a></div>';
+} else if (!isset($Errors)) {
+	echo '<div class="finish">'.l10n('Ready').' <a href="index.php?Process=true">'.l10n('Launch').'</a> <a href="setup.php">'.l10n('Config').'</a></div>';
 }
 
