Depuis les débuts d’ARPANET jusqu’à l’aube du World Wide Web (WWW), Internet était principalement le domaine des chercheurs, des enseignants et des étudiants, les amateurs exécutant leurs propres serveurs BBS auxquels ils pouvaient se connecter, mais pas connectés à Internet. Lancé en 1989 par Tim Berners-Lee alors qu’il travaillait au CERN, le WWW était conçu comme un système de gestion de l’information qui fournirait un accès normalisé à l’information en utilisant HTTP comme protocole de transfert et HTML et plus tard CSS pour créer des documents formatés inspirés de la norme SGML. . Mieux encore, cela a permis aux forums WWW et aux sites Web personnels de commencer à apparaître, permettant la joie éternelle des anneaux Web, des GIF animés et des forums sur n’importe quel sujet imaginable.
Au début des années 90, alors que le WWW nouvellement ouvert commençait à gagner du terrain auprès du public, le navigateur Mosaic constituait l’épine dorsale des navigateurs WWW (« navigateurs Web ») de l’époque, y compris Internet Explorer – qui a autorisé le code Mosaic – et le Navigateur Netscape basé sur Mosaic. Avec les normes WWW établies par le World Wide Web Consortium (W3C), fondé par Berners-Lee, la scène semblait être prête pour un terrain de jeu ouvert et équitable pour tous. Ce que nous avons eu à la place, c’est la bagarre appelée la «guerre des navigateurs», qui – bien que modifiée – se poursuit à ce jour.
Aujourd’hui, ce n’est pas Internet Explorer de Microsoft qui dirige le WWW tout en ouvrant la voie aux nouvelles normes Web, mais à la place, nous avons le navigateur Chrome de Google qui fait la fête comme au début des années 2000 et qui porte un masque IE. Avec d’anciens concurrents comme Opera et Microsoft qui sont passés au moteur de navigateur Chromium qui sous-tend Chrome, qu’est-ce que cela nous dit sur les chances des navigateurs alternatifs et sur l’avenir du WWW ?
Nous ne sommes plus dans les géocités
![CD de l'édition personnelle de Netscape Navigator 3.0.](https://10-raisons.fr/wp-content/uploads/2023/04/Le-WWW-moderne-ou-ou-voulons-nous-aller-a-partir-de.png)
Pour ceux d’entre nous qui étaient là pour faire l’expérience du WWW des années 1990, c’était définitivement une période folle, avec la « cyber autoroute » étant à la fois en vogue et pourtant incroyablement limitée dans ses capacités. Les systèmes d’exploitation n’étaient livrés avec aucun type de navigateur Web jusqu’à ce que les éditions spéciales de Windows 95 et autres commencent à en inclure un. Dans le cas de Windows, il s’agissait bien sûr d’Internet Explorer (3+), mais si vous le souhaitiez, vous pouviez acheter un CD avec un navigateur Netscape, Opera ou autre et l’installer. Plus tard, vous pourrez également télécharger l’« édition personnelle » gratuite de Netscape Navigator (plus tard Communicator) ou la version financée par la publicité d’Opera, si vous aviez beaucoup de minutes d’accès à distance à parcourir, ou si vous aviez la possibilité d’échapper à la liaison haut débit de l’école.
Une fois en ligne dans les années 90, vous vous êtes retrouvé avec le dilemme de savoir où aller et quoi faire. Sans recherche Google et seulement une poignée de moteurs de recherche terribles ainsi que des portails de sites Web pour vous guider, il s’agissait davantage des joies de la découverte. Trop souvent, vous vous retrouvez sur un anneau Web et une foule de Geocities ou de sites de loisirs similaires, l’accent étant principalement mis sur le partage d’informations, comme Tim Berners-Lee l’avait envisagé. Le formatage était basique et au-delà de certains sites utilisant des jeux de cadres fantaisistes et une utilisation intensive d’images, les choses avaient tendance à fonctionner.©jusqu’à la fin des années 90, lorsque nous avons eu Dynamic HTML (DHTML), Visual Basic Script (VBS) et JavaScript (JS), ainsi que Java Applets et Flash.
VBS a été la victime surprenante de JS, le premier faisant partie d’IE avec d’autres produits Microsoft bien avant que JS ne soit lancé et mis en production en moins d’une semaine de temps total de conception et de mise en œuvre juste pour que Netscape puisse avoir un langage de script pour rivaliser avec. C’était l’époque où Netscape avait du mal à suivre le rythme de Microsoft, bien que ce dernier ait complètement raté le coche sur ce nouveau truc « Internet ». Un exemple de cela était par exemple quand Internet Explorer avait implémenté la fonctionnalité HTML iframe, alors que Netscape 4.7x ne l’avait pas fait, ce qui a conduit à l’un des premiers exemples notables de rupture de sites Web qui n’était pas due aux applets Java.
Au fil des années 2000, la bulle Internet était sur le point d’imploser, ce qui nous a laissé un certain nombre de survivants, dont Google, Amazon et allait bientôt échanger Geocities et les anneaux Web contre MySpace, FaceBook et autres. Pendant ce temps, le concept des navigateurs Web en tant que logiciels payants était tombé au bord du chemin, car certains les voyaient comme des cibles pour des projets de logiciels open source (par exemple, Mozilla Organization), ou comme faisant partie intégrante d’une société de publicité basée sur le WWW (Google avec Chromium /Chrome).
Que vaut votre temps
En ce qui concerne le WWW moderne, il y a quelques aspects à considérer. Le premier est celui des navigateurs Web, car ceux-ci constituent le logiciel client requis pour accéder aux ressources du WWW. Depuis les années 1990, la complexité de ces logiciels a explosé. Plutôt que d’être de simples moteurs de mise en page HTML qui acceptent les feuilles de style CSS pour embellir les choses, ils doivent maintenant gérer des éléments HTML 5 complexes comme
Pendant ce temps, JavaScript est passé de la partie « dynamique » de DHTML à une monstruosité accélérée juste-à-temps juste pour suivre les mégaoctets de frameworks JS qui doivent être analysés et exécutés pour un simple chargement de page du site Web moyen, ou ‘ web app’, comme on les appelle désormais plus communément. Pendant ce temps, WebAssembly est de plus en plus utilisé, ce qui ajoute essentiellement un troisième langage d’exécution à l’application. Les API natives exposées côté JavaScript devraient désormais tout offrir, de l’accélération graphique à l’accès aux microphones, webcams et ports série.
En 2010, lorsque je me suis lancé innocemment dans la tâche « simple » d’ajouter la prise en charge du décodage H.264 à la source de Firefox 3.6.x, cette expérience m’a appris plus sur la base de code Netscape que ce que j’avais négocié. Même s’il n’y avait pas eu un manque presque total de documentation et un système de construction fonctionnel, la quantité de code était telle que la base de code était essentiellement impossible à maintenir, et c’était il y a treize ans avant que de nouvelles fonctionnalités JavaScript, CSS et WebAssembly ne soient ajoutées au mélanger. En fin de compte, j’ai fini par implémenter un navigateur de base à l’aide du module QtWebkit, mais j’y ai été bloqué lorsque ce module a été interrompu et remplacé par le module beaucoup plus limité basé sur Chromium.
Ces jours-ci, je traîne principalement autour du projet Pale Moon, qui a intégré le moteur Mozilla Gecko dans le moteur Goanna fortement personnalisé. Comme indiqué par le projet, bien qu’ils aient jeté tout ce qui n’est pas nécessaire du moteur Gecko, suivre les fonctionnalités constamment ajoutées avec CSS et JS est presque impossible. Il devrait être clair à ce stade qu’écrire un navigateur à partir de zéro avec quelques amis ne vous rapportera jamais un produit de qualité commerciale, d’où la raison pour laquelle Microsoft a jeté l’éponge avec son EdgeHTML.
Parrain d’aujourd’hui
Le deuxième aspect à considérer avec le WWW moderne est de savoir qui détermine les normes. En 2012, Internet s’est enflammé lorsque Google, Microsoft et Netflix ont cherché à faire passer la norme Encrypted Media Extensions (EME), qui nécessite un module propriétaire à source fermée avec une licence par navigateur. Bien que Mozilla ait cherché à protester contre cela, ils ont finalement été contraints de l’implémenter malgré tout.
Plus récemment, Google a cherché à améliorer les capacités de ciblage publicitaire de Chrome, avec Federated Learning of Cohorts (FLoC) en 2021, qui a été commercialisé comme une forme de publicité plus conviviale et basée sur les intérêts que le suivi avec des cookies. Après des commentaires négatifs de nombreuses sources, Google a discrètement abandonné FLoC, mais pas avant de le renommer Topics API et d’essayer de le relancer.
Bien qu’il soit facile d’appeler Google « mal » ici et de souligner qu’ils ont abandonné le slogan « ne faites pas de mal », il est important de noter le contexte ici. Lorsque Microsoft associait Internet Explorer à Windows et bénéficiait d’une solide part de marché des navigateurs, il le faisait en tant qu’éditeur de logiciels, ce qui lui a permis de tirer parti de cet avantage pour des fonctionnalités telles qu’ActiveX dans les environnements d’entreprise.
Pendant ce temps, Google est principalement une société de publicité, ce qui leur permet de tirer parti du quasi-monopole de leur navigateur pour leur propre bénéfice. Pendant ce temps, le navigateur Firefox de Mozilla se débrouille avec une part de marché inférieure à 5 %. Mozilla a également changé depuis le début des années 2000, passant d’un modèle à but non lucratif à un modèle à but lucratif, et ses revenus proviennent des redevances sur les requêtes de recherche, des dons et des publicités dans le navigateur.
L’image quelque peu déprimante que cela dépeint est qu’à moins que vous ne restreigniez la portée du navigateur comme le fait Pale Moon (pas de DRM, pas de WebRTC, pas de WebVR, etc.), vous n’allez pas suivre les fonctionnalités HTML, CSS et JS de base. sans une grande équipe (rémunérée) de développeurs, entre-temps redevable au Big RGB Gorilla dans la salle sous la forme de Google fixant le cap de nouvelles fonctionnalités, y compris la suppression du support des formats d’image tout en ajoutant le sien.
D’où d’ici
Bien que prendre Google en tête serait une folie digne de Don Quichotte, il existe des moyens de changer les choses pour le mieux. L’une consiste à exiger que les sites Web que nous utilisons et/ou maintenons suivent la philosophie de conception de l’amélioration progressive ou de la dégradation gracieuse. Ce dernier élément fait partie intégrante des conceptions HTML et CSS, l’absence ou l’erreur dans l’un des fichiers CSS conduisant simplement à l’affichage du document HTML sans mise en forme, mais avec le texte et les images visibles et toutes les URL utilisables.
L’amélioration progressive est similaire, mais il s’agit davantage d’une approche ascendante, où la conception de base cible un ensemble minimum de fonctionnalités, généralement uniquement HTML et CSS, avec la disponibilité de la prise en charge de JavaScript dans le navigateur améliorant l’expérience, sans affecter la fonctionnalité de base pour toute personne entrant sur le site avec JS désactivé (via NoScript et/ou un bloqueur comme µMatrix). En prime, cela est excellent pour l’accessibilité (comme les lecteurs d’écran) et pour l’optimisation des moteurs de recherche, car tout le texte sera clairement lisible pour les robots d’exploration qui ont tendance à ne pas utiliser JS.
Peut-être qu’en utilisant des méthodes comme celles-ci, nous, en tant qu’utilisateurs du WWW, pouvons donner une indication à Google et à nos proches sur ce que nous aimerions que les choses soient. Compte tenu de la tendance à limiter le Web moderne aux seuls navigateurs dotés uniquement des dernières fonctionnalités de pointe et de la chaîne d’agent utilisateur correcte (avec Discourse comme principal contrevenant), il semblerait que de tels efforts de base soient les plus efficaces dans le à long terme, tout en veillant à ce que les navigateurs alternatifs non Chromium ne soient pas menacés d’extinction.