Chaque fois que vous visitez un site Web, votre na­vi­ga­teur doit assurer le rendu de cette page afin de pouvoir la présenter de manière at­trayante et fournir le degré d’in­te­rac­ti­vité que vous souhaitez. Selon l’approche de pro­gram­ma­tion adoptée pour le projet Web, les scripts dy­na­miques et le code statique peuvent toutefois être traités de façon très dif­fé­rente. Nous allons examiner pré­ci­sé­ment les trois approches es­sen­tielles : le server-side rendering, le client-side rendering ou la gé­né­ra­tion de site statique.

Le server-side rendering (SSR)

Le server-side rendering (« rendu côté serveur »), ou encore le server-side scripting (« script côté serveur »), est une technique utilisée pour dé­ve­lop­per des sites Web avec des éléments dy­na­miques et des ap­pli­ca­tions Web. Elle est basée sur l’uti­li­sa­tion de scripts, qui fonc­tion­nent sur le serveur Web en utilisant les langages de scripts ap­pro­priés lorsque vous demandez le contenu cor­res­pon­dant dans le na­vi­ga­teur. Toutes les ins­truc­tions HTML, CSS et Ja­vaS­cript sont chargées com­plè­te­ment dès la demande initiale.

Note

Le code source des scripts côté serveur demeure com­plè­te­ment invisible aux yeux de l’uti­li­sa­teur !

Au début du World Wide Web, le server-side rendering a été exécuté presque ex­clu­si­ve­ment en écrivant des pro­grammes de dé­ve­lop­peurs en C et Perl ainsi que des scripts de ligne de commande. Ces ap­pli­ca­tions ont été exécutées et in­ter­pré­tées par le système d’ex­ploi­ta­tion du serveur, après quoi le résultat peut être transmis du serveur Web au na­vi­ga­teur accédant via l’interface de pas­se­relle commune (CGI).

Les langages de pro­gram­ma­tion pour le server-side rendering sont les suivants :

  • Java
  • Ruby
  • ASP.NET
  • Perl
  • PHP
  • Python
  • Node.js ou Ja­vaS­cript

Quels sont les avantages du server-side scripting ?

Le grand intérêt du SSR est que les pages Web sont pré­char­gées par le serveur. Du point de vue de l’uti­li­sa­teur, la demande est traitée quasiment sans délai, de sorte que la page appelée s’affiche très ra­pi­de­ment. Cette approche se traduit par une vitesse de char­ge­ment optimisée, notamment quand il s’agit de sites Web statiques. Le char­ge­ment de page rapide s’ac­com­pagne également d’un effet positif sur l’éva­lua­tion par les moteurs de recherche, car les robots peuvent capturer les pages plus fa­ci­le­ment ou plus ra­pi­de­ment grâce au server-side rendering.

Quels sont les in­con­vé­nients du server-side rendering ?

Le server-side scripting exige que le serveur livre des pages HTML pré­char­gées pour chaque demande. Quand un client envoie con­ti­nuel­le­ment d’autres demandes au serveur Web pour envoyer des in­for­ma­tions ac­tua­li­sées à l’uti­li­sa­teur, cela se traduit par une sol­li­ci­ta­tion élevée de la capacité du serveur. Par con­sé­quent, le SSR ne convient pas aux sites Web qui pré­sen­tent un grand nombre de demandes ou qui né­ces­si­tent un grand nombre d’in­te­rac­tions avec les uti­li­sa­teurs. Pour de tels projets, le temps de réponse du serveur Web an­nu­le­rait l’avantage offert par le char­ge­ment de page optimisé.

Conseil

Un en­vi­ron­ne­ment d’hé­ber­ge­ment sécurisé, stable et puissant est la base du succès de votre projet Web. Optez dès aujourd’hui pour l’hé­ber­ge­ment Web de IONOS et bé­né­fi­ciez d’une solution évolutive en respect des normes de sécurité les plus strictes et de votre propre domaine !

Le Client-Side-Rendering (CSR)

La technique de client-side rendering (« rendu côté client »), ou client-side scripting (« script côté client »), est pri­vi­lé­giée par les dé­ve­lop­peurs Web pour réaliser des projets intégrant des contenus dy­na­miques. Dans ce cas, les scripts pro­gram­més ne sont pas exécutés et traités par le serveur, mais par le na­vi­ga­teur accédant. Pour cela, il est né­ces­saire soit d’intégrer les scripts dans le document HTML ou XHTML, soit de les écrire dans un fichier séparé qui est associé au document.

Si l’uti­li­sa­teur appelle une page Web avec des scripts côté client, le serveur Web envoie le document HTML ainsi que les scripts au na­vi­ga­teur qui les exécute lui-même et présente le résultat final. Les scripts côté client peuvent également contenir des ins­truc­tions concrètes pour le na­vi­ga­teur Web, comme dé­ter­mi­ner comment il doit réagir face aux actions de l’uti­li­sa­teur, par exemple en cliquant sur un bouton. Souvent, le client n’a pas besoin de rétablir une connexion au serveur Web.

Le langage de client-side scripting le plus important est Ja­vaS­cript.

Note

En théorie, tout langage de script approprié peut être utilisé pour le client-side rendering. Toutefois, pour que le projet puisse être chargé par tous les dif­fé­rents groupes d’uti­li­sa­teurs ul­té­rieu­re­ment, tous les na­vi­ga­teurs concernés devraient également pouvoir le prendre en charge, et seul Ja­vaS­cript en est capable ac­tuel­le­ment.

Quels sont les avantages du client-side scripting ?

Le CSR constitue une approche in­té­res­sante, en par­ti­cu­lier pour les projets Web pré­sen­tant beaucoup d’in­te­rac­tions avec les uti­li­sa­teurs. Si le processus de char­ge­ment initial du site Web est re­la­ti­ve­ment long, le rendu des pages suivantes en est d’autant plus rapide. L’ex­pé­rience uti­li­sa­teur est beaucoup plus avan­ta­geuse qu’avec le server-side rendering, car tous les scripts et les contenus ne doivent pas être chargés d’une seule reprise et en­tiè­re­ment à chaque appel d’une nouvelle page par l’uti­li­sa­teur.

Étant donné que les scripts sont exécutés dans le na­vi­ga­teur des uti­li­sa­teurs, l’uti­li­sa­teur a la pos­si­bi­lité de voir le code source con­trai­re­ment aux scripts côté serveur.

Quels sont les in­con­vé­nients du client-side rendering ?

L’accent mis sur le client-side scripting est associé à deux problèmes décisifs : d’une part, il est plus difficile pour les moteurs de recherche de capturer et d’indexer les pages. Les robots de Google sont en mesure de faire cela, mais les con­di­tions requises pour le SEO ne sont pas remplies dans ce cas, en par­ti­cu­lier parce que beaucoup d’autres moteurs de recherche ne sont souvent pas en mesure du tout d’indexer les pages rendues côté client.

D’autre part, le client-side scripting exige la prise en charge de Ja­vaS­cript par le na­vi­ga­teur. Ceci est gé­né­ra­le­ment le cas, mais dif­fé­rentes ex­ten­sions de na­vi­ga­teur dis­po­nibles peuvent bloquer les scripts car les pop-ups et les outils de traçage qui sont basés sur le rendu côté client peuvent avoir un impact négatif sur les temps de char­ge­ment.

Gé­né­ra­tion de site statique (SSG ou Static-Site-Ge­ne­ra­tion)

La tendance des dernières années est favorable au rap­pro­che­ment des sites Web avec les ap­pli­ca­tions sur le plan de la pré­sen­ta­tion : un haut niveau de réac­ti­vité et d’in­te­rac­ti­vité est tout aussi important qu’un large éventail de contenus. Les uti­li­sa­teurs ont besoin de temps de char­ge­ment rapides et d’une ex­pé­rience uti­li­sa­teur trans­pa­rente, où les pages ne doivent pas toujours être chargées à nouveau par exemple. Dans le même temps, les res­pon­sables de site Web ne perdent pas de vue l’aspect du SEO et tentent également de se placer en tête des clas­se­ments de Google.

Une approche qui entend faire converger les exigences men­tion­nées est la gé­né­ra­tion de site statique. Des pages HTML sont créées ici à l’aide de gé­né­ra­teurs de site statique qui font appel à des modèles afin de pouvoir être con­sul­tées à tout moment lorsqu’un client envoie une demande. Con­trai­re­ment au server-side rendering, le rendu SSG a encore lieu de manière anticipée (avant la demande du client), ce qui maintient la vitesse de charge aussi faible que possible.

Les gé­né­ra­teurs de site statique les plus po­pu­laires sont par exemple :

  • Jekyll
  • Hugo
  • Next
  • Gatsby
  • Gridsome
  • Nuxt
  • Hexo
  • Eleventy
  • Jigsaw
  • Vuepress
Conseil

Vous trouverez une liste détaillée des solutions dans notre article sur les gé­né­ra­teurs de site statique !

Quels sont les avantages de la gé­né­ra­tion de site statique ?

La gé­né­ra­tion de site statique abat ses atouts en par­ti­cu­lier dans les projets qui ont beaucoup de contenu qui ne change pas ré­gu­liè­re­ment. Les exemples typiques à ce sujet sont une page d’accueil per­son­nelle ou un blog qui a ty­pi­que­ment peu de contenu dynamique et qui profite des avantages de la vitesse su­pé­rieure de prérendu (c’est-à-dire le pré­char­ge­ment de page) offerts par un gé­né­ra­teur de site statique. En outre, les projets SSG offrent peu de surfaces d’attaque car le risque potentiel est limité au simple clic lors de l’appel de la page par le client.

Conseil

Déployer des sites Web statiques di­rec­te­ment via GitHub ? Aucun problème, grâce à l’offre Deploy Now de IONOS. Déployez vos sites Web statiques via GitHub sans li­mi­ta­tion de version ou de bande passante di­rec­te­ment sur une in­fras­truc­ture géo­re­don­dante protégée contre les attaques DDoS !

Quels sont les in­con­vé­nients de la gé­né­ra­tion de site statique ?

Le prérendu dans le cadre du SSG ne s’ac­com­pagne pas uni­que­ment d’une série d’avantages : L’approche se présente comme étant ex­trê­me­ment peu pratique lorsqu’un projet Web est sujet à des chan­ge­ments réguliers, qu’ils soient de nature technique ou qu’ils touchent au contenu. Les pages statiques du projet Web doivent être à nouveau « pré­char­gées » à chaque mo­di­fi­ca­tion. Plus le projet est important, plus ce processus de cons­truc­tion prend du temps, ce qui explique pourquoi la gé­né­ra­tion de site statique ne convient pas aux sites Web com­por­tant un grand nombre de pages statiques.

SSR vs CSR vs SSG : pour résumer

Le server-side rendering offre une ex­cel­lente vitesse de char­ge­ment de page, qui est en revanche associée à la sol­li­ci­ta­tion élevée du serveur Web. Le client-side rendering fonc­tionne in­ver­se­ment et ménage le serveur en affichant la majeure partie de la page dans le na­vi­ga­teur, à condition que l’uti­li­sa­teur n’ait pas bloqué Ja­vaS­cript. La gé­né­ra­tion de site statique protège à la fois le serveur et le client et garantit une livraison rapide du contenu à travers l’approche de prérendu, à moins qu’il ne s’agisse d’un contenu in­te­rac­tif et soumis à des chan­ge­ments constants.

Ainsi, les trois stra­té­gies pour le rendu des projets Web ont toutes leurs avantages et in­con­vé­nients. Pesez le pour et le contre quant aux fonc­tion­na­li­tés cor­res­pon­dant le mieux à votre projet afin de trouver la meilleure approche pour votre ap­pli­ca­tion Web.

Note

Des temps de char­ge­ment corrects, une in­te­rac­ti­vité rapide et une mise en page stable comptent parmi les in­di­ca­teurs les plus im­por­tants de Core Web Vitals de Google. Ainsi, vous pouvez aisément vérifier que vous avez choisi la stratégie de rendu ap­pro­priée pour votre projet Web au travers des éva­lua­tions du service Google, qui repose en­tiè­re­ment sur les données uti­li­sa­teur.

Aller au menu principal