Projets

Tout ce que je construis, rangé par catégorie. Chaque fiche dit si le projet est réel ou fictif (un univers de jeu, une démo), où il en est (de « En conception » à « Archivé ») et sa maturité (prototype, utilisable ou production).

Jeux

5 fiches

Des jeux d’arcade rétro, dans des univers fictifs.

FictifEn coursPrototype

retro-shmup

Un shoot’em up vertical rétro, dans l’esprit des jeux 16 bits, écrit sans moteur de jeu. L’univers, une armada mécanique, est fictif.

Rôle : conception et développement, seul.

  • Le niveau 1 jouable dans le navigateur, au clavier, au tactile ou à la manette.
  • Deux armes sur cinq niveaux de puissance.
  • Un équilibrage vérifié par un robot de mesure.

Limite : tranche verticale : un seul niveau, pas encore de version finale.

Partie en cours : un vaisseau bleu en pixel art tire vers un ennemi vert, sur fond étoilé
TypeScriptCanvas 2D
Jouer à retro-shmup, version en cours Lire le code de retro-shmup sur GitHub

Revu le

FictifEn conceptionPrototype

retro-blocks

Un jeu de puzzle à blocs qui tombent, dans la tradition des classiques d’arcade, écrit sans moteur de jeu. L’univers est fictif, nom de code et créations originales.

Rôle : conception et développement, seul.

  • Le plateau, la rotation des pièces et le tirage aléatoire sont codés et testés.
  • Une simulation déterministe, rejouable à partir d’une graine.
  • Le jeu cible le navigateur, au clavier comme au tactile.

Limite : pas encore de version jouable : seul le cœur de règles existe.

TypeScriptCanvas 2D
Lire le code de retro-blocks sur GitHub

Revu le

FictifEn conceptionPrototype

retro-bounce

Un casse-briques rétro en solo : une raquette, une balle et des briques à détruire, avec des bonus qui tombent des briques. L’univers est fictif.

Rôle : conception et développement, seul.

  • Bonus prévus : balle perforante, multi-balles.
  • Conception d’abord, en UML, avant tout code.
  • Le jeu cible le navigateur, au clavier comme au tactile.

Limite : étude de conception seulement, aucun code ni version jouable.

TypeScriptCanvas 2D
Lire le code de retro-bounce sur GitHub

Revu le

FictifEn conceptionPrototype

retro-maze

Un jeu d’arcade de labyrinthe pour navigateur : tout manger en évitant quatre fantômes aux comportements distincts. L’univers est fictif, créations originales.

Rôle : conception et développement, seul.

  • Quatre fantômes à la personnalité propre.
  • Des règles d’arcade fidèles, sans les bugs d’origine.
  • Le jeu cible le navigateur, au tactile d’abord.

Limite : étude de conception seulement, aucun code ni version jouable.

TypeScriptCanvas 2D
Lire le code de retro-maze sur GitHub

Revu le

FictifEn conceptionPrototype

retro-plumber

Un jeu de plateformes à défilement latéral pour navigateur : courir, sauter, écraser, casser des blocs et atteindre le drapeau. L’univers est fictif, créations originales.

Rôle : conception et développement, seul.

  • Une physique de plateforme précise, décrite avant d’être codée.
  • Le jeu cible le navigateur, au tactile d’abord.
  • Une architecture documentée en UML.

Limite : étude de conception seulement, aucun code ni version jouable.

TypeScriptCanvas 2D
Lire le code de retro-plumber sur GitHub

Revu le

Retour aux catégories

IoT et matériel

3 fiches

Du matériel connecté : un outil d’observation de bus de recharge, des cubes compagnons de bureau et un socle de firmware ESP32.

RéelEn coursUtilisable

busscope

Le stéthoscope des bus de recharge : écouter un bus sans perturber les modules qu’il relie.

Rôle : conception et développement, seul.

  • Capture CAN en lecture seule via SocketCAN, décodage des trames des modules de charge Infypower.
  • Filtres, statistiques temporelles, export CSV et relecture hors ligne.
  • Émission manuelle désactivée par défaut, avec confirmation à chaque trame.

Limite : aujourd’hui un moniteur CAN sous Linux ; le boîtier multi-bus (CAN FD, RS485, RS232, UART, CP/PP) est en conception.

