Apple réaffirme sa compatibilité An 2000

Régulations

Alors que Microsoft vient d’annoncer le lancement d’une vaste campagne de prévention, la firme de Steve Jobs revendique la fiabilité de ses logiciels.

Apple vient de publier sur son site Web une nouvelle « charte pour la compatibilité An 2000 » de ses produits. Selon la firme de Cupertino, un produit est dit compatible An 2000, s’il « ne produit aucune erreur de traitement sur les dates après le changement d’année survenant dans la nuit du 31 décembre 1999 au 1er janvier 2000 (dans le cadre d’une utilisation normale) et s’il considère que l’an 2000 est une année bissextile ». En s’appuyant sur cette définition, Apple affirme que tous ses produits (matériels, systèmes d’exploitation et logiciels) sont compatibles et explique en détail pourquoi sa plate-forme est épargnée par le bug qui frappe la quasi-totalité des systèmes informatiques.

Le bug de l’an 2000est un héritage des temps héroïques de l’informatique où les ordinateurs disposaient de si peu de mémoire que les programmeurs décidèrent de coder les années sur deux chiffres. En l’an 2000, de nombreux programmes qui manipuleront l’année 2000 sous la forme 00 ne sauront plus s’il s’agit de l’année 1900 ou 2000.

La plate-forme d’Apple n’a pas ce problème car dès le premier Mac commercialisé en 1984, la firme a choisi un autre codage, qui représente les heures et les dates du système par des nombres entiers qui correspondent au nombre de secondes écoulées depuis le 1er janvier 1904. A ce petit jeu, les programmeurs mangeurs de pomme ont fait le bon choix. Leur système de codage interne leur permet de stocker les dates allant de l’an -30081 avant JC jusqu’en l’an 29940. Quand il faut afficher ou fournir une donnée à un logiciel dans un format date du style JJ/MM/AA, c’est le système d’exploitation qui se charge de la conversion. MacOS sait ainsi afficher les dates jusqu’en 2040 et MacOS X Server (Rhapsody) jusqu’en 2038. Là aussi les algorithmes utilisés pour convertir le nombre de secondes en date sont fiables. Ils tiennent compte très rigoureusement des années bissextiles. Certains logiciels et matériels informatiques se trompent en effet sur la nature bissextile des années, plus difficile à établir qu’il n’y paraît. Si une année est divisible par 4 alors elle est bissextile sauf dans le cas où elle aussi divisible par 100 sans être divisible par 400. Ainsi 1900 n’est pas bissextile alors que 2000 l’est. De nombreux bouts de code feront l’erreur en février 2000 mais pas les Mac.

Malgré tout, Apple prend quelques précautions. D’abord la société indique qu’elle n’a pas testé et ne testera pas certains de ses produits dont elle donne la liste. Elle ne testera pas par exemple les Apple II et les stations Next. Ensuite, elle dit clairement qu’elle n’a pas testé les produits des autres constructeurs et éditeurs qui travaillent pour sa plate-forme : « Le label compatibilité An 2000 ne s’applique pas aux produits qui ont été personnalisés ou modifiés avec l’ajout de macros, de scripts de programmation ou de logiciels écrits par des tierces parties. » Apple signale aussi pour les petits malins que son label de compatibilité ne constitue en aucun cas une extension de garantie et que seule la garantie originale continue de s’appliquer. Enfin, les utilisateurs sont invités à visiter régulièrement le site consacré au bug de l’an 2000 : prudence est mère de sûreté.

Pour en savoir plus : http://www.apple.com/about/year2000/.