Mes Projets

Nov 2025

Prototype FPS Multijoueur

Prototype de FPS nerveux multijoueur créé pour maîtriser l'architecture Unity et le Netcode.

Ce projet est un prototype de FPS (First Person Shooter) multijoueur "client-hosted", développé en C# avec Unity. L'objectif principal était l'apprentissage approfondi de l'architecture Unity et des problématiques réseaux complexes. Réalisé en binôme via GitHub, il m'a permis de développer des compétences solides en collaboration technique.

Stack Technique & Défis

  • Netcode & Synchro : Implémentation de lag compensation et d'un rewind buffer pour assurer que les tirs touchent leur cible correctement (hit registration) malgré la latence.
  • Architecture : Gestion des RPCs (Remote Procedure Calls) optimisée pour minimiser les paquets réseaux.
  • Outils 3D : Utilisation de Blender pour la modélisation des armes.
  • IA Assistant : Utilisation proactive de l'IA pour accélérer la montée en compétence sur le C# et les patterns Unity.
Juin 2025

Backtesting Crypto & IA

Logiciel d'optimisation de stratégie de trading crypto sur données historiques.

Application complète de backtesting de stratégies d'investissement sur les marchés financiers actuels, développée en Python 3.13. Ce projet personnel récent combine analyse de données, visualisation interactive et gestion avancée de stratégies multiples.

Projet confidentiel - Code source privé

Architecture & Fonctionnalités

  • Moteur d'analyse : Les backtests génèrent des graphiques interactifs indépendants via Matplotlib, adaptatifs selon les paramètres d'investissement informés.
  • Interface Graphique (GUI) : Gestionnaire de stratégies codé en Python permettant de sélectionner fichiers d'analyse, comparer efficacement les paramètres, et gérer (dupliquer/supprimer/ajouter) plusieurs stratégies simultanément.
  • Système de Presets : Sauvegarde et chargement de configurations au format JSON pour une réutilisation rapide des stratégies favorites.
  • Logging Avancé : Chaque stratégie génère automatiquement des logs détaillés (CSV + XLSX) triés par jour d'analyse, incluant performance, investissement total, et métriques clés.
2021 - 2025

BipBoup - Bot Discord Sokoban

Bot Discord ludique transformant le chat en jeu de puzzle Sokoban interactif.

Mon premier projet d'envergure, démarré à 17 ans en autodidacte total. BipBoup est un bot qui permet de jouer au célèbre puzzle Sokoban directement dans un salon Discord. Récemment mis à jour pour s'adapter aux nouvelles API Discord, ce projet témoigne de ma persévérance et de ma capacité à évoluer avec les technologies.

Stack Technique & Défis

  • Ingéniosité : Détournement de l'interface textuelle de Discord et des réactions (emojis) pour créer un contrôleur de jeu temps réel.
  • Algorithmique : Gestion des collisions, déplacements de caisses et validation de victoire (sokoban logic).
  • Adaptabilité : Refactoring récent du code legacy pour maintenir le bot opérationnel malgré les changements majeurs de l'infrastructure Discord.
2014 - 2017

Mini-Jeux Python & Tkinter

Collection de mini-jeux codés à la main en Python avec Tkinter durant le collège — mes tout premiers programmes.

Mes tout premiers pas en programmation ! Ce recueil de mini-jeux a été réalisé entre le collège (2014-2017), entièrement codé à la main en Python avec le module Tkinter pour générer les interfaces graphiques. Ces projets témoignent de ma curiosité et de mon envie de créer dès le plus jeune âge, malgré les imperfections assumées. Le code source a été récemment mis en ligne sur GitHub afin de l'intégrer à ce portfolio.

Les Jeux

  • Pierre Feuille Ciseaux (1 joueur) : L'utilisateur choisit entre Pierre, Feuille ou Ciseaux, l'ordinateur fait un tirage aléatoire et le résultat du match est calculé automatiquement. Suivi de score intégré.
  • Pierre Feuille Ciseaux (2 joueurs) : Même principe, mais pour deux utilisateurs. Chacun sélectionne son choix à tour de rôle sans regarder l'écran de l'autre, puis appuie sur « Résultat » pour découvrir l'issue. Score conservé en mémoire.
  • Roulette : Le projet le plus ambitieux de l'époque ! L'utilisateur mise un montant sur un nombre (1 à 50) et gagne ou perd selon le tirage. Trois modes de jeu : Infini (jouer jusqu'à la faillite), Objectif (atteindre un montant cible) et Compétitif (connexion avec identifiants pour grimper dans le scoreboard).
  • Morpion (2 joueurs) : Jeu du morpion classique à deux joueurs, chacun sélectionne une case à tour de rôle jusqu'à la victoire d'un joueur.

Bugs connus & anecdotes

  • Roulette — Scoreboard : Le classement n'est pas trié correctement, et des utilisateurs peuvent être créés avec « null » comme identifiant — aucune validation n'avait été implémentée (j'étais au collège après tout !).
  • Morpion — Pas d'égalité : La possibilité d'un match nul n'a pas été codée, ce qui provoque un softlock si toutes les cases sont remplies sans vainqueur.