Le développement d’un site internet ne peut être effectué sans une maîtrise parfaite des ressources hébergement. Un webmaster ou une entreprise ne peuvent en effet pas s’offrir la location d’un serveur haut de gamme alors que leur site commence à peine à trouver son audience et engendrer ses premiers euros ou parfois rien du tout quand il s’agit d’un site bénévole ou uniquement rédactionnel.
Des techniques simples et éprouvées garantissent une consommation raisonnée des ressources. Ce travail ne s’avère pas seulement bénéfique sur le plan financier. Il l’est aussi pour l’expérience utilisateur puisqu’il permet d’abaisser, souvent de manière spectaculaire, le temps de chargement.
De plus, cette optimisation offre également l’avantage de répondre aux attentes actuelles de Google. Le moteur de recherche demande en effet aux webmasters de concevoir des sites internet aussi rapides que possibles. Le géant américain propose même un outil, PageSpeed Insights, capable de noter les pages en fonction de leurs performances.
Mise en cache du contenu statique/Utilisation d’un CDN
L’une des mesures les plus simples à mettre en œuvre lorsque l’on veut économiser les ressources de son hébergement est la mise en cache du contenu statique.
Les serveurs web les plus utilisés aujourd’hui, Apache2 et Nginx, permettent très simplement en ajoutant quelques lignes de code au fichier de configuration du site de demander aux navigateurs des visiteurs la mise en cache du contenu statique comme les images, les feuilles de style ou les fichiers javascript. Avec cette technique, un visiteur télécharge une seule fois le contenu sur le serveur. Les ressources sont ainsi préservées et l’affichage d’une seconde page du site est plus rapide pour l’internaute puisque les fichiers utilisés se trouvent sur sa machine.
Un serveur peut être totalement déchargé de la transmission des fichiers statiques avec l’utilisation d’un CDN, Content Delivery Network en anglais, ou réseau de diffusion de contenu. Avec ce dispositif, les fichiers statiques délivrés aux internautes ne le sont plus depuis le serveur d’origine mais depuis le CDN, qui est un ensemble de serveurs répartis sur l’ensemble de la planète afin de transmettre le plus rapidement possible les fichiers aux internautes.
Le prestataire du CDN a pour charge la récupération des fichiers statiques du site. Lorsqu’un internaute demande à l’un de ses serveurs un fichier comme une image, le CDN télécharge une première fois le fichier demandé. Ensuite, l’image sera transmise uniquement depuis le CDN. Les ressources du serveur peuvent ainsi être employées à d’autres tâches.
Mise en cache du contenu dynamique
Les sites internet et les applications modernes sont aujourd’hui (heureusement) dynamiques. Les données affichées sont stockées et obtenues depuis des bases de données. Cette réactivité a un impact sur les ressources, et donc in fine un coût. Les requêtes effectuées peuvent s’avérer particulièrement consommatrices de mémoire et de temps processeur.
Afin de limiter cette consommation, la technique la plus simple mais aussi la plus efficace est de conserver les résultats des requêtes en mettant en place là aussi un système de cache. Il est possible par exemple pour un blog de mettre en cache les billets, les catégories et la page d’accueil jusqu’à la prochaine publication. La génération d’une page est ainsi effectuée une seule fois. Le serveur peut ainsi à la deuxième demande transmettre la page présente dans le cache sans avoir à réinterroger la base de données et exécuter les scripts nécessaires à ce questionnement.
Compression du contenu
La compression du contenu transmis aux visiteurs est une astuce permettant de préserver les ressources serveur tout en réduisant le temps de chargement pour les visiteurs.
Si la compression du contenu demande au serveur d’effectuer une opération supplémentaire avant la transmission, la consommation globale du serveur est moindre. Les données à transmettre sont en effet moins volumineuses.
Les serveurs web comme Apache2 et Nginx permettent de mettre en place cette compression en ajoutant une simple ligne à la configuration d’un site. De plus, cette fonctionnalité est « intelligente ». Si le navigateur d’un visiteur n’accepte pas de recevoir un fichier compressé alors le serveur web lui servira le fichier original.
Optimisation des scripts
Le code source d’un site internet peut être à l’origine d’une consommation excessive et superflue des ressources d’un serveur.
L’auteur du code source d’un site internet doit donc impérativement le tester et réduire au maximum son utilisation du processeur et des unités de mémoire.
Si le site est construit avec une application telle que WordPress, Magento ou Prestashop, il faut être très attentif à la qualité des extensions installées mais aussi au design utilisé. Une méthode rapide et simple pour se prémunir de déconvenues est d’effectuer des recherches en associant le nom d’une extension ou d’un thème avec des termes en relation avec la consommation de mémoire.
De nombreux sites et applications web sont écrites en PHP. Ce langage de programmation est dit interprété. Le code source doit être traduit en langage machine à chaque demande. Cette transformation est consommatrice en ressources. Il est heureusement possible de conserver le code compilé en mettant de nouveau en place un système de cache. Les dernières versions de PHP incluent une solution prête à l’emploi, OPcache. L’activation et la configuration de cette extension s’effectue en quelques secondes en éditant php.ini, le fichier de configuration de PHP.
Optimisation des images
La mauvaise utilisation des images est l’erreur la plus fréquente lorsque l’on créé son premier site internet. Les images utilisées sur le web doivent en effet être dans un format compressé tels que jpeg ou png. De plus, le dimensionnement des images est un facteur essentiel. Plus une image est « grande » et « complexe » dans sa composition, plus elle sera lourde et donc consommatrice en bande-passante et en ressources mémoires pour sa transmission.
Par exemple, un photographe souhaitant présenter son travail aura tout intérêt à concevoir un portofolio composé de miniatures de ses clichés. Ces images de petites tailles pourront renvoyer vers l’image originale via un lien. Le visiteur chargera ainsi les images de grandes dimensions de son choix et surtout ne les chargera pas toutes en une seule fois.
Lorsqu’un site doit afficher beaucoup d’images, la technique dite du lazy loading, chargement différé en français, peut s’avérer très intéressante pour préserver les ressources d’un serveur. Avec cette astuce de programmation, les images sont en effet chargées uniquement quand elles apparaissent à l’écran lors du défilement de la page par le visiteur.
Optimisation du contenu
Très souvent, les pages d’un site web sont surchargées d’éléments qui ne servent à rien. La ou les colonnes de la page peuvent ressembler à des sapins de Noël; les fameux boutons de partage des réseaux sociaux peuvent être présent à 2 ou 3 emplacements; la bannière du haut et le footer peuvent être remplis d’éléments sur lesquels l’internaute ne cliquera jamais.
Simplifier tout ceci et réduire le nombre de gadgets proposés à l’internaute, permet aussi d’optimiser les ressources et d’améliorer le site.
Conclusion
L’optimisation d’un site et d’un serveur internet permettent de maîtriser les coûts de location mais aussi de proposer aux utilisateurs un service rapide et donc une expérience agréable. C’est un premier pas vers la fidélisation. Le temps de chargement est de plus un facteur contribuant au bon positionnement de ses pages dans les moteurs de recherche. Si ce facteur n’est pas décisif, il peut s’avérer être bloquant.