Bonjour,
Je viens de trouver LA solution à mon problème !
Il s'agissait bien d'un "cache agressif" comme le disait à juste titre doekia hier.
Je m'explique :
Ma boutique en développement est installée dans un sous-dossier de mon hébergement perso. La piste de la mise en cache anormale de la méthode mylogout() est la bonne, la question que je me posais depuis un moment : "pourquoi cette méthode est mise en cache ?"
La réponse est : le .htaccess, mais pas celui que je croyais à savoir celui de mon installation Prestashop, mais celui qui se trouve de la racine de mon hébergement !!
Toutes les instructions placées dans ce fichier s'appliquent forcément à tous les sous-dossiers, y compris celui ou est installé ma boutique. Et dans ce fichier, il y avait l'instruction "ExpiresDefault "now plus 1 month". Et bing ! Par défaut, tous les documents du site sont en cache 1 mois !!
Voilà pourquoi lorsque je plaçais les instructions
<IfModule mod_headers.c>
<FilesMatch "\.(php)$">
Header set Cache-Control "no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires 0
</FilesMatch>
</IfModule>
dans le .htaccess de ma boutique, tout fonctionnait normalement, car j'écrasais le ExpiresDefault pour les fichiers de type php.
Voilà ! Si cela peut servir à quelqu'un...