Feuilles css en cache ?
29 messages • Page 1 sur 2 • 1, 2
Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics
-

xdeslandes - WRInaute impliqué

- Messages: 314
- Inscription: Mer Déc 29, 2004 20:17
Feuilles css en cache ?
Bonjour,
il me semble qu'une feuille de style externe (.css donc) n'est chargée qu'une fois par le navigateur client. Mais le problème, c'est que si'lon vient à laz modifier, le client ne verra pas les effets de cette nouvelle feuille, car son navigateur utilisera l'ancien.
Je me trompe ? Comment éviter de demander à l'internaute d'actualiser sa page ?
il me semble qu'une feuille de style externe (.css donc) n'est chargée qu'une fois par le navigateur client. Mais le problème, c'est que si'lon vient à laz modifier, le client ne verra pas les effets de cette nouvelle feuille, car son navigateur utilisera l'ancien.
Je me trompe ? Comment éviter de demander à l'internaute d'actualiser sa page ?
Tu peux faire style d'en appeler une autre en lui passant ds paramètres inutiles :
<link rel="stylesheet" type="text/css" href="images/style.css" />
puis
<link rel="stylesheet" type="text/css" href="images/style.css?12345" />
sur mon validateur xhml j ai pas d'erreures
<link rel="stylesheet" type="text/css" href="images/style.css" />
puis
<link rel="stylesheet" type="text/css" href="images/style.css?12345" />
sur mon validateur xhml j ai pas d'erreures
-

xdeslandes - WRInaute impliqué

- Messages: 314
- Inscription: Mer Déc 29, 2004 20:17
Ca marche ça ??? Tu utilises une tolérance du navigateur, non ?
je fais ça pour mes elements type flash qui sont jamais mis à jour ^^ je rajoute le timestamp au nom du fichier. par contre pour un css, il serait rechargé à chaque page. rajoutes-y l'heure ou un truc du style
par contre je rajoute aps en parametre mais bien dans le nom du fichier (ré-ecrit en rewriting) je ne sais pas si la méthode de passer en parametre est fiable ou non
par contre je rajoute aps en parametre mais bien dans le nom du fichier (ré-ecrit en rewriting) je ne sais pas si la méthode de passer en parametre est fiable ou non
-

xdeslandes - WRInaute impliqué

- Messages: 314
- Inscription: Mer Déc 29, 2004 20:17
Merci de vos précieux conseils, mais :
1- cela me parait bien compliqué, même rewrité. Tant qu'à renommer le fichier, autant appeler style1.css, puis style2.css pour la deuxième version, puis style3.css, etc, non ?
2- il n'existe pas d'instruction à donner au navigateur, genre balise meta ? ou une instruction php-unix style "lastmodified" ?
1- cela me parait bien compliqué, même rewrité. Tant qu'à renommer le fichier, autant appeler style1.css, puis style2.css pour la deuxième version, puis style3.css, etc, non ?
2- il n'existe pas d'instruction à donner au navigateur, genre balise meta ? ou une instruction php-unix style "lastmodified" ?
moi ca me parait pas compliqué, t'appelles dans ton code osurce de la page style-<? echo timestamp() ?>.css
et dans ton htaccess :
rewrite style-(.+).css style.css
mais si tu veux changer son nom, oui aussi, ca permet d'alleger les hits de ton fichier
et dans ton htaccess :
rewrite style-(.+).css style.css
mais si tu veux changer son nom, oui aussi, ca permet d'alleger les hits de ton fichier
tu peux interdir le cache du navigateur, mais je suis pas sur que ca marche pour les css :
- Code: Tout sélectionner
$CachePlus = "";
if (ereg("MSIE [56789]", (isset($HTTP_USER_AGENT)) ? $HTTP_USER_AGENT : getenv("HTTP_USER_AGENT"))) $CachePlus = ", pre-check=0, post-check=0, max-age=0";
$now = gmdate('D, d M Y H:i:s') . ' GMT';
header("Expires: $now");
header("Last-Modified: $now");
header("Cache-Control: no-cache, must-revalidate".$CachePlus);
header("Pragma: no-cache");
-

