nic58, je viens de me faire un petit test pour un cache et ca a l’air de marcher assez bien 
j’ai fais ca (code de test, pas à utiliser):
[code]class cache {
public static function SetVar ($key, $var) {
file_put_contents($key.’.cached’, serialize($var));
}
public static function GetVar ($key) {
return unserialize(file_get_contents($key.’.cached’));
}
}[/code]
[code] require_once(‹ config.php ›);
require_once(‹ classes/cache.class.php ›);
function Xml2Php (SimpleXMLElement $xml) {
$result = array();
foreach($xml->children() as $name => $child)
$result[$name] = Xml2Php($child);
if (count($result) == 0) $result = (string)$xml;
return $result;
}
$time1 = microtime(true);
for($i=0; $i<1000; $i++) {
$test = simplexml_load_file($_SERVER[‹ DOCUMENT_ROOT ›].$GLOBALS[‹ config ›][‹ path ›].’/languages/french/main.xml’);
echo $test->menu->welcome;
}
$time2 = microtime(true);
$myxml = simplexml_load_file($_SERVER['DOCUMENT_ROOT'].$GLOBALS['config']['path'].'/languages/french/main.xml');
cache::SetVar('lang_fr', Xml2Php($myxml));
for($i=0; $i<1000; $i++) {
$test = cache::GetVar(‹ lang_fr ›);
echo $test[‹ menu ›][‹ welcome ›];
}
$time3 = microtime(true);
echo '<br/>no cache : '.($time2-$time1).'<br/>cache : '.($time3-$time2);[/code]
Ca me donne au final :
no cache : 0.227208971977
cache : 0.0642119646072
Grosso modo 4 fois plus rapide.
Je vais voir si je peux améliorer tout ca et en faire quelque chose d’utilisable :P.