<Développement Logiciel/>
Je suis étudiant en informatique avec une passion pour le développement. J'étudie à Epitech depuis 2022, où j'ai acquis des compétences solides en programmation et en gestion de projet.
Pendant mes études, j'ai développé une passion pour résoudre des problèmes complexes. J'aime relever des défis et explorer de nouvelles approches pour créer des solutions innovantes. Je suis également curieux et toujours à la recherche de nouvelles connaissances pour améliorer mes compétences.
J'ai eu l'opportunité de travailler sur de nombreux projets passionnants pendant mes études, notamment en intelligence artificielle, développement de jeux vidéo et autres domaines de l'informatique (voir la partie projets du site).
Andrew Hunt
<Skills/>
<Développement Logiciel/>
<Développement Web/>
<Bases de données & Authentification/>
<Développement de Jeux Vidéo/>
<Projets/>
Moteur d'échecs par apprentissage par renforcement en deux phases : pré-entraînement supervisé sur des parties de maîtres puis self-play de style AlphaZero. Utilise une architecture SE-ResNet avec attention spatiale, estimation Win/Draw/Loss et un système anti-oubli à 4 niveaux.

Plateforme complète de gestion de tâches combinant les meilleures fonctionnalités de Notion, Trello et Jira. Offre plusieurs vues (Kanban, Table, Calendrier) avec système d'invitation, upload d'images, recherche avancée et tableau de bord analytique.

Programme de raytracer capable de générer des images basées sur un fichier de description de scène. Supporte les primitives comme les sphères et plans, transformations et éclairage directionnel et ambiant.

Plateforme de jeu permettant aux utilisateurs de sélectionner et jouer à des jeux tout en suivant les scores. Implémente des jeux et bibliothèques graphiques comme bibliothèques dynamiques chargées à l'exécution.

Compresseur d'image utilisant l'algorithme k-means pour le clustering des couleurs. Se concentre sur le regroupement des couleurs de pixels en clusters et leur remplacement par la couleur moyenne du cluster.

Simulateur logique qui construit un graphe représentant des composants électroniques numériques à partir d'un fichier de configuration, permettant l'injection de valeurs pour obtenir des résultats.

Clone de Spotify offrant une interface utilisateur permettant de rechercher et jouer de la musique, créer des playlists, et parcourir différents genres et artistes. Intègre Supabase et Stripe pour l'authentification et les paiements.

Magasin e-commerce construit avec Next.js et React. Permet aux utilisateurs de parcourir et acheter des produits basés sur les catégories et tailles. Interface conviviale pour les achats en ligne.

Jeu où plusieurs programmes appelés Champions se battent pour être le dernier en vie. Simulation informatique où les processeurs partagent la mémoire pour l'exécution.

Création d'une voiture autonome utilisant Lidar, capable de conduire sur une piste virtuelle sans heurter les murs. Développement d'intelligence artificielle haute performance avec le simulateur CoppeliaSim.

Jeu de rôle complet (RPG) créé en C. Offre une interface utilisateur agréable, un univers cohérent avec graphismes et sons appropriés, et une expérience de jeu amusante avec des objectifs à atteindre.

Projet impliquant la génération de labyrinthes, la recherche du chemin de sortie et la résolution des labyrinthes le plus rapidement possible. Inclut la mesure de performance et l'optimisation des algorithmes.

Développement d'un interpréteur de commandes UNIX, similaire au shell TCSH. Capable d'exécuter des commandes de base, gérer les erreurs, variables d'environnement et commandes intégrées.

Projet créé pour la Global Game Jam dont le thème était 'Roots'. C'est un jeu d'horreur en 2D où le but est de s'échapper d'un labyrinthe sans se faire attraper par les racines.

Petit jeu vidéo inspiré de Duck Hunt. Le joueur incarne un chasseur et doit tirer sur des canards à l'écran. Le jeu gère les entrées utilisateur, les sprites animés et les mécaniques de tir.


Moteur d'échecs par apprentissage par renforcement en deux phases : pré-entraînement supervisé sur des parties de maîtres puis self-play de style AlphaZero. Utilise une architecture SE-ResNet avec attention spatiale, estimation Win/Draw/Loss et un système anti-oubli à 4 niveaux.
Implémentation minimaliste d'un modèle GPT (Generative Pre-trained Transformer) pour l'apprentissage et l'expérimentation.
Bibliothèque de réseau de neurones construite from scratch pour l'analyse de positions d'échecs. Classifie les positions en Échec, Échec et Mat ou Rien en utilisant uniquement NumPy, sans PyTorch ni TensorFlow.
Plateforme d'automatisation de workflows similaire à n8n, Zapier ou IFTTT. Permet de créer des workflows visuels avec un éditeur drag-and-drop, connecter des déclencheurs et exécuter des actions automatisées avec intégrations multiples.
Éditeur de scènes 3D/2D avec ray tracing en temps réel. Implémente des primitives géométriques, transformations, éclairage PBR, rendu différé et lancer de rayons accéléré par GPU. Développé dans le cadre du cours d'infographie à l'Université Laval.

