Aller au contenu

Projets

Ce que je construis, bidouille et bricole.

C
En développement actif

Caracole

Simulateur de chasse simcade à campagne dynamique

Un Mirage F1 au-dessus d'un Levant uchronique du début des années 2000. Le simulateur de combat aérien né du Delta Project, avec modèle de vol non-linéaire complet, avionique et HUD, physiologie du pilote sous facteur de charge et campagne dynamique persistante. Le tout tourne sur Godot 4.7 en double précision avec C#, terrain réel via Terrain3D, météo et rendu de nuages, génération de nuages en Rust.

GodotC#RustPhysiqueGamedev
En savoir plus →
S
En développement actif

SCPCB Bevy Remake

Réimplémentation de SCP: Containment Breach en Rust/Bevy

Adaptation from-scratch du jeu Blitz3D original, en prenant celui-ci comme référence de comportement plutôt qu'en le portant ligne à ligne. Chargeurs pour les formats d'assets d'origine (RMesh, DirectX .x), pipeline de conversion B3D vers glTF, génération de la Zone à partir d'une graine, contrôleur first-person, portes et badges, baking de lightmaps HDR. Projet dérivé non officiel, sous CC BY-SA comme le jeu d'origine.

RustBevyRenduglTFGamedev
H

Homelab

Infrastructure self-hosted, déclarative et versionnée

Une vingtaine de conteneurs Docker tournent en production. Headscale en VPN maillé avec Authentik en OIDC, Forgejo, Jellyfin, DNS Technitium, Firefly III, Ollama sur GPU distante réveillée en Wake-on-LAN. IPv6 natif, nftables, LUKS. L'ensemble migre progressivement vers du NixOS déclaratif. Un flake couvre déjà le NAS (ZFS RAIDZ1, Samba, sauvegardes) et le portable, avec une ISO d'installation maison pour réinstaller n'importe quelle machine.

DockerNixOSArch LinuxHeadscaleZFSIPv6
Voir les articles →
a
En développement actif

automusic & SUKIYAKI Radio

Bibliothèque musicale auto-hébergée, de l'import à la diffusion

Deux moitiés d'une même envie, arrêter le streaming. automusic agrège les morceaux depuis YouTube Music, SoundCloud, Apple Music et Soulseek, les dédoublonne et les tague via beets, propose une file de relecture pour les mauvais appariements, et sert le tout par Navidrome (backend FastAPI, interface Svelte 5). SUKIYAKI Radio est le bot Discord qui diffuse cette bibliothèque en vocal en continu, avec requêtes des auditeurs, playlists, jingles et un mode radio à marche aléatoire par genre.

PythonFastAPISvelteDockerdiscord.py
B
En pause

Bangumi

Régie temps réel pour stream Twitch

Des overlays OBS et un tableau de bord d'administration pour piloter un live. Comptes spectateurs et monnaie adossée aux points de chaîne, gestion des événements (abonnements, follows, récompenses), chat YouTube et Niconico agrégé, transcription audio via Whisper. Le backend est écrit en ASP.NET Core, en architecture par couches, avec EF Core et SignalR. Dashboard en Vue 3, overlays en Pixi.js. Tests d'intégration sur Testcontainers, déploiement Docker Compose.

.NETASP.NET CoreVue 3SignalRPostgreSQL
B

BeamOpenTracking

Head tracking 6DOF natif Linux pour BeamNG.drive

BeamNG ne gère le head tracking que sous Windows, via TrackIR. Ce mod branche la caméra conducteur sur le flux UDP d'opentrack et rend les six degrés de liberté utilisables sous Linux. Une extension Lua côté moteur de jeu, un filtre de caméra, des bindings d'actions en JSON, et un simulateur opentrack en Python pour tester sans matériel. Les valeurs d'inversion d'axes ont été mesurées sur du vrai matériel, pas devinées.

LuaLinuxopentrackModding
P
En pause

Peti Virage

Jeu de course, physique de pneus poussée

Dans ce prototype de jeu de course, tout part des pneus. Modèle Pacejka PAC2002 avec glissement combiné, simulation thermique par zones de bande de roulement, usure, longueur de relaxation, retour de force sur volant. D'abord écrit en Rust avec Bevy, puis porté sous Godot + C# en gardant la physique en Rust via une GDExtension. La version Bevy reste gelée comme référence pour les calculs. L'esthétique PSX est la direction visée, pas encore ce qui est rendu à l'écran. En pause, parce que la suite demande un volume de modélisation 3D que je ne sais pas encore produire.

RustGodotC#PhysiqueGamedev
Voir les articles →
J

Job Search CLI

Outil CLI d'automatisation de recherche d'emploi

CLI Python (Typer/Rich/Pydantic) qui scrape les offres d'emploi (Indeed, LinkedIn, API France Travail, WTTJ, RSS), déduplique, score par regex puis par LLM via Ollama, et exporte vers un vault Obsidian. Génère aussi des CV et lettres de motivation adaptés à chaque offre, rendus en LaTeX puis PDF, avec passe de traduction par un second modèle local.

PythonTyperPydanticOllamaLaTeX
D
Conception

DRZ400S EFI Conversion

Conversion injection électronique d'une moto

Le ralenti reste haut, et la moto tombe en panne d'essence en cabrage. D'où l'idée de passer cette DRZ400S du carburateur à l'injection. L'architecture est posée : corps de papillon Keihin 38 mm, volant moteur 36-1 usiné pour le trigger vilebrequin, Speeduino NO2C en ECU intérimaire, puis ECU maison sur RPi Pico 2 (RP2350) avec les machines à états PIO pour le décodage du trigger et le timing d'allumage. Encore au stade des plans. Rien n'est usiné, rien n'est câblé.

Embedded CRPi PicoPIOTemps réel
F
Conception

FTS Handheld

Terminal LoRa maillé de poche

Un communicateur portable à radio maillée. RP2350, radio MeshCore, clavier rabattable, écran Sharp Memory LCD, modem LTE Cat-1 bis en repli. Pour l'instant ce n'est qu'un registre de décisions (arbitrages sur l'audio, le stockage, les capteurs, la taille et le coût), sans PCB ni firmware. Le dépôt existe pour garder trace du raisonnement avant de graver quoi que ce soit.

RP2350LoRaKiCadHardware
s

sukiyaki.fr

Ce site

Site statique bilingue construit avec Astro, Tailwind CSS v4 et MDX. Les images OG sont générées à la volée par Satori, la recherche vient de Pagefind, et le déploiement passe par Docker et Forgejo Actions.

AstroTailwindMDXDocker

Compétences

Langages

PythonRustCC#KotlinJavaBashTypeScriptNixSQLLua

Infra & DevOps

DockerLinux (Arch, NixOS)GitHeadscaleAuthentikZFSnftablessystemdIPv6CI/CD

Web & Backend

Vue.jsSvelteAstroFastAPIASP.NET CoreDjangoFlaskSpring BootPostgreSQLREST APIs

Moteurs & Jeux

GodotBevyglTFavian3dCompute shaders

Embarqué & Hardware

RPi PicoArduinoFreeRTOSBLESPI / PIO

Contact

contact@sukiyaki.fr