WEBVTT 00:00:15.353 --> 00:00:17.238 Vous vous souvenez du jour où vous avez réalisé 00:00:17.238 --> 00:00:18.659 que votre ordinateur était plus 00:00:18.659 --> 00:00:20.742 que simplement un écran et un clavier ? 00:00:20.742 --> 00:00:23.325 Qu'entre le clic de la souris et le lancement de la vidéo, 00:00:23.325 --> 00:00:25.598 quelque chose capturait votre intention, 00:00:25.598 --> 00:00:26.428 la comprenait, 00:00:26.428 --> 00:00:27.880 et la réalisait ? 00:00:28.650 --> 00:00:30.270 Quel est ce quelque chose ? 00:00:30.270 --> 00:00:32.006 Est-ce que ce sont les gremlins ? 00:00:32.006 --> 00:00:33.665 Imaginons qu'on puisse se rétrécir 00:00:33.665 --> 00:00:35.141 à la taille d'un électron 00:00:35.141 --> 00:00:37.894 et s'injecter dans le clic d'une souris. 00:00:37.894 --> 00:00:39.531 Si vous démontiez votre souris, 00:00:39.531 --> 00:00:42.193 vous verriez que c'est une machine vraiment très simple. 00:00:42.193 --> 00:00:43.444 Elle a deux boutons 00:00:43.444 --> 00:00:46.747 et un système qui détecte les mouvements et la distance. 00:00:46.747 --> 00:00:48.163 Vous avez peut-être une souris optique 00:00:48.163 --> 00:00:50.868 qui prend ces mesures à l'aide de lumières et de capteurs, 00:00:50.868 --> 00:00:52.958 mais les anciennes souris faisaient ça avec une boule en caoutchouc 00:00:52.958 --> 00:00:54.576 et des roues en plastique. 00:00:54.576 --> 00:00:56.325 Même concept. 00:00:56.325 --> 00:00:57.914 Quand vous appuyez sur le bouton de votre souris, 00:00:57.914 --> 00:00:59.716 ça envoie un message à l'ordinateur 00:00:59.716 --> 00:01:01.825 avec une information sur sa position. 00:01:01.825 --> 00:01:03.491 Quand votre clic est reçu, 00:01:03.491 --> 00:01:06.880 il est géré par le sous-système basique d'entrée/sortie (E/S). 00:01:06.880 --> 00:01:09.444 Ce sous-système agit comme les yeux, les oreilles, 00:01:09.444 --> 00:01:12.053 la bouche et les mains d'un ordinateur. 00:01:12.053 --> 00:01:13.958 En gros, il permet à l'ordinateur 00:01:13.958 --> 00:01:16.443 d'interagir avec son environnement. 00:01:16.443 --> 00:01:18.090 Mais il agit aussi comme une mémoire tampon 00:01:18.090 --> 00:01:21.501 qui empêche le processeur d'être submergé de distractions. 00:01:21.501 --> 00:01:23.811 Dans ce cas, le sous-système d'E/S décide 00:01:23.811 --> 00:01:25.942 que votre clic de souris est assez important 00:01:25.942 --> 00:01:28.939 pour générer une interruption du processeur. 00:01:28.939 --> 00:01:31.075 «Hé, processeur ! On a un clic ici.» 00:01:31.952 --> 00:01:34.327 Le CPU (unité centrale de traitement) ou processeur, 00:01:34.327 --> 00:01:36.522 est le cerveau de l'ordinateur tout entier. 00:01:36.522 --> 00:01:39.072 De la même manière que votre cerveau ne gère pas tout votre corps, 00:01:39.072 --> 00:01:41.577 le CPU ne gère pas tout l'ordinateur, 00:01:41.577 --> 00:01:44.262 mais il supervise son fonctionnement de la même façon. 00:01:44.262 --> 00:01:46.506 Et le travail du CPU, sa seule fonction, 00:01:46.506 --> 00:01:48.444 c'est d'aller chercher les instructions contenues dans la mémoire 00:01:48.444 --> 00:01:50.451 et de les éxecuter. 00:01:50.451 --> 00:01:52.380 Alors, pendant que vous tapez sans interruption, 00:01:52.380 --> 00:01:53.610 peut-être très vite, 00:01:53.610 --> 00:01:55.088 à 60 mots par minute, 00:01:55.088 --> 00:01:57.090 le CPU va chercher et éxecuter 00:01:57.090 --> 00:01:59.137 des milliards d'instructions à la seconde. 00:01:59.137 --> 00:02:02.176 Oui, des milliards à chaque seconde : 00:02:02.176 --> 00:02:04.982 les instructions faisant bouger votre souris sur l'écran, 00:02:04.982 --> 00:02:07.145 faisant marcher l'horloge sur votre bureau, 00:02:07.145 --> 00:02:08.892 diffusant votre webradio, 00:02:08.892 --> 00:02:11.145 gérant les fichiers que vous êtes en train d'éditer sur le disque dur, 00:02:11.145 --> 00:02:12.900 et beaucoup plus encore. 00:02:12.900 --> 00:02:16.160 le CPU de votre ordinateur est sacrément multi-fonctions ! 00:02:16.743 --> 00:02:17.613 « Mais, oh mon Dieu, 00:02:17.613 --> 00:02:18.909 un clic très important 00:02:18.909 --> 00:02:20.030 vient juste d'arriver ! 00:02:20.030 --> 00:02:22.560 Laissons tout le reste et gérons ça !» 00:02:23.207 --> 00:02:24.604 Il y a des programmes pour tout 00:02:24.604 --> 00:02:26.336 ce que le CPU fait. 00:02:26.336 --> 00:02:28.058 Un programme spécial pour la souris, 00:02:28.058 --> 00:02:29.092 pour le widget horloge, 00:02:29.092 --> 00:02:30.303 pour la webradio, 00:02:30.303 --> 00:02:33.136 et pour la gestion des lettres envoyées par le clavier. 00:02:33.136 --> 00:02:35.688 Chaque programme a d'abord été écrit par un humain 00:02:35.688 --> 00:02:37.906 dans un langage de programmation lisible par l'humain, 00:02:37.906 --> 00:02:38.765 comme Java, 00:02:38.765 --> 00:02:39.798 C++, 00:02:39.798 --> 00:02:41.219 ou Python. 00:02:41.219 --> 00:02:43.741 Mais les programmes humains prennent beaucoup d'espace 00:02:43.741 --> 00:02:47.450 et contiennent beaucoup d'informations superflues pour un ordinateur, 00:02:47.450 --> 00:02:49.191 alors elles sont compilées, raccourcies 00:02:49.191 --> 00:02:52.653 et stockées dans la mémoire sous la forme de petits uns et zéros. 00:02:52.653 --> 00:02:55.410 Le CPU comprend qu'il a besoin d'instructions 00:02:55.410 --> 00:02:57.411 sur comment gérer ce clic de souris, 00:02:57.411 --> 00:02:59.380 alors il cherche l'adresse du programme de la souris, 00:02:59.380 --> 00:03:01.755 et envoie une requête au sous-système de mémoire 00:03:01.755 --> 00:03:04.179 pour obtenir les instructions qui y sont stockées. 00:03:05.287 --> 00:03:07.216 Chaque instruction dans le pilote de la souris 00:03:07.216 --> 00:03:09.742 est dûment récupérée et exécutée. 00:03:09.742 --> 00:03:12.113 Et c'est loin d'être tout ! 00:03:12.113 --> 00:03:14.654 Parce que le CPU remarque qu'on a cliqué sur la souris 00:03:14.654 --> 00:03:16.216 quand le curseur était sur l'image 00:03:16.216 --> 00:03:18.177 d'un bouton sur l'écran du moniteur, 00:03:18.177 --> 00:03:21.248 et donc, le CPU demande à la mémoire le programme de l'écran 00:03:21.248 --> 00:03:23.353 pour trouver de quel bouton il s'agit. 00:03:23.353 --> 00:03:25.601 Ensuite, le CPU doit demander à la mémoire 00:03:25.601 --> 00:03:27.437 le programme du bouton, 00:03:27.437 --> 00:03:28.948 ce qui veut dire que le CPU a besoin 00:03:28.948 --> 00:03:30.688 du programme de l'écran à nouveau 00:03:30.688 --> 00:03:32.860 pour montrer la vidéo associée à ce bouton, 00:03:32.860 --> 00:03:34.742 et c'est parti. 00:03:34.742 --> 00:03:37.487 Et disons que plein d'autres programmes agissent 00:03:37.487 --> 00:03:39.472 avant même que vous ne voyiez le bouton sur l'écran 00:03:39.472 --> 00:03:41.379 s'allumer quand vous cliquez dessus. 00:03:41.379 --> 00:03:43.848 Donc, la simple action de cliquer avec votre souris 00:03:43.848 --> 00:03:46.216 signifie visiter tous les composants importants 00:03:46.216 --> 00:03:48.196 de l'architecture de votre ordinateur : 00:03:48.196 --> 00:03:49.238 les périphériques, 00:03:49.238 --> 00:03:51.047 le système basique d'E/S, 00:03:51.047 --> 00:03:52.379 le CPU, 00:03:52.379 --> 00:03:53.154 les programmes, 00:03:53.154 --> 00:03:54.140 et la mémoire, 00:03:54.140 --> 00:03:56.133 et pas un seul gremlin.