FORUM ÉLECTRICITÉ

S'inscrire Aide

Bug de 2038 Y2K38 - Le jour où le temps débordera

Rechercher dans le forum électricité :
ou taper le n° d'une question pour y accéder directement
Je pose une nouvelle question :
Actuellement 27 421 questions dans le forum électricité


27352

Passage du 32 bits au 64 bits : Bug de 2038 Y2K38 - Le jour où le temps débordera

Bricovidéo
Administrateur
Bricovidéo
13 617 messages
Le Bug de 2038 Y2K38 - Le jour où le temps débordera

Le Bug de 2038 (Y2K38). Le réservoir qui déborde (overflow).
C'est quoi ? Ce n'est plus une question de "chiffres d'années", mais de capacité de stockage, c'est comme si vous aviez un compteur kilométrique qui s'arrête à 99 999 km.
Le risque : Le 19 janvier 2038 à 3 h 14 minutes 8 s, temps universel, le nombre de secondes écoulées depuis 1970 dépassera la limite de ce que peuvent stocker les systèmes (32 bits).
Quand ça déborde, le compteur repart en arrière (en 1901).

La différence : Contrairement à l'an 2000, ce bug touche le cœur même du matériel et des anciens logiciels industriels qui tournent encore dans des usines ou des infrastructures.

En résumé : An 2000 : On a manqué de place pour écrire la date en entier. (C'était un problème de notation).
2038 : On manque de place pour compter les secondes. (C'est un problème de limite mathématique).
C'est un peu comme comparer un agenda où on n'a plus de place pour écrire (2000) à un chronomètre qui n'a pas assez de chiffres pour continuer à tourner (2038).

Dans les deux cas, le remède est le même : anticiper.
Mais ne vous inquiétez pas, vos appareils modernes (smartphones, ordinateurs récents) sont déjà en "64 bits" et sont immunisés. Ce sont surtout les vieux systèmes oubliés au fond d'une usine qui risquent de faire "pschiit" !

Retour vers le passé des systèmes Unix. Le passage du 32 bits au 64 bits.
Pour comprendre, imaginez que la mémoire d'un ordinateur est comme un compteur kilométrique sur le tableau de bord d'une voiture.
Le système 32 bits (l'ancien, celui qui bugue) : C'est un compteur qui n'a que 10 chiffres. Arrivé à 231−1 secondes (environ 2,1 milliards), il n'a plus de place pour le chiffre suivant et il "déborde" (l'overflow). C'est ce qui arrive en janvier 2038.
Le système 64 bits : C'est un compteur qui a 20 chiffres. La différence n'est pas juste "le double", elle est astronomique.

Pourquoi vous pouvez dormir tranquille : La limite est repoussée à l'infini (ou presque) : Un système 64 bits peut compter les secondes pendant environ 292 milliards d'années.
À titre de comparaison, l'Univers lui-même n'a que 13,8 milliards d'années.
Autant dire que le prochain bug n'est pas pour demain !

Les vrais coupables : Le danger vient des systèmes "cachés". Par exemple, un vieux boîtier de contrôle dans une station d'épuration, un vieux satellite lancé dans les années 90, ou certains serveurs de bases de données très anciens qui n'ont jamais été mis à jour.

Le bug de 2038 pour les ingénieurs qui gèrent de vieilles infrastructures industrielles, c'est un vrai casse-tête de maintenance !
C'est un peu comme si vous aviez une montre atomique ultra-précise, alors que le reste du monde essaie encore de réparer de vieilles horloges à ressort qui vont se bloquer.
Pour les satellites, c'est un sujet sérieux. Beaucoup ont été conçus pour durer des décennies avec des logiciels figés dans le temps (systèmes embarqués). Si leur horloge interne bascule en 1901, ils pourraient perdre leur synchronisation avec la Terre ou simplement s'éteindre par sécurité.

Les autres appareils "à risque" :
Voici une petite liste des objets qui pourraient avoir un comportement étrange le 19 janvier 2038 :
Les infrastructures de transport : Certains vieux automates qui gèrent les feux de signalisation ou l'aiguillage des trains.
Les systèmes bancaires très anciens : Imaginez un distributeur de billets qui refuse votre carte parce qu'il pense qu'elle expire en 1901 !
Les objets connectés (IoT) de première génération : Les vieilles caméras de surveillance ou certains thermostats intelligents que l'on a oubliés au mur depuis 15 ans.
Le matériel médical : De vieux appareils d'analyse dans les hôpitaux qui pourraient corrompre les résultats à cause d'une erreur de date dans le fichier.

Le mot de la fin : Comme pour l'an 2000, le risque principal est une suite de "petits bugs agaçants" plutôt qu'une apocalypse globale. Les ingénieurs du monde entier sont parfaitement au courant.
Ils ont encore 12 ans pour remplacer les vieilles puces par des versions modernes.
Correction technique :
J'ai précisé que c'est un problème de logiciel (la gestion des secondes) plutôt que de "matériel pur".
06 avril 2026 à 20:46
Réponse 1 d'un contributeur du forum électricité

Bug de 2038 Y2K38 - Le jour où le temps débordera

Bricovidéo
Administrateur
Bricovidéo
13 617 messages
Le Bug de l’an 2000 (Y2K) : La gestion de la mémoire face au temps.

Bug de l'an 2000

Dans les premières décennies de l’informatique, l'architecture des systèmes était dictée par une contrainte absolue (la rareté des ressources).
Le stockage sur cartes perforées, puis sur bandes magnétiques et disques durs primitifs, imposait une économie de chaque bit.
L'origine technique. L'optimisation à tout prix

À l'époque du COBOL (Common Business-Oriented Language) est un langage de programmation compilé de haut niveau, semblable à l'anglais, développé spécifiquement pour répondre aux besoins de traitement des données des entreprises.
Et l'Assembleur (langage bas niveau qui représente le langage machine sous une forme lisible par un humain).

Le coût de la mémoire vive (RAM) et du stockage était prohibitif.
Gagner deux octets sur une date n'était pas une négligence, c'était une nécessité d'optimisation.
Structure de données : Une date au format YYYYMMDD occupe 8 octets (ou 4 octets en décimal codé binaire - BCD).
En supprimant le siècle (YYMMDD), on économisait 25 % d'espace par enregistrement de date.

Impact à l'échelle pour une base de données bancaire contenant des millions de transactions, cette économie se chiffrait en mégaoctets, soit des milliers de dollars d'économies en matériel.

Le cœur du problème : L'ambiguïté logique, le passage de 99 à 00 a brisé l'arithmétique simple des processeurs.
Pour un ordinateur, une comparaison est une opération binaire stricte.
L'erreur de tri (Sorting Bug) : Les algorithmes de tri (type Quicksort ou Merge Sort) utilisent des opérateurs de comparaison (< ou >).
Techniquement, 00<99.
Par conséquent, une transaction effectuée en l'an 2000 était classée par le système comme étant antérieure à une transaction de 1999.
L'erreur de calcul (Arithmetic Overflow/Logic) : Le calcul d'un intervalle (Date B - Date A) devenait aberrant.
Exemple : 00(an 2000)−95(an 1995)=−95.

Dans de nombreux systèmes, ce résultat négatif provoquait un plantage du programme (Runtime Error) ou, pire, une corruption de données si le champ n'acceptait que des entiers naturels.
Les stratégies de remédiation. Le chantier mondial ne s'est pas résumé à "ajouter deux chiffres".
Trois techniques principales ont été employées :

L'expansion des champs (Expansion) : La méthode la plus lourde.
Elle consistait à modifier physiquement les bases de données pour passer de YY à YYYY. Cela demandait de recompiler des millions de lignes de code et de convertir des téraoctets de données.

Le fenêtrage (Windowing) : Une solution logicielle élégante. On instaurait une règle pivot.
Exemple : Si YY ≥50, alors le siècle est 19. Si YY <50, alors le siècle est 20.
Cette méthode a permis de corriger des systèmes sans changer la structure des données, mais elle ne faisait que repousser le problème (le futur "bug" de la fenêtre).

Le codage binaire (Compression) : Utiliser les bits inutilisés dans les formats existants pour stocker le siècle sans augmenter la taille du champ (par exemple, utiliser les bits de signe).
Pourquoi le chaos n'a pas eu lieu.
Le 1er janvier 2000 a été calme non pas par chance, mais grâce à une opération de maintenance préventive sans précédent.
Le rollover test : Les ingénieurs ont créé des environnements isolés ("sandboxes") où l'horloge système était avancée artificiellement pour observer les réactions en chaîne.

La dette technique : Le Y2K a forcé les entreprises à cartographier des systèmes "hérités" (Legacy) dont plus personne ne comprenait le fonctionnement, révélant l'importance de la documentation technique.

Le prochain défi : Le Bug de 2038 (Y2K38)
Si le bug de l'an 2000 était lié à l'affichage et au stockage décimal, le bug de 2038 est une limitation système.

Les systèmes de type Unix (Linux, macOS, serveurs web) mesurent le temps en secondes écoulées depuis le 1er janvier 1970 (l'Epoch Unix). Cette valeur est souvent stockée dans un entier signé de 32 bits.
La limite physique : Le nombre maximum qu'un entier 32 bits peut contenir est 2147483647.
Le point de rupture : Le 19 janvier 2038 à 03:14:07 UTC, ce compteur atteindra sa limite.

Le dépassement de capacité (Integer Overflow) :
À la seconde suivante, le bit de signe basculera, et la valeur deviendra −2147483648, renvoyant les systèmes au 13 décembre 1901.
La transition vers le 64 bits règle ce problème (263−1 secondes permettent de tenir environ 292 milliards d'années), mais le défi réside dans les systèmes embarqués (capteurs industriels, domotique, automobile) qui utilisent encore des puces 32 bits anciennes.
Conclusion

Le bug de l'an 2000 reste le plus grand exemple de maintenance logicielle de l'histoire.
Il a prouvé qu'en informatique, le "temporaire" dure souvent des décennies et que l'économie de bouts de chandelle lors de la conception peut se transformer en une facture de plusieurs milliards de dollars.
C’est une leçon de modestie pour tout développeur.

Dernier détail technique souvent oublié : l'année 2000 était une année bissextile particulière.
Selon la règle du calendrier grégorien : Une année est bissextile si elle est divisible par 4.
Sauf si elle est divisible par 100.

Mais elle l'est quand même si elle est divisible par 400. Beaucoup de programmes n'avaient pas intégré la troisième règle.
Le 29 février 2000 a donc été un second test critique juste après le passage du 1er janvier.
07 avril 2026 à 00:41
Réponse 2 d'un contributeur du forum électricité

Bug de 2038 Y2K38 - Le jour où le temps débordera

Bricovidéo
Administrateur
Bricovidéo
13 617 messages
Ariane 5, vol 501 : l'histoire d'un simple calcul qui fit exploser une fusée.

Ariane 5 vol 501

Le 4 juin 1996, lors de son vol inaugural, la fusée Ariane 5 explose seulement 37 secondes après son décollage. Ce qui semblait être un échec technique spectaculaire est devenu un cas d’école mondial. Le plus surprenant ? Le logiciel n’a pas "buggé" : il a fait exactement ce qui lui était demandé.

Le scénario de la catastrophe, tout commence normalement. La fusée décolle et suit sa trajectoire.
Puis, à 36,7 secondes, les deux systèmes de guidage tombent en panne simultanément.
L’ordinateur de bord reçoit alors des données incohérentes et ordonne une correction brutale de la trajectoire.
Sous la violence de la manœuvre, la fusée se disloque et s’autodétruit.
Le cœur du problème toujours l'overflow.

À l’origine du drame se trouve un dépassement de capacité (ou overflow).
Concrètement, une valeur mathématique trop grande a été forcée dans un espace de stockage trop petit.
Le système, incapable de gérer ce surplus, a déclenché une erreur critique et s'est arrêté net.

Une chaîne de décisions humaines
Cet accident n'est pas une simple fatalité technique, mais le résultat de plusieurs choix discutables :
Le recyclage de logiciel : Le programme provenait d'Ariane 4. Or, Ariane 5 est beaucoup plus puissante et rapide.
C'est comme si vous installiez le compteur de vitesse d'une citadine sur une Formule 1 : il finit par bloquer.

Une fonction inutile : L'erreur est venue d'une partie du programme qui ne servait qu'avant le décollage, mais que l'on a laissée active pendant le vol. Des protections désactivées : Pour économiser de la puissance de calcul, certaines sécurités avaient été retirées, les ingénieurs jugeant ces valeurs impossibles à atteindre.

Une fausse sécurité : L'ordinateur de secours utilisait le même logiciel que le principal.
Ils ont donc planté exactement au même moment.
L'effet domino en résumé
Erreur de calcul → Le système sature.
Arrêt du guidage → Les ordinateurs s'éteignent.
Données erronées → Le pilotage devient fou.
Désintégration → La fusée succombe aux forces de l'air.

Une leçon durable. Cet accident, l'un des plus coûteux de l'histoire, rappelle qu'en informatique, le problème est rarement isolé.
Il s'agit souvent d'un manque de tests en conditions réelles ou d'une confiance excessive dans du code déjà existant.
Encore aujourd'hui, le défi reste le même, anticiper les limites de nos systèmes pour que le "détail" d'aujourd'hui ne devienne pas la catastrophe de demain. C’est une véritable leçon de modestie pour les ingénieurs du monde entier.
24 avril 2026 à 00:47
Pour poser une réponse, vous devez être identifié.
Si vous ne possédez pas de compte, créez-en un ICI.

Questions apparentées dans le forum Électricité

  • 1. Installer un contacteur jour/nuit triphasé
    N°15216 : Bonjour à tous, Je souhaite installer un contacteur jour/nuit me permettant de passer en marche forcée sur mon ballon d'eau chaude quand je le souhaite. J'ai actuellement un contacteur mais qui ne me permet pas de passer en...
  • 2. Branchement parallèle horloge et contacteur jour nuit
    N°23053 : Bonjour. Je dispose d'une installation électrique doublement alimenté par un compteur Linky et des panneaux solaires. Pour maximiser l'utilisation de l'énergie solaire, j'ai supprimé le contacteur HP/HC (jour/nuit). A la...
  • 3. Contacteur Hager Et 221 Jour/Nuit et disjoncteur Hager C2
    N°16136 : Bonjour à tous, Je dispose d'un tableau électrique avec un contacteur jour/nuit Hager Et 221 couplé à un disjoncteur Hager C2. Le contacteur jour/nuit dispose d'une marche forcée mais revient en automatique lors du...
  • 4. Diagnostic contacteur jour/nuit
    N°18169 : Bonjour, Je suis totalement ignare en électricité donc désolé d’avance si je ne suis pas clair : ma question concerne l’activation d’un contacteur jour/nuit (marque ABB). J’ai acheté récemment un pavillon...
  • 5. Sections câbles conducteurs et protection
    N°19804 : Bonjour, J'ai une série de Protection tableau divisionnaire obligatoire ou non au sujet de la préparation de mon installation en rénovation complète d'un chauffage électrique en remplacement d'un chauffage central au...
  • 6. Remplacer un contacteur jour nuit par une horloge
    N°17201 : Bonjour à tous, Comme de nombreux usagers, j'ai depuis 3 mois un chauffe eau qui ne fonctionne qu'en "marche forcée" de jour, le contacteur jour/nuit changé par le même modèle, même branchements effectués et testés ne...
  • 7. Pilotage chauffe eau et passage à double tarif jour nuit
    N°17457 : Bonjour. Je veux abandonner l'abonnement EJP pour un abonnement jour /nuit. Le matériel de pilotage spécifique EJP peut-il rester pour faire fonctionner le chauffe eau en HC ? Si tel est le cas je suppose que ce ne doit pas...
  • 8. Problème branchement disjoncteur A2 disjoncte tout le temps
    N°13441 : Bonjour. J'ai un compteur double tarif. J'ai changé mon très ancien pour un nouveau tableau et j'en ai profité pour mettre un contacteur heures creuses, de mon compteur sort 3 fils, 2 blanc et un rouge en 1.5. J'ai...
  • 9. Relais compteur Jour Nuit cassé
    N°12562 : Bonjour, Je lis souvent les posts de ce forum et pour une fois je ne trouve pas la réponse à mon problème, donc je vous demande de l'aide. Je viens demander des renseignements suite à une mésaventure avec mon chauffe eau...
  • 10. Remplacer contacteur jour nuit par horloge
    N°19407 : Bonjour. Depuis peu je suis basé sur un tarif base, mon chauffe eau s'active donc en permanence. Soucieux d'une quelconque perte, j'ai acheté une horloge programmable (modèle Legrand LEG412812). Le souci auquel je me suis...
  • 11. Marche forcée contacteur jour/nuit Schneider
    N°25001 : Bonjour. J'ai remplacé le contacteur J/N Merlin Gerin du ballon d'eau chaude par un ensemble Schneider (disjoncteur/contacteur J/N). Quand je mets le contacteur en marche forcée, il se remet en position auto lorsque EDF...
>>> Résultats suivants pour : Bug de 2038 Y2K38 - Le jour où le temps débordera >>>

Fiches techniques et Vidéos électricité :



information Informations sur le forum Électricité information Informations sur le moteur du forum Mentions légales

Mentions légales :Le contenu, textes, images, illustrations sonores, vidéos, photos, animations, logos et autres documents constituent ensemble une œuvre protégée par les lois en vigueur sur la propriété intellectuelle (article L.122-4).
Aucune exploitation commerciale ou non commerciale même partielle des données qui sont présentées sur ce site ne pourra être effectuée sans l'accord préalable et écrit de la SARL Bricovidéo.
Toute reproduction même partielle du contenu de ce site et de l'utilisation de la marque Bricovidéo sans autorisation sont interdites et donneront suite à des poursuites.   >> Lire la suite