Je vous remercie de votre patience sans bornes... Après les modifs suggérés, le problème se reproduisait quand même.
$headers_only = ($_SERVER[’REQUEST_METHOD’] == ’HEAD’) ;
// Pour les pages non-dynamiques (indiquees par #CACHEduree,cache-client)
// une perennite valide a meme reponse qu’une requete HEAD (par defaut les
// pages sont dynamiques)
if (isset($_SERVER[’HTTP_IF_MODIFIED_SINCE’])
AND !$var_mode
AND $chemin_cache
AND isset($page[’entetes’])
AND strstr($page[’entetes’][’Cache-Control’],’max-age=’)
AND !strstr($_SERVER[’SERVER_SOFTWARE’],’IIS/’)
)
$since = preg_replace(’/ ;.*/’, ’’,
$_SERVER[’HTTP_IF_MODIFIED_SINCE’]) ;
$since = str_replace(’GMT’, ’’, $since) ;
// if (trim($since) == gmdate("D, d M Y H:i:s", $lastmodified))
// $page[’status’] = 304 ;
// $headers_only = true ;
//
// Si requete HEAD ou Last-modified compatible, ignorer le texte
// et pas de content-type (pour contrer le bouton admin de inc-public)
// if ($headers_only)
// $page[’entetes’]["Connection"] = "close" ;
// $page[’texte’] = "" ;
//
// else
if (!$use_cache)
if (isset($page[’contexte’]))
// Remplir les globals pour les boutons d’admin
foreach ($page[’contexte’] as $var=>$val)
$GLOBALS[$var] = $val ;
else
$parametrer = charger_fonction(’parametrer’, ’public’) ;
$page = $parametrer($fond, ’’, $chemin_cache) ;
if ($chemin_cache)
$cacher(NULL, $use_cache, $chemin_cache, $page, $lastmodified) ;
if ($chemin_cache) $page[’cache’] = $chemin_cache ;
auto_content_type($page) ;
$flag_preserver |= headers_sent() ;
// Definir les entetes si ce n’est fait
if (!$flag_preserver)
if ($flag_ob)
// Si la page est vide, produire l’erreur 404
if (trim($page[’texte’]) === ’’
AND $var_mode != ’debug’)
$page = message_erreur_404() ;
// pas de cache client en mode ’observation’
if ($var_mode)
$page[’entetes’]["Cache-Control"]= "no-cache,must-revalidate" ;
$page[’entetes’]["Pragma"] = "no-cache" ;
// Entete Last-Modified :
// eviter d’etre incoherent en envoyant un lastmodified identique
// a celui qu’on a refuse d’honorer plus haut (cf. #655)
if ($lastmodified
AND !isset($_SERVER[’HTTP_IF_MODIFIED_SINCE’]))
$page[’entetes’]["Last-Modified"]=gmdate("D, d M Y H:i:s", $lastmodified)." GMT" ;
return $page ;
J’ai aussi essayé en commantant en plus la dernière partie :
// eviter d’etre incoherent en envoyant un lastmodified identique
// a celui qu’on a refuse d’honorer plus haut (cf. #655)
// if ($lastmodified
// AND !isset($_SERVER[’HTTP_IF_MODIFIED_SINCE’]))
// $page[’entetes’]["Last-Modified"]=gmdate("D, d M Y H:i:s", // $lastmodified)." GMT" ;
//
// return $page ;
Ça ne faisait que loader les boutons d’admin sur une page vide. Si quelqu’un est assez gentil et passionné pour regarder le problème de plus près, je suis prêt à préparer un accès au site. Communiquez avec moi par courriel. (dlamarre@sep7.ca)