Plateforme complète de gestion de tâches combinant les meilleures fonctionnalités de Notion, Trello et Jira. Offre plusieurs vues (Kanban, Table, Calendrier) avec système d'invitation, upload d'images, recherche avancée et tableau de bord analytique.
Simulation de pizzeria concurrente implémentant la gestion de threads, mutex et files d'attente pour coordonner la préparation des commandes en parallèle.
Convertisseur de documents puissant et flexible, capable de transformer des fichiers entre différents formats de balisage.
Projet de gestion de threads utilisant des mutex et sémaphores pour simuler la distribution de potion entre villageois gaulois.
Application de communication collaborative implémentant un protocole client-serveur avec gestion des équipes, canaux et messages.

Programme de raytracer capable de générer des images basées sur un fichier de description de scène. Supporte les primitives comme les sphères et plans, transformations et éclairage directionnel et ambiant.

Plateforme de jeu permettant aux utilisateurs de sélectionner et jouer à des jeux tout en suivant les scores. Implémente des jeux et bibliothèques graphiques comme bibliothèques dynamiques chargées à l'exécution.

Compresseur d'image utilisant l'algorithme k-means pour le clustering des couleurs. Se concentre sur le regroupement des couleurs de pixels en clusters et leur remplacement par la couleur moyenne du cluster.
Implémentation d'un serveur FTP gérant les connexions multiples, l'authentification et les opérations de transfert de fichiers.

Simulateur logique qui construit un graphe représentant des composants électroniques numériques à partir d'un fichier de configuration, permettant l'injection de valeurs pour obtenir des résultats.
Implémentation d'un automate cellulaire élémentaire générant des motifs visuels basés sur les règles de Wolfram.
Ré-implémentation de fonctions de la bibliothèque C standard en langage assembleur x86-64, incluant strlen, strchr, memset et autres.
Implémentation du jeu Tron (course de motos lumineuses) en Haskell avec gestion de la logique de jeu et rendu en terminal.

Clone de Spotify offrant une interface utilisateur permettant de rechercher et jouer de la musique, créer des playlists, et parcourir différents genres et artistes. Intègre Supabase et Stripe pour l'authentification et les paiements.

Magasin e-commerce construit avec Next.js et React. Permet aux utilisateurs de parcourir et acheter des produits basés sur les catégories et tailles. Interface conviviale pour les achats en ligne.
Application web de gestion de tâches inspirée de Trello. Permet de créer des tableaux, listes et cartes avec drag & drop, système d'activité, intégration Stripe pour abonnements et API Unsplash pour les images.
Plugin BetterDiscord qui active automatiquement le mode Ne Pas Déranger lorsqu'un jeu est lancé et restaure le statut précédent à la fermeture. Inclut une liste de jeux à ignorer configurable.
Éditeur d'images avec interface graphique permettant de dessiner, modifier et sauvegarder des images avec divers outils de dessin.
Implémentation du jeu de puzzle Sokoban où le joueur doit pousser des caisses sur des emplacements cibles dans un entrepôt.
Jeu de bataille navale en réseau utilisant des signaux UNIX pour la communication entre deux joueurs.
Ré-implémentation de la commande ls d'UNIX, gérant l'affichage des fichiers et répertoires avec diverses options de formatage.
Algorithme de tri de piles utilisant un ensemble limité d'opérations pour trier des nombres avec un minimum de mouvements.
Algorithme de recherche du plus grand carré dans une grille, optimisé pour traiter de grandes cartes efficacement.
Programme de compression et décompression de fichiers, réduisant la taille des données tout en préservant leur intégrité.
Simulateur de contrôle du trafic aérien affichant les trajectoires d'avions et détectant les collisions avec les tours de contrôle.

Jeu où plusieurs programmes appelés Champions se battent pour être le dernier en vie. Simulation informatique où les processeurs partagent la mémoire pour l'exécution.

Création d'une voiture autonome utilisant Lidar, capable de conduire sur une piste virtuelle sans heurter les murs. Développement d'intelligence artificielle haute performance avec le simulateur CoppeliaSim.

Jeu de rôle complet (RPG) créé en C. Offre une interface utilisateur agréable, un univers cohérent avec graphismes et sons appropriés, et une expérience de jeu amusante avec des objectifs à atteindre.
Algorithme de recherche de chemin basé sur les fourmis. Trouve le chemin optimal à travers un graphe pour déplacer un nombre donné de fourmis de l'entrée à la sortie.

Projet impliquant la génération de labyrinthes, la recherche du chemin de sortie et la résolution des labyrinthes le plus rapidement possible. Inclut la mesure de performance et l'optimisation des algorithmes.

Développement d'un interpréteur de commandes UNIX, similaire au shell TCSH. Capable d'exécuter des commandes de base, gérer les erreurs, variables d'environnement et commandes intégrées.