xdeslandes - WRInaute impliqué

- Messages: 314
- Inscription: Mer Déc 29, 2004 20:17
Donc, e-kiwi, le navigateur croit qu'il y a un nouveau fichier style à charger, il fait donc une requête au serveur, mais ce dernier lui renvoie quand même style.css (qui a été éventuellement mis à jour entre temps).
Avec cela, je suis sûr que le navigateur rechargera style.css à fois qu'une page est chargée (i.e. chaque fois que le timestamp change, i.e.à chaque seconde serveur), mais cela diminue notablement le temps de chargement des pages, non ?
Avec cela, je suis sûr que le navigateur rechargera style.css à fois qu'une page est chargée (i.e. chaque fois que le timestamp change, i.e.à chaque seconde serveur), mais cela diminue notablement le temps de chargement des pages, non ?
sureau a écrit:tu peux interdir le cache du navigateur, mais je suis pas sur que ca marche pour les css :
- Code: Tout sélectionner
$CachePlus = "";
if (ereg("MSIE [56789]", (isset($HTTP_USER_AGENT)) ? $HTTP_USER_AGENT : getenv("HTTP_USER_AGENT"))) $CachePlus = ", pre-check=0, post-check=0, max-age=0";
$now = gmdate('D, d M Y H:i:s') . ' GMT';
header("Expires: $now");
header("Last-Modified: $now");
header("Cache-Control: no-cache, must-revalidate".$CachePlus);
header("Pragma: no-cache");
tu m'avais déjà donné cela mais ça ne fonctionne pas!
-

petitchevalroux - WRInaute occasionnel

- Messages: 105
- Inscription: Mer Mai 31, 2006 11:13
Re: Feuilles css en cache ?
je viens d'écrire un article qui montre comment combiner le header expire et un css à jour :
-http://postit.petitchevalroux.net/astuces-divers/faire-versioning-fichier-statique-astuces.198.html
, j'utilise la même technique que sureau avec le md5 du fichier css
-http://postit.petitchevalroux.net/astuces-divers/faire-versioning-fichier-statique-astuces.198.html
, j'utilise la même technique que sureau avec le md5 du fichier css
-

Marie-Aude - WRInaute accro

- Messages: 4921
- Inscription: Lun Juin 05, 2006 14:15
Re: Feuilles css en cache ?
Ca c'est du déterrage de topic !!!
Re: Feuilles css en cache ?
Pour ma part, j'appelle mon CSS de la sorte :
main.css?v=<?=@filemtime('main.css')?>
filemtime() retourne la date de dernière modification du fichier (format unixtime), donc dès que le css est modifié, il retourne une série de chiffre différent, rechargeant le CSS.
http://fr3.php.net/manual/fr/function.filemtime.php
main.css?v=<?=@filemtime('main.css')?>
filemtime() retourne la date de dernière modification du fichier (format unixtime), donc dès que le css est modifié, il retourne une série de chiffre différent, rechargeant le CSS.
http://fr3.php.net/manual/fr/function.filemtime.php
29 messages • Page 1 sur 2 • 1, 2
Formation recommandée sur ce thème :
Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par Julien Coquet, expert certifié officiellement par Google Analytics.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Google crawle les fichiers CSS
- Découpage du forum webmaster en 2 forums
- Comment optimiser la proéminence des mots-clés
- Prise en compte de la mise en page HTML par les moteurs de recherche
- Le cache de Google : description, explications
- Nouvel article : "Google en résumé"
- L'algorithme de Google en résumé (mars 2003)
- Afficher le PageRank en entier dans Firefox (barre d'outils Google)
- Tous les outils à connaître pour analyser un site
- Web 2.0 et au-delà, le livre de David Fayon (préface Pierre Kosciusko-Morizet)
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités





le forum