CDN

CDN

CDN

L’utilisation des CDN, comme l’optimisation du positionnement organique, l’ajout d’une couche supplémentaire de sécurité contre les pirates informatiques sur le site web ou une meilleure utilisation des ressources du serveur d’hébergement. 

I. Qu’est-ce qu’un CDN et comment l’utiliser sur un site WordPress ? 

Vous avez probablement beaucoup entendu parler des CDN WordPress et de leur capacité à accélérer les sites web, entre autres. Rien d’étonnant à cela, puisque la vitesse de navigation sur un site web est sans aucun doute l’un des facteurs les plus importants pour améliorer l’expérience de l’utilisateur lorsqu’il parcourt les pages de votre site web.

De nos jours, une page qui met plusieurs secondes à s’afficher à l’écran fera perdre patience à l’utilisateur qui l’abandonnera pour aller chercher ailleurs ce qu’il cherche. Après tout, tout ce qui se trouve sur l’internet est à quelques clics de souris, alors pourquoi attendre quand on peut aller ailleurs avec peu d’efforts ? À son tour, l’expérience utilisateur influe sur le référencement d’un site web, car Google pénalise les pages qui prennent trop de temps à charger, précisément en raison de leur effet négatif sur ce facteur. Jusqu’à présent, c’était une raison suffisante pour se ressaisir et commencer à optimiser les images, installer un plugin de mise en cache, utiliser des plugins qui consomment peu de ressources, etc. 

Contrairement à d’autres optimisations réalisées sur des ressources ou des composants installés sur le serveur web ou WordPress, un CDN implique des serveurs externes qui interagissent avec le serveur web pour accélérer le téléchargement d’une page web et, par conséquent, la vitesse de navigation.

1.1. Qu’est-ce qu’un CDN ?

Un CDN est un ensemble de serveurs répartis dans le monde entier et connectés les uns aux autres par l’intermédiaire d’Internet. Cependant, la meilleure façon de comprendre ce qu’est un CDN et comment il fonctionne est de comprendre d’abord le processus qui est suivi, à partir du moment où un utilisateur entre une adresse dans son navigateur jusqu’à ce que la page web correspondante apparaisse à l’écran. Bien qu’il n’y ait pas de différences significatives avec d’autres systèmes de gestion de contenu, afin de simplifier la description de ce processus, supposons à partir de maintenant que nous accédons à la page web d’un site WordPress. La procédure est la suivante :

L’utilisateur saisit l’adresse dans son navigateur. Le navigateur identifie le serveur correspondant à cette adresse et demande la page web correspondante. Le serveur reçoit cette demande et WordPress génère un fichier HTML à partir des informations stockées dans ses bases de données. Le serveur envoie ce fichier HTML au navigateur qui a fait la demande. Lorsque le navigateur reçoit le fichier HTML, il lit et interprète son contenu. Au cours de cette interprétation, des références (adresses web) peuvent apparaître vers diverses ressources, telles que des fichiers de style ou des images, qui font partie du contenu ou de la structure de la page web. Pour chacune de ces références, le navigateur demande cette ressource au même serveur. Le serveur traite chacune de ces demandes en localisant la ressource correspondante sur son disque dur et en l’envoyant au navigateur. Lorsque le navigateur reçoit ces ressources, il génère et affiche la page web pour l’utilisateur. En règle générale, toutes les ressources d’une page sont hébergées sur le même serveur que celui qui a généré le fichier HTML. L’utilisation de ce type d’outil libère le serveur d’hébergement de cette dernière tâche, de sorte qu’il n’a plus qu’à traiter les requêtes du navigateur. En revanche, le CDN sera chargé de gérer les références aux ressources. 

II. Comment fonctionne un CDN ?

Si nous analysons en détail le processus décrit au point précédent, nous constaterons qu’une grande partie du travail effectué par le serveur d’hébergement n’est, paradoxalement, pas consacrée à la tâche la plus importante : la génération et la livraison de la page HTML au navigateur demandeur. Au contraire, le serveur d’hébergement consacre une grande partie de son temps de traitement à la localisation et à la fourniture de fichiers de ressources au navigateur.