Projet créé pour la Global Game Jam dont le thème était 'Roots'. C'est un jeu d'horreur en 2D où le but est de s'échapper d'un labyrinthe sans se faire attraper par les racines.

Petit jeu vidéo inspiré de Duck Hunt. Le joueur incarne un chasseur et doit tirer sur des canards à l'écran. Le jeu gère les entrées utilisateur, les sprites animés et les mécaniques de tir.
Jeu vidéo mobile inspiré du célèbre jeu Rider. Développé avec Unity et C#, offrant une expérience de jeu fluide et colorée.
<Expériences/>
Retour sur Seizen en tant que Lead Developer pour relancer le projet sous Unreal Engine. J'ai conçu et implémenté les systèmes de gameplay, l'intégration multijoueur, la gestion réseau (client/serveur) ainsi que les aspects de cybersécurité. En parallèle, j'ai développé l'ensemble de l'écosystème autour du jeu : le site officiel, un launcher personnalisé, et un bot Discord pour automatiser la gestion communautaire.
En tant que Lead Developer pour Seizen, j'étais responsable de la création d'un serveur de jeu sur Nanos World, un sandbox nouvelle génération inspiré de Garry's Mod. J'ai supervisé l'implémentation des mécaniques de gameplay, de l'infrastructure serveur et de modes de jeu personnalisés en Lua. J'ai également travaillé avec Unreal Engine et React pour développer l'interface web, afin d'offrir une expérience utilisateur à la fois immersive et performante.
Enseignant Unity pour les 12–15 ans. J'ai initié des adolescents au développement de jeux 2D et 3D avec Unity, en combinant pédagogie ludique, logique de programmation et créativité. Les ateliers visaient à rendre l'apprentissage du code accessible et engageant dès le plus jeune âge.
Assistant pédagogique régional à Epitech Marseille. J'ai accompagné les étudiants dans leurs projets techniques et académiques tout au long de leur parcours. J'ai animé des ateliers pratiques, apporté un soutien individualisé, et fourni des retours réguliers sur leur progression. J'ai également assuré la liaison entre les élèves et l'équipe pédagogique, contribuant ainsi à un bon suivi et à la qualité globale de l'enseignement.
Au sein de l'équipe Smart Grid & Electric Mobility d'Enedis, j'ai développé des outils pour soutenir les opérations de terrain sur le réseau électrique. Mes responsabilités comprenaient la création d'applications web pour la gestion des données, l'optimisation des flux d'intervention et la conception d'interfaces utilisateur intuitives pour rationaliser les opérations.
Retour sur Seizen en tant que Lead Developer pour relancer le projet sous Unreal Engine. J'ai conçu et implémenté les systèmes de gameplay, l'intégration multijoueur, la gestion réseau (client/serveur) ainsi que les aspects de cybersécurité. En parallèle, j'ai développé l'ensemble de l'écosystème autour du jeu : le site officiel, un launcher personnalisé, et un bot Discord pour automatiser la gestion communautaire.
En tant que Lead Developer pour Seizen, j'étais responsable de la création d'un serveur de jeu sur Nanos World, un sandbox nouvelle génération inspiré de Garry's Mod. J'ai supervisé l'implémentation des mécaniques de gameplay, de l'infrastructure serveur et de modes de jeu personnalisés en Lua. J'ai également travaillé avec Unreal Engine et React pour développer l'interface web, afin d'offrir une expérience utilisateur à la fois immersive et performante.
Enseignant Unity pour les 12–15 ans. J'ai initié des adolescents au développement de jeux 2D et 3D avec Unity, en combinant pédagogie ludique, logique de programmation et créativité. Les ateliers visaient à rendre l'apprentissage du code accessible et engageant dès le plus jeune âge.
Assistant pédagogique régional à Epitech Marseille. J'ai accompagné les étudiants dans leurs projets techniques et académiques tout au long de leur parcours. J'ai animé des ateliers pratiques, apporté un soutien individualisé, et fourni des retours réguliers sur leur progression. J'ai également assuré la liaison entre les élèves et l'équipe pédagogique, contribuant ainsi à un bon suivi et à la qualité globale de l'enseignement.
Au sein de l'équipe Smart Grid & Electric Mobility d'Enedis, j'ai développé des outils pour soutenir les opérations de terrain sur le réseau électrique. Mes responsabilités comprenaient la création d'applications web pour la gestion des données, l'optimisation des flux d'intervention et la conception d'interfaces utilisateur intuitives pour rationaliser les opérations.
<Contact/>
import { useState } from "react";// Formulaire de contactconst ContactForm = () => {const [formData, setFormData] = useState({name: "",email: "",subject: "",message: ``});const handleSubmit = async (e) => {e.preventDefault();// Envoi du message...await sendEmail(formData);};return <form onSubmit={handleSubmit}>...</form>;};