Souvent pendant l’introduction à certains cours je suis amené à présenter des jalons historiques (concepts, inventions) qui ont fondé l’environnement numérique dans lequel notre monde baigne désormais. Cet inventaire est finalement plutôt stable.
Mais avant, j’aimerais préciser ce que j’entends par « numérique » : pour moi, il s’agit de la rencontre (le “match”) entre le binaire software et le binaire hardware… ah oui ? Kesako ?
le Binaire Software
Le binaire “software” correspond à la représentation digitale de l’information. Ceci consiste à convertir toute information (idée, quantité, son, image, …) en une forme minimale et irréductible : le binaire, qui n’utilise que deux symboles opposés (vrai/faux, 1/0, oui/non, …). On utilise usuellement les chiffres binaires 1 et 0, ou binary digits (bits) ; c’est pour cette raison que je préfère le mot anglais « digital » à sa mauvaise traduction « numérique ». Ils permettent de faire trois choses essentielles et fondamentales :
- du calcul (compter en base 2 avec les chiffres 1 et 0)
- de la logique (raisonner avec les valeurs associées VRAI ou FAUX)
- de la symbolisation (association de symboles à des combinaisons binaires)
le Binaire Hardware
La technologie, associée à la notion de “hardware” : il s’agit des composants électroniques (voire électromécaniques) qui fonctionnent en mode commuté, avec une position parmi deux : allumé/éteint, ouvert/fermé. Ces composants vont du relais électromécanique au transistor, et permettent de fabriquer les ordinateurs.
Cette conjonction binaire hardware et software a déclenché la digitalisation inexorable de notre monde. Le monde analogique s’en va, certains s’accrochent aux branches en ressortant des disques vinyles, des amplis à tube ou autres Polaroïd… En vain. Nous passons d’un monde analogique, complexe, continu, aléatoire, imprécis, lent, … vers un monde digital, robuste, déterminé, précis, rapide, discontinu. Ces nouveaux qualificatifs d’ailleurs influent sur les esprits, générant ainsi des fractures sociologiques que l’on s’oblige à catégoriser (génération X, Y, Z, …)
Mais revenons à nos moutons. Ceci étant posé, qu’est ce qu’on peut sélectionner comme repères historiques fondamentaux du numérique ?
- Citons d’abord peut-être Leibniz, qui au hasard de ses réflexions, a été amené à s’interroger sur l’arithmétique binaire vers l’an 1700, à montrer que l’on pouvait calculer sans souci avec uniquement des 1 et des 0, tout en concluant que ceci n’avait guère d’intérêt. Notons que Leibniz a aussi inventé une machine mécanique capable de multiplier.
- Charles Babbage (UK) imagine vers 1820 une machine analytique, qui associe instructions et calcul, posant ici l’idée fondatrice de l’ordinateur.
- Ada Lovelace (UK), correspondante de Charles Babbage, va quant à elle formaliser les instructions pour la machine de Babbage, donnant naissance à la notion de programme informatique (algorithme appliqué à un ordinateur).
- L’architecture dite « de Von Neumann » qui propose en 1945 un système de processeur basé notamment sur une Unité Arithmétique et Logique, et qui permet, notamment, de stocker en mémoire indifféremment des instructions et des données.
- L’invention des semi-conducteurs – avec notamment le transistor bipolaire en 1947 puis le transistor MOS-FET en 1950- va ouvrir la voie pour la réalisation d’ordinateurs toujours plus compacts et puissants, notamment au travers du …
- circuit intégré, inventé en 1958, toujours aux US, qui permet d’embarquer sur une “puce” unique, une quantité importante de transistors et autres semi-conducteurs, pour fabriquer par exemple de la mémoire électronique, ou des microprocesseurs.
- L’invention du microprocesseur, en 1969 par un ingénieur de l’entreprise Intel, Ted Hoff. L’idée fort simple (a priori) est d’embarquer un processeur à base de transistors sur un circuit intégré. Les premiers microprocesseurs embarquaient environ trois mille transistors, les plus récents actuellement embarquent une poignée de milliards de transistors ! Les évolutions technologiques portent aussi sur la vitesse et la performance énergétique de ces composants.
- Côté système d’exploitation, on pourrait citer de nombreuses choses, nous ne retiendrons que la référence, UNIX, créé en 1969 par M. Ken Thompson et M. Dennis Ritchie, avec au passage l’invention du langage C.
- Le projet ARPANET (1972) qui a donné naissance en 1974 aux protocoles rois de l’Internet : IP et TCP.
- Le World Wide Web, inventé en 1990 au CERN (Suisse) par Sir Tim Berners-Lee, qui le lèguera au domaine public en 1992. L’idée est d’associer astucieusement plusieurs principes : Internet (TCP/IP), le protocole HTTP, les hyperliens et le HTML, et le service DNS. Avec l’arrivée des navigateurs WEB graphiques (Netscape notamment), ceci va marquer l’explosion de la popularité de ce qu’on appelle désormais couramment l’Internet.
Au-delà de ces références, on pourrait aussi citer d’autres faits marquants : l’invention de certains types d’ordinateurs (le PC, le MAC, le smartphone), de l’Ethernet, des réseaux mobiles et du Wi-Fi notamment. On devrait également ajouter la liste de grands théoriciens fondateurs (Georges Boole, Alan Turing, Claude Shannon, …) ; il y a d’ailleurs dans cette liste trop peu de Français, parmi lesquels on peut mentionner Louis POUZIN ou Hubert ZIMMERMANN ; il y a également trop peu de femmes, ajoutons en plus d’Ada Lovelace le nom de Grace HOPPER.
Quoiqu’il en soit, dans ce monde baigné d’innovations étourdissantes, il est bon parfois de contempler les fondations stables qui, peu ou prou, sont restées les mêmes depuis tant d’années, et desquelles on a bien du mal à se défaire ; quelques symptômes (parmi de nombreux autres) :
- La « vitesse » d’adoption de l’IPv6 (finalisée en 1998, la date limite de transition était symboliquement le 6 juin 2006 … Où en sommes-nous aujourd’hui ?)
- La simplicité des API RESTful, largement utilisées dans les Webservices.
- L’omniprésence d’UNIX (ou Linux) au sein des services « core » et des supercalculateurs.