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 [email protected]
 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
-~----------~----~----~----~------~----~------~--~---

Répondre à