PythonLinuxCAN
Lire le code de busscope sur GitHub

Revu le

RéelEn coursPrototype

cubbies

Des petits cubes compagnons de bureau, pensés comme un cadeau d’équipe : un cube et une couleur par collègue.

Rôle : conception matérielle et firmware, seul.

  • Des yeux animés sur un écran OLED couleur, un buzzer et une zone tactile.
  • Des comportements de groupe entre cubes par radio ESP-NOW, sans appairage.
  • Un firmware testé en natif et un schéma KiCad simulé.

Limite : aucun cube encore assemblé, les mesures sur banc restent à faire.

ESP32KiCad
Lire le code de cubbies sur GitHub

Revu le

RéelEn pausePrototype

ESP32 IoT Hub

Un socle de firmware ESP32 modulaire, où chaque fonction s’active à la compilation.

Rôle : conception et développement, seul.

  • Un serveur Bluetooth basse consommation qui publie l’état de la carte et sa mémoire libre.
  • Wi-Fi, Bluetooth et capteurs activés par drapeaux, trois profils compilés en intégration continue.

Limite : un squelette, plusieurs modules et les tests restent à écrire.

ESP32
Lire le code d’ESP32 IoT Hub sur GitHub

Revu le

Retour aux catégories

Web et infrastructure

3 fiches

Mon infrastructure personnelle, un outil pour lancer mes services de développement locaux et un tableau de bord Next.js de mes projets publics.

RéelEn ligneUtilisable

BB Homelab

Faire tourner mes services personnels sur une infrastructure compacte, reproductible et documentée.

Rôle : conception et développement, seul.

  • Un Raspberry Pi 5 préparé pas à pas depuis une carte vierge.
  • Un service par pile de conteneurs, derrière un reverse proxy.
  • Accès distant privé par Tailscale.

Limite : sauvegardes et supervision encore partielles.

Raspberry PiConteneursAuto-hébergé
Lire le code de BB Homelab sur GitHub

Revu le

RéelEn ligneUtilisable

dock-n-roll

Allumer ou couper mes services de développement locaux d’un clic, depuis la barre du bureau GNOME.

Rôle : conception et développement, seul.

  • Un bouton vert ou rouge par projet Docker Compose.
  • Démarrer, arrêter, redémarrer et lire les journaux d’un service.
  • Une vue des conteneurs et des ports actifs en arrière-plan.

Limite : Ubuntu GNOME uniquement, livré en paquet .deb à construire soi-même.

TypeScriptLinuxConteneurs
Lire le code de dock-n-roll sur GitHub

Revu le

RéelEn ligneUtilisable

Next.js showcase

Un tableau de bord de mes dépôts GitHub publics, écrit pour montrer les pratiques actuelles de Next.js dans un code ouvert.

Rôle : conception et développement, seul.

  • Une liste servie en rendu partiel : la page s’affiche tout de suite, les projets arrivent en flux.
  • Les données GitHub mises en cache quelques heures, une page par projet et une API JSON.
  • Des en-têtes de sécurité complets (CSP, HSTS, SRI) et une CI locale à quatre niveaux.

Limite : vitrine technique, pas de recherche ni de filtre ; hébergée sur Vercel, pas encore sur mon domaine.

TypeScriptNext.js
Ouvrir le tableau de bord Next.js showcase Lire le code de Next.js showcase sur GitHub

Revu le

Retour aux catégories

Automatisation et data

2 fiches

Une automatisation qui surveille les compétitions Kaggle et un projet de vision par ordinateur.

RéelEn ligneUtilisable

Kaggle Watcher

Surveiller automatiquement les nouvelles compétitions Kaggle et ne garder que celles qui comptent.

Rôle : conception et développement, seul.

  • Détection des courriels de lancement de compétition.
  • Routage par règles vers Telegram et d’autres canaux.
  • Alerte en cas d’échec d’un workflow.

Limite : dépend des courriels envoyés par Kaggle ; aucune interface de réglage.

n8nTelegramAutomatisation
Lire le code de Kaggle Watcher sur GitHub

Revu le

RéelEn coursPrototype

Aristech

Détecter en temps réel le frelon asiatique devant une ruche, premier pas vers un dispositif dissuasif non létal pour protéger les abeilles.

