DÉFIS
Chaque défi est inutile. Aucun n'est une perte de temps : on code pour le plaisir et on apprend pour de vrai.
4 défis
- FacileTypes
Type union "rouge" | "vert" | "orange"
Définir un type union littéral pour les couleurs d'un feu tricolore et implémenter une fonction qui fait défiler les états dans le bon ordre.
typescriptDébutant#typescript#unions10 minmai 2026 - MoyenTypes
Result<T, E> en union discriminée
Définir un type Result générique avec union discriminée, implémenter une fonction division qui retourne Result<number, string>, et utiliser le narrowing typé pour traiter les deux cas.
typescriptIntermédiaire#typescript#result30 minmai 2026 - MoyenTypes
readonly vs Array<T> mutable
Écrire une fonction qui accepte un tableau en lecture seule et retourne une copie triée, en montrant que toute tentative de mutation de l'argument est rejetée par le compilateur.
typescriptIntermédiaire#typescript#readonly25 minmai 2026 - FacileTypes
Interface Utilisateur avec champs optionnels
Définir une interface TypeScript avec des champs obligatoires et optionnels, puis écrire une fonction de formatage qui gère l'absence de champ.
typescriptDébutant#typescript#interfaces15 minmai 2026
D'abord, faire marcher
On ne cherche pas à optimiser : d'abord, on fait marcher le truc. Optimiser vient ensuite — et ça aussi, ça s'apprend. (Si un défi porte sur l'optimisation, son énoncé le précise.)
Pas de mauvaise réponse
Il n'y a pas de mauvaise réponse à un défi. Le but, c'est de le faire. Ce qui compte, c'est de s'entraîner.
Trop dur ? Au suivant
Un défi te résiste ? N'hésite pas à en prendre un autre. Ils seront encore là demain.