Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Rendu côté serveur (SSR)

Le rendu côté serveur (SSR pour Server-side rendering en anglais) désigne la pratique qui consiste à générer le contenu HTML sur le serveur et à l'envoyer au client. Le SSR s'oppose au rendu côté client, où le client génère le contenu HTML à l'aide de JavaScript. Les deux techniques ne sont pas exclusives et peuvent être utilisées ensemble dans une même application.

Un site statique peut être considéré comme du SSR (et peut être généré à l'aide d'une infrastructure SSR), mais il existe des différences subtiles. Le contenu d'un site statique est généré à la construction, et non à la demande. Les sites statiques n'ont souvent pas besoin d'être déployés sur un serveur et peuvent être servis depuis un CDN.

La distinction SSR/CSR est plus pertinente pour les sites à contenu dynamique, par exemple du contenu mis à jour en direct ou spécifique à l'utilisateur·ice. Dans ces cas, pour chaque requête, le serveur génère le contenu HTML à la volée, car il serait irréaliste de pré-générer toutes les pages possibles. Le fichier HTML contient un contenu de page presque complet, et tout fichier JavaScript n'est là que pour permettre l'interactivité.

Les avantages du SSR incluent :

  • Accessibilité : la page est (en partie) utilisable sans JavaScript, par exemple si la connexion Internet est lente, si l'utilisateur·ice a désactivé JavaScript ou si le navigateur est ancien et ne parvient pas à exécuter JavaScript. Cependant, toute interactivité ou logique côté client ne fonctionnera pas.
  • Lisibilité par les robots : les moteurs de recherche, les robots des réseaux sociaux et autres bots peuvent facilement lire le contenu sans avoir à exécuter JavaScript. Notez que les principaux moteurs de recherche sont capables d'exécuter JavaScript, donc les sites purement CSR peuvent tout de même être indexés, mais les robots des réseaux sociaux ne le peuvent généralement pas.
  • Performance : le serveur peut savoir à l'avance quel contenu est nécessaire et récupérer toutes les données d'un coup, alors qu'en CSR, le client ne découvre souvent les dépendances supplémentaires qu'au moment de l'affichage initial, ce qui provoque une cascade de requêtes.

Le SSR et le CSR ont chacun leurs compromis en termes de performance, et un mélange des deux peut permettre de combiner les avantages des deux techniques. Par exemple, le serveur peut générer un squelette de page avec des espaces vides, et le client peut récupérer des données supplémentaires et mettre à jour la page selon les besoins.