Rôle : conception et développement, seul.

  • Une chaîne de détection sur vidéo ou caméra, avec une décision qui s’abstient quand la cible est incertaine.
  • Une évaluation hors ligne pour choisir le seuil de détection.

Limite : le modèle de détection reconnaît mal d’autres vidéos et doit être réentraîné ; le matériel n’est pas commencé.

PythonClean Architecture
Lire le code d’Aristech sur GitHub

Revu le

Retour aux catégories

Produits

5 fiches

Une application d’aide au brassage pour les brasseurs amateurs, un chat en conception pour retrouver les salons de discussion d’antan, un outil qui transforme une photo en mosaïque de briques, un réseau social chiffré de bout en bout et une application de calcul pour le CE1 où le temps d’écran se mérite.

RéelEn coursPrototype

Brasse-Bouillon

Une application d’aide au brassage pour les brasseurs amateurs : préparer ses recettes de bière et suivre les étapes.

Rôle : conception et développement, seul.

  • Un site de présentation en ligne.
  • Une application de recettes et de suivi en développement.

Limite : l’application n’est pas encore publique ; le code reste privé.

Mascotte officielle Brasse-Bouillon, un personnage en forme de chope de bière
TypeScriptPython
Découvrir Brasse-Bouillon

Revu le

RéelEn coursPrototype

brickpix

Un outil qui transforme une photo en mosaïque de briques, à partir de tuiles rondes 1 × 1 sur des plaques de 16 × 16. Tout se passe dans le navigateur : aucune photo n’est envoyée.

Rôle : conception et développement, seul.

  • Un kit prêt à commander : plan de montage par plaque, liste des pièces et liste au format BrickLink.
  • 17 couleurs de tuiles rondes, choisies par distance perceptuelle (CIEDE2000), avec tramage en option.
  • Un plan utilisable au clavier et imprimable, une plaque par page.

Limite : pas encore en ligne publiquement ; l’import, l’aperçu et le kit sont faits.

TypeScriptCanvas 2D
Lire le code de brickpix sur GitHub

Revu le

RéelEn conceptionPrototype

asv

La nostalgie des chats d’antan. Retrouver l’ambiance des salons de discussion des années 2000, ceux de l’époque Caramail : un pseudo, pas de photo, des salons où l’on entre pour bavarder et des conversations en tête-à-tête. Réservé aux adultes. Sans lien avec Caramail.

Rôle : conception, seul.

  • Un dossier de conception : vision, personas, parcours et décisions d’architecture.
  • La sécurité et le RGPD étudiés avant le code : modération, signalements et conservation légale.

Limite : rien n’est construit ; seul le dossier de conception existe.

TypeScript
Lire le dossier d’asv sur GitHub

Revu le

RéelEn conceptionPrototype

Huis Clos

Un réseau social qui ne lit pas vos messages. Des conversations privées et des cercles chiffrés de bout en bout, sur un serveur qui ne voit rien passer en clair. Une identité par clés, sans numéro de téléphone ni e-mail.

Rôle : conception et développement, seul.

  • Un socle mobile et serveur déjà construit : inscription, connexion et profil.
  • Le chiffrement étudié avant le code : protocole Signal pour le tête-à-tête, MLS pour les cercles, choix comparés et chiffrés.

Limite : le chiffrement n’est pas encore construit ; seule sa conception existe.

TypeScriptClean Architecture
Lire le code de Huis Clos sur GitHub

Revu le

RéelEn conceptionPrototype

Learn To Earn

L’effort d’abord, l’écran ensuite. Une application qui aide un enfant de CE1 à maîtriser le calcul, en suivant le programme national. Elle s’adapte à ses réussites et à sa vitesse, revient sur les notions fragiles et transforme le travail bien fait en temps d’écran mérité, validé par un parent.

Rôle : conception, seul.

  • Un dossier de conception UML d’abord : cas d’utilisation revus deux fois, modèle de domaine et décisions d’architecture chiffrées.
  • La vie privée dès la conception : données gardées sur l’appareil, aucun traceur, aucune donnée d’enfant envoyée à l’extérieur.

Limite : rien n’est construit ; seul le dossier de conception existe.

TypeScriptClean Architecture
Lire le dossier de Learn To Earn sur GitHub

Revu le

Retour aux catégories

Pour un site, je suis trois phases : comprendre, construire, puis faire évoluer.

Voir la méthode