Comment savoir quand aura lieu le prochain tournoi ?

Les grands événements sportifs tels que les Jeux Olympiques ou la Coupe du Monde de football se déroulent selon un calendrier fixe. Dans les deux cas, ils ont lieu tous les quatre ans : les Jeux Olympiques en 2024, 2028, etc., la Coupe du Monde en 2026, 2030, etc. – du moins si la FIFA ne sort pas encore une idée folle. Je ne vais pas prétendre que les tournois de cartes sur Whisthub sont des événements sportifs majeurs, mais si vous jouez régulièrement, vous avez peut-être remarqué qu'ils suivent également un calendrier défini.

Pour le whist à la couleur, par exemple, un tournoi a lieu toutes les trois semaines et le jour de début varie entre le lundi, le mardi ou le mercredi. Pour la manille c'est similaire, mais ici il y a deux types de tournois : des Solo Cups et des Team Cups. La règle ici est qu'un Team Cup est toujours organisé dans la semaine suivant un Solo Cup.

Cependant, ces calendriers ne sont pas toujours clairs pour tout le monde, et je reçois fréquemment des questions sur la date du prochain tournoi. Pour répondre à ce besoin, j'ai créé un calendrier des tournois interactif qui montre toujours tous les tournois des trois mois à venir. Le calendrier ci-dessous montre les tournois pour tous les jeux, mais vous pouvez également trouver le calendrier d'un jeu spécifique en cliquant sur « Tournois » dans le lobby de ce jeu, puis en cliquant sur calendrier des tournois dans le texte.

janvier 2025
lun.
mar.
mer.
jeu.
ven.
sam.
dim.
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
février 2025
lun.
mar.
mer.
jeu.
ven.
sam.
dim.
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1
2
mars 2025
lun.
mar.
mer.
jeu.
ven.
sam.
dim.
24
25
26
27
28
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6

Afficher les tournois de

Le calendrier peut être interprété comme suit. Les jours où se déroule un tournoi sont indiqués en rouge. Si la page du tournoi a déjà été créée - ce que je fais encore manuellement pour l'instant - vous pouvez cliquer sur le jour concerné pour accéder à la page du tournoi où vous trouverez toutes les informations sur le tournoi, telles que le calendrier et la date d'ouverture des inscriptions. Veuillez noter qu'une page de tournoi peut déjà être créée avant que le tournoi ne soit visible dans le lobby !

Les tournois programmés selon le calendrier, mais pour lesquels aucune page n'a encore été créée, sont affichés en rouge clair. Ce n'est qu'une fois la page du tournoi a été créée qu'il est effectivement confirmé que le tournoi aura lieu. Il est donc possible qu'en raison de diverses circonstances - comme des jours fériés - certains tournois n'auront pas lieu à la même date que celle prévue au calendrier, ou qu'ils n'aient pas lieu du tout, mais cela est plutôt rare.

Notez également qu'il peut y avoir des interruptions dans le calendrier à certains moments. Par exemple, cela n'aurait pas vraiment de sens d'organiser un tournoi la veille de Noël, donc le calendrier le sait et ignore ces tournois.

Comme mentionné ci-dessus, je dois encore créer manuellement la page de chaque tournoi pour le moment, mais ce n'est que partiellement vrai. Comme les tournois ont toujours la même structure, il me suffit de cliquer sur un bouton dans le calendrier. Ensuite, la configuration du tournoi est créée, et il ne me reste plus qu'à trouver un nom pour le tournoi - ce qui est parfois étonnamment difficile ! En fait, la dénomination des tournois est la seule raison pour laquelle la génération de tournois n'est pas encore entièrement automatisée !

Si vous êtes intéressé par le fonctionnement technique de ce système, il est utile de savoir qu'un calendrier de tournoi est représenté par un objet qui ressemble généralement à ceci :

const schedule = {
  anchor: '2023-10-09',
  variant: 'manille',
  name: 'Solo Cup',
  day: ['Tuesday', 'Wednesday', 'Monday'],
  opens: '19:00-6',
  liveAt: 'Monday-1 19:00',
  interval: '3 weeks',
  pause: '12-23 01-01',
  timeZone: 'Europe/Brussels',
  schedule: {
    rounds: [
      '20:00',
      '21:00',
      '22:00',
      '20:00+1',
      '21:30+1',
    ],
  },
};

