#1 2011-02-20 09:41:14

arno
Membre
2011-01-14
64

CSS & JS gzip compression

Hello,

je viens de me rendre compte que les css et js sont à la fois packés et obfsucés, c'est un enorme gain de performance, c'est top !

Mais pourquoi ne pas en avoir profité pour activer la compression (gzip) pour diminuer la taille du fichier, et donc le temps de chargement d'autant ?

(gains de 13% sur le css par defaut). Vous allez me dire que ca fait encore travailler le serveur ;) mais pas de soucis, ca n'est fait qu'une fois, pas a chaque requete.

- Arnaud

Hors ligne

#2 2011-02-20 18:30:17

Gotcha
Ex Equipe Piwigo
Pierrelatte (26)
2007-03-14
13331

Re: CSS & JS gzip compression

A titre personnel, comment procéder pour la compression ?


Ayez comme premier réflexe de consulter le wiki.
Ensuite, veuillez effectuer une recherche sur le forum avant de poser votre question.

LE FAIRE EST LE REVELATEUR DE L'ETRE

Hors ligne

#3 2011-02-20 19:24:48

flop25
Équipe Piwigo
2006-07-06
6544

Re: CSS & JS gzip compression

la compression des fichiers s'active sur votre serveur et c'est conseillé. Après je ne sais pas si on peut forcer juste pour pwg

Hors ligne

#4 2011-02-20 20:56:30

rvelices
Équipe Piwigo
2005-12-29
1417

Re: CSS & JS gzip compression

d'apres moi si vous voulez compression, alors il faut configurer correctement le serveur independamment de piwigo.

Code:

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE text/css
</IfModule>

Hors ligne

#5 2011-02-21 11:21:44

Gotcha
Ex Equipe Piwigo
Pierrelatte (26)
2007-03-14
13331

Re: CSS & JS gzip compression

Merci pour vos réponses.

J'ai placé le code dans le .htaccess mais sans effets :-(
=> Serveur mutualisé chez o2switch.fr


Ayez comme premier réflexe de consulter le wiki.
Ensuite, veuillez effectuer une recherche sur le forum avant de poser votre question.

LE FAIRE EST LE REVELATEUR DE L'ETRE

Hors ligne

#6 2011-02-22 10:17:44

arno
Membre
2011-01-14
64

Re: CSS & JS gzip compression

Etant donné que piwigo doit dépendre le moins possible du serveur sur lequel il se trouve, je parlais plutot d'une compression applicative coté php, et non celle du module apache.

Voici une méthode la plus 'propre' pour le faire, qui peut sans probleme se mixer avec l'obsufcation ou le 'packing' des css

zipstylesheet.css

<FILES zipstylesheet.css>
  SetHandler  application/x-httpd-php
</FILES>

<?php
  header('Content-type: text/css');

    if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip'))
        ob_start("ob_gzhandler");
    else
        ob_start();

  /* les css */
  include('master.css');
  include('tempkate.css');
  include('grid.css');
  include('print.css');
  include('handheld.css');

//qu'on peut bien sur aller chercher dans une boucle foreach($files as $file) si besoin

  ob_end_flush();
?>

qu'en pensez vous ?

Hors ligne

#7 2011-02-22 13:49:00

rvelices
Équipe Piwigo
2005-12-29
1417

Re: CSS & JS gzip compression

arno a écrit:

Etant donné que piwigo doit dépendre le moins possible du serveur sur lequel il se trouve, je parlais plutot d'une compression applicative coté php, et non celle du module apache.

Voici une méthode la plus 'propre' pour le faire, qui peut sans probleme se mixer avec l'obsufcation ou le 'packing' des css
....?>

qu'en pensez vous ?

Pourquoi pas, mais je peux te dire que ton .htaccess ne fonctionnera pas sur n'importe quel serveur. Deuxiement il est couteux de lancer un php sur n'importe quel hebergeur mutualisé car l'hebergeur fera soit un suexec/cgi soit fcgid.
Si on veut être aussi optimal, il faudrait ne pas faire appel à php.

Arno, si tu veux j'avais deja fait le php qui marche bien avec css/js et qui gere aussi le Expires/Max-Age ainsi que le If-Modified-Since. Tu pourrais faire un joli plugin...

Hors ligne

#8 2011-02-22 22:28:34

saimon
Membre
2006-12-04
367

Re: CSS & JS gzip compression

chez ovh j'ai configuré un truc comme ça:

Code:

<FilesMatch "\.(jpg|jpeg|JPG|png|gif|ico)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>

<FilesMatch "\.(css|js)$">
Header set Cache-Control "max-age=2592000, public"
SetOutputFilter DEFLATE
</FilesMatch>
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript
</IfModule>

Hors ligne

#9 2011-02-22 22:29:38

Gotcha
Ex Equipe Piwigo
Pierrelatte (26)
2007-03-14
13331

Re: CSS & JS gzip compression

Question bête du soir :
A quoi voit-on que la compression est effective ?


Ayez comme premier réflexe de consulter le wiki.
Ensuite, veuillez effectuer une recherche sur le forum avant de poser votre question.

LE FAIRE EST LE REVELATEUR DE L'ETRE

Hors ligne

#10 2011-02-22 22:54:52

saimon
Membre
2006-12-04
367

Re: CSS & JS gzip compression

en regardant les en-têtes (headers) de la réponse, avec firebug ou équivalent, ou des sites fait pour.
Si ton navigateur accepte la compression, il envoie une requête avec "Accept-Encoding: gzip, deflate" et si le serveur renvoie un truc compressé la réponse contient "Content-Encoding: gzip".
Par exemple chez toi ce n'est pas le cas: http://www.webpagetest.org/result/11022 … /#request6
chez moi c'est bon: http://www.webpagetest.org/result/11022 … /#request3

Hors ligne

#11 2011-02-23 00:45:47

Gotcha
Ex Equipe Piwigo
Pierrelatte (26)
2007-03-14
13331

Re: CSS & JS gzip compression

Merci pour ces explications concrètes :-)


Ayez comme premier réflexe de consulter le wiki.
Ensuite, veuillez effectuer une recherche sur le forum avant de poser votre question.

LE FAIRE EST LE REVELATEUR DE L'ETRE

Hors ligne

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact