Années bissextiles et bug du 29 février 2000

 

 

 

 

Années bissextiles.

 

 

La terre tourne autour du soleil en 365.242198 jours.

C’est le temps séparant deux passages successifs du soleil, vu de la terre, au même endroit par rapport aux étoiles.(temps entre deux saisons identiques successives).

 

0.242198 j = 5h 48mn 45.91sec.

 

Pour une année de 365 jours, c’est le décalage que l’on observe sur les saisons chaque année.(voir votre calendrier).

Si on n’avait que des année de 365 jours on se retrouverait avec Noël en été au bout de 400 ans environ.

 

Pour corriger ce défaut Jules-César (45 avant JC) fut à l’origine de l’instauration d’un jour de plus tous les quatre ans. c’est le calendrier julien.

On redoublait le sixième jour avant les calendes de mars tous les quatre ans d’où « bissextile »

 

C’est uniquement pour ne pas faire de jaloux que juillet (empereur Jules-César) et août (empereur Auguste) ont tous les deux 31 jours !

 

On ne peut pas faire la correction progressivement chaque année sinon on décalerait l’heure légale et l’heure solaire (midi serait au milieu de la nuit en deux ans). On est obligé de corriger par jours entiers.

On est toujours à un jour près par rapport au soleil ( le printemps tombe le 20 ou 21 mars), on cherche seulement à éviter une dérive progressive.

 

Mais cette correction était trop importante, en 1600 ans environ on avait accumulé 10 jours d’avance sur le soleil.

 

En 1582 le pape Grégoire XIII a décidé, à Rome, de corriger ces 10 jours en passant

directement du 4 octobre au 15 octobre (en France du 9 décembre au 20 décembre 1582, en Russie en 1918, en Grèce en 1923).

 

Et il a instauré la règle suivante :

 

Toutes les années divisibles par 4 sont bissextiles sauf les années séculaires (00) qui ne sont bissextiles que si elles sont divisibles par 400.

 

C’est le calendrier Grégorien que nous utilisons actuellement.

 


 

 

Application :

 

1996           bissextile

2000           bissextile

2004           bissextile

2008           bissextile

.......

2100           non bissextile

2200           non bissextile

2300           non bissextile

2400           bissextile

 

 

En 400 ans nous avons donc 97 années bissextiles.

Soit, en moyenne une année de :

                                               365 + 97/400 = 365.2425 jours.   (365j 5h 49mn 12s)

 

Bien que très ingénieuse, on peut remarquer que cette règle n’est encore pas parfaite :

 

365.2425  - 365.2422 = 0.0003 j # 26 secondes.

 

On avance encore d’un jour de trop tous les :     86400/26 = 3323 ans environ !

Mais on entre peut-être ici dans les irrégularités de la rotation de la terre autour du soleil ?

 

 

 

 

 

Bug du 29 février 2000.

 

 

Pourquoi avons nous risqué un bug (bogue ?) le 29 février 2000 alors que c’est une année bissextile normale comme tous les quatre ans depuis1904 ?

 

Depuis les années 60, l’informaticien moyen est parti des trois règles suivantes pour corriger ses calendriers :

·      années divisibles par 4      : 366 jours (j’ajoute le 29 février).

·      années séculaires (00)       : 365 jours

·      années divisibles par 400  : 366 jours (j’ajoute le 29 février).

 

Première règle : une division par 4, facile !

Deuxième règle, ça me bouffe un peu de mémoire, mais c’est encore faisable

Troisième règle, automatiquement appliquée si seule la première est appliquée, sinon beaucoup trop difficile.(surtout avec un codage de l’année sur 2 chiffres).

 

Son choix a été le suivant :

Si je n’applique que la première règle, j’ai une anomalie tous les 100 ans.

Si j’applique les deux premières règles, j’ai une anomalie tous les 400 ans.

 

 

Il a donc choisi d’appliquer les deux premières règles ce qui semble logique pour limiter les anomalies.

 

Mais cela conduit à une première anomalie en l’an 2000 (la seconde en 2400) alors que s’il n’avait appliqué que la première règle la première anomalie ne serait survenue qu’en l’an 2100 (la seconde en 2200) !

 

 

Certains ordinateurs et certaines horloges ont oublié le 29 février 2000 !

 

 

M M