Bonjour, J'ajoute juste une autre méthode facile à mettre en place par contre je ne sais pas si elle est efficace car jamais testée :
Tu appelles tes css comme ceci : ma_feuille_de_style.css?id=2007-20-12 avec 2007-20-12 date du jour Le chargement et comportement de la css devrait être inchangé et chaque jour tu forces le chargement d'une nouvelle css. Bon courage, Pascal, SQLI Oujda/Maroc On 12 déc, 12:39, krachot <[EMAIL PROTECTED]> wrote: > J'adopte aussi la même technique que Pascal. > C'est article m'avait donné une bonne poste: > > http://www.thinkvitamin.com/features/webapps/serving-javascript-fast > > Pour mettre en place ce systèle il faut: > - dans tes view.yml, inclure tes feuilles de styles avec cette > syntaxe: > stylesheets: [ ma_feuille_de_style.css.v.0.1, mon_autre_css.css.v. > 0.1] > - ensuite dans ton .htaccess tu ajoutes : > Options +FollowSymLinks +ExecCGI > > ExpiresActive On # ligne à ajouter > > <IfModule mod_rewrite.c> > RewriteEngine On > //.... > > RewriteRule ^(.*\.)(css|js|swf|jpg|gif|png)\.v(.*)$ $1$2 > [L,E=VERSIONED_FILE:1] > Header add "Expires" "Mon, 28 Jul 2014 23:30:00 GMT" > env=VERSIONED_FILE > Header add "Cache-Control" "max-age=315360000" env=VERSIONED_FILE > > # we skip all files with .something > //.... > > Voilà, maintenant à chauqe mis à jour, tu devras juste changer le > numéro de version de ta css. > Cette technique est bien sur applicable aux images, javascripts, > swf... > > PS: si l'entête expire n'est pas ajouté tu peux mettre ça dans > ton .htaccess, jsute après ExpiresActive On : > ExpiresByType application/x-javascript A2592000 > ExpiresByType text/css A2592000 > ExpiresByType image/gif A2592000 > ExpiresByType image/png A2592000 > ExpiresByType image/jpg A2592000 > ExpiresByType image/jpeg A2592000 > > Matthieu Bozec > [EMAIL PROTECTED] > 2S3i.com > > On 11 déc, 20:15, "Jean-Tristan Chanegue" <[EMAIL PROTECTED]> wrote: > > > Bonjour, > > > Merci pour ces idées ! > > > > 1 - Forcer une date d'expiration sur tes css dans ton .htaccess comme > > > ceci : > > > > ExpiresActive On > > > ExpiresByType text/css "modification plus 5 days" > > > > Nécessite l'utilisation du mod_expires dans apache > > > C'est effectivement une piste à explorer. > > > > 2 - solution un peu plus compliquée à mettre en oeuvre mais super > > > efficace : > > > > Appeler tes css avec un id par exemple default-1233.css 1233 > > > correspondant au numéro de version SVN ou CVS. > > > > Exemple de fonction renommant une image suivant le numéro de version > > > CVS : > > > > function getVersion($file) { > > > > $cmd = 'cvs log -h %s'; > > > $cmd = sprintf($cmd, $file); > > > > exec($cmd, $res); > > > $version = trim(str_replace('head: ', '', $res[3])); > > > > return $version; > > > } > > > Je vois bien comment cela fonctionne pour les appels des images qui > > sont dans des fichiers PHP. > > Mais je ne vois pas comment implémenter la solution pour les fichiers .yml. > > En effet, les inclusions de fichiers CSS se font, dans mon cas, > > (est-ce la bonne pratique ?) dans les fichiers : > > - apps/frontend/config/view.yml > > - apps/frontend/[modules]/config/view.yml > > > Comment mettre en oeuvre un principe similaire pour les fichiers .yml ? > > > Merci pour votre aide, > > Jean-Tristan Chanegue > > > On Dec 11, 2007 7:41 PM, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote: > > > > Bonjour, > > > > Je verrais 2 solutions à ton problème : > > > > 1 - Forcer une date d'expiration sur tes css dans ton .htaccess comme > > > ceci : > > > > ExpiresActive On > > > ExpiresByType text/css "modification plus 5 days" > > > > Nécessite l'utilisation du mod_expires dans apache > > > > 2 - solution un peu plus compliquée à mettre en oeuvre mais super > > > efficace : > > > > Appeler tes css avec un id par exemple default-1233.css 1233 > > > correspondant au numéro de version SVN ou CVS. > > > > Exemple de fonction renommant une image suivant le numéro de version > > > CVS : > > > > function getVersion($file) { > > > > $cmd = 'cvs log -h %s'; > > > $cmd = sprintf($cmd, $file); > > > > exec($cmd, $res); > > > $version = trim(str_replace('head: ', '', $res[3])); > > > > return $version; > > > } > > > > // example use > > > $file = 'img.png'; > > > $new_file = 'img_' . getVersion($file) . '.png'; > > > > Toutes ces infos sont issues du super article : > > > >http://www.sitepoint.com/article/web-site-optimization-steps > > > > Bon Courage, > > > Pascal > > > SQLI Oujda/Maroc > > > > On 11 déc, 18:26, "Jean-Tristan Chanegue" <[EMAIL PROTECTED]> wrote: > > > > Bonjour à tous, > > > > > Je développe un site web basé sur symfony. Je suis régulièrement amené > > > > à mettre à jour mes feuilles CSS (tout en conservant le même nom de > > > > fichier) et la structure HTML. > > > > > A chaque nouvelle version, mes utilisateurs constatent des problèmes > > > > liés à la nouvelle version des CSS. > > > > > En effet, les navigateurs conservent en cache les feuilles CSS. > > > > Cela provoque des incohérences entre la structure HTML de la nouvelle > > > > version et les styles de l'ancienne version restant en cache. > > > > > Il faut pour remettre en cohérence CSS et structure HTML forcé le > > > > rafraichissement du cache dans le navigateur. > > > > Puisqu'il n'est pas acceptable de dire à tous mes utilisateurs de > > > > mettre à jour leur cache... j'imagine qu'il y a d'autres solutions. > > > > > Quelles méthodes utilisées vous pour contourner ce problème ? > > > > > J'ai par exemple pensé à l'utilisation d'un filtre pour positionner > > > > les feuilles CSS, mais cela me semble pas très propre. > > > > > Merci pour votre aide, > > > > Jean-Tristan chanegue --~--~---------~--~----~------------~-------~--~----~ Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "Symfony-fr" de Google Groupes. Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse symfony-fr@googlegroups.com Pour résilier votre abonnement à ce groupe, envoyez un e-mail à l'adresse [EMAIL PROTECTED] Pour afficher d'autres options, visitez ce groupe à l'adresse http://groups.google.com/group/symfony-fr?hl=fr -~----------~----~----~----~------~----~------~--~---