Bonjour,
Je suis en train de bosser sur un plugin pour booster le cache, et ce qui me pose problème c’est l’arrivée de la balise #SESSION, mais la n’est pas ma question. En fait je regardais un peu le fonctionnement du cache ‹ sessioné ›, et un principe assez étrange m’a sauté aux yeux…
si on jette un oeil à cacher.php, fonction creer_cache():
// Si la page c1234 a un invalideur de session ‹ zz ›, sauver dans
// ‹ tmp/cache/a/c1234-zz.gz ›
// en prenant soin de supprimer un eventuel cache non-sessionne
// si l’ajout de #SESSION dans le squelette est recent
if (isset($page[‹ invalideurs ›])
AND isset($page[‹ invalideurs ›][‹ session ›])) {
supprimer_fichier(_DIR_CACHE . $chemin_cache);
$chemin_cache .= ‹ - ›.$page[‹ invalideurs ›][‹ session ›];
}
Si j’ai bien compris, si on crée une version ‹ sessionée › d’un cache, on supprime automatiquement la version ‹ non-sessionée › si elle existe?
Mais dans le cas ou un auteur voit une page qui contient la balise #SESSION, c’est la version qu’on vient alors de supprimer qui devait lui être servie, c’est bien cela?
Car si une fois sur deux j’ai un visiteur autentifié et un visiteur non-autentifié qui visitent la même page, le visiteur autentifier va passer son temps à couper l’herbe sous le pied du visiteur anonyme… dans le pire cas de figure. Je comprends bien que le but premier est de virer un cache non sessioné quand on vient d’ajouter la balise #SESSION dans un squelette, mais il est pourtant utile à tous les visiteurs non authentifiés, je me trompe?
est-ce que pour un visiteur non authentifié, à partir du moment ou on a la balise #SESSION dans le squelette, alors le fichier cache finira simplement par ‹ - › et par ‹ -afc45b › pour un autheur identifié? Dans ce cas je comprends l’erreur dans mon raisonnement…
Si j’ai mal compris quelque chose merci de m’éclairer et désolé pour la fausse alerte.
Benoit
Nouveau Windows 7 : Trouvez le PC qui vous convient. En savoir plus.