Introduction
Historique de l’évolution du Web
Le Web n’a pas toujours ressemblé à ce qu’il est actuellement. Il est intéressant d’en avoir une vue d’ensemble pour comprendre l’état actuel des choses.
Au début des années 1990, on assiste à la naissance et à la démocratisation du Web et de son langage associé : HTML (HyperText Markup Language). Ce dernier, très accessible, permet de créer des pages web statiques pour afficher du contenu. Il s’agit d’un langage de balisage hiérarchisé (on parle parfois de structure en arbre), connu par n’importe quel développeur moderne.
Mais très vite, ce balisage statique atteint ses limites et les acteurs de l’informatique veulent offrir une expérience plus interactive à l’utilisateur. Beaucoup de tentatives sont faites afin de dynamiser les contenus proposés. Au milieu des années 1990, une solution émerge : JavaScript. Considéré longtemps comme le langage complémentaire de HTML, JavaScript permet de réaliser de petites animations (comme des étoiles qui suivent le curseur de la souris) et de proposer à l’utilisateur une certaine interactivité (comme l’affichage d’alertes), mais cela reste limité. D’ailleurs, pour proposer une interaction maximale, les développeurs préfèrent alors développer un site web complet en Flash, technologie propriétaire d’Adobe qui nécessite un plugin pour fonctionner.
Cependant, cela ne change pas le fonctionnement intrinsèque du Web, qui est toujours découpé en deux parties : le front-end, c’est-à-dire l’aspect visible, à base de HTML et de JavaScript ; et le back-end, côté serveur, écrit dans un langage de programmation dédié et généralement plus évolué (comme Java). Les besoins avancés nécessitent des applications de bureau, et nombre de technologies permettent d’atteindre cet objectif (Java, .NET, Ruby, etc.).
Les allers-retours sont donc fréquents entre les clients et les serveurs, car chaque interaction de l’utilisateur provoque une requête au serveur de la ressource concernée....
Le fonctionnement d’un site internet
La version Server de Blazor utilise un protocole particulier (WebSocket). Pour être sûr de bien saisir sa richesse et mieux comprendre les apports techniques de cette version, il est important de s’attarder quelques instants sur le fonctionnement d’un site web.
1. Les langages côté serveur
Lors de la saisie d’une URL dans la barre d’adresse, un annuaire DNS est contacté, afin d’établir le lien entre ce qui a été saisi et l’adresse IP réelle du serveur cible, sur lequel est stockée physiquement la ressource. Une fois cette information obtenue, une requête HTTP de type GET est émise vers le serveur, en demandant de servir la page spécifiée dans l’URL ou, en l’absence de cette dernière, la page par défaut.
La requête GET ouvre un canal de communication à l’aide du protocole HTTP, demandant ainsi que le serveur évalue la page et renvoie le code HTML demandé. Avec les langages dits serveur, comme ASP.NET ou encore PHP, le serveur exécute le code et génère à la volée le code HTML pour renvoyer ce dernier. Le code ASP.NET reste localisé sur le serveur et ne sert qu’à créer le flux HTML correspondant. Dans le cadre d’un développement en ASP.NET MVC par exemple...