• Compression - Optimiser son site Internet mod_deflate

    image de l'aticle Compression - Optimiser son site Internet mod_deflate

    Des problèmes de lenteur se font sentir sur certains sites Internet avec des modules au chargement couteux en ressources ou utilisant un thème avec des feuilles de style ou fichiers javascript très volumineux.

    Une des première piste pour tester votre site Internet est de vous rendre http://gtmetrix.com pour tester votre site Internet et voir les possibles améliorations à apporter à celui-ci.

    gtmetrix.com

    Tout un tas d'informations sont disponibles, entre autres, bad request (les erreurs 404), compression gzip active ou pas, Minify CSS, Javascript, HTML...

    Si vous êtes sur Prestashop vous pouvez activer CCC (combine, compress, and cache) pour vos feuilles de style, Javascript et réduire le code HTML après l'exécution de Smarty ce qui vous donnera une meilleure optimisation de vos page. Cela se fait dans Paramètres avancés -> Performances de votre Back-Office.

    Voici le rapport de gtmetrix.com avant l'activation du module mod_deflate de Apache :

    avant compression gzip

    Les performances du serveur ne sont pas bonnes du tout, vitesse de chargement des pages 43% et l'analyse des performances de la page chargée et de 79% ce qui est une note très moyenne. Nous allons donc activer le module de compression Apache pour que les échanges entre les clients et le serveur (CSS, Javascript, HTML...) soient plus rapide. Le serveur va compresser les données, les fichiers sont envoyés au client par le réseau en protocole HTTP et le navigateur va décompresser les données à la volée avant de les interpréter.

    Pour faire en sorte d'activer la compression (mod_deflate) du module Apache dans sa version 2.x nous allons donc nous connecter en root en SSH via putty et modifier le fichier httpd.conf. Après être connecté éditez le fichier.

    vi /etc/httpd/conf/httpd.conf

    Faire une recherche sur le fichier pour voir si le mod_deflate est activé, tapez directement :

    /deflate

    Une ligne (LoadModule deflate_module modules/mod_deflate.so) ne devrait pas être commentée. Si elle est commenté tapez sur insert et enlevez le # en début de ligne. Ensuite nous allons ajouter quelques directives à la fin de notre fichier de configuration apache pour que le serveur envoi un header "Accept-Encoding HTTP response" qu'aux clients qui demandent une en-tête "Accept-Encoding" appropriée. Cela empêche d'envoyer le contenu compressé à un client qui ne pourra pas le comprendre.

    Tapez Shift G pour aller à la fin du fichier de conf Apache et ajoutez ceci :

    <IfModule mod_deflate.c> 
    SetOutputFilter DEFLATE

    # Ne pas compresser ce qui est déjà compressé
    SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
    SetEnvIfNoCase Request_URI \.(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary

    # Faire en sorte que le proxy fonctionne.
    <IfModule mod_headers.c>
    Header append Vary User-Agent
    </IfModule>
    </IfModule>

    Redémarrez Apache

    /etc/init.d/httpd restart

    La compression est maintenant active. Vous pouvez tester votre site, le mien à gagné 3 sec. en temps de chargement sur un CMS Prestashop. On refait le test avec Gtmetrix.com

    avant compression gzip

    Ont voit bien que les résultats sont bien meilleurs qu'avant même si certaines choses restent à améliorer. N'hésitez pas à laisser un commentaire si vous avez d'autres sites de test.

    Autres outils en ligne pour tester vos sites Internet

    tools.pingdom.com
    www.webpagetest.org

Laissez un commentaire

* Votre e-mail ne sera jamais utilisé ou donné à un tiers

Recherche

Catégories

Newsletters

Archives