Comment compresser certains contenus avec le Zend Server Community Edition

Depuis quelques temps maintenant, je test le Zend Server Community Edition sur ma machine locale qui tourne sous Windows XP Pro.

Pour rappel, le Zend Server Community Edition est basé sur Mysql 5.1, Php 5.3 et Apache 2.2 (et les outils propres à Zend)

Concernant Apache 2.2, j’avoue que malgré plusieurs tentatives de l’utiliser ces dernières années, j’avais renoncé (de même que pour Php 5.3 plus récemment).

En 2008 j’avais suivi une conférence, par le biais de l’AFUP, animée par Éric Daspet (de chez Yahoo) spécialisé dans l’optimisation des frontaux.
Si vous le pouvez, je vous incite « fortement » à vous procurer cette conférence car elle est vraiment très intéressante.
Je vous recommande aussi la lecture et le suivi de son site.

Bref, j’avais mis en œuvre, en local et sur les sites de mes clients, certains moyens d’optimiser le rendu des pages aux clients (navigateur).
Les sites étant hébergés sur des serveurs mutualisés, il ne m’était pas possible de tout mettre en œuvre.

Parmi ces moyens, la compression gzip, sauf que depuis Apache 2.2, le mod_gzip n’existe plus et a été remplacé par le module « deflate ».
Gros avantage du module deflate par rapport au module gzip, la compression des données n’est plus effectuée sur le disque mais en mémoire.

Problème, le paramétrage a aussi changé.
Allons à l’essentiel, pour par exemple compresser les fichiers html, javascript, css, json (dans le cas de requêtes Ajax) et Pdf, il suffit de rajouter le texte suivant dans la section Directory de votre site.
Ce qui donne par exemple dans mon cas :

<Directory "C:/inetpub/wwwroot">
 SetOutputFilter DEFLATE
 AddOutputFilterByType DEFLATE text/html
 AddOutputFilterByType DEFLATE application/javascript
 AddOutputFilterByType DEFLATE application/x-javascript
 AddOutputFilterByType DEFLATE text/css
 AddOutputFilterByType DEFLATE application/json
 AddOutputFilterByType DEFLATE application/pdf
 ...
 ...
</Directory>

Vous faites plus travailler votre serveur mais en contrepartie les données arrivent plus rapidement au client vue qu’elles sont compressées.
Attention, je ne me suis pas attardé au cas des (vraiment trop) anciens navigateurs qui ne sont pas en mesure de prendre en compte ces compressions. Pour cela, je vous invite à consulter cette page.

Vous pouvez aussi, si vous le souhaitez, ajouter les pages au format html (dans la liste des ressources à compresser).

En plus de la mise en place d’une telle « technique », je vous conseille aussi de « minifier » systématiquement vos scripts Javascript.
Vous trouverez pas mal de ressources sur le sujet en faisant quelques recherches sur le net.

Petite info hors sujet par rapport à ce billet, par défaut dans la version de Mysql livrée avec le Zend Server, l’utilisateur root n’a pas de mot de passe !

Articles connexes :

  1. Comment utiliser une version locale de l’aide Php en français dans Eclipse PDT (et Zend Studio) ...
  2. Utiliser Eclipse PDT (ou Zend Studio) sur des projets Php sans « polluer » le répertoire du site avec les fichiers d’Eclipse ...
  3. Comment faire fonctionner Index Server sous IIS ? ...
  4. Optimiser le rendu des pages avec Prestashop ...
  5. Comment appeler un fichier d’aide depuis Eclipse ...

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>