Aller au contenu principal

Rendu client vs. serveur (retour)

Voici le matériel présenté en début de session à ce sujet.

Le rendu fait référence à la manière dont le contenu d'une page Web est généré et affiché dans le navigateur de l'utilisateur. Il existe deux approches principales pour le rendu: le rendu côté client et le rendu côté serveur. Chaque approche présente des avantages et des inconvénients en fonction des besoins de l'application.

  1. Rendu côté client (Client-side rendering): le rendu côté client signifie que le contenu de la page est préparé, généré et affiché directement dans le navigateur de l'utilisateur à l'aide de JavaScript ou WASM. Le serveur envoi initialement une page quasi vide à partir de laquelle des appels d'API sont faits au serveur pour obtenir les données. Le HTML est préparé et affiché à partir de ces données directement dans le navigateur du client.

    • Avantages: applications plus réactives car la majeure partie des changements sont gérés au niveau du client.
    • Inconvénients: Nécéssite une logique client et une logique serveur, forte dépendance à JavaScript (sauf avec Blazor) et possiblement moins favorable au niveau du référencement dans les moteurs de recherche (Google).
  2. Rendu côté serveur (Server-side rendering): le rendu côté serveur signifie que le contenu de la page est généré et préparé sur le serveur avant d'être envoyé au navigateur de l'utilisateur sous forme de HTML statique. Le serveur traite les requêtes, génère le contenu et renvoie un fichier HTML complet contenant tous les éléments de la page.

    • Avantages: simple et efficace puisque le serveur retourne du HTML que le navigateur affiche, faible dépendance à JavaScript et meilleur pour le référencement dans les moteurs de recherche (SEO).
    • Inconvénients: interactions possiblement moins fluides avec l'interface puisque la majeure partie des interactions demnandent de recharcher la page. Il est possible de pallier à cette lacune cependant via des librairies comme htmx.