Encore plus de défis pour développeurs

Posté le 1 juillet 2025 dans Développement

J’avais — il y a longtemps — déjà écrit sur le sujet des défis (challenges) à destination des développeurs, je ne vais donc pas m’étendre sur la question. En tout cas, j’en suis toujours autant friand, car depuis, j’en ai découvert pas mal de nouveaux. Faisons un tour d’horizon.

Advent of Code

Advent of Code

Chaque année, Advent of Code propose un calendrier de l’avent sous forme de puzzles algorithmiques originaux (un par jour, donc) de plus en plus difficiles à résoudre dans le langage de votre choix, saupoudrés d’un peu de diégèse (lore). Au fur et à mesure de la complétion des défis, vous gagnez des étoiles et l’image de l’année se dévoile sous la forme d’un dessin ASCII.

Si l’algorithmie, c’est votre truc, ce site vous occupera de nombreux mois, car les défis des années précédentes sont également disponibles. La récupération des données des défis et leur validation s’effectuent manuellement, mais il est possible d’automatiser.

hackattic

hackattic

hackattic se définit comme un site de défis pour développeurs “sans absurdités” : pas de puzzles ni de défis algorithmiques, mais plutôt des problématiques ardues liées à des cas d’usage réels, toujours pimentées par quelque chose d’imprévu et de non documenté. Chaque défi est unique et mettra fortement à contribution vos capacités d’ingénieur (et plus largement, votre débrouillardise), en utilisant le langage qui vous fait plaisir.

Tous les défis sont accessibles immédiatement, et la récupération de leurs données ainsi que leur validation s’effectue par API. Certains défis nécessitent que les serveurs hackattic communiquent avec votre machine.

Protohackers

Protohackers

Protohackers se spécialise dans les défis exclusivement réseau, c’est-à-dire l’implémentation de protocoles TCP et UDP originaux côté client et / ou serveur à partir de spécifications détaillées, en utilisant le langage que vous voulez.

Les défis sont de plus en plus difficiles et débloqués progressivement. Leur validation s’effectue via des tests automatisés (implémentant le protocole et les règles métier demandées) qui se connectent à votre machine.

CodeCrafters

CodeCrafters

CodeCrafters propose un large choix de défis qui ont tous la particularité de proposer de reconstruire un logiciel existant (entre-autres Redis, un serveur DNS, SQLite), étape par étape, fonctionnalité par fonctionnalité. Il s’agit du seul site qui propose un abonnement payant (un accès gratuit — mais limité — est tout de même possible. Parrainage dispo par ici).

Tous les défis sont disponibles immédiatement (sans besoin d’en débloquer d’autres). Des tests automatisés sont exécutés chaque fois que vous poussez votre code afin de valider automatiquement l’avancement de chaque défi. Il s’agit aussi du seul site qui restreint (quelque peu) les langages utilisables.

Synacor Challenge

Synacor Challenge

Le meilleur pour la fin : dans le défi Synacor, vous devez trouver 8 codes et les soumettre sur le feu site officiel afin de valider votre progression. Ces codes sont éparpillés tout au long de l’aventure (et le mot est faible) qui consiste à implémenter et à exploiter une machine virtuelle suivant ces spécifications qui est capable d’exécuter ce fichier binaire. La machine virtuelle vous aidera à valider votre implémentation en exécutant des auto-tests (je ne vous spoile pas la suite 😏).

Le site officiel est malheureusement fermé depuis 2023, mais ça n’empêche en rien de résoudre le défi vu qu’il se résout totalement hors-ligne en utilisant votre langage préféré.