Vitesse de Joomla! (comment utiliser le cache)

de | 4 janvier 2012

Optimiser la vitess de son site Joomla

Le CMS Joomla est très pratique pour gérer un gros site professionnel avec de nombreuses fonctionnalités et pages, mais il peut s’avérer un peu lent lorsque le trafic se développe. Il est alors possible d’optimiser simplement votre site en utilisant les fonctions de cache prévues à cet effet.

Si votre site se développe un peu (on parle de plusieurs centaines de visiteurs uniques par jour avec un site hébergé sur un serveur mutualisé), vous allez avoir un problème comme avec n’importe quel CMS. Le nombre de requêtes qui seront faites sur votre base de données et le nombre de scripts PHP exécutés pourront s’avérer un peu trop important pour votre serveur (surtout si vous votre site tourne sur un mutualisé). Il faut donc utiliser le cache joomla.

Activer le plug-in de cache dans l’administration

Avant de faire les choses vérifiez que le plug-in de cache est bien activé dans votre administration comme indiqué sur la capture ci-dessous :

Plug-in de cache dans Joomla

Plug-in de cache dans Joomla

En cas de problème, vous pourrez le désactiver et suivre les autres étapes. Nous avons par exemple noter des problèmes d’affichages des images sur certains sites.

Sélectionner la méthode de cache à utiliser

Dans la partie administration de votre site, vous trouverez dans la configuration globale de votre site les paramètres du cache à régler.

Paramétrage du cache dans Joomla

Paramétrage du cache dans Joomla

Il vous faudra alors choisir entre deux types de caches :

  • Conservateur : méthode qui ne met en cache que certains éléments d’une page.

  • Progressif : méthode rapide qui demande cependant beaucoup d’espace disque pour stocker les fichiers cache. Recommandé pour les gros sites.

Le choix dépend vraiment de votre site et de son utilisation. Pour un site de taille moyenne, nous avons trouvé que le cache conservateur avait de bons résultats en terme de gains de temps d’exécution (temps d’affichage d’une page divisé par 2 ou 3), mais les développeurs de Joomla recommandent le cache progressif. Ce sera donc à vous de faire les tests et de regarder ce qui fonctionne le mieux.

Ensuite, il y a le paramètre indiquant si on souhaite utiliser des fichiers (« File » en anglais) pour stocker les pages en cache. Pour le moment, on laissera ce paramètre par défaut. Pour les experts du cache, sachez que vous pouvez utiliser votre système de cache préféré avec Joomla : APC, Eaccelerator, Memcached, Xcache, etc.

Finalement, vous allez devoir choisir le temps durant lequel vos pages seront mises en cache (en minute). Vous pouvez choisir 60 minutes si votre site est modifié régulièrement. Mais pour les sites statiques qui change une ou deux fois par mois, le plus intéressant est de mettre une durée de plusieurs jours pour avoir un maximum d’efficacité.

Que faire quand mon contenu change

Lorsque vous publiez une nouvelle page sur votre site, le cache correspondant aux pages est automatiquement regénéré. Par contre, nous avons noté quelques problèmes si vous publiez des articles et des pages Joomla dans le futur (en mettant une date de début de publication dans le futur et en publiant l’article). Dans ce cas, le cache ne se regénère pas tout de suite.

Si vous modifiez un module, un menu ou tout autre élément lié à autre chose que des articles, il est préférable de vider le cache pour qu’il se regénère automatiquement.

Pour vider le cache il faut vous rendre dans la partie administration de votre site, partie Maintenance :

Vider le cache Joomla

Vider le cache Joomla

Vous pouvez alors sélectionner quels éléments du cache vous souhaitez régénérer.

Vous noterez qu’il est possible de régler les paramètres de cache pour chaque module de Joomla :

Paramètre de cache du module Joomla

Paramètre de cache du module Joomla

Conclusion

Vous verrez qu’avec un peu de travail et beaucoup de tests votre site sera encore plus rapide qu’à ses débuts grâce aux différents caches proposés par le CMS Joomla. N’hésitez donc pas à mettre en place ces méthodes si vous sentez que votre site ralenti un peu ou faites appel à un professionnel si vous n’avez pas le temps de gérer tous les tests à faire.

3 réflexions au sujet de « Vitesse de Joomla! (comment utiliser le cache) »

  1. Hervé

    Bonjour,
    Merci pour ce tuto bien détaillée, néanmoins je me pose encore des questions. Sur un petit site ou nouveau site, il n’est pas significatif de faire des mesures et pourtant en mutu, le cache devient primordial

    1/ plugin
    Dans les paramètres de base, il y a
    Cache du navigateur: oui/non
    Si on met oui, j’imagine que l’on met gère en plus du cache sur le serveur, le cache de notre navigateur.
    Apr défaut il met non, est-ce que cela veut dire que l’on empêche le stockage dans le cache du navigateur, ce qui me semblerait très bizarre et pas optimisé ??

    2/ cache template Rockettheme
    Devant différent soucis, j’ai abandonné le cache joomla pour utiliser celui de RT (framework Gantry) par contre je me demande si tu connais les différences entre ceux-ci et s’ils seraient éventuellement compatible

    A+

  2. Nicolas Auteur de l’article

    Bonjour,

    Le plugin cache de Joomla servait à la base à stocker une « image » de chaque page (complète). Après les tests que nous avons fait que la version 1.7 il s’est avéré que son efficacité est assez relative. De même si vous utiliser des modules qui affichent des images aléatoires (ou des bannières) celles-ci seront fixe pour une page donnée.

    Par contre, la fonction cache dispo dans la partie administration ne met en cache que certains éléments de la page (les vues et les modules). Elle semble assez performante et propose une très bonne alternative à l’autre méthode.

    Je le répète mais les extensions, modules du template et autres éléments installés et configurés pour Joomla vont faire que le site se comportera différemment d’un autre en fonction du cache employé. Il est donc nécessaire de tester pour se faire un avis. J’ai même pu constaté que certains modules (externes à Joomla) se comportaient très mal avec un cache activé.

    Pour ce qui est du framework Gantry, nous n’avons pas beaucoup travaillé avec. Je ne pourrai donc pas vous aider. Ce que nous avons constaté c’est que celui-ci s’avère un peu lourd pour une utilisation de base de Joomla. Evidemment, c’est un outil très intéressant et très complet.
    Je ne peux donc que vous rediriger vers la documentation du framework : http://www.gantry-framework.org/documentation/joomla/configure/advanced

  3. Ping : Accélérer Joomla sans utiliser le cache

Laisser un commentaire

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

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.