Avis d’expert : comment optimiser les performances des sites web ?

Cédric Damioli © Anyware Services

Cet avis d’expert est signé Cédric Damioli, directeur technique d’Anyware Services et cofondateur du projet Ametys, CMS Open Source développé en Java. Il s’attache à faire le point sur les performances des sites web, et de leurs CMS.

Votre site web est-il accessible par tous les internautes où qu’ils se trouvent ? La question de la performance des sites Internet est au cœur des priorités des responsables informatiques tout comme des décideurs chargés de développer l’activité et la visibilité de leur structure sur Internet.

La performance des sites web, pourquoi ?

> Pour optimiser l’expérience utilisateur

La fidélisation des internautes dépend en grande partie de la qualité et des performances des sites visités. Côté expérience utilisateur, trois éléments se démarquent et doivent être surveillés :

  • la rapidité d’affichage des pages d’un site web (40% des visiteurs abandonnent la navigation si le temps de réponse dépasse trois secondes) ;
  • le temps nécessaire au téléchargement des éléments d’une page ;
  • la fluidité du navigateur dans la manipulation des éléments d’une page.

> Pour améliorer les performances web mobiles

Avec la généralisation des terminaux mobiles (smartphones ou encore tablettes), les utilisateurs ne se contentent plus de leur ordinateur de bureau ou portable.

Il en résulte un environnement d’exploitation plus complexe. Les utilisateurs du web mobile ont de plus en plus d’attentes : 85% s’attendent à des temps de chargement aussi rapides que sur PC.

> Pour optimiser le référencement naturel

Le temps de réponse du serveur d’hébergement est un critère mesuré par les moteurs de recherche. Cela favorise la rapidité d’indexation d’une nouvelle page et permet d’indexer plus de pages en profondeur.

Google recommande un délai moyen de 1,5 seconde pour l’affichage d’une page web.

> Pour maitriser les coûts

Il y a de plus en plus de données à stocker, manipuler et exploiter. Une gestion efficace de la performance d’un site web permet d’optimiser les coûts. Cela induit :

  • Un site moins gourmand en ressources ;
  • Une meilleure disponibilité lors des pics de charge.

CMS open source et performance web : quelles solutions ?

L’optimisation des performances d’un site web développé avec un CMS open source, repose sur plusieurs volets notamment :

> La gestion du cache du CMS

La mise en cache consiste à multiplier le plus possible la capacité du CMS en utilisant les ressources serveur une seule fois pour l’affichage d’une page à un visiteur et en la fournissant directement aux prochains visiteurs, sans solliciter davantage le CMS. La plupart des CMS proposent des stratégies de caches au moins basiques.

Là où se jouent les différences entre CMS, c’est quand il s’agit de motoriser des sites complexes aux fonctionnalités avancées et des portails collaboratifs.

Dans ce cas il est primordial d’avoir au sein du CMS une stratégie de mise en cache à plusieurs niveaux et performante. Plus les charges (attendues et surtout inattendues) d’un site sont importantes, plus une gestion efficace du cache sera nécessaire !

> Les dispositifs CDN

Pour optimiser les performances de votre site, si vous avez de très nombreux visiteurs et des ressources multimédias volumineuses à leur proposer (vidéos, images…), le choix d’un dispositif CDN externe (Content Delivery Network) s’impose.

Celui-ci allégera la charge de votre plateforme en répliquant vos données et en les fournissant directement à vos visiteurs, au travers de son réseau de serveurs répartis dans le monde. Impossible pour YouTube de permettre à ce jour la lecture de 46.000 vidéos par seconde sans cette technologie !

> Le clustering

Le clustering c’est quoi ? Il s’agit d’une méthode courante de répartition de charge grâce à l’utilisation d’une grappe de serveurs (clusters) dans le but d’avoir une solution qui pourra gérer de manière plus efficace le trafic.

Une configuration d’un CMS en mode cluster permet donc de faire tourner un site Internet sur plusieurs serveurs et garantit généralement de meilleures performances.

> L’optimisation du serveur

Il s’agit là de patiemment configurer son serveur web (Apache httpd pour le plus connu) en cherchant à optimiser au maximum les temps de chargements et le volume de données échangées avec les visiteurs.

Dans ce domaine, tout est permis, du moment que cela marche ! De la compression des fichiers envoyés, à l’utilisation du cache des navigateurs des visiteurs, il s’agit d’être le plus rusé dans sa configuration, tout en préservant les fonctionnalités offertes par le site web.

Pour aider les administrateurs dans ce travail délicat, Google propose par exemple depuis deux ans un module complémentaire à Apache, mod_pagespeed.

CMS open source et performance web – Les indispensables

L’optimisation de la performance d’un site se construit sur 2 axes :

> Une séparation front-office / back-office

Tous les CMS contiennent une application « visiteurs », le site web lui-même, également appelée « front-office » et une application « contributeurs », appelée « back-office ».

Ces deux applications ont des utilisations très différentes : le front-office doit être rapide, réactif, disponible à 100% du temps et n’est quasiment sollicité qu’en lecture alors que le back-office est une application plus lourde, gourmande en ressources informatiques, utilisée aussi bien en écriture qu’en lecture.

Pourtant, la plupart des CMS continuent à ne fournir qu’un seul logiciel pour les deux applications. Il est donc primordial de vous faire préciser ce point auprès de votre prestataire.

> Un cache à plusieurs niveaux

Afin de favoriser l’interactivité avec les internautes, de plus en plus de sites web mettent en avant des espaces personnalisés où les internautes peuvent s’identifier et bénéficier d’une page qui leur est propre.

Comment concilier gestion du cache et système connecté/déconnecté? Grâce à la mise en place d’un cache à plusieurs niveaux. Le principe est simple : on ne gère plus en cache des pages web entières, mais plutôt des fragments de pages avec des durées de vie spécifiques.

Il est ainsi primordial de mettre en place un système de cache à plusieurs niveaux, permettant une gestion très fine des pages web, de la granularité la plus large (pages entières : performances maximales, mais durée de vie faible) à la plus fine (flux RSS, extrait de contenu, pied de page… à durée de vie très élevée).

Ce système, associé à un algorithme de mise à jour du cache en temps réel, permet de ne solliciter la base de données que quand c’est strictement nécessaire.

.

Références utiles :