Ce qui est crucial ici, c'est la date d'ancrage - anchor date en anglais : c'est la première date à laquelle un tournoi de ce calendrier a eu lieu. En fonction de la date d'ancrage et de l'intervalle, tous les tournois futurs peuvent être créés, théoriquement jusqu'à la l'éternité. Notez également que le jour de début du tournoi est indiqué sous forme de liste - un tableau en anglais. Cela signifie que la première fois que ce tournoi aura lieu, ce sera un mardi, la prochaine fois un mercredi, puis un lundi, puis à nouveau un mardi, et ainsi de suite.

En fait, l'algorithme est développé de telle manière que n'importe quelle option dans la configuration d'un tournoi peut être une liste qui est ensuite parcourue. Cela se produit par exemple avec les Piccolo Cups dans le whist à la couleur, où un tournoi sur quatre est normalement un tournoi où Piccolo peut être choisi comme contrat :

const schedule = {
  variant: 'whist',
  config: {
    rules: {
      piccolo: [false, false, false, true],
    },
  },
};

Un aspect intéressant de tout cela concerne les fuseaux horaires, et plus particulièrement la question de savoir s'il faut ou non utiliser l'heure d'été. Ceci est pertinent pour les tournois, car si le calendrier d'un tournoi indique que le tournoi commence toujours à 20h00, cela devrait être le cas en été comme en hiver. C'est pourquoi chaque tournoi est lié en interne à un fuseau horaire spécifique, qui est Europe/Brussels pour la plupart des tournois.

Même si cela n'est pas vraiment pertinent si vous vivez quelque part en Europe, cela devient pertinent si vous êtes un expatrié, par exemple, au Mexique. Le Mexique n'utilise pas l'heure d'été, ce qui signifie que si vous vivez à Mexico City - c'est-à-dire dans le fuseau horaire America/Mexico_City - alors un tournoi débutera à 20h00, heure belge, et débutera en décembre, au Mexique, à 13h00. Cependant, si un tournoi commence à 20h00, heure belge, en juillet, il commencera à 12 heures à Mexico City, car le Mexique n'utilise pas l'heure d'été !

Cela devient encore plus complexe lorsque vous vivez aux États-Unis. Bien que les États-Unis suivent l'heure d'été (du moins dans la majeure partie du pays), celle-ci ne commence et ne se termine pas le même jour qu'en Europe ! En Europe, l'heure d'été commence le dernier dimanche de mars à 01h00 UTC, mais aux États-Unis, elle commence le deuxième dimanche de mars à 2h00 du matin heure locale !

En d'autres termes, si un tournoi a lieu en mars et qu'il est lié au fuseau horaire Europe/Brussels, cela entraînera l'heure de départ suivante horaires en fonction du moment exact où cela se produit en mars :

DateEurope/BrusselsAmerica/New_YorkAmerica/Mexico_City
5 mars20h0014h0013h00
22 mars20h0015h0013h00
5 avril20h0014h0012h00

Un problème similaire se pose en octobre à la fin de l'heure d'été ! Pour citer un dicton bien connu parmi les programmeurs :

I got 99 problems, and timezones are 97 of them.

Quoi qu'il en soit, si vous vivez en Belgique - comme la plupart des joueurs de mon site - vous ne devriez pas trop vous en inquiéter. Même si vous êtes en vacances dans un fuseau horaire différent, vous pouvez toujours participer facilement aux tournois car les heures de début sont toujours affichées dans le fuseau horaire de votre appareil.

Cela signifie que si, par exemple, vous voyagez au Portugal - qui a un fuseau horaire différent de celui de la Belgique - et que votre téléphone portable est réglé sur l'heure portugaise - ce que la plupart des téléphones portables font automatiquement de nos jours - alors les heures de début du tournoi seront ajustées automatiquement. Alors, laissez ces 97 problèmes aux programmeurs et faites simplement confiance à ce que vous voyez sur la page du tournoi !