1

Le problème concerne des logiciels qui utilisent la représentation POSIX du temps, dans lequel le temps est représenté comme un nombre de secondes depuis le 1er janvier 1970 à 0 heure. Sur les ordinateurs 32 bits, la plupart des systèmes d’exploitation concernés représentent ce nombre comme un nombre entier signé de 32 bits, ce qui limite le nombre de secondes à 2 147 483 647. Ce nombre maximum sera atteint le 19 janvier 2038 à 3 h 14 min 7 s. La seconde suivante, la représentation du temps « bouclera » et représentera -2 147 483 648 en complément à deux.Les logiciels concernés sont très nombreux car la norme POSIX, inspirée des systèmes UNIX, a été utilisée pour de nombreux programmes écrits en langage C pour de nombreux systèmes d’exploitation. Le passage à 64 bits résout le problème définitivement, la date butoir se situant à 292 milliards d’années. Mais, malgré le succès croissant des ordinateurs à 64 bits, il est possible que de nombreux ordinateurs à 32 bits soient encore actifs en 2038, en particulier dans les systèmes embarqués.


Info ou intox ?

2

Ça tiendrait plus du point Squalyl, en fait.
Et la news est plutôt maladroite, mais c'est quand même à peu près ça.

3

quoi intox? quand les timestamps 32 bits passeront de 0xFFFFFFFF à 0x00000000 ça foutra le bordel oui... mais tous les OS sérieux sont déjà avec des timestamps de 64 bits...

4

Malheureusement il n'y a pas que les OS qui utilisent des timestamps 32bits, faut que les applis soient aussi corrigés.
Suffit d'avoir par exemple une application qui utilise une base de données mysql avec des colonnes de type timestamp dans les tables pour que ça foute le boxon. sad
avatar

5

moi je mets toujours mes timestamps mysql en INT(8).

6

odie_one (./1) :
Le problème concerne des logiciels qui utilisent la représentation POSIX du temps, dans lequel le temps est représenté comme un nombre de secondes depuis le 1er janvier 1970 à 0 heure. Sur les ordinateurs 32 bits, la plupart des systèmes d’exploitation concernés représentent ce nombre comme un nombre entier signé de 32 bits, ce qui limite le nombre de secondes à 2 147 483 647. Ce nombre maximum sera atteint le 19 janvier 2038 à 3 h 14 min 7 s. La seconde suivante, la représentation du temps « bouclera » et représentera -2 147 483 648 en complément à deux.Les logiciels concernés sont très nombreux car la norme POSIX, inspirée des systèmes UNIX, a été utilisée pour de nombreux programmes écrits en langage C pour de nombreux systèmes d’exploitation. Le passage à 64 bits résout le problème définitivement, la date butoir se situant à 292 milliards d’années. Mais, malgré le succès croissant des ordinateurs à 64 bits, il est possible que de nombreux ordinateurs à 32 bits soient encore actifs en 2038, en particulier dans les systèmes embarqués.


Info ou intox ?
Ce n'est clairement pas de l'intox, le problème est très connu.

Ceci dit je pense que l'impact devrait être encore plus faible que pour le "bug de l'an 2000", qui n'a lui même pas été l’apocalypse informatique prévue. Tous les OS, bibliothèques et framework de dev, ... ont pris en compte cela depuis longtemps ou sont en train de le faire. Et comme d'ici ici 2038 je pense qu'il ne restera plus grand chose des logiciels actuels, le gros des applications reposeront depuis très longtemps sur des bibliothèques corrigées.
Cela pourrait provoquer des soucis très sporadique, de vielles applications qui ne sont plus maintenues ou qui gèrent elles même le codage des dates, mais comme les gens qui utilisent ce genre d'application sont généralement au courant du problème, il seront certainement corrigé d'ici là.
avatar

7

Le bug de l'an 2000 était surtout un gros coup commercial pour vendre du PC, non ?

8

Non.
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

9

Je pense que le bug de l'an 2038 risque d'avoir plus de répercussions que celui de l'an 2000, mais bon, on verra le moment venu.
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

10

En pratique dans nos consoles de jeux, ça fera quoi? La date de la Saturn ne sera plus juste? Celle de la Neo Geo Pocket non plus? Celle des Xbox non plus? Et des PS2? Et des Dreamcast?

J'ai envie de dire que les consoleux s'en fichent cheeky Très peu de jeux utilisent l'horloge interne des consoles, et parmi eux aucun jeu ne se sert de l'année. Du moins à ma connaissance. ça fait rien d'avoir la date de la Dreamcast à 1998 alors qu'on joue en 2012, ça fait rien d'avoir la date de la Saturn à 1994 quand on la rallumera en 2039. La Xbox remet la date par défaut à 2001 dès qu'elle est débranchée (elle n'a pas de pile interne), et je ne la remets jamais à l'heure quand je la rebranche, ça ne m'a jamais dérangé.

D'ailleurs pour les vieux PC qu'on garde pour faire du retrogaming, je pense pas que ce soit si important que ça que la date soit mauvaise... Il suffit de reculer l'année interne du PC et de ne pas le connecter au net afin qu'il ne se synchronise pas.

Quant aux autres appareils électroniques qui n'ont pas d'horloge, ce problème ne les concerne pas.

Je pense que ce bug aura extrêmement peu de répercussions en pratique pour le particulier. Soit il s'en foutra éperdument, soit il aura upgradé son matériel d'ici là (dans 24 ans j'aurai changé de PC je pense).
avatar
Spartine, la fille que ce soir elle dîne en enfer: http://www.spartine.com

Pockett Videogames, le site de toutes les consoles portables!: http://www.pockett.net

J'aime beaucoup faire des dessins aux petites filles! C'est ma passion.

11

ça aura des répercussions sur les serious business genre banques et bourses.

quand tu vois que dans les banques ils programment encore leurs AS390 en cobol grâce à des retraités en maison de retraite sous perfusion...

j'déconne, mais presque grin

12

Le bug de l'an 2000 était surtout un gros coup commercial pour vendre du PC, non ?


Oui, mais ça a franchement boosté les ventes en informatique auprès des entreprises tout de même, alors que la crainte première évoqué par les médias était qu'un ordinateur ne puisse pas gérer le passage de la date en 00.

13

./5 > J'espère que c'est une blague ? (Ou une erreur ?)
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

14

odie_one (./7) :
Le bug de l'an 2000 était surtout un gros coup commercial pour vendre du PC, non ?
Zerosquare (./8) :
Non.

Si ! ça a été une arnaque sans nom !
Même si ça a permis à l'époque de renouveler quelques micros vraiment anciens, les petits revendeurs comme les gros se sont goinfrés en profitant de la crédulité des utilisateurs.
Changer des machines au complet n'était pas nécessaire et des correctifs logiciels existaient et des changements de cmos ou des cartes d'horloges pouvaient palier au problème. Mais un paquet de gens se sont fait couillonner par des charlatants sans scrupule...
Le problème existait mais il a été gonflé pour faire un max de blé et l’attend 2038, comme ça... pour rire un bon coup....

15

Peut-être que certains ont abusé avec ça, mais c'est pas là qu'était le vrai problème (et à l'époque, je n'ai pas souvenir qu'on ait dit qu'il fallait changer les PCs, juste mettre à jour les logiciels).
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

16

odie_one (./7) :
Le bug de l'an 2000 était surtout un gros coup commercial pour vendre du PC, non ?
Oui et non, Le problème existait réelement pour les entreprises qui avaient des logiciels qui n'avaient pas tous été conçus pour être durable et qui ont du être corrigés dans l'urgence. C'était particulièrement un soucis dans le bancaire où il a fallu aller rechercher des développeurs qui maitrisaient le cobol pour corriger des logiciels que plus personne ne touchait depuis des années.

Par contre, en ce qui concerne les particuliers, c'était en effet un grand n'importe quoi. Le grand public, qui n'y connais rien a eu vent du "bug de l'an 2000" par des journalistes qui n'y connaissaient pas plus, alors que se problème ne les concernait pas du tout. Ca a créé une panique irraisonnée dont certains vendeurs sans scrupules en ont en effet profité. Quasiment tout le matériel et le logiciel grand public passaient sans problème l'an 2000.
squalyl (./11) :
ça aura des répercussions sur les serious business genre banques et bourses.

quand tu vois que dans les banques ils programment encore leurs AS390 en cobol grâce à des retraités en maison de retraite sous perfusion...
Ximoon (./9) :
Je pense que le bug de l'an 2038 risque d'avoir plus de répercussions que celui de l'an 2000, mais bon, on verra le moment venu.
Je dirais que non, Le problème connernait surtout les gros logiciels lourd du bancaire et ces gens la ont compris là leçon à l'an 2000, ça leur a couté bien trop cher de corriger dans l'urgence au dernier moment des logiciels sous spécifiés que plus personne ne maitrisait. Certains ont même du aller rechercher a prix d'or des programmeurs à la retraite.

Chez nous on a plusieurs projets qui consistent à remplacer progressivement la base de code ancien en COBOL que plus personne ne maitrise. Je pense que d'ici 2038, il n'en restera plus grand chose.
Nhut (./10) :
En pratique dans nos consoles de jeux, ça fera quoi? La date de la Saturn ne sera plus juste? Celle de la Neo Geo Pocket non plus? Celle des Xbox non plus? Et des PS2? Et des Dreamcast?
Pour les consoles, ca ne changera clairement rien. Au pire il faudra mettre une fause date pour éviter un crash. Mais le principal problème en 2038, ne sera clairement pas les bugs logiciels mais de touver des machines matériellement en bon état.
avatar

17

Pas entièrement d'accord pour le grand public ; ce n'était pas du grand n'importe quoi, c'était très bien orchestré : Eh! les moutons ! il faut changer vos ordinateurs !
Et : bêêêêh!!!! oui ! oui ! je change mon ordinateur pour survivre à l'an 2000....
Le gros problème de l'informatique en ce qui concerne le grand public, se situe entre la chaise et l'écran et malheureusement c'est un problème d'éducation. A quand une éducation nationale qui autonomisera les individus, plutôt que d'en faire des consommateurs polluants pour la planète ?

18

Bof, pareil que plus haut, je n'ai entendu personne dire à l'époque qu'il fallait changer de PC...

Sinon, pour le post précédent, pour 2038, comme toujours tout le monde pense aux PC et aux serveurs, et tout le monde oublie l'informatique embarquée. La durée de vie de certains matériels se compte en dizaines d'années et je ne suis pas sûr que tout sera mis à jour comme il faut. Je ne parle pas de systèmes forcément très critiques comme de l'automotive, de l'aéronautique ou du ferroviaire, mais pas mal d'autres choses pourraient déconner. Enfin on verra bien.
avatar
Que cache le pays des Dieux ? - Forum Ghibli - Forum Littéraire

La fin d'un monde souillé est venue. L'oiseau blanc plane dans le ciel annonçant le début d'une longue ère de purification. Détachons-nous à jamais de notre vie dans ce monde de souffrance. Ô toi l'oiseau blanc, l'être vêtu de bleu, guide nous vers ce monde de pureté. - Sutra originel dork.

19

Ximoon (./18) :
Bof, pareil que plus haut, je n'ai entendu personne dire à l'époque qu'il fallait changer de PC...
Ouais, surtout que MS a distribué gratuitement un patch pour Windows à l'époque.
squalyl (./3) :
quoi intox? quand les timestamps 32 bits passeront de 0xFFFFFFFF à 0x00000000 ça foutra le bordel oui... mais tous les OS sérieux sont déjà avec des timestamps de 64 bits...
Pas forcément... Ubuntu 10 server LTS 32 bits, par exemple, a ses timestamps sur 32 bits.
J'ai perdu 1 semaine à essayer de comprendre pourquoi mes scripts de contrôle de fin de vie des comptes ne fonctionnaient pas (les comptes sans fin de vie calculable ayant une année de fin de vie à l'an 8888, il se retrouvaient désactivés systématiquement, et mon environnement de dev étant en 64 bits).
Ximoon (./9) :
Je pense que le bug de l'an 2038 risque d'avoir plus de répercussions que celui de l'an 2000, mais bon, on verra le moment venu.
Je suis assez d'accord, parce que c'est moins visible que pour le cas précédent (et qu'il y a encore du matériel vendu actuellement qui ne prend pas en compte ça). Le principal souci étant dans tout ce qui est embarqué et prévu pour durer (très) longtemps.
avatar

20

Ximoon (./18) :
Bof, pareil que plus haut, je n'ai entendu personne dire à l'époque qu'il fallait changer de PC...

Sinon, pour le post précédent, pour 2038, comme toujours tout le monde pense aux PC et aux serveurs, et tout le monde oublie l'informatique embarquée. La durée de vie de certains matériels se compte en dizaines d'années et je ne suis pas sûr que tout sera mis à jour comme il faut. Je ne parle pas de systèmes forcément très critiques comme de l'automotive, de l'aéronautique ou du ferroviaire, mais pas mal d'autres choses pourraient déconner. Enfin on verra bien.
En effet, mais heureusement dans ce domaine, on utilise rarement les dates et même quand c'est le cas on évite de s'appuyer dessus autant que possible car ça pose systématiquement des soucis de mise à l'heure et conservation en cas de coupure d'alimention.
avatar

21

./13 je n'ai jamais bossé professionnellement dans le domaine des bases de données. Pourquoi c'est mal?

22

Normalement il y un type DateTime pour ça.
avatar

23

./21 > Il semble que ta solution au problèmes des timestamp 32 bits pour stocker les dates, c'est d'utiliser un INT en MySql, c'est à dire un entier 32 bits ? cheeky
Comme je vois le 8 à côté j'imagine que tu voulais un entier 64 bits, donc un BIGINT, ou alors je ne vois vraiment pas… En tout cas c'est une grossière erreur embarrassed
Pour détailler, la "taille" que tu mets en MySQL à côté du INT (ou de ses copains de tailles différentes), donc le 8 en l'occurence, tu pourrais aussi bien te la mettre dans le cul (pardonne-moi l'expression tongue) car ça sert juste à dire combien de chiffres afficher au minimum lorsque tu fais une requête en mode texte. (Semble-t-il même que ça ne serve qu'avec l'option zerofill)
C'est juste un design de merde en fait. Car ce que tu voudrais c'est probablement un BIGINT.

(De toutes façons, MySQL pue des pieds dès lors qu'il faut manipuler des dates (je ne dirais pas que ses concurrents sont parfaits à ce niveau, mais la plupart sont suffisamment mieux tongue). Comme le mentionne Uther, il existe un type DATETIME en MySQL qui est ce que tu devrais utiliser si tu veux un design de base propre. L'efficacité réelle ensuite va dépendre de ta version de MySQL: Apparemment depuis 5.6.4, ils ont mis à jour le système pour que leur type puisse enfin stocker les dates de manière efficace et éventuellement avec une précision inférieure à la seconde.)

./18 > pencil pour le changement d'ordinateur
On a entendu tout le monde paniquer, mais partout ça parlait surtout de correctifs logiciels et de faire attention à bien sauvegarder ses données au cas où le PC ne redémarrerait pas…

Quand au coup du 2038 non préparé, pencil aussi, je pense que ça va être "rigolo"…
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

24

(Euh, Oracle et les dates, comment dire... x_x c'est du même acabit, mais - à mon avis - en un peu plus pire x_x)
avatar

25

(De toutes façons chez Oracle, y'a pas que les dates qui soient pas top ! embarrassed)
avatar
Le scénario de notre univers a été rédigée par un bataillon de singes savants. Tout s'explique enfin.
T'as un problème ? Tu veux un bonbon ?
[CrystalMPQ] C# MPQ Library/Tools - [CrystalBoy] C# GB Emulator - [Monoxide] C# OSX library - M68k Opcodes

26

Tu prêches un convaincu :3
avatar

27

j'ai jamais voulu utiliser DateTime.
GoldenCrystal (./24) :
Pour détailler, la "taille" que tu mets en MySQL à côté du INT (ou de ses copains de tailles différentes), donc le 8 en l'occurence, tu pourrais aussi bien te la mettre dans le cul (pardonne-moi l'expression ) car ça sert juste à dire combien de chiffres afficher au minimum lorsque tu fais une requête en mode texte.

ah euh oups, j'étais passé à coté de ça, ouais grin
GoldenCrystal (./24) :
C'est juste un design de merde en fait. Car ce que tu voudrais c'est probablement un BIGINT.

toutafé trioui

(bon, je le saurai pour la prochaine fois triso)

28

Tu penseras à corriger avant 2038 grin
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

29

30

En même temps, ça peut attendre 2042 embarrassed