Parmi ces ressources, les plus fréquentes sont les images, qui ont tendance à occuper beaucoup plus d’espace et, par conséquent, à consommer plus de bande passante que la page HTML elle-même, aussi optimisée soit-elle. Avec cette ressource, le serveur d’hébergement peut concentrer son travail sur l’essentiel : répondre aux demandes des utilisateurs, générer les fichiers HTML qu’ils demandent et les renvoyer. Jusqu’à présent, nous ne nous sommes arrêtés qu’à l’effet externe de son utilisation, mais vous commencez certainement à entrevoir certains des avantages qu’elle peut nous apporter.

Schématiquement, le principe de fonctionnement d’un CDN repose sur les 3 points suivants :

  • Disposer d’un vaste réseau de serveurs, connectés via Internet, disséminés sur l’ensemble de la géographie terrestre. 
  • Stocker localement sur ces serveurs une copie de tous les fichiers de ressources statiques que nous avons sur notre serveur d’hébergement. 
  • Interfacer et traiter les requêtes de ces fichiers de ressources lorsqu’un navigateur les demande pour générer et afficher la page web à l’utilisateur. 

2.1. Disposer d’un réseau de serveurs

Bien que nous ayons parlé jusqu’à présent du CDN au singulier, comme s’il s’agissait d’un seul élément, il s’agit en réalité d’un ensemble de serveurs, répartis sur toute la planète et connectés entre eux par l’intermédiaire d’Internet. Grâce à ce dispositif, lorsqu’un navigateur demande une ressource, celle-ci est servie par le serveur le plus proche de sa position géographique, ce qui réduit considérablement le temps nécessaire à l’envoi et à la réception des données.

La gestion et le fonctionnement internes de ce réseau de serveurs sont totalement transparents, tant pour le propriétaire du site web qui utilise le CDN que pour les utilisateurs qui naviguent sur ses pages. Pour les uns comme pour les autres, le réseau a l’apparence extérieure d’un serveur unique délivrant des fichiers de ressources sur l’internet.

2.2. Stocker les ressources localement 

C’est logique, car si le CDN (peu importe lequel de ses serveurs) doit livrer, par exemple, une image à un navigateur, il doit disposer de ce fichier image sur son propre disque dur. S’il devait le demander au serveur d’hébergement, nous n’aurions plus tous les avantages qu’il pourrait nous apporter. Cela aurait même un effet négatif sur les performances, puisqu’il faudrait faire deux demandes pour le même fichier.

La manière dont ces fichiers arrivent, sont stockés et répartis entre les serveurs du CDN, qui peut varier en fonction de la configuration du service, est également transparente pour nous, sans que nous ayons à intervenir. Par défaut, la plupart des CDN font une copie locale de tous les fichiers de ressources lorsqu’ils sont installés et activés pour la première fois. De même, le CDN lui-même est chargé de vérifier que sa copie locale est à jour de toutes les modifications apportées au fichier original sur le serveur d’hébergement.

2.3. Interfaçage et traitement des demandes de ressources 

Jusqu’à présent, nous disposons d’un réseau de serveurs et, répartis entre eux, d’une copie de tous nos fichiers de ressources. Cependant, les références (adresses web) à ces ressources dans le code HTML des pages web sont toujours liées à notre serveur d’hébergement. Cela signifie que lorsque le navigateur lit et interprète ces adresses web dans le code HTML, il les demande au serveur d’hébergement et non aux serveurs.

Par conséquent, pour que le navigateur puisse télécharger ces fichiers à partir du CDN, nous devrons modifier ces adresses web pour qu’elles pointent vers les serveurs CDN plutôt que vers le serveur d’hébergement. C’est là que nous pouvons avoir un peu peur : devons-nous changer les adresses web de TOUTES nos images ? En principe oui, mais les fournisseurs de ce type d’outils proposent des outils (comme un plugin CDN pour WordPress) qui le font automatiquement pour nous, de sorte que nous n’avons pas à nous en soucier non plus.

2.4. Modes de fonctionnement d’un CDN 

