Appearance
Evolution historique des technologies web
Présentation
Cette page revient brièvement sur l'évolution d'Internet depuis l'invention du Web dans les 1990 jusqu'à aujourd'hui, enfin de permettre de situer les technologies Web dans un contexte historique.
1990 : Les débuts du web
L'année 1993 voit la mise en service du premier site Web public, par le CERN, ouvrant sur le Web tel que nous le connaissons encore aujourd'hui. S'appuyant sur le protocole HTTP, le projet World Wide Web du CERN fournit le premier navigateur web (en lignes de commande) disponible dans le domaine public. Il y est possible d'accéder au site via une URL, c'est-à-dire un adressage web permettant depuis un nom de domaine (en chaînes de caractères) d'accéder à une machine présentant une certaine adresse IP. Les sites sont alors rédigés dans ce qui constituera la première version du format de données HTML et des feuilles de style CSS.
INFO
📖 Une reconstitution du premier site web du CERN est aujourd'hui disponible sur le site du CERN. Une reconstitution de l'interface du premier navigateur web est également disponible.

Dès la même année, le NCSA publiera le code du premier navigateur internet graphique. D'abord baptisé Mosaic, il sera renommé Netscape en 1994 et dominera le marché de la navigation web jusqu'à la fin des années 90, où il sera détrôné par Internet Explorer de la société Microsoft. Avec Netscape, c’est l'avènement en 1995 d'une nouvelle technologie majeur du web : le Javascript. Incorporé au navigateur Netscape en 1996, le langage sera repris par tous les navigateurs qui suivront pour devenir une norme en programmation web encore valable aujourd'hui.

L'usage du web va très rapidement se développer, motivé en particulier par les sociétés à but commercial. Les premiers moteurs de recherche, comme Yahoo créé en 1994, permettent une recherche plus efficace sur le web et des firmes comme McDonald, Coca-Cola ou Apple ouvrent rapidement leur premier site web. En 1995 est créé en France le site d'EBay, ainsi que le site d'Amazon aux Etats-Unis. On compte près de 23 500 sites Web dès 1995, pour près d'1.1 millions en 1997.

En 1994 est également créé le langage PHP, et le système de base de données MySQL. La syntaxe particulièrement adaptée au Web du PHP et les possibilités offertes par les bases de données ouvriront rapidement la porte à la création de sites web dits dynamiques, se multipliant vers la fin des années 90.
2000 : la bulle internet
Début des années 2000, l'accès et l'usage du Web se démocratise dans les pays développés. De plus en plus de foyers sont équipés d'un ordinateur (45% en 2004), et les technologies Web gagnent en popularité et accèdent à un premier niveau de maturité.
A côté des pages Web statiques fournissant un service similaire à chaque utilisateur, on voit de plus en plus apparaître des sites dynamiques adaptant leur contenu à chaque usager. Sur un site statique, il s'agit simplement d'aller récupérer un fichier HTML présent sur un serveur, lui-même convoquant des fichiers CSS et Javascript si nécessaire. Sur les sites dynamiques, le contenu de la page est d'abord adapté, en fonction des informations transmises avec la requête HTTP. Un fichier HTML est alors construit à la volée pour correspondre aux besoins précis de chaque utilisateur.
Ce système est rendu possible par la prise en charge par un programme de la requête côté serveur. On parle alors de back-end applicatif. Ce back-end peut être développé en différents langages de programmation. Le PHP et le Java (JSP) sont alors les plus courants. Pour adapter et construire ces pages dynamiquement, ces programmes vont généralement récupérer des informations dans des bases de données, qui vont être incluses au contenu des pages afin de les personnaliser.

Cette gestion dynamique permet aux services web de grandement se diversifier : cela permet aux sites e-commerce comme EBay de créer des comptes utilisateurs et ainsi plus facilement proposer à leur client d'acheter sur internet. Cela ouvre la porte à de nombreux services d'interaction sociale : les premiers forums et blogs permettent d'enregistrer les publications de leurs utilisateurs et ainsi de converser, ou rechercher les publications d'autres utilisateurs. De la même façon, le site Wikipédia offre à chaque utilisateur la possibilité de contribuer au regroupement des connaissances.

Côté client, sur la machine de l'utilisateur, le HTML est dédié à structurer le contenu de la page. Le CSS renseigne sur la mise en page stylistique de ce contenu. Le Javascript lui est alors principalement exploité pour la création d'animations visuelles. Il permet par exemple la création de carrousels d'images, ou le changement de couleur d'un élément à son survol. Pour faciliter son usage, la librairie Javascript JQuery verra le jour en 2006. Elle permettra notamment un parcours et une modification plus intuitive des éléments du DOM, et offrira une palette d'outils permettant de créer plus facilement des animations visuelles comme des fondus.
Plus marginalement, le Javascript commencera à également être utilisé pour récupérer et modifier à postériori des informations sur le serveur (via l'utilisation d'Ajax notamment) sans quitter la page courante. Il commencera également à être utilisé pour stocker directement des informations grâce aux données de session ou encore des cookies, permettant de conserver directement sur la machine du client des données à moyen terme.
A partir de 2007, l'arrivée des premiers smartphones grand public, puis plus tard des tablettes, vont entraîner une diversification des supports d'accès au web. Un nouvel enjeu se présente, celui de rendre correctement accessible une page web pour différents formats d'écran. Un site se doit désormais d'être responsive.

Parallèlement à ce modèle de développement web, où chaque site est créé de toutes pièces, ce qu'on appelle le développement "from scratch", des solutions viennent proposer une alternative dans le développement de sites internet : les CMS (Content management system). Les CMS embarquent un ensemble pré-programmé de fonctionnalités et de services permettant d'afficher et de modifier des contenus Web. Le CMS Wordpress, créé en 2003, sous licence libre s'imposera assez rapidement comme le CMS le plus populaire. Son succès est principalement dû à la riche bibliothèque de thèmes et de modules Javascript développés par sa communauté, et permettant rapidement la création d'un site e-commerce complet.
Les CMS présentent généralement de nombreuses fonctionnalités directement paramétrables depuis une interface ****Web sur le site lui-même, appelé back-office. Ce type d'édition, dans lequel il n'est pas nécessaire de programmer est appelé édition WYSIWYG. Mais les CMS offrent également, pour la plupart, la possibilité aux créateurs de sites Web de venir modifier ou compléter leur code afin de satisfaire des besoins plus spécifiques.
Les CMS représentent aujourd'hui près de 40% des sites web dans le monde. Si leur utilisation rend souvent plus long la création de site web fournissant des services spécifiques et peu répandus, les CMS sont un moyen très efficace de développer des sites pour des usages courants comme créer un site e-commerce, un site vitrine ou encore un portfolio, en s'appuyant des fonctionnalités fiables et éprouvées par leur communauté.

La fin des années 2000 verra enfin la naissance des premiers réseaux sociaux, avec Facebook en 2004 et Twitter en 2007. Ces nouveaux services, basés sur un modèle d'exploitation des données de leurs utilisateurs, ouvriront la porte à des technologies plus à même de gérer la réactivité et l’instantanéité dans les échanges d'informations que nécessitent leurs services.
Le marché du Web explose. On dénombre en 2009 près de 238 millions de sites Web. La consommation de contenus Web croit de façon exponentielle. Chaque année des start-up voient le jour, et enregistrent plusieurs millions de chiffre d'affaires après seulement quelques années d'activité. Rapidement, le marché se concentre autour d'un nombre réduit de sociétés dominant de très loin le secteur : les GAFAM.
2010 : l'aire de la data
Longtemps limités par la puissance des machines de leurs utilisateurs, l'évolution de la mémoire et des processeurs invite davantage, dès la fin des années 2000, les sites web à pouvoir exploiter les capacités de calcul côté client. La démocratisation du réseau 3G, puis l'arrivée progressive de la 4G dès 2011, et de la fibre optique en France garantissent des infrastructures en mesure de supporter des débits d'informations bien plus grands. Il est désormais possible de consulter des vidéos de haute résolution en temps réel, mais aussi d'échanger des photos rapidement via le Web.
C'est alors l'émergence de plateformes de streaming numérique comme Dailymotion et YouTube, créées fin des années 2000.

Parallèlement, les sociétés dominant l'industrie du Web investissent pour le développement de technologies plus adaptées au développement de leurs nouveaux services. Google annonce en 2009 un nouveau framework Javascript nommé Angular.js, qui sera rapidement rejoint par React.js, présenté par Facebook en 2013. Ces frameworks visent alors à faciliter le développement de services Web sous un nouveau modèle, celui des Single Page Applications (SPA).
Les SPA invitent à considérer autrement les échanges d'informations entre machine client et machine serveur. Auparavant, l'idée était qu'à chaque fois que l'utilisateur souhaitait passer d'un contenu à un autre sur un même site Web, le navigateur faisait une requête côté serveur afin d'obtenir l'intégralité d'une nouvelle page HTML. L'ancienne page était alors intégralement supprimée par le navigateur. Les échanges où le serveur se contentait de transmettre des données brutes, au format JSON par exemple, restaient souvent limités.

Wikipédia est encore aujourd'hui un bon exemple de ce modèle : lorsque vous cliquez sur un lien d’une page Wikipédia pour vous rendre sur une autre page du site, l'intégralité de la page est rechargée. Si votre réseau est suffisamment lent, vous remarquerez peut-être que votre page redevient blanche le temps que la nouvelle page soit récupérée. Si vous essayez également de taper un mot dans la barre de recherche en en-tête, puis que vous changez de page, la barre de recherche redeviendra vide, alors qu'elle est commune à la plupart des pages du site.
Difficile d'imaginer donc pour le site Facebook de développer un service comme le sien selon ce modèle. Les canaux de conversations instantanées, les flux d'actualités qu'il est possible de scroller à l'infini, ou encore les multitudes de petites interactions possibles au sein du site répondent à un besoin d'immédiateté auquel ne colle pas bien celui des applications multi-pages.

Les SPA consistent elles à charger l'intégralité du code HTML nécessaire à l'intégralité du site lors de la première requête utilisateur. Il n'est alors par la suite que question de venir transmettre et récupérer des données brutes, généralement dans un format JSON, pour actualiser les contenus de l'unique page existante.
Attention, il est important de comprendre que le concept de Single Page renvoie ici au fait que l'ensemble des contenus HTML sont concentrés dans un seul échange entre client et serveur. Cela ne signifie pas que visuellement le site présentera une unique page à ses utilisateurs. Au contraire, le propre des SPA est souvent de disposer d'un système de routage en Javascript, côté client, permettant de "simuler" le passage d'une page à une autre sans en réalité demander de code HTML, CSS et Javascript supplémentaire au serveur.
Le modèle des SPA va peu à peu se populariser dans les années 2010. De nombreux autres frameworks Javascript vont voir le jour pour faciliter leur création, comme le framework Vue.js en 2014. Si les SPA présentent des avantages, comme offrir une meilleure gestion des services ayant besoin d'immédiateté, ou encore faciliter l'usage des sites en version hors-ligne, elles présentent également des points faibles. En effet, les SPA nécessitent généralement de plus gros échanges au premier lancement du site ce qui présente de nouveaux problèmes de performance. Il y est également plus difficile de gérer certaines failles de sécurité car davantage de code est délivré côté client.
Le modèle SPA ne correspond donc pas à tous les sites. Il se montre toutefois particulièrement adapté pour de nombreux services modernes, nécessitant notamment un accès synchronisé par plusieurs utilisateurs : des sites comme Figma, Whimsical, Discord ou encore les Google Documents sont de bons exemples de sites exploitant le modèle des SPA.

Visant à étendre les usages initialement prévus du Javascript, les SPA entraînent une évolution du langage Javascript vers une forme plus hybride. En 2009 sort l'interpréteur Node.js permettant l'exécution de code Javascript en dehors de son usage au sein des navigateurs web. Node.js permet l'émergence de nouveaux outils, comme les bundlers permettant de compiler différents fichiers de programmation en fichier Javascript unique, souvent plus léger et adapté aux navigateurs les plus anciens. Les bundlers permettent également aux développeurs de pouvoir programmer avec une syntaxe différente qui sera ensuite traduite par le bundler en code Javascript lisible pour un navigateur. C'est sur cette fonctionnalité que s’appuieront les frameworks Angular.js, React.js et Vue.js, aujourd'hui dominant le marché des frameworks Javascript front-end. Webpack est aujourd'hui le module bundler open-source le plus utilisé.
Node.js offre également la possibilité de programmer la partie back-end d'un site Web en Javascript.
Les capacités des machines client augmentant, il est désormais possible d'imaginer de la génération d'éléments 3D au sein des navigateurs en temps réel, grâce à l'interface WebGL et CSS 3D. Three.js devient une librairie très populaire pour le développement de simulations 3D ou de jeux 3D sur le Web.

2020 : des technologies toujours en évolution
Si aujourd'hui les technologies Web ont déjà atteint un haut niveau de sophistication, certains prévoient déjà d'autres importantes mutations dans les années à venir. L'évolution récente des systèmes d’intelligence artificielle et des technologies blockchain pourrait permettre de faire converger le Web vers une interconnectivité toujours plus forte entre ses services, et à l'émergence de nouvelles formes d'identité numérique construites autour de systèmes décentralisés. Si nous sommes loin de nous retrouver à vivre dans un monde virtuel numérique, il semble aujourd'hui acquis pour beaucoup que le Web gagnera encore de l'importance à l’avenir dans des secteurs comme l'économie, le divertissement ou encore l'éducation.
Dans un avenir moins lointain, ces dernières années ont vu l'émergence de nouveaux frameworks Javascript permettant entre autre la construction de modèles hybrides entre application single-page et multi-pages. Les frameworks intègrent désormais le langage Typescript, permettant de programmer en Javascript avec un typage statique, comme en C++. Le framework Next.js, basé sur React.js, ou Nuxt.js, basé sur Vue.js, sont des exemples de ces innovations récentes en termes de développement front-end.
Enfin, l'évolution du standard WebAssembly par le World Wide Web depuis 2015 ouvre la possibilité d'exécuter du code compilé au sein des navigateurs permettant une performance accrue des programmes, approchant celles des applications natives. L'interface de conception de Figma exploite par exemple cette technologie pour garantir une expérience de création plus fluide à ces utilisateurs.
Ressources complémentaires
Sur la naissance du Web :
Sur l’évolution d’Internet :
Sur le Web en général :
Sur les modèles de site Web :
Sur les CMS :
Sur les technologies Web :

