Bonjour,

Voici mon soucis : j'ai sur mon site une page écrite en html que je mets à jour régulièrement via le bloc note. Or, quand je retourne sur mon site, la page qui se charge n'est pas la nouvelle mais l'ancienne. Je précise qu'il en est de même pour mes visiteurs.

Comment faire donc pour que la page qui se charge soit la nouvelle et non celle du cache ?

Merci d'avance.
Modifié par ecavailles (27 Aug 2010 - 20:18)
Bonjour, il suffit de le préciser dans le header bien sur,

<meta http-equiv="Pragma" content="no-cache" /> 
<meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />  
<meta http-equiv="Expires" content="0" />


Modifié par Christele (27 Aug 2010 - 17:03)
Helo,

Christele a écrit :
Bonjour, il suffit de le préciser dans le header bien sur,
il faudrais revoir quelques bases
Ben la gestion du cache ça dépasse les "bases". Smiley rolleyes

D'ailleurs je trouve ton "bien sûr" un peu rapide car une bonne partie des hébergements sont sur Apache et que cela permet de gérer ça via .htaccess bien plus efficacement qu'avec de simples balises meta. Cela permet par ailleurs de gérer la mise en cache en fonction des extensions des documents. Voir par exemple cet article.
L'Ami, le cache c'est le header du html dont on parle ... on commande la gestion du temporary du navigateur non Smiley confused
Christele a écrit :
L'Ami, le cache c'est le header du html dont on parle ... on commande la gestion du temporary du navigateur non Smiley confused
Eh bien non l'Amie : la gestion du cache (utilisée par les navigateurs pour savoir s'ils doivent ou non chercher la version d'un document demandé dans le cache) ne dépend pas du header html mais des headers http. Il se trouve que pour renseigner (en partie) cette information on peut utiliser les meta http-equiv qui se trouvent effectivement dans le header html mais elles auront dans ce cas (comme la déclaration de l'encodage) une priorité inférieure aux headers envoyés par le serveur.

Pour (re)voir les bases Smiley cligne : http://fr.wikipedia.org/wiki/Cache-Control
Le php envoie depuis le serveur une page html ... qui peut étre différente pour chaque visiteur, par exemple en haut a gauche "bonjour Heyoan"
Il est clair que les milliers de pages html ainsi fabriquées ne sont pas dans je ne sais quel cache du serveur !

Je sais (savais il y a un an lors de tests) que ces trois lignes marchents sur certains navigateurs IE Netscape mais (enfin il y a un an) pas OPERA Smiley rolleyes

Bien j'en reste la, inutile de pousser plus loin le débat, il sagit d'un point technique avéré.
Modérateur
Heyoan a raison.

Voici un article passionnant (si! si!) sur la mise en cache.

Article a écrit :

Les balises Meta HTML et les en-têtes HTTP

Les auteurs HTML peuvent placer, dans la section <HEAD> d'un document, des balises qui en décrivent les attributs. On utilise souvent ces balises meta dans la croyance qu'elles peuvent marquer le document comme non cachable, ou le faire expirer à une date donnée.

Les balises meta sont faciles à utiliser mais ne sont pas très efficaces. Car elles ne sont respectées que par quelques caches de navigateurs (qui lisent réellement le code HTML), pas par les caches mandataires (qui ne lisent quasiment jamais le code HTML dans le document). Quoiqu'on puisse être tenté de placer une balise meta « Pragma: no-cache » dans une page Web, elle ne sera pas toujours tenue fraîche pour autant.

Si votre site est hébergé chez un fournisseur d'accès Internet, ou dans une grappe de serveurs, ne vous donnant pas la possibilité de fixer arbitrairement les en-têtes HTTP (comme Expires et Expires), réclamez-la avec force ; ce sont des outils indispensables pour faire votre travail.

En effet, les en-têtes HTTP véritables vous donnent un grand pouvoir sur la façon dont les caches de navigateurs et les mandataires gèrent vos représentations. Elles sont invisibles dans le code HTML et sont habituellement générée par le serveur Web. Toutefois, ce contrôle s'exerce à un certain degré, selon le serveur utilisé. [...]

Modifié par Tony Monast (27 Aug 2010 - 17:58)
Tony Monast a écrit :
Heyoan a raison.

Voici un article passionnant (si! si!) sur la mise en cache.


Forcée de m'incliner, n'empéche donc que ces balises régleront le probléme posé au départ non Smiley eek , puisque d'autres de ces visiteurs voyaient l'ancienne page aussi !

Pour régler mon probléme de PHP géénrant des pages personnalisées, le mécanisme doit étre tout autre. Et le serveur calcul bien (fabrique) ces pages a chaque fois .

En tout cas fichtre !! ... notre coquin de Heyoan et toi Tony Monast m'avaient appris une subtilitée Smiley confused merci
En tout cas, merci Christele, ta solution fonctionne a priori parfaitement.

Et je me doute que ce sont des choses basiques mais je tripatouille très peu le html en ce moment...

Encore merci à tous.

PS : j'ai lu le reste mais j'avoue ne pas avoir tout compris...
ecavailles a écrit :
En tout cas, merci Christele, ta solution fonctionne a priori parfaitement.


Super ! et merci pour le retour, ça laisse a réfléchir sur notre discution ...

Par contre tu écris j'ai lu le reste mais j'avoue ne pas avoir tout compris...

En fait Heyoan et Tony Monast apportent une précision importante:

Oui mon code réglait le probléme, mais mal !
(Escuses moi a ce sujet d'avoir allongé ton sujet mais au moins j'ais ...
nous avons avancé ... )

Heyoan m'a précisé par MP

a écrit :

les balises meta http-equiv permettent de pallier l'absence de headers http elles ne sont pas prioritaires il est en effet plus efficace d'utiliser une déclaration générique dans le .htaccess
plutôt que de rajouter des balises meta http-equiv dans chacune de nos pages.


Voila et comme je suis tétue .... ça a un peut trainé en "palabre" Smiley confused
Modifié par Christele (28 Aug 2010 - 12:39)
Christele a écrit :
Super ! et merci pour l'information, ça laisse a réfléchir sur notre discution
C'est effectivement ce que je t'invite à faire... ainsi qu'à lire tes messages. Smiley cligne