Les fournisseurs de WordPress ont le choix entre deux alternatives lorsqu’il s’agit d’interférer avec les demandes de ressources et de les traiter : 

  • La première a déjà été décrite ci-dessus : un plugin WordPress CDN, fourni par le fournisseur WordPress, qui modifie les adresses web dans le code HTML des pages web, de sorte qu’elles pointent vers les copies respectives des fichiers de ressources sur les serveurs.Une fois ce plugin installé et configuré, le processus de modification des adresses web est automatique et transparent, tant pour le propriétaire du site web que pour les utilisateurs qui naviguent sur le site, qui n’ont pas besoin de savoir où les ressources sont réellement hébergées.
  • Dans la seconde approche, les adresses web des pages ne changent pas, mais les serveurs servent directement ces adresses, comme s’ils étaient le serveur d’hébergement d’origine. Dans ce cas, le serveur CDN de WordPress agit comme un proxy, se plaçant entre le navigateur et le serveur d’hébergement.

Lorsque le serveur peut fournir la ressource demandée, parce qu’il en a une copie locale, il la livre à ce moment-là. S’il ne peut pas la fournir, soit parce qu’elle n’est pas stockée sur son disque dur, soit parce qu’il s’agit d’une copie obsolète, il redirige la demande vers le serveur d’hébergement pour qu’il la traite. Avec ce système, le serveur d’hébergement est toujours derrière le serveur CDN, ce qui permet d’obtenir une couche de sécurité supplémentaire contre les attaques externes, qui doivent d’abord passer par lui. En outre, il a la possibilité de stocker une copie statique des pages web, se comportant comme un serveur cache, ce qui est particulièrement utile lorsque nos pages de contenu changent peu souvent.

Le serveur CDN lui-même met périodiquement à jour ces copies statiques afin que les utilisateurs aient toujours accès à la dernière version des pages. 

III. À quoi sert un CDN ? 

Maintenant que nous connaissons ce terme et comment il fonctionne, voyons quels sont les services qu’un CDN nous fournit dans WordPress et comment nous pouvons en tirer parti pour améliorer le temps de réponse de notre serveur et, par conséquent, la vitesse de navigation de nos utilisateurs :

3.1. Stockage et livraison de fichiers de ressources statiques 

Il s’agit essentiellement des images et des fichiers CSS. C’est la principale caractéristique des serveurs et presque leur raison d’être. Comme indiqué plus haut, en disposant d’une copie locale des ressources statiques, le serveur d’hébergement n’a pas à les envoyer au navigateur lorsqu’un utilisateur accède à l’une de ses pages web, ce qui lui permet de se consacrer à d’autres tâches. 

3.2. Mise en cache des ressources dynamiques

Les ressources dynamiques sont celles qui sont générées par un système de gestion de contenu à chaque fois que le site web est visité. Par exemple, dans WordPress, des pages web sont générées chaque fois qu’un utilisateur y accède. Lorsque le site web a beaucoup de visiteurs, ce processus est répété en permanence, ce qui affecte les performances du serveur d’hébergement.

Pour éviter cela, un CDN peut être configuré pour WordPress, qui stocke une copie statique de ces pages dynamiques et agit comme un cache lorsque plusieurs utilisateurs naviguent sur les mêmes pages. Il se charge de maintenir vos copies statiques locales à jour avec le serveur d’hébergement.

À ce stade, il convient de noter que tous les CDN WordPress n’offrent pas ce service et que, dans la plupart des cas, il s’agit généralement d’un service payant. 

3.3. Réponse plus rapide pour les utilisateurs d’autres pays

Notre serveur d’hébergement est un serveur, ou un petit ensemble de serveurs si le site web est de grande taille, situé en un seul lieu géographique. Ce serveur traite les demandes des utilisateurs du monde entier. 

Plus l’utilisateur est éloigné, plus le temps de transit des données entre le navigateur et le serveur est important, et inversement. Avec cette ressource, ce problème disparaît, car ses serveurs sont répartis sur tous les continents.

Lorsqu’un utilisateur accède à notre site web, il est servi par le serveur CDN le plus proche de son emplacement physique, ce qui réduit considérablement le temps de transit et, par conséquent, le temps nécessaire au téléchargement et à la navigation sur le site web.

3.4. Optimiser l’utilisation des ressources du serveur d’hébergement

Dans la première section de cet article, nous avons vu à quoi ressemblait le processus complet de génération et de téléchargement d’une page web, dans lequel une grande partie de la capacité du serveur d’hébergement, comme le temps de traitement et la bande passante, était consacrée à l’attention et au téléchargement de fichiers de ressources statiques.

