Aller au contenu

Advent Of Code 2023 chez SFEIR 🎄

L'événement Advent Of Code est devenu une tradition récurrente chez Sfeir, et en 2023, l'entreprise a organisé pour la cinquième année consécutive son challenge interne, captivant une fois de plus de nombreux sfeiriens.

Advent Of Code 2023

Advent Of Code est devenu un événement récurrent chez SFEIR, et l'édition 2023 a marqué la cinquième année consécutive de notre challenge interne dédié à cet événement de fin d’année. Revenons ensemble sur cette édition qui a, une fois de plus, animé les journées de nombreux sfeiriens.

Advent Of Code, qu’est-ce que c’est ?

Advent Of Code (AoC) est un calendrier de l’avent où chaque jour, une énigme en deux parties est proposée aux participants. Chaque partie d’une énigme rapporte une étoile à celui qui la résout. Les participants choisissent un langage de programmation (préféré ou tout nouveau) pour tenter d’écrire un algorithme permettant de venir à bout des énigmes. AoC se déroule du 1er au 25 décembre chaque année, avec chaque énigme publiée à 6h du matin, heure française. 😴

Le challenge Advent Of Code chez Sfeir

Chez SFEIR, un challenge autour d’Advent Of Code est organisé chaque année, mettant en compétition les sfeiriens. Un leaderboard privé leur est dédié, permettant des affrontements quotidiens. Le classement est établi en fonction du temps nécessaire à chaque participant pour obtenir la première et la seconde étoile. 🌟🌟

Contrairement au calendrier de l'avent, le challenge ne s'arrête pas le 25 décembre. Il se termine généralement autour du 10 janvier, offrant ainsi la possibilité à ceux qui ne peuvent pas se consacrer quotidiennement aux énigmes de les résoudre à leur rythme.

En ce qui concerne l'organisation du challenge, un duo s'est chargé d'accompagner les challengers. Cette année, un développeur, Arnaud Le Bourblanc, était responsable de la collecte et de la présentation quotidienne des données. Annabelle Koster, quant à elle, a œuvré en amont du challenge pour encourager un maximum de sfeiriens à participer. 👏🏻

Du côté technique, l'objectif principal cette année était de récupérer et de stocker les résultats de chaque journée toutes les 24 heures. Grâce à un script Python exécuté via une Github Action, les résultats étaient automatiquement sauvegardés et formatés. Une seconde tâche, plus manuelle, consistait à associer les informations du leaderboard privé AoC aux données complémentaires des participants, telles que le nom complet et l’agence de chaque sfeirien. Cette action manuelle n'était nécessaire que lorsque de nouveaux participants rejoignaient le leaderboard. Une fois ces deux actions réalisées, les données étaient présentées sous forme de classement via une application sur iPad, et postées quotidiennement à 12h. Le nom des personnes ou des équipes ayant obtenu le plus rapidement chaque étoile quotidienne était partagé, ce qui stimulait la compétition en haut du classement.

Les participants avaient également accès à un canal sur le serveur Discord de Sfeir. L'entraide était le maître mot sur ce canal. Les participants les plus expérimentés et les plus rapides venaient en aide à ceux qui rencontraient des difficultés pour résoudre ou comprendre une énigme. Ce canal illustre les valeurs chères à SFEIR, notamment la bienveillance et l'excellence. ☺️

L'édition 2023 en quelques chiffres

  • 57 participants ont débuté le challenge.
  • 13 participants étaient encore en lice à la fin du challenge, le 08/01.
  • Les 7 agences de Sfeir étaient toutes représentées.
  • Au total, 1409 étoiles ont été remportées.
  • 62867 points ont été récoltés.
  • Environ 9 langages de programmation ont été utilisés pour résoudre les énigmes, avec Java, Javascript et Python en tête de liste.

Naturellement, l'implication de nombreux participants a diminué progressivement tout au long du challenge. Certains jours se sont révélés particulièrement difficiles, comme en témoignent les baisses de participation les jours 5, 12 et 17, visibles sur le graphe ci-dessous.

Graphe représentant le nombre d'étoiles obtenues chaque jour au total
Graphe représentant le nombre d'étoiles obtenues chaque jour au total

Au fil des jours, les énigmes de l'Advent Of Code sont devenues de plus en plus difficiles. Cependant, les participants les plus rapides ont réussi à les surmonter. En conséquence, le temps moyen nécessaire pour obtenir une première étoile est resté relativement constant tout au long du challenge.

Graphe représentant le temps moyen pour obtenir la première étoile de chaque jour dans ses 24h
Graphe représentant le temps moyen pour obtenir la première étoile de chaque jour dans ses 24h

En ce qui concerne le temps moyen nécessaire pour obtenir la seconde étoile de chaque énigme, nous observons une courbe bien plus contrastée. Cette variabilité s'explique principalement par le fait que, pour plusieurs énigmes, la seconde partie ne requiert pas une révision importante du code développé pour la première étoile. Ainsi, pour des jours comme les 2, 6, 9 et 16, le temps moyen enregistré est nettement inférieur comparé à des jours plus difficiles tels que les 5, 14, et 24.

Graphe représentant le temps moyen pour obtenir la deuxième étoile de chaque jour dans ses 24h
Graphe représentant le temps moyen pour obtenir la deuxième étoile de chaque jour dans ses 24h

L'année 2023 a été une nouvelle édition pleine de succès grâce aux différents participants de toutes nos agences. Une fin d'année plus que réussie pour beaucoup d'entre eux, qu'ils aient fini ou non le challenge dans son entièreté, le plus important étant d'y prendre du plaisir. 🎉

Nous avons déjà hâte de retrouver tout le monde pour la prochaine édition en fin d'année 2024. 🤩

Dernier