Chargement…
Un capteur qui surveille l'humidité d'une plante et prévient quand il faut l'arroser.
Une formation complète de 3D temps réel dans le navigateur, suivie des bases jusqu'aux effets graphiques écrits soi-même.
Une application d'appels vocaux : capturer, compresser, transmettre et rejouer la voix en temps réel.
Passer de conteneurs qu'on lance à un cluster qui les maintient en vie tout seul.
Le casse-briques d'arcade, refait en Python pour le plaisir.
Quatorze challenges qui mènent des encodages de base à la casse d'un chiffrement par blocs.
Un tableau de bord que chacun compose lui-même : météo, GitHub, Twitch, Imgur et agenda réunis sur un seul écran.
Un bot qui annonce dans Discord chaque envoi de code, dans le bon salon selon la branche.
Une application Android native pour explorer et publier sur Imgur.
Le jeu de plateau traditionnel, avec ses quarante cases aux effets tous différents.
Le jeu du pendu avec interface graphique, pour découvrir Java.
Le même pendu, réécrit en Ruby : la comparaison est l'objectif.
Automatiser tests, compilation et vérifications à chaque envoi de code.
Pong à deux joueurs en Python : le jeu de 1972 qui a lancé toute l'industrie du jeu vidéo.
Faire cohabiter cinq services écrits dans quatre langages différents, en une seule commande.
Un shoot'em up multijoueur en réseau, bâti sur un moteur de jeu écrit de zéro.
Pierre-feuille-ciseaux contre l'ordinateur, en Java, avec interface graphique.
Un serveur web écrit de zéro, dont toutes les fonctionnalités sont des modules chargés à chaud.
Une plateforme où l'on change de jeu et de moteur graphique en cours de partie, sans redémarrer.
Reprendre le C après six mois de stage, en dessinant des fractales dans une image bitmap.
Écrire soi-même les quatre grandes façons de ranger des données, puis les rendre capables d'accueillir n'importe quel contenu.
Les pointeurs poussés jusqu'à leurs recoins les plus tordus.
Construire libstring.a, une bibliothèque de manipulation de chaînes complète et testée.
Le basculement vers le C++ : les premières classes, dans un hôpital pour koalas.
Ce qui appartient à toute une famille d'objets plutôt qu'à un objet en particulier — par exemple un compteur de tout ce qui a été créé.
Composition et références entre objets, sur un thème Star Trek.
Que se passe-t-il quand on copie un objet qui contient de la mémoire allouée ?
Une hiérarchie de classes de jeu de rôle : guerrier, mage, paladin, prêtre, chasseur.
Donner un sens aux opérateurs sur ses propres objets, et poser les premières abstractions.
Une collection hétérogène de jouets manipulés à travers une même interface.
Gérer les pannes autrement qu'avec des codes de retour — sur un rover martien.
Retrouver le vrai type d'un objet caché derrière une abstraction — sans se tromper.
Écrire un code qui fonctionne avec n'importe quel type, sans rien sacrifier.
Arrêter de tout réécrire : découvrir les conteneurs de la bibliothèque standard.
Dernier jour de la piscine : écrire des algorithmes qui marchent sur n'importe quelle collection.
Réinventer la programmation objet en C, avant même d'avoir écrit une classe C++.
Automatiser la chaîne d'emballage du Père Noël, à partir d'un sujet volontairement flou.
Un tableau de bord de l'état de la machine, qui s'affiche indifféremment dans un terminal ou dans une fenêtre.
Un hackathon sur le thème de l'espace, avec les images astronomiques de la NASA.
Reconstituer, à l'exécution, l'arbre des appels de fonctions d'un programme.
Lire un flux de températures et en tirer, à chaque valeur reçue, la tendance en cours.
Réduire une image à quelques couleurs dominantes, par apprentissage non supervisé.
Un Bomberman en 3D, multijoueur, avec IA et sauvegarde — le projet de fin de deuxième année.
Réécrire malloc et free — puis les substituer à ceux du système, sur de vrais programmes.
Réécrire les fonctions de la bibliothèque C directement en assembleur x86-64.
Ouvrir un exécutable et en lire la structure interne, comme le fait le système au chargement.
Un serveur FTP conforme à la norme, capable de dialoguer avec de vrais clients.
Un clone de Microsoft Teams en C : équipes, canaux, fils de discussion et messages privés.
Simuler de l'électronique numérique : des portes logiques aux composants complexes.
Une pizzeria simulée où chaque cuisine est un processus et chaque cuisinier un fil d'exécution.
Troisième projet React : une interface d'administration avec authentification.
Premier projet React : un carnet de contacts alimenté par une API publique.
Deuxième projet React : une galerie photo alimentée par une API.
Espionner tout ce qu'un programme demande au système d'exploitation.
Un bot qui trade des cryptomonnaies en direct face à un serveur, bougie après bougie.
Refaire une liste de tâches avec Vue.js, pour voir ce qui change vraiment quand on change d'outil.
Des motifs d'une complexité surprenante, générés par une règle tenant en huit bits.
Un monde persistant où des tribus d'IA autonomes s'affrontent pour survivre et évoluer.
Les maths d'une balle en vol : vitesse, position future et angle d'arrivée sur la raquette.
Déplacer, tourner et redimensionner des formes — la base de toute image de synthèse.
Chiffrer un message en le multipliant par une matrice, et le déchiffrer en l'inversant.
Calculer où un rayon lumineux touche une sphère, un cylindre ou un cône.
Derrière la géométrie d'un donut, une équation du quatrième degré qu'il faut résoudre numériquement.
Le shell final : historique, autocomplétion, alias, scripting — un vrai terminal en équipe.
Une calculatrice qui évalue des expressions parenthésées avec un alphabet d'opérateurs personnalisable.
Le tout premier jour : apprendre à vivre dans un terminal Unix.
Automatiser le terminal : premiers scripts shell.
Écrire ses toutes premières lignes de C, avec une seule fonction autorisée.
La journée des pointeurs, le concept qui sépare le C de tous les autres langages.
Résoudre un problème en le faisant s'appeler lui-même — jusqu'au problème des huit dames.
Recoder la bibliothèque de manipulation de chaînes du C, fonction par fonction.
Transformer sa collection de fonctions en une vraie bibliothèque réutilisable.
Demander de la mémoire au système — et penser à la rendre.
Regrouper des données qui vont ensemble, et découvrir que l'ordre des octets n'est pas universel.
Automatiser la compilation, et faire choisir une opération au programme lui-même.
La structure de données reine du C : une chaîne de maillons reliés par des adresses.
Recoder cat et grep, les deux outils Unix qu'on utilise tous les jours.
Ouvrir enfin une fenêtre : première journée graphique de la piscine.
Une machine virtuelle où des programmes s'affrontent pour survivre en mémoire.
Générer des labyrinthes, puis trouver le chemin le plus court pour en sortir.
Une journée, un binôme, un sujet découvert sur place : générer une fractale ASCII.
Chercher un mot dans une grille de lettres, en une journée et en binôme.
Chiffrer et déchiffrer un fichier avec le code secret de Jules César, vieux de deux mille ans.
Évaluer une expression mathématique donnée sous forme de texte, priorités comprises.
L'épreuve finale de la piscine : reconnaître, à partir d'un dessin, la règle qui l'a produit.
Lire un fichier ligne par ligne quand le système ne sait lire que des blocs d'octets.
Additionner des nombres trop grands pour tenir dans une variable.
Faire traverser une fourmilière à une colonie entière, le plus vite possible.
Recoder la reconnaissance de motifs à jokers, façon *.txt — puis compter toutes les façons dont ça correspond.
Le jeu de Nim contre une intelligence artificielle qu'il faut battre.
Écrire son propre shell : le programme qui lance tous les autres.
Le shell qui gagne les tubes, les redirections et les enchaînements de commandes.
Un tower defense complet : placer des tours, gérer son or, survivre aux vagues.
Un stand de tir façon Duck Hunt, relooké western : dix cibles surgissent aux fenêtres et aux portes d'une maison, à vous de dégainer.
Un jeu de rôle 2D complet : deux zones, des sorts, un inventaire et un boss.
Un runner à la Chrome Dino dont les parcours se décrivent dans un fichier texte — avec un mode infini en option.
Recoder la commande ls, options comprises — beaucoup plus profond qu'il n'y paraît.
Une bataille navale entre deux processus qui ne communiquent que par signaux.
Réécrire printf : une fonction qu'on appelle sans y penser, et qui repose sur un mécanisme du C que presque personne n'utilise directement.
Le puzzle des caisses à pousser, jouable dans un terminal redimensionnable.
Trier une liste avec seulement deux piles et une poignée d'opérations autorisées.
Premier projet en équipe, un week-end entier, sur des rectangles ASCII.
Deviner la langue d'un texte à partir de sa seule statistique de lettres.
Épreuve individuelle chronométrée : découper une phrase et trier ses mots.
Détecter si un mot se lit pareil dans les deux sens — vite et sans faille.
Le Tetris des années 80, dans un terminal, avec des pièces définies par fichier.
Dessiner un sapin en caractères, dont la forme dépend d'un seul paramètre de taille.
Consolider deux semaines de fonctions en une bibliothèque propre, testée et documentée.