Optimiser la performance de votre site web : pourquoi et comment ?

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.

 

Mieux comprendre 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 utilisateurs, 3 é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 3 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 mobile

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 secondes 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, notamment Ametys, repose sur plusieurs volets.

 

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 !

 

Pour optimiser les performances de votre site, si vous avez de très nombreux visiteurs et des ressources multimédia volumineuses à leur proposer (vidéos, images),  le choix d'un dispositifCDN 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 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 2 ans un module complémentaire à Apache (mod_pagespeed).

 

Ametys et la gestion de la performance web

L'optimisation de la performance d'un site développé avec Ametys 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.

L'architecture innovante d'Ametys est pour sa part composée de deux logiciels distincts, un pour chacune de ces deux applications. Ceci permet une plus grande disponibilité et une meilleure résistance d'une application quand l'autre est surchargée.

Le clustering est également techniquement beaucoup plus simple à mettre en place (et donc moins coûteux) : on a généralement besoin de répliquer le front-office, beaucoup plus rarement le back-office.

Grâce à cette architecture, Ametys motorise par exemple 15 000 sites distincts sur une seule machine physique et un seul back-office pour un laboratoire pharmaceutique.

 

  • 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.

Ametys possède ainsi un système de cache à 3 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

Partager sur