ok found:
file_get_contents() requires allow_url_fopen to be set to ON which is a security breach
a safer way is to : write in the error.php file :
function getPageContentSecure($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // Suivre les redirections
curl_setopt($ch, CURLOPT_TIMEOUT, 10); // Timeout pour éviter les blocages
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); // Vérifie le certificat SSL
$output = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); // Récupérer le code HTTP
curl_close($ch);
if ($http_code == 200) {
return $output;
} else {
return '<h1>Erreur lors du chargement de la page 404</h1>';
}
}
if (($this->error->getCode()) == '404') {
header("HTTP/1.0 404 Not Found");
$url = JURI::root() . '404';
echo getPageContentSecure($url);
exit;
}