Dans la cadre de son projet nommé « Make the Web Faster », Google vient de sortir un module Apache2 permettant d’automatiser certaines choses que nous les développeurs web devrions faire systématiquement…
Notez que Google nous invite fortement à faire attention à la vitesse d’affichage de nos sites car le temps de chargement est prit en compte dans leur algorithme de référencement. Ce module est donc une réponse possible à ce problème même si il ne fait pas tout loin de là !
Installation de mod_pagespeed
L’installation se fait en plusieurs parties avec d’un côté le module à installer et à activer sur Apache2 et de l’autre si vous le souhaitez l’installation d’un Virtualhost permettant d’avoir des statistiques assez brut de fonderie…
Mise en garde sur la version d’Apache2
Avant de poursuivre l’installation, nous allons voir rapidement si votre version d’Apache2 support bien le module. D’après le site officiel, les version 2.2.x et supérieur ou égale à 2.4.2 fonctionnent sans problème par contre, il est déconseillé d’utiliser mod_pagespeed avec la 2.4.1. Pour connaître votre version faites simplement dans un terminal la commande ci-dessous.
apt-cache show apache2 | grep "Version"
Dans mon cas, elle retourne : Version: 2.2.22-1ubuntu1
Installation du module Apache2
Pour installer ce module, vous allez devoir vous rendre sur la page de téléchargement pour trouver le lien de téléchargement (colonne à droite) puis taper les commande suivantes dans votre terminal.
wget https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_amd64.deb dpkg -i mod-pagespeed-*.deb rm -rf mod-pagespeed-*.deb
Maintenant que le module est installé il va falloir activer le module (si ce n’est pas déjà fait) puis recharger la configuration de Apache2.
a2enmod pagespeed /etc/init.d/apache2 reload
Configuration des statistiques
En plus de son action, le module permet d’avoir des statistiques sur les domaines hébergé. Ainsi par exemple lorsque vous taperez l’adresse ci-dessous une page apparaîtra avec plein d’informations.
http://adresse.com/mod_pagespeed_statistics
Pour cela, nous allons créer un hôte virtuel qui s’appliquera à tous les hôtes hébergé sur le serveur.
cd /etc/apache2/sites-available/ nano mod_pagespee
Dans ce fichier nous allons copier la configuration suivante tirée de la documentation officielle. Dans mon cas, j’ai une adresse IP fixe ce qui permet de faire un protection simple par contre pour ceux ayant une IP dynamique, un .htpasswd devrait être suffisant.
<Location /mod_pagespeed_statistics> Order allow,deny Allow from 127.0.0.1 SetHandler mod_pagespeed_statistics </Location>
Enfin il ne nous reste plus qu’à activer l’hôte virtuel puis recharger la configuration de Apache2.
a2ensite mod_pagespeed /etc/init.d/apache2 reload
Maintenant bon courage pour déchiffrer le contenu de cette page car c’est assez artisanale…
Les effets de mod_pagespeed
Alors les effets visible pour l’internaute sont :
- Mise en cache de toutes les images par le navigateur
- Minification des fichiers css et javascript
- Changement des noms des fichiers .css et .js
Je n’ai pas eu vraiment l’occasion de voir d’autres changements visible directement dans le code HTML et dans l’ensemble je n’ai pas vraiment eu l’occasion non plus de voir un changement époustouflant sur la vitesse de chargement : les sites étant déjà très rapide. Toutefois il est vrai que sur un site fait maison la minification se fait plus sentir que sur un blog wordpress…
Le dossier de cache
Comme on pouvait se douter, le mod_pagespeed sauvegarde beaucoup de chose en cache pour ne pas avoir à les recalculer à chaque fois. Si vous souhaitez vider le cache d’un de vos sites car vous suspectez un problème, vous pouvez vous rendre dans le dossier ci-dessous.
cd /var/mod_pagespeed/cache/
Aller plus loin
Je n’ai fait que survoler la configuration de ce module dans ce billet et je ne peux que vivement vous conseiller de lire la page officiel pour la configuration qui est très simple à comprendre.
Bon courage dans votre optimisation !