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
-~----------~----~----~----~------~----~------~--~---

Reply via email to