Suivez les fils RSS
 
Auteur
Pages :
apericube
# 06 Feb 2010 - 13:49:12
Citer
478 Posts
Salut,

Quand je change le CSS de mon site, il faut faire F5 (ou vider le cache) pour que ca prenne effet. Si je ferme puis rouvre mon browser, ca marche pas non plus. Il faut absolument rafraichir, donc beaucoup de mes visiteurs ne verront pas mes changements avant des semaines!

Comment remedier a ca ?
Modifié par apericube (12 Feb 2010 - 13:21)

^
Mikachu
# 06 Feb 2010 - 13:53:11
Citer
C'est quand les vacances ?
Modérateur
5136 Posts
Salut,

Il te suffit tout simplement de renommer le nom de ta feuille de style et d'en corriger le lien dans tes pages html. Le nom étant différent, elle sera automatiquement téléchargée, même si l'ancienne reste en cache. cligne

Une page en ligne ou au moins l'intégralité du code html et css ça aide à vous aider plus vite !

http://www.mikachudesign.com/ 
^
Heyoan
# 06 Feb 2010 - 13:57:19
Citer
Modérateur
8101 Posts
Hello,

j'étais en train d'écrire la même chose donc pour ne pas être trop frustré ( langue ) je rajoute que le plus simple est de rajouter la date de mise à jour : styles200100206.css

^
Technologix
# 07 Feb 2010 - 03:08:13
Citer
196 Posts
<FilesMatch ".(css)$">
Header set Cache-Control "max-age=0"
</FilesMatch>

Ajoute ça dans ton .htaccess, le css ne se mettra plus en cache smile

http://www.technologix.info/ msn yim 
^
jb_gfx
# 07 Feb 2010 - 03:42:54
Citer
2551 Posts
ça c'est une super idée.. ne pas mettre le css en cache... lol

Je ne sais pas si je suis cultivé ou si je viens d'inventer deux nouveaux mots.

http://www.pixemedia.com/ 
^
Laurie-Anne
# 07 Feb 2010 - 08:48:13
Citer
Modérateur
5736 Posts
Technologix a écrit :
Ajoute ça dans ton .htaccess, le css ne se mettra plus en cache smile


Dans ce cas, autant mettre les styles CSS direct dans le fichier HTML...

Le cache c'est utile ! rolleyes

http://laurie-anne.bourdain.name 
^
Heyoan
# 07 Feb 2010 - 10:41:38
Citer
Modérateur
8101 Posts
Salut,

Laurie-Anne a écrit :
Dans ce cas, autant mettre les styles CSS direct dans le fichier HTML... rolleyes
Ben ça permet quand même de n'avoir qu'une feuille de style externe pour toutes les pages. cligne

Cela dit je préfère la première méthode qui permet la mise en cache de la css en cours.

^
Mikachu
# 07 Feb 2010 - 12:08:36
Citer
C'est quand les vacances ?
Modérateur
5136 Posts
L'intérêt de la feuille de style, c'est justement de ne pas en télécharger les infos à chaque page ni à chaque visite. Donc ne pas la mettre en cache c'est loin d'une bonne idée, qui ne va en plus pas à l'économie de bande passante, et qui ralentit le chargement de toutes les pages pour le visiteur...
S'il s'agit juste de faire passer une mise à jour majeur auprès de tous les visiteurs, le fait de renommer le fichier est amplement suffisant et en rien pénalisant.

Une page en ligne ou au moins l'intégralité du code html et css ça aide à vous aider plus vite !

http://www.mikachudesign.com/ 
^
apericube
# 07 Feb 2010 - 12:32:09
Citer
478 Posts
Ok merci. Mais pourquoi les browsers ne vérifient pas la taille ou la date de modif des fichiers avant d'utiliser leur cache ? C'est un peu naze non ?
Modifié par apericube (07 Feb 2010 - 12:32)

^
Mikachu
# 07 Feb 2010 - 12:38:48
Citer
C'est quand les vacances ?
Modérateur
5136 Posts
Salut,

A vrai dire, à part en période de production/mise à jour des styles, il n'est pas nécessaire de faire cette vérification systématiquement, cela utiliserait des ressources serveur inutilement et ralentirait l'affichage des sites en général. cligne

Une page en ligne ou au moins l'intégralité du code html et css ça aide à vous aider plus vite !

http://www.mikachudesign.com/ 
^
moust
# 07 Feb 2010 - 12:48:13
Citer
438 Posts
Une autre solution qui fonctionne avec les intégration Flash par exemple, consiste à ajouter un paramètre GET à l'url.
<link rel="stylesheet" href="http://www.monsite.com/style.css?v=1" type="text/css" />


http://www.deadline6am.com/ 
^
Heyoan
# 07 Feb 2010 - 14:05:55
Citer
Modérateur
8101 Posts
@moust > oui mais ça revient à forcer la non-mise en cache de la css. cligne

^
fvsch
# 08 Feb 2010 - 04:49:57
Citer
Administrateur
19942 Posts
apericube a écrit :
Ok merci. Mais pourquoi les browsers ne vérifient pas la taille ou la date de modif des fichiers avant d'utiliser leur cache ?

Ils peuvent parfaitement le faire. Par contre ça fait une requête HTTP conditionnelle (le navigateur envoie "hé, j'ai ce fichier qui date du 15 décembre, est-ce que tu as une version plus récente?", et le serveur répond "oui, la voila" ou "non, c'est bon"). Donc ça crée une latence quand même.

apericube a écrit :
C'est un peu naze non ?

Dit le mec qui ne sait pas configurer les en-têtes HTTP envoyés par le serveur pour une gestion optimale du cache. cligne

RTFM du jour: http://www.mnot.net/cache_docs/index.fr.html
Modifié par Florent V. (08 Feb 2010 - 04:55)

http://fvsch.com 
^
fvsch
# 08 Feb 2010 - 04:52:57
Citer
Administrateur
19942 Posts
Heyoan a écrit :
@moust > oui mais ça revient à forcer la non-mise en cache de la css. cligne

Non. Sauf si le serveur est configuré pour ne pas demander de mise en cache pour les requêtes avec des paramètres GET, mais je ne crois pas que ça soit une configuration courante.

+1 pour la solution de moust (une solution classique en la matière), qui n'oblige pas à renommer les fichiers.

http://fvsch.com 
^
Heyoan
# 08 Feb 2010 - 11:52:19
Citer
Modérateur
8101 Posts
Florent V. a écrit :
Non. Sauf si le serveur est configuré pour ne pas demander de mise en cache pour les requêtes avec des paramètres GET, mais je ne crois pas que ça soit une configuration courante.
Tu es sûr ? J'avais justement arrêté d'utiliser cette méthode après avoir lu un article qui précisait le problème de non mise en cache. murf

En lisant le chapitre "Que peut-on mettre en cache ?" (alinéa 6) de ce guide c'est aussi ce que je comprends (mais je suis pas certain de bien comprendre).

^
apericube
# 09 Feb 2010 - 10:04:11
Citer
478 Posts
moust > le simple fait de rajouter un parametre GET force le navigateur a ne pas utiliser son cache, ou faut-il aussi "vraiment faire quelquechose" avec ce parametre GET dans euh .. la feuille de style ? o_O

Je veux dire, je rajoute ce truc a la fin de mon <link> et ca neutralise le cache, point barre ?

^
Benjamin-Ds
# 09 Feb 2010 - 19:00:52
Citer
R.A.S
166 Posts
Vive l'auto paquetage des js/css + mise en cache et versionement en 1 seul fichier ...

Regarde du coté de minify, entre autre.

http://b-ds.fr/ 
^
jb_gfx
# 11 Feb 2010 - 11:59:51
Citer
2551 Posts
Le paramètre get ajouté à l'url empêche la mise en cache que si il change. si tu laisses tout le temps la même valeur ton fichier sera bien mis en cache.

mon_fichier.ext?version=1 -> le fichier est lu depuis le cache tant que la valeur de version est 1

mon_fichier.ext?version=2 -> le fichier est rechargé

etc...
Modifié par jb_gfx (11 Feb 2010 - 12:01)

Je ne sais pas si je suis cultivé ou si je viens d'inventer deux nouveaux mots.

http://www.pixemedia.com/ 
^
apericube
# 11 Feb 2010 - 16:37:27
Citer
478 Posts
Tres bien ca comme solution, mais faut-il forcement utiliser une adresse absolue comme dans l'exemple de moust ou pas ? (j'imagine que non mais bon, pourquoi utiliser une adresse absolue d'abord o_O)

Benjamin : merci aussi pour l'indication de minify qui a l'air bien utile (suis en train de voir comment l'utiliser)
Modifié par apericube (11 Feb 2010 - 16:39)

^
deejay-bee
# 11 Feb 2010 - 19:20:03
Citer
38 Posts
Je me joins à vous pour un problème similaire. Je conaissais déjà la technique du style.css?v=1.

Je cherche maintenant à forcer la réactualisation du favicon qui est assez coriace puis qu'il faut vider le cache. J'ai fait un topic :

http://forum.alsacreations.com/topic-1-46732-1-Forcer-la-mise-a-jour-dun-favicon.html

On m'a envoyé ici...

J'ai testé la solution favicon.ico?v=1 : echec. Renommer le fichier : echec. Solution ci-dessous :

Technologix a écrit :
<FilesMatch ".(css)$">
Header set Cache-Control "max-age=0"
</FilesMatch>

Ajoute ça dans ton .htaccess, le css ne se mettra plus en cache smile


Echec : internal server error. Mon serveur doit être configuré pour ne pas accepter cette instruction.

D'où ma question : y'a-t-il d'autres moyens pour forcer la réactualisation du favicon ?

Merci

^
Pages :