Le concept : Développer un outil capable de scanner et d'analyser l'intégralité d'un répertoire de fichiers (Textes, PDFs, Images) pour y trouver des occurrences de mots-clés spécifiques. Le système indexe le contenu de chaque document pour permettre à un utilisateur de localiser instantanément le fichier exact dont il a besoin, classé par ordre de pertinence.
La technique : Architecture distribuée Client-Serveur (TCP/IP) en Java. Implémentation d'un Index Inversé pour cartographier les mots vers les fichiers et utilisation de l'algorithme TF-IDF pour calculer le score de pertinence de chaque document. Gestion de la persistance via un journal de bord CSV (Pattern Producteur/Consommateur).
L'expérience : Un système robuste capable de traiter des requêtes simultanées (Multi-threading) sur des volumes de données importants. Ce projet démontre une maîtrise des structures de données complexes et des problématiques de performance liées à la recherche textuelle massive.
Site du projet Github Rapport du projet
Le concept : Démystifier l'intelligence artificielle en développant un moteur de Reconnaissance Optique de Caractères (OCR) capable d'identifier des chiffres manuscrits sans recourir aux réseaux de neurones du Deep Learning.
La technique : Algorithme des K-Plus-Proches-Voisins (K-NN) 100% Python, extraction de caractéristiques mathématiques, correction d'inclinaison par régression linéaire et optimisation vectorielle avec NumPy.
L'expérience : Un pipeline algorithmique totalement transparent et maîtrisé, allant de la génération automatisée d'un dataset personnalisé sur iPad jusqu'à une prédiction hautement explicable géométriquement.
Github Rapport du projet
Le concept : Réduire le stress des étudiants de l'Université de Bourgogne (UFR Sciences
et Techniques) en leur
permettant de localiser instantanément leur place d'examen sur un plan interactif.
La technique : Algorithme de recherche, génération de plans SVG dynamiques en Vanilla JS
et animations CSS
personnalisées.
L'expérience : Interface 100% mobile-first, accessible via un simple QR code affiché à
l'entrée des amphithéâtres.
Technologies : Python, JavaScript, Pixi.js, Algorithme de Raycasting.
Le défi : Créer un jeu multijoueur sans utiliser de moteur 3D préexistant. Le projet
repose sur
une architecture Client (JS) / Serveur (Python) pour gérer la synchronisation des joueurs. Le
rendu graphique utilise des calculs mathématiques de lancer de rayons (raycasting) pour simuler
la 3D, offrant une expérience immersive, légère et jouable directement depuis un navigateur web.
Réalisé dans le cadre des Trophées NSI (concours national d'informatique pour les lycéens), ce
projet a obtenu le Prix spécial du jury académique et a permis d'accéder à la finale nationale.