En externalisant cette décharge, le serveur peut consacrer un plus grand pourcentage de sa puissance à ce qui est vraiment important : servir les utilisateurs et générer les pages web qu’ils visitent. De cette manière, il pourra s’occuper d’un plus grand nombre d’utilisateurs et servir plus de pages web sans affecter négativement le temps de téléchargement et de navigation. 

3.5. Protection contre les attaques de pirates informatiques

Notamment les attaques par déni de service (DoS ou DDoS), qui consistent à effectuer un grand nombre d’accès simultanés au serveur, dans le but de le saturer afin qu’il ne puisse plus répondre aux demandes des utilisateurs légitimes.

Les serveurs CDN disposent de mécanismes permettant de détecter ce type d’attaque et de la contrer, afin d’éviter ou de limiter l’effet qu’elle peut avoir sur le fonctionnement normal du serveur d’hébergement. Cependant, un CDN WordPress ne doit pas être utilisé comme un outil de protection primaire contre de telles attaques, car le serveur d’hébergement reste accessible via l’internet et les pirates peuvent trouver des moyens d’y accéder directement, en contournant les serveurs. Par conséquent, pour éviter ces attaques directes, vous devriez toujours avoir un hébergement web de qualité. 

IV. Un CDN uniquement pour les sites web WordPress ? 

WordPress est le système de gestion de contenu le plus utilisé pour pratiquement tous les types et toutes les tailles de sites web, des blogs d’articles aux plateformes de commerce électronique contenant tout ce dont vous avez besoin pour faire des achats en ligne. 

Cette hégémonie signifie que les fournisseurs de services de ce type consacrent davantage d’efforts aux solutions adaptées aux sites web WordPress, ne serait-ce que parce qu’ils ont un volume plus important de clients utilisant ce gestionnaire. En outre, la communauté des utilisateurs de CDN WordPress est également beaucoup plus importante, de sorte qu’il est également plus facile et plus rapide de trouver des solutions aux problèmes que d’autres utilisateurs ont déjà rencontrés, résolus et partagés avec la communauté.

Toutefois, cela ne signifie pas qu’il ne peut pas être utilisé avec d’autres systèmes de gestion de contenu. Les fournisseurs de CDN proposent des plugins, ou des modules permettant d’intégrer leurs serveurs aux principaux systèmes de gestion de contenu du marché, et pas seulement aux CDN pour WordPress. 

Dans les cas où ces fournisseurs ne proposent pas de plugin pour un système de gestion de contenu, vous pouvez contacter leur service d’assistance ou la communauté des utilisateurs pour demander s’il existe une alternative viable et facile à mettre en œuvre. D’autre part, même si un fournisseur particulier ne propose pas de solution ou de support pour un CMS particulier, il existe un tel éventail de fournisseurs sur le marché que l’un d’entre eux proposera certainement une solution pour ce CMS.  

CONCLUSION SUR LES CDN 

Il peut y avoir plusieurs raisons d’envisager l’utilisation des CDN, comme l’optimisation du positionnement organique, l’ajout d’une couche supplémentaire de sécurité contre les pirates informatiques sur le site web ou une meilleure utilisation des ressources du serveur d’hébergement. Malgré la complexité technique de leur fonctionnement, les fournisseurs ont mis en place des mécanismes et des outils d’installation et de configuration faciles pour les systèmes de gestion de contenu les plus populaires, y compris les CDN pour WordPressBien que de nombreux fournisseurs proposent des plans gratuits, la plupart ont une limite de temps, après quoi un plan payant est nécessaire, en fonction du niveau de trafic et de visites sur le site web.

Ils peuvent fonctionner de deux manières : en réécrivant les URL des fichiers de ressources statiques du site web ( comme KeyCDN ou AWS CloudFront ) ou en se comportant comme un serveur proxy ( comme CloudFlare ). Du point de vue du propriétaire du site web, les CDN pour WordPress qui se comportent comme un proxy sont un peu plus faciles à installer et à configurer. En outre, les deux CDN les plus populaires proposent des plans gratuits sans limite de temps (bien qu’ils imposent une limite au trafic web).