Passer au playerPasser au contenu principal
  • il y a 2 jours
Le 19 janvier 2023 à 4 heures du matin, ton ordinateur va peut-être planter. Comment je le sais ? Je te raconte l'histoire du Bug de l'An 2038.
Abonne-toi à la chaîne pour une histoire incroyable chaque dimanche à 10h !

Avec Théo Raconte, je vous raconte chaque semaine une histoire curieuse ou surprenante ! Abonnez-vous pour me soutenir, et rejoignez-moi sur :
👉 TikTok : https://www.tiktok.com/@theo_raconte
👉 Instagram : https://www.instagram.com/theo_raconte

Je ne suis pas journaliste mais passionné de vidéo et d’histoires. Des imprécisions ont pu se glisser dans la vidéo malgré ma vigilance et nos relectures. N’hésitez pas à les signaler en toute bienveillance dans les commentaires en cas de besoin, nous sommes ouverts aux échanges :-)

Catégorie

😹
Amusant
Transcription
00:00Le temps n'existe pas.
00:02Ça, c'est ce qui pourrait arriver à tous les ordinateurs dans quelques années.
00:07Un bug généralisé, simultané, mondial.
00:12Aucun ordinateur, aucune machine n'y survivrait.
00:16Ce bug est tellement connu qu'il a même son propre nom et sa propre page Wikipédia,
00:21le bug de l'an 2038.
00:24Et même si tu aimes ton ordinateur et que tu en prends soin,
00:28malheureusement, il pourrait ne pas y survivre.
00:31Pas parce que quelqu'un l'a piraté, pas parce qu'il est cassé,
00:35mais parce que, comme toutes les machines, ton ordinateur atteint la fin du temps.
00:40Le plus fou avec ce bug, c'est que je peux te dire exactement quand ça pourrait arriver,
00:44le 19 janvier 2038, à 4h du matin, 14 minutes et 7 secondes, heure de Paris.
00:51Derrière tout ça, se cache en fait une réalité beaucoup plus simple qu'il n'y paraît.
00:55Un principe informatique que tous les développeurs connaissent
00:58et que je peux te démontrer en une seule ligne de code.
01:01C'est d'ailleurs ce que je vais faire dans cette vidéo.
01:03Dans cette vidéo, je te propose de plonger dans l'histoire du bug de l'an 2038,
01:08de le démontrer, de le décortiquer et de le comprendre.
01:15Pour commencer, j'aimerais te montrer quelque chose.
01:18Voilà, j'entre dans ma console Python et je vais afficher une toute petite instruction.
01:23Je commence par import time.
01:26Ça charge le module time de Python.
01:28Un module, c'est une boîte à outils déjà fournie avec Python.
01:31Et le module time que je viens d'importer, il contient des fonctions pour lire l'heure actuelle,
01:36c'est ce qu'on va faire, mais aussi manipuler des dates ou convertir ce qu'on appelle des timestamps.
01:42Sans import time, Python ne saurait pas ce que veut dire time et ctime.
01:48J'écris ensuite print.
01:49Print, il affiche tout simplement quelque chose dans la console.
01:53Il va afficher ce que je lui demande.
01:55Donc tout ce qui sera entre parenthèses dans mon print va être affiché dans ma console.
01:59Et dans mon print, je vais afficher time.ctime 0.
02:04Alors, on décompose.
02:06Time, c'est ce qui va dire à Python, va chercher dans le module time qu'on a apporté précédemment.
02:11Et ctime, ça veut dire convert time, convertir le temps, ça transforme un nombre de secondes en une date lisible.
02:20Et c'est là qu'est toute la clé, le 0.
02:23Je demande à Python de m'afficher dans un format lisible le temps 0, pour comprendre l'origine du temps
02:30en informatique.
02:31Alors ne quittez pas cette vidéo, même si vous n'aimez pas l'informatique, vous allez tout comprendre maintenant.
02:37Ça y est, mon mini code Python est entré, je ne suis pas développeur, mais je prends le risque.
02:42Je clique sur run pour voir ce que la console va m'afficher.
02:48Et là, regardez ce qui apparaît.
02:50Le 1er janvier 1970.
02:53Python vient littéralement de me répondre que le temps 0 correspond au 1er janvier 1970.
03:01Mais qu'est-ce que c'est que cette histoire ?
03:05Ce qu'il faut comprendre grâce à ce petit code, c'est que dans beaucoup de systèmes, une date, elle
03:10n'est pas stockée comme une date en tant que telle.
03:12Par exemple, 19 janvier 2026.
03:15Non, en fait, dans beaucoup de systèmes informatiques, le temps, il est stocké comme un compteur.
03:20On compte le nombre de secondes qui se sont écoulées depuis le temps 0, c'est-à-dire depuis le
03:251er janvier 1970.
03:28C'est ce qu'on appelle le Unix time.
03:29Donc, en fait, les machines, au lieu de mémoriser une date, elles mémorisent un entier, un compteur, qui augmente chaque
03:36seconde depuis le 1er janvier 1970.
03:38Au 1er janvier 1970, on a commencé à 0 et on a un compteur qui compte les secondes et qui
03:44augmente depuis.
03:46Une seconde, deux secondes, trois secondes, quatre secondes, cinq secondes, et comme ça depuis 1970.
03:55Et ça, en fait, cette façon de compter le temps, c'est hyper pratique.
03:58Ça permet en informatique très facilement de comparer facilement deux temps, deux moments où on a compté les secondes.
04:05Ça se trie facilement et ça se stocke facilement.
04:08Et c'est là que le problème est que le bug de l'an 2038 va commencer à apparaître.
04:12Si je compte chaque seconde depuis le 1er janvier 1970, on est d'accord que ça commence à faire beaucoup
04:19de secondes.
04:20Vraiment beaucoup de secondes.
04:22En fait, ça fait environ 1,771,515,977 secondes.
04:32Et alors nous, je veux dire les humains, on a un gros cerveau avec des milliards et des milliards de
04:38neurones, de synapses, de connexions.
04:40Donc ce comptage-là, techniquement, on peut le faire.
04:43Mais un ordinateur, une machine, où est-ce qu'elle va stocker toutes ces informations ?
04:47Sa façon de compter le temps, c'est simplement d'incrémenter un compteur toutes les secondes.
04:52Il doit donc bien y avoir une limite.
04:54Eh bien, c'est exactement là que les problèmes commencent à apparaître.
04:59Pour stocker l'information dans une machine, on utilise des bits.
05:03Pas ce genre de bits, mais ces bits-là.
05:051,771,515,967 en binaire, et donc dans une machine, en fait, ça donne ça.
05:13Petit cours d'informatique rapide, ne partez pas, vous allez tout comprendre en deux minutes.
05:17Un bit, c'est la plus petite unité d'information en informatique, et il ne peut avoir que deux valeurs,
05:220 ou 1.
05:24Pourquoi seulement deux valeurs ?
05:26Eh bien, parce que c'est lié au courant électrique.
05:28Le 1, ça veut dire que le courant, il est présent, et le 0, ça veut dire que le courant,
05:33il est absent.
05:34Et les bits, ils fonctionnent à plusieurs.
05:36Par exemple, si je prends 3 bits, je peux compter jusqu'à 7.
05:40Je fais des combinaisons de bits, et donc 0, 0, 0 me donne 0, 0, 0, 1 me donne 1,
05:480, 1, 0 donne 2, 0, 1, 1 donne 3, 1, 0, 0 donne 4, etc., etc.
05:56Pour savoir jusqu'où je peux compter avec un certain nombre de bits, on a une formule toute simple.
06:012 puissance n moins 1, avec n le nombre de bits, et cette formule, elle est valable si on compte
06:06à partir de 0.
06:07Mais alors, quel est le rapport avec le sujet de cette vidéo ? Eh bien, tu vas tout comprendre.
06:11Les vieilles machines, elles sont codées sur 32 bits.
06:15Donc jusqu'à combien est-ce que je peux compter sur 32 bits ?
06:18Pour le savoir, j'utilise ma formule 2 puissance 32 moins 1, ce qui me donne 4 milliards 294 millions
06:27960 mille 295.
06:31Alors oui, on est d'accord que c'est énorme, mais il faut noter que le temps peut être négatif.
06:36Par exemple, si je veux une date en 1960, alors qu'on l'a dit, le temps en informatique commence
06:41au 1er janvier 1970,
06:43il faut que je puisse revenir dans le passé, et donc compter le temps en négatif.
06:47C'est pour ça qu'on utilise ce qu'on appelle des entiers signés, qui permettent une gestion des chiffres
06:52négatifs.
06:53Donc en fait, avec 32 bits signés, je peux compter de moins 2 milliards 147 millions 483 mille 648 à
07:01plus 2 milliards 147 millions 483 mille 647.
07:06Et donc, depuis le 1er janvier 1970, dans les positifs, le présent et le futur, on peut donc compter jusqu
07:13'à 2 milliards 147 millions 483 mille 647 secondes.
07:19Et cette seconde précise, cette 2 milliardième de seconde après le 1er janvier 1970,
07:25elle correspond exactement à la date du 19 janvier 2038 à 4h14 du matin et 7 secondes.
07:34Et le problème pour les machines arrive précisément à cet instant.
07:37Le compteur va arriver à son maximum à cet instant précis,
07:41donc la machine va déborder et elle va retourner au plus petit nombre possible en moins 2 milliards 147 millions
07:49483 mille 648.
07:52Résultat, au lieu de passer en l'an 2038, et bien la machine va croire qu'elle revient en 1901.
07:59Alors, en 2038, est-ce que tous les compteurs des machines vont se mettre à bugger ?
08:03Pas tout à fait.
08:04Ce que ça peut provoquer, c'est effectivement un bug dans les vieilles machines.
08:08Et tu l'as compris, le bug de l'an 2038, et bien on l'a anticipé depuis très longtemps,
08:13ce n'est pas une prophétie, c'est juste une limite mathématique des machines codées sur 32 bits.
08:18Alors la bonne nouvelle, c'est que pour la grande majorité, l'immense majorité,
08:22des téléphones modernes, des ordinateurs modernes, des machines modernes,
08:26en fait les développeurs avaient prévu le coup et on est passé de 32 bits à 64 bits.
08:30La mauvaise nouvelle, c'est que pour les vieilles machines qu'on utilisera encore en 2038
08:34et qu'ils n'auront pas été mis à jour de 32 bits à 64 bits,
08:37et bien pour toutes ces machines-là, le bug est inévitable.
08:40Mais alors, pour répondre à la question de cette vidéo,
08:42est-ce que ton ordinateur à toi est concerné et va se mettre à bugger en 2038 ?
08:47Comme dit, pour tous les ordinateurs modernes, Mac, Linux, Windows,
08:52ils utilisent des entiers sur 64 bits au lieu d'entiers sur 32 bits.
08:57Ce qui correspond à environ 292 milliards d'années
09:01que le compteur peut compter depuis le 1er janvier 1970.
09:06Ta machine peut donc compter pendant 292 milliards d'années, c'est vertigineux.
09:12A titre de comparaison, la Terre a environ 4,5 milliards d'années,
09:16le Soleil vivra encore pendant environ 5 milliards d'années
09:19et l'univers a environ 13,8 milliards d'années.
09:22Donc 292 milliards d'années, c'est plus de 20 fois l'âge actuel de l'univers.
09:28Au final, la vraie question à se poser,
09:30ce n'est pas de savoir si nos ordinateurs vont bugger en 2038,
09:33mais c'est plutôt de savoir si l'humanité existera encore dans 292 milliards d'années.
09:39Si cette vidéo vous a captivé, n'oubliez pas de vous abonner
09:42et je vous dis à dimanche pour une nouvelle histoire incroyable sur Théoracontes.
Commentaires

Recommandations