Les secours, j'écoute.
Les secours, je vous écoute.
Les secours, j'écoute.
Les secours...
Le 9 avril 2014, le 911, service des secours, n'était plus disponible
pour des millions de gens aux États-Unis.
Hors service pendant plus de six heures.
Plus de 6 000 appels d'urgence n'ont pas pu aboutir.
Le gouvernement a localisé le problème :
un ordinateur dans un centre de routage d'appels à Englewood.
C'était une simple erreur de programmation.
Les programmeurs de l'ordinateur
avaient choisi de limiter le nombre d'appels pouvant être enregistrés,
limite qu'ils pensaient que l'ordinateur n'atteindrait jamais.
Mais cette nuit-là de 2014, il l'a atteinte.
L'ordinateur a bien suivi ses instructions.
Il a dépassé la limite et cessé de rediriger les appels.
Le problème n'était ni l'ordinateur,
ni un bug dans le code.
C'était le codage,
le processus décisionnel par lequel les gens communiquent
avec l'ordinateur.
Ce genre de pouvoir s'accompagne d'une grande responsabilité éthique.
Il n'y a rien de tel.
Rien qui ne le remplace.
De la même façon que les bâtisseurs d'une ville
déterminent comment on vit en ville,
le code contrôle la façon dont on vit en ligne. En gros, notre façon de vivre.
Pas seulement lorsqu'on va sur Internet.
Lorsqu'on contacte les secours,
qu'on va chez le médecin
ou qu'on monte dans une voiture.
Le code nous entoure au quotidien.
Pourtant, seulement un tiers d'un pour cent d'entre nous sait l'écrire.
Pour l'écrasante majorité, c'est un mystère.
Mais ça peut changer.
Comment fonctionne le codage ?
Quel nouveau monde construit-on avec ?
UNE SÉRIE DOCUMENTAIRE ORIGINALE NETFLIX
L'ordinateur.
Une collection ingénieuse de matériel électronique
créée par l'homme.
Ce n'est pas qu'on n'a pas les machines pour résoudre nos problèmes,
on manque de descriptions adéquates pour les résoudre.
Quand on parle de codage, on imagine quelque chose de compliqué.
Il est important de se rappeler que tout ce qu'on utilise sur un ordinateur
a été créé par un être humain.
CODER, POURQUOI ?
Disons que vous demandez à un alien : "Quelle est l'importance du code ?
C'est quoi ?"
Je répondrais :
"On vit sur une terre physique et il y a environ 50 ans,
un petit groupe de gens a commencé à construire une autre planète.
Elle n'était pas physique, mais virtuelle.
Regardez dans la rue, vous voyez tous ces gens
marchant tête baissée qui fixent leur téléphone ?
Ils sont dans cet autre monde.
Voilà ce qu'est le code.
Les fondements de l'autre monde.
Ce métier à tisser est l'ancêtre de tous les ordinateurs et smartphones
du monde.
Il a été inventé en 1804
et la grande innovation, c'était ces cartes.
Les trous de chaque carte ne laissaient passer que certaines aiguilles.
Avec des milliers de trous sur des centaines de cartes,
les tisseurs pouvaient faire des motifs plus complexes.
Les châles élaborés firent fureur en Europe.
Les dessins tissés étaient si complexes qu'ils ressemblaient à des dessins,
comme celui de l'inventeur du métier à tisser.
Avant ces machines, les fils devaient être saisis à la main
par des "tireurs".
Les maths aussi étaient faites à la main, par des "ordinateurs".
Les premiers ordinateurs étaient des gens.
Et les meilleures machines pour nous aider ne pouvaient résoudre qu'un seul problème,
comme le boulier pour additionner et soustraire.
Le mathématicien britannique Charles Babbage voulait une machine
capable de résoudre tout problème qu'on lui soumettait,
ou plutôt, qu'on y programmait.
Il proposa ce qu'il appela la "Machine analytique".
L'idée de Babbage lui vaudra une place dans l'histoire.
Les ordinateurs furent inventés par Babbage,
un inventeur britannique très excentrique.
Babbage avait une idée du fonctionnement.
Il gardait une copie de cette photo dans sa maison.
La machine analytique de Babbage, comme le métier Jacquard,
avait des éléments physiques, "hardware".
Et comme le métier à tisser,
vous pouviez lui donner des instructions sous forme de cartes perforées.
Les trous laissaient passer les aiguilles,
et l'absence de trous forçait les autres aiguilles vers l'arrière,
déclenchant une série de calculs mécaniques.
Les cartes perforées,
c'est le logiciel.
Babbage ne finit jamais sa machine analytique,
mais une jeune femme travaillant avec lui y vit un potentiel révolutionnaire,
bien au-delà des maths.
Ada Byron, comtesse de Lovelace, écrit :
"Les limites de l'arithmétique ont été dépassées dès que l'idée
d'utiliser des cartes est apparue."
Elle vit ce que Jacquard avait vu :
les trous pourraient représenter plus que des chiffres.
Des motifs,
de la musique...
voire des phrases entières.
On peut le voir comme un code Morse.
Chaque lettre de l'alphabet Morse s'exprime par un ensemble de deux signaux,
... ou ...
C'est binaire.
Et rien qu'avec ces bips, on peut tout exprimer,
comme cet appel de détresse du Titanic en 1912.
AVONS HEURTÉ UN ICEBERG. COULONS.
"SOS" ne correspond à rien.
C'est juste très simple à envoyer en code Morse.
Vous pouvez aussi penser que chaque lettre peut être exprimée comme une combinaison
de zéros et de uns.
Ça vous parle ?
C'est du code binaire.
Voici comment on fait le pont entre les machines et le langage humain.
Chaque zéro est un chiffre binaire, ou "bit".
Ce sont les atomes de l'informatique moderne.
Vous les connaissez sous un autre nom :
huit bits, c'est un octet.
Vous savez, la photo sur votre ordinateur qui fait 1,1 méga-octets ?
Ça fait huit millions huit cent mille uns et zéros.
Comme les points et tirets du code Morse sont un moyen d'écrire ... et ...,
les uns et zéros du code binaire sont le moyen d'écrire
ce qui se passe dans un ordinateur moderne :
activé ou non activé.
Voici un simple circuit électrique.
Imaginez-en des millions travaillant ensemble.
C'est un ordinateur aujourd'hui.
Sur un circuit électrique, voici un bit.
L'ampoule est éteinte ? Zéro.
Allumée ? Un.
Les ordinateurs ne comprennent que l'électricité,
donc tout ce que les codeurs font avec les ordinateurs,
c'est finalement
une simple série de charges ou de non-charges.
Tout fonctionne car, reliées ensemble de la bonne façon,
ces charges peuvent être logiques.
La logique est une série prévisible de faits ou d'événements,
comme fermer cet interrupteur...
et celui-là, pour sonner la cloche.
Les informaticiens appellent ça : "Fonction logique ET".
Ou "porte logique".
Voyons si je peux faire ça sans trouer cette table.
Dans une fonction ET, les deux circuits doivent être fermés
pour que la lumière s'allume.
Et il y a des fonctions OU, où la lumière s'allume
si un seul des circuits est fermé.
On peut tourner ça autrement.
Si l'un de ces circuits est fermé, alors allumer la lumière.
Ce genre de tournure "Si... alors"
est un algorithme.
Dans la culture pop aujourd'hui, le mot "algorithme" crée beaucoup de confusion.
On a déjà vu ça, les algorithmes qui déraillent !
Le fonctionnement des algorithmes est un mystère pour la plupart des gens.
Et puis d'abord c'est quoi, un algorithme ?
Un algorithme n'est qu'un ensemble de directions.
Vous voulez aller à l'épicerie.
Vous pouvez tourner à gauche, puis à droite.
Ou vous pouvez prendre à droite, puis tourner à gauche.
Ou bien aller quatre fois à gauche,
faire le tour du parc, traverser l'autoroute
et prendre quatre fois à droite.
Comme il y a différentes routes pour arriver au même endroit,
le codage peut avoir plusieurs algorithmes
pour résoudre un même problème.
Le but est de trouver le plus élégant et le plus efficace.
Du beau code ne se répète pas.
C'est très élégant. Et puissant.
Les ordinateurs exécutant des algorithmes ont fait ce qu'on leur a demandé,
mais beaucoup plus vite,
ce qui a rendu les gens bien plus puissants.
Quand les scientifiques se sont mis à développer la bombe H,
ils utilisaient principalement des ordinateurs humains.
Puis ils se sont tournés vers celui-ci :
l'ENIAC a fait des calculs thermonucléaires pendant six semaines.
Ses résultats ont directement contribué
au premier essai réussi en 1952
d'une bombe des centaines de fois plus puissante que les bombes atomiques
larguées sur Hiroshima et Nagasaki durant la Seconde Guerre mondiale.
Le pouvoir de programmer a amplifié la capacité des gens
à faire ce qu'ils ont choisi.
Mais dans les années 1940, c'était encore beaucoup de travail.
Écrire des programmes avec des 0 et des 1 ne fonctionne pas à grande échelle.
Les gens en voulaient davantage,
mais en faisant plus simple.
L'histoire du codage depuis ce temps-là a consisté à se rapprocher toujours plus
du langage humain
en inventant ce que presque tous les développeurs utilisent aujourd'hui :
les langages de programmation.
Comparés aux 1 et aux 0, ces langages sont assez abstraits.
Abstraction est un mot complexe pour les gens.
D'autres langages abstraits se résument aux mêmes 1 et 0,
on a juste trouvé de meilleures façons de les organiser.
Réfléchissez-y en termes de biologie.
Les humains sont incroyablement complexes,
mais 99 % de notre corps ne sont composés que de six éléments.
Ils suffisent à créer de plus grosses molécules.
Entre cette couche de structure
et la forme de vie la plus simple,
il y a un énorme pas.
Et l'humain a un cerveau
qui fait des choses si avancées
qu'il est difficile de croire qu'ils ont la même composition.
Les ordinateurs, ça ressemble à ça, mais en plus simple.
Ça, c'est la bonne nouvelle.
L'histoire du codage, c'est de déplacer cette boîte,
de nous éloigner du binaire pour nous donner
des moyens plus faciles, plus rapides et plus puissants de coder
sans avoir à gérer, ni même comprendre,
les fonctions logiques et binaires.
Ceci permet aux développeurs de créer les produits que l'on connaît tous.
La première étape pour y parvenir a été...
Le langage assembleur, bien plus facile à lire et à écrire,
consiste à dire, au lieu de 0-1-0-0-0-1-1-1,
"ADD", ajouter,
et ensuite, un programme appelé l'assembleur traduit les lettres
A-D-D en 0 et en 1 appropriés.
À ce niveau, le binaire est organisé en lettres et en nombres,
comme les atomes sont organisés en molécules.
Mais le codage en langage assembleur n'était pas toujours facile,
car tous ces ordinateurs utilisaient différents langages assembleurs.
Si vous écriviez un programme sur un ordi, il ne marchait pas toujours sur un autre.
Très vite, les gens ont réalisé
qu'ils voulaient vraiment donner à l'ordinateur
des choses qu'ils utilisaient tous les jours.
On a des langages de programmation
construits en utilisant le langage assembleur,
puis de ces langages de programmation, nous en avons créé d'autres.
Vous en avez sûrement entendu parler.
- LISP. - BASIC.
- Java. - C++.
- Python 3. - HTML 5.
PEARL, PHP, un peu de C...
Tout comme les langues parlées sont différentes façons
d'exprimer la même idée à d'autres gens,
les langages de programmation sont différentes façons d'exprimer
la même idée aux ordinateurs.
Nous avons plus d'un langage évolué,
tout d'abord parce que différents langages
répondent à des besoins différents.
Regardez ces deux-là.
Celui-ci, COBOL, a été créé à la fin des années 50
pour simplifier l'utilisation du code par les entreprises.
Ça ressemble beaucoup à l'anglais, sauf que toutes les conversations
se terminent par "STOP RUN".
Celui-ci, CPL, créé dans les années 60, incluait plus d'informatique scientifique.
C'est comme l'évolution biologique.
Les organismes se complexifient et développent des caractéristiques
qui les rendent plus adaptés à leur environnement spécifique.
Franchement, c'est aussi une question de goût.
Les gens aiment avoir différents outils pour s'exprimer.
Par exemple, le langage C++...
Elon Musk n'est... pas fan.
Vous pourriez en inventer un.
C'est un langage évolué entièrement basé sur le mot "moo", meuh.
Sérieusement. Il s'appelle COW.
Celui-ci est fait de citations d'Arnold Schwarzenegger.
Chaque fois que je me dis : "C'est bon, on a dû en faire le tour",
quelqu'un d'autre invente un nouveau langage qui attire des inconditionnels.
Je ne vois donc pas venir la fin de l'invention de nouveaux langages.
Et tous ces langages sont basés sur la logique.
Par exemple, un codeur chez Netflix pourrait dire :
"Si vous regardez Netflix depuis plus de deux heures,
alors afficher ceci."
Mais pour que le code affecte la vie de la plupart des gens,
il faudrait que ces gens utilisent des ordinateurs.
Ces derniers devaient donc être moins complexes, plus conviviaux,
et ça signifiait un grand bond en avant.
Ce bond a commencé ici,
lors d'une démonstration faite par Doug Englebart en 1968.
Dans un instant, on verra son écran
et le déplacement du point de repérage
en conjonction avec les mouvements de la souris.
De nos jours, les gens ne programment pas en rédigeant des déclarations
sur un bout de papier et en le remettant à quelqu'un
qui va le taper.
On s'assoit devant un écran, avec une interface graphique.
Aujourd'hui, on les appelle GUI.
Avec les GUI, les gens peuvent développer sans taper du tout.
Ou juste utiliser le code plus facilement.
Vous travaillez dans un environnement de programmation
du même genre que celui qu'Alan et ses compagnons
avaient si joliment créé
au Xerox Palo Alto Research Center au début des années 70.
"Alan."
Cet Alan-ci.
Pour moi, il est le père de l'informatique personnelle,
car il a été le premier à exprimer cette vision.
Et j'avoue qu'à l'époque, je pensais que c'était de la science-fiction.
Quand on fait des choses importantes,
on est rarement seul.
Et Park était vraiment fantastique.
C'était magique.
L'interface graphique a permis à des millions d'autres personnes
d'utiliser les ordinateurs d'une façon qui leur était naturelle.
Quand Xerox a lancé les interfaces graphiques en 1979,
il a montré en quoi le code pouvait changer la vie quotidienne.
Vous arrivez au bureau et une machine Xerox
affiche votre courrier du matin sur un écran.
Bientôt, ces systèmes Xerox
vous aideront à gérer votre ressource la plus précieuse :
l'information.
Il y avait des gens comme moi et beaucoup d'autres
au sein de cette communauté de chercheurs
qui voulaient rendre le monde meilleur.
Ils avaient une idée qui était profondément liée
à l'augmentation humaine.
Quelque chose qui interagirait avec nous,
le public,
la personne normale, et nous rendrait capables
de faire plus qu'avant.
Ça nous a rendus capables de faire plus.
Les interfaces graphiques furent une vraie avancée.
Puis vint l'innovation suivante qui révolutionna le monde.
Une nouvelle façon de tout partager
qu'on pouvait faire avec du code.
À la TV, les gens commencèrent à prédire ce que l'accès soudain
à tout ce code signifierait.
Imaginez-vous le matin, assis devant votre café,
à allumer votre ordinateur pour lire le journal.
Imaginez un monde où chaque mot écrit, chaque photo d'un tableau,
chaque film jamais réalisé pourrait être vu instantanément chez vous.
Je crois qu'on est à l'aube d'une chose aussi exaltante que terrifiante.
Ce n'est qu'un outil, non ?
Pas du tout.
Les logiciels les plus effectifs utilisent aujourd'hui toutes ces innovations.
Un étudiant utilisait un langage de programmation évolué, le PHP,
pour partager sa création sur Internet
et s'en servir sur des ordinateurs avec des interfaces graphiques.
Il la décrit dans sa première interview télé en 2004.
C'est un annuaire en ligne qui relie les gens
par le biais des universités
et de leurs réseaux sociaux.
Nous sommes 100 000, qui sait jusqu'où on ira ?
Ils sont allés jusqu'à plus de deux milliards de personnes
par mois sur Facebook.
Aujourd'hui, les programmeurs façonnent des milliards de vies.
Leur façon de travailler, d'acheter, de manger, de sortir et de se détendre.
Que faites-vous, là ?
Vous me regardez dans un navigateur web Netflix.
Netflix est donc du code exécuté dans un navigateur web
qui est du code,
et qui est exécuté sur un ordinateur qui a été conçu avec du code.
Un concept gigogne.
Un bon code revient à être l'architecte d'un musée
auquel pensent des millions de gens
et dans lequel ils se promènent chaque jour.
Il n'y a rien de mieux que d'écrire du code, c'est de la création pure.
Tu as une idée de comment une chose doit marcher
et tu t'assois devant un ordinateur
pour en faire une réalité.
Il y a beaucoup de responsabilités avec ce rôle.
Tu as une limite de vitesse.
Pas plus de 100 km/h.
D'accord.
Mais si tu avais une voiture et que l'ordinateur disait :
"Cette voiture n'ira pas au-delà de 100 km/h" ?
C'est une façon différente de contrôler votre comportement.
Souvent, en contrôlant nos choix, le code dans nos vies
exerce un effet régulateur presque plus profond que la loi ne peut l'espérer.
Et c'est peut-être une bonne chose.
Il y a environ six millions d'accidents de voiture aux États-Unis chaque année,
et une analyse révèle que 94 % sont causés par le conducteur.
Les progrès du codage pourraient sauver des millions de vies.
Mais ils peuvent aussi en mettre d'autres en danger d'une autre façon.
Je suis atteinte de cardiomyopathie hypertrophique,
qui est le terme médical pour désigner le fait que j'ai un grand cœur.
Mon cœur est littéralement grand,
il fait environ trois fois la taille d'un cœur normal.
Je l'ai découvert vers 30 ans et le risque de mourir subitement à 40 ans
était très élevé.
L'électrophysiologiste a dit : "Ce n'est pas gênant,
vous pouvez avoir un pacemaker-défibrillateur."
Cet appareil fonctionne avec du code.
Il y a deux ans, quand j'étais enceinte, mon cœur palpitait.
Environ un quart des femmes a des palpitations, c'est normal.
Mais mon appareil trouvait mon rythme cardiaque dangereux
et m'a choquée.
Les fabricants d'appareils n'ont aucun intérêt à choquer des femmes enceintes.
C'est la dernière chose qu'ils veulent.
Ils ne l'avaient juste pas envisagé.
Il y a un énorme ensemble de décisions à prendre
et ces décisions reviendront aux programmeurs.
Et inévitablement,
il y aura une combinaison de circonstances
qu'ils n'auront pas anticipées.
Ce qu'on essaie d'enseigner quand on enseigne l'art
de la programmation,
c'est : comment réfléchir
à toutes ces différentes conditions.
Comment essayer d'être exhaustif
sans être paralysé par le nombre de choses
qu'il faut considérer.
Ce sera désormais plus vrai que jamais, car on a commencé à programmer
d'une façon entièrement nouvelle.
En programmation traditionnelle, on écrit des instructions pour un ordinateur.
Mais on peut à présent lui fournir des données d'entrée
et des données de sortie
et lui faire écrire ses propres instructions.
Comment ça marche ? Vous donnez à l'ordinateur
beaucoup d'exemples
et vous lui dites : "C'est une fête."
Vous lui donnez d'autres choses.
Un cabinet de dentiste : pas une fête.
Une salle de classe : pas une fête.
L'ordinateur les regarde et essaie de construire
un système de classification.
C'est de l'apprentissage automatique.
De nos jours, si quelqu'un parle d'intelligence artificielle,
il parle de ça.
C'est un tout autre genre d'abstraction
et de façon de faire,
car ça ne correspond pas vraiment à la façon dont on cumule ces choses.
On appelle ça algorithmes d'apprentissage automatique car l'ordinateur crée
ses propres instructions à suivre.
Mais au final, bien évidemment, elles aussi sont traduites
par de toutes petites instructions.
Google Translate représentait plus d'un million de lignes de code.
Ce sont des gens qui écrivent un million de petites instructions.
Actuellement, Google Translate représente
environ 500 lignes de code qui font appel à l'apprentissage automatique.
Supposons qu'à cause d'un oubli, aucune des photos des fêtes que vous avez faites
n'inclue des Noirs ou des Hispaniques.
L'ordinateur pourrait déduire qu'une règle des fêtes serait :
seuls les Blancs et les Asiatiques sont invités.
Il y a beaucoup de Blancs et d'Asiatiques qui programment.
On devrait absolument élargir les gens présents dans la salle de conception
pour un million de raisons.
Ils poseront de meilleurs questions avec d'autres expériences.
Mais au final, si vous alimentez votre système d'apprentissage automatique
de justice pénale, par exemple, avec des données racistes,
et disons que vos programmeurs ressemblent à une affiche de Benetton...
Différentes races, différents visages, différents milieux sociaux...
Ce système d'apprentissage automatique va encore apprendre des données.
Sans personne pour les corriger activement,
les données historiques nous conduiront à répéter les erreurs du passé.
L'histoire du codage est celle de l'ambition humaine
et de la créativité.
Décollage de la fusée Falcon 9.
On a vu ce qu'on croyait impossible à voir. Un trou noir.
Nous construisons un nouveau monde
avec des outils de plus en plus intuitifs
utilisables par un plus grand nombre de gens
afin de s'assurer un monde meilleur.
Nous avons fait du chemin pour rendre les ordinateurs plus accessibles
aux êtres humains et à un plus grand nombre d'êtres humains.
On voit cette révolution se dérouler sous nos yeux depuis 50 ans.
Voilà pourquoi c'est si excitant de vivre à notre époque.
Il est très important de se rappeler que tout ce que vous utilisez
sur votre ordinateur a été créé par un être humain.
Vous pouvez être l'une de ces personnes. C'est important
que vous en deveniez une.
Vous pouvez changer le monde de façon radicale.
Il y a un monde qui sera dirigé par l'apprentissage automatique,
les données et le codage traditionnel de bien des façons.
En tant que société, on doit dire :
"On a une nouvelle technologie puissante
et d'une certaine façon, ça pourrait être génial, mais ça ne se fera pas sans nous."
Sous-titres : Hélène Janin