Aujourd'hui, on parle d'un bug qui pouvait rendre inutilisable les iPhones en 2016 (il a été résolu la même année). Quelques petites notes supplémentaires pour ceux qui veulent aller plus loin :
- Il était possible de fixer ce bug en laissant sa batterie se vider complètement ou en la déconnectant puis en la reconnectant (si ça vous intéresse, allez voir la vidéo de JerryRigEverything à ce sujet, dont j'ai mis un extrait au début de la vidéo)
- Il existe plusieurs epochs, mais le 01/01/1970 00:00 est sûrement le plus populaire. Par exemple, pour Windows, c'est le 1er janvier 1601. L'article de Wired "Unix Tick Tocks to a Billion" est intéressant si ça vous intéresse, c'est la source principale de cette section de la vidéo.
- Pour ce qui est de l'explication de pourquoi le bug a lieu sur l'iPhone, rien n'a été officiellement confirmé. Il existe principalement deux théories sur le net. La première parle du fait qu'avec cette date, le timestamp vaut 0 et que le téléphone va faire une division par 0, ce qui est impossible et ça crash... Cette théorie est par exemple reprise dans l'article du 20 minutes "Le 1er janvier 1970, date fatale pour votre iPhone ?". Je suis sûr que c'est pas du tout ça. Car le bug n'a pas lieu sur les iPhones 32 bits, pourtant eux aussi auraient un timestamp à 0. De plus, il ne faut pas un timestamp qui vaut exactement 0 pour que le bug ait lieu, juste une date très proche ! L'explication exposée par Tom Scott dans sa vidéo Youtube "Why 1/1/1970 Bricks Your iPhone" est celle que j'ai reprise pour cette vidéo. Elle me semble tout à fait cohérente et a été reprise dans des journaux comme Wired par exemple.
#shorts #programmation #code