Il était une fois…les navigateurs
9 août 2022
Retour sur une conférence de la rencontre Sunny Tech
Lors de la dernière édition de la Sunny Tech, j’ai pu assister à une conférence très intéressante. Noël Macé est parti sur l’idée d’écrire un livre sur l’histoire des navigateurs web. Il nous a offert à l’occasion de la rencontre Sunny Tech une superbe session atypique, accompagnée des illustrations de Pierre Tibulle, pour mettre en lumière ses propos.
Au commencement, il y avait la donnée
Le 23 juin 1980, Tim Berners-Lee, un scientifique britannique, commence à travailler au CERN (Conseil européen pour la recherche nucléaire). Sa mission de 6 mois consiste à concevoir l’interface utilisateur du nouveau système de gestion de l’accélérateur de particules. Le volume d’informations au CERN est énorme, il a donc besoin d’un outil pour prendre des notes et il va développer un projet personnel qui lui permet de stocker les utilisateurs, les carnets d’adresse des personnes travaillant au CERN, les différents matériels… En d’autres termes, un petit Wikipedia interne qui va lui permettre de stocker toutes ces informations dans une base de données locale, mais également de faire le lien entre toutes ces données.
Il va donner un nom pour ce projet : lorsqu’il était enfant, il y avait un vieux grimoire chez ses parents dont il se souvient, “Enquire within uppon everything” et qui était une sorte d’encyclopédie du quotidien, il décide donc d’appeler son projet Enquire.
A Noël 1980, Tim rentre en Angleterre après la fin de sa mission. L’envie de nature le pousse à partir pour Bournemouth, une ville au bord de la mer en Angleterre, pendant 3 ans, où il sera le directeur technique d’une petite entreprise d’impression qui va lui permettre de gagner des compétences en réseaux.
En 1984, il retourne au CERN pour une seconde mission qui consiste à mettre en place cette fois-ci une interopérabilité entre les systèmes du CERN à base de RPC (Remote Procedure Call). Il continue d’utiliser son outil Enquire mais va devoir l’adapter sur vms, le système d’exploitation qui était le plus présent à l’époque au CERN. À partir de ce moment-là, son outil Enquire commence a être utilisé par quelques personnes au CERN. Tim se rend alors compte de l’utilité et de l’unicité de son outil.
La même année, un système Apple est sorti en même temps : l’HyperCard, qui est un système de développement complet permettant de créer des cartes et de les lier entre elles. Ce système a été extrêmement populaire jusqu’à la fin de sa commercialisation en 2004. C’était la seule alternative à l’époque à l’outil de Tim Berners-Lee mais seulement disponible pour Mac.
Les prémices du navigateur web
En janvier 1989, le CERN se connecte à Internet et devient le plus grand site d’Europe. En constatant cela, Tim Berners-Lee se dit que son outil pourrait être encore plus utile. En mars 1989, Tim va faire une proposition avec Enquire qui ne sera pas assez aboutie. Une seconde proposition intervient en mai 1990, son projet d’amélioration d’Enquire est accepté. Il obtient du temps et des moyens financiers mais aussi, une machine lui est attribuée : un NeXTCube, très coûteux. Cette machine lui a été proposée car le système d’exploitation proposait des interfaces utilisateur simplifiées, contrairement aux autres systèmes de l’époque. Cela va permettre à Tim de développer rapidement son prototype (moins d’un an) de premier navigateur web avec interface graphique qui portera le nom de world wide web, ce qui a créé de la confusion. C’es la raison pour laquelle son outil a été renommé Nexux.
En été 1991, Tim décide de partager son travail avec le monde entier et publie le tout premier serveur http et un navigateur sur un serveur FTP.
Puisque seule une poignée de personnes possède un NeXTCube, il va décider de publier un autre navigateur : le LMB (Line Mode Browser) en ligne de commande développée par Nicola Pellow, à ce moment-là étudiante au CERN.
Tim se rend alors compte qu’il va falloir développer un navigateur compatible avec tous les systèmes d’exploitation qu’utilisent les chercheurs à savoir en grande majorité le système Unix.
Le premier navigateur
En 1992, Tim et Nicola vont réécrire le navigateur en Objective C, mais ne vont pas avoir le temps ni l’envie de faire un navigateur complet. Ils vont juste créer une librairie : libwww qui devrait permettre aux intéressés de développer des navigateurs.
Tim part ensuite aux Etats-Unis pendant 3 mois dans l’espoir de motiver des équipes (MIT, Xeros Park) pour travailler sur les navigateurs mais n’arrive pas à convaincre.
Mais un certain Robert Cailliau, ingénieur belge qui souhaitait développer un navigateur pour Mac, rejoint l’équipe et va aussi faire le tour des centres de recherche dans les universités du monde.
A l’université technologique d’Helsinki, il rencontre 4 étudiants qui vont décider que leur projet de fin d’étude sera le développement d’un navigateur web pour X Window System.
Ils vont publier une version alpha sur le serveur FTP du CERN, rapidement appelée Erwise, qui devient le tout premier navigateur pour Unix partagé avec des personnes extérieures au CERN, mais qui va rester très basique.
Pour obtenir un navigateur un peu plus évolué, il faudra attendre le travail de Pei-Yuan Wei, alors étudiant à l’université de Berkeley aux USA en mai 1992. Il va se servir du langage orienté objet Viola, qu’il a inventé pour les interfaces graphiques du X Window System, mais aussi la création de jeux d’aventures avec une compatibilité hypertexte, pour développer le navigateur ViolaWWW, beaucoup plus complet car il propose un historique, des favoris, des liens cliquables, des bouton ou encore des bookmarks.
Ces navigateurs restent tout de même des projets d’étudiants sans réel investissement sur le long terme.
A l’époque il y a une ébullition de navigateurs proposés : Samba (MacWWW par la suite) pour Mac, développée par Nicola Pellow pour Robert Cailliau, Midas, également pour X Window System, et finalement en 1993, Cello, premier navigateur pour Windows, mais créé seulement pour une école de droit.
Un peu plus tard, Lynx, un navigateur en ligne de commande, encore utilisé aujourd’hui, verra le jour.
Le premier navigateur cross-platform
En 1992, le NCSA (centre de recherche en physique) possède une équipe informatique haut niveau et fait de l’open-source et développe également l’interopérabilité.
Un des membres de l’équipe tombe sur ViolaWWW : ils décident alors de faire leur propre navigateur, basé sur ViolaWWW, mais veulent faire mieux. Ils vont missionner un étudiant : Marc Andressen, avec à côté une direction de projet, un équipe et un budget. Ils mettent 6 mois pour développer et créer une version alpha pour X Window System.
Ils implémentent par exemple la barre url en haut de la fenêtre et permettent un affichage des images en ligne. Ils vont appeler ce navigateur Mosaïc.
Il aura fallu 3 mois supplémentaires pour faire une version compatible Mac et Windows. Mosaïc sera le tout premier navigateur cross-platform de l’histoire. Ils vont ensuite développer leur propre serveur NCSA Httpd pour Unix, qui donnera naissance plus tard à Apache.
Le début de la course commerciale
Début 1994, plus de 50 000 personnes téléchargent Mosaïc. Avec HTML+, Mosaic va ajouter les formulaires, le son et les vidéos.
Marc Andreessen, le développeur, flaire l’opportunité commerciale et quitte le NCSA. Il part en Californie où il rencontre Jim Clark, un investisseur. Ils fondent ensemble la Mosaic Communication Corporation, ayant pour but de commercialiser un fork de Mosaic.
Or, le NSCA a déjà déposé le nom Mosaic. MCC devient alors Netscape.
Netscape ne sera pas le seul fork de Mosaic à ce moment-là. Le NCSA a commencé à vendre des licences Mosaic à d’autres entreprises pour vendre leur navigateur.
En 1994, l’entreprise Spyglass achète un lot de licences. Le NCSA décide de transférer les droits commerciaux de Mosaic à Spyglass. Spyglass décide de créer son propre navigateur. En parallèle, en 1995, Netscape crée un langage de scripting : c’est la naissance du JavaScript, embarqué dans Netscape 2.0 en septembre de la même année. On a également les frames ou encore les plugins comme innovation dans les navigateurs.
La réponse de Microsoft
Avec toutes ces innovations, le web devient une plateforme de développement applicatif plus que de la recherche documentaire, ce qui ne plaît pas à Microsoft qui possède le monopole des logiciels à cette époque.
Le gouvernement américain n’apprécie pas ce monopole. Il leur interdit de lier des produits à Windows, mais leur laisse le droit d’ajouter des fonctionnalités. Les avancées du web mettant en péril le business model de Windows, ils décident d’abord d’acheter des licences Mosaic à Spyglass, afin de distribuer leur propre navigateur.
Microsoft fait une proposition de partage du marché avec Netscape en leur demandant de ne pas faire de navigateur pour Windows. Netscape refuse.
Microsoft attaque par la suite avec des accords distributeurs PC dans ce cadre pour qu’ils n’embarquent pas des logiciels non Microsoft sur leur machine. C’est dans ce cadre que Microsoft sort Internet Explorer 1, qui est en fait juste une copie de Spyglass Mosaic. Ils sortent ensuite une copie sur Mac (IE). Netscape sort sa deuxième version en parallèle. Microsoft met 1 an pour se mettre à niveau.
En 1996 sort IE 3, pour coller à la nouvelle version et ainsi de suite. Microsoft n’arrive plus à suivre pour copier les versions. Microsoft décide alors de mettre des soudures inutiles avec les systèmes d’exploitation (par exemple impossibilité de désinstaller IE sur Windows) et la conséquence de ces stratégies mises en place est que Netscape coule en 1998.
En 1998, Netscape essaie de résister et annoncent qu’ils deviennent open source. Ils lancent Mozilla en 2004, qui donne naissance à Firefox en version 1.0.
En 2003, Microsoft décide de lier les mises à jour d’IE à celles de Windows, et de sortir Windows Vista en 2006, que tout le monde rejette. C’est là que Firefox devient une alternative intéressante pour les utilisateurs jusqu’en 2010, où IE perd sa position dominante. Firefox détient seulement 30% du marché.
L’arrivée de Google et du mobile
En face arrive une grande équipe travaillant sur un nouveau navigateur, se prénommant Google.
Petit retour en arrière : en 1991, naissance de Linux. Il y a donc une nécessité de cohérence entre les différents logiciels du système. En 1996, naissance de KDE (Kool Desktop Environnement). L’idée est de créer un ensemble d’applications sur une base commune, ainsi qu’un ensemble de librairies dont khtmlw.
En 1997, sortie de KDE beta 1. Ils vont embarquer un navigateur de fichier : KFM (KDE File Manager) pour faire leur affichage. Cela permet d’ouvrir une page HTML directement si on rentre une adresse dans l’url. Dans la team KDE, Lars Knoll veut faire un navigateur et renomme khtmlw en khtml et va rajouter une compatibilité avec le DOM, intégrer le moteur JavaScript ainsi que du CSS, pour finalement, en octobre 2000, sortir KDE2, qui va embarquer un nouveau navigateur : Konqueror. Cela a eu un impact important sur l’histoire du web.
En 2003, un nouvel acteur prénommé Apple, décide de créer son propre navigateur Safari qui embarque un fork de khtmlw se prénommant Webkit. Ceci intervient après la fin de l’accord entre Apple et Windows sur l’exclusivité d’IE.
En 2001, la sortie de l’iPod marque un succès commercial et soude une orientation mobile pour le futur du web. L’iPhone 2g en 2007 est le premier périphérique mobile à embarquer un navigateur web moderne.
En 2008, l’arrivée d’Android sur le marché mobile booste les ventes. Android décide d’embarquer Webkit pour faire un Android browser. Google suit la tendance et embarque également Webkit pour son navigateur Google Chrome qui sort en 2008 (annonce originale via une BD) en open-source.
L’évolution est ensuite exponentielle : en 2014, Chrome remplace le Android browser et en 2017, il devient le navigateur le plus utilisé. Le mobile devient également la première manière d’utiliser le web.
En 2015, Microsoft décide d’abandonner IE pour Edge et Google réaffirme sa position de leader avec Chrome et Chromium, sa version open-source.
En 2020, Edge passe lui-même à Chromium et dévient un dérivé de Chrome plus qu’une alternative.
A ce jour, le marché est dominé par Chrome avec 15 % des utilisateurs sur Apple.
Lorsque l’on développe pour du web, considère-t-on que la web plateforme est simplement une web plateforme ? Ou est-ce qu’elle possède des particularités dans le sens où elle a été constituée de manière collaborative dès le départ, avec des standard ouverts, de l’interopérabilité et une protection de la vie privée des utilisateurs ?
Dès lors que nous développons une nouvelle fonctionnalité, en tant que développeurs, il est de notre devoir de nous poser la question de la vie privée et du droit des utilisateurs. Le web doit rester le web que l’on aime. Merci encore à Noël Macé et Pierre Tibulle pour ce talk enrichissant, qui est une mine d’information sur l’histoire des navigateurs web.