Je suis ingénieur en intelligence artificielle, diplômé de l'Université de Sherbrooke au Canada et de l'école d'ingénieurs Telecom Nancy en France.
Je suis également ancien président de la Junior-Entreprise Telecom Nancy Services, qui compte une trentaine de membres et fournit des services informatiques.
J'ai étudié dans quatre universités, et j'ai appris de nombreux langages de programmation et méthodes de travail différents qui ont fait de moi un ingénieur polyvalent capable de prendre en charge temporairement des tâches de programmation web (front et back), ou de développement de logiciels.
Je cherche un emploi dans lequel je pourrai approfondir mon expertise en IA, que ce soit par la création de modèles d'apprentissage automatique (prédiction, classification, séries temporelles, etc.) ou par l'analyse de données.
2021 - 2022
Trois semestres menant à la diplomation. La description des sujets étudiés est donnée ci-dessous:
Réseaux de neurones : SVM, bagging, boosting, réseaux de neurones classiques, réseaux à convolution, modèles de deep learning (VGG, ResNet, UNet), réseaux de neurones récurrents, modèles génératifs.
Analyse descriptive des données : clustering, extraction de règles d'association, description statistique, mesures de similarité, détection d'anomalie
Maths pour l'IA: Réseau Bayésien et Markoviens, inférence par maximum a posteriori et recuit simulé, méthodes de Monte Carlo, séries chronologiques et modèles à variables latentes.
Modélisation de base de données: Conception d’une base de données distribuée. Entrepôts et forage de données. Traduction d’un modèle orienté objet en un modèle relationnel.
2019 - 2022
Visualisation de données, et analyse de données (analyse en composantes principales, analyse discriminante linéaire...) avec R et Python
Forage de données, indexation Lucene, Spark, Hadoop, MongoDB, Elasticsearch
Modélisation de bases de données, MySQL
Algorithmie parallèle avec MPI et OpenMP
Algorithme de recherche (MCTS, MinMax)
Gestion de projet, Management
Modèle de probabilité, statistiques, optimisation.
Notions en système, réseaux et traitement d'images.
2019 - 2019
Echange universitaire
Cours d'algorithmie: Complexité, algorithmes dynamiques (Floyd, multiplication chainée de matrice...), algorithmes diviser pour régner, algorithmes de Las Vegas et Monte Carlo, algorithmes probabilistes (Sherwood, algo numériques), etc.
Technologie web avancé: TCP, UDP, Sockets, Adressage et routing, Laravel, Symfony
Structure de données et C++
Cours de conception de jeux vidéos
2017 - 2019
Deux ans d'études durant lesquels j'ai acquis les connaissances nécessaires pour devenir un développeur.
Web, PHP, Laravel, Javascript
POO, Java, C#, Design Patterns
Système, Gestion de la Mémoire, segmentation, thread
Gestion de Projet
Gestion des bases de données, SQL
Télécharger mes résultat d'examenMai 2022 - Aout 2022
Réalisation de divers travaux de deep learning dans une start up spécialisée en IA, avec une équipe d'une dizaine d'experts.
Création de modèles tels que des réseaux neuronaux classiques, convolutifs, transformers, ou encore des auto-encodeurs avec Pytorch et TensorFlow. Pour chaque projet des prétraitements sur les données ont été réalisés.
Utilisation de divers types de données (time-series, images, audio, données textuelles, etc.)
Production de visualisations pour des clients.
Mais aussi re-fonte du site web (front-end) avec VueJS (https://explor.ai), création du back-end de l'outil de gestion de l'entreprise, création de l'architecture de la base de données correspondante, et tests d'API avec Postman.
Mai 2021 - Août 2021
Migration de base de données d'Oracle à Postgresql.
Réalisation de tests pendant plus d'un mois et demi sur la nouvelle base de données.
Mise à jour de projets C# pour vérifier un bon accès et une bonne gestion des données au niveau logiciel.
Septembre 2020 - Mars 2021
Responsable moral de la gestion de la Junior-Création Telecom Nancy Services comprenant une trentaine de membres, et réalisant des prestations de services informatique.
Veille à la coordination et au bon fonctionnement de tous les pôles (RH, trésorerie, chefs de projet, secrétariat...) ainsi qu’à la pérennité de la Junior et le développement des relations avec les acteurs externes.
Responsable de la bonne rédaction de la stratégie, du plan d’actions et veille à sa mise en pratique
Février 2020 - Septembre 2020
Responsable de la direction des pôles internes (R.H., audit, communication, S.I.) de la Junior-Création Télécom Nancy Services
Novembre 2019 - Février 2020
Responsable de la fidélisation des clients, de la prospection, et de la définition et du suivi de la stratégie commerciale.
2019
2018
Test obtenu avec un score de 875/990.
2016
2016
Formation de base aux premiers secours.
2013
Ce diplôme sensibilise aux dangers des addictions, et accrédite du titre d’élève référent en aide aux personnes sujettes aux addictions.
Cliquez sur le projet pour en apprendre plus
Déduction de l’état émotionnel d’une personne à partir de données textuelles à l’aide de deux méthodes : transformers (Hugging Face ) et combinaison d’embedding avec Word2Vec.
Déduction de l’état émotionnel d’une personne à partir de données textuelles à l’aide de deux méthodes : transformers (Hugging Face ) et combinaison d’embedding avec Word2Vec.
Création un système de reconnaissance vocale avec un simple réseau de neurones pour aider les personnes ayant des handicaps visuels ou physiques à sélectionner la bonne commande d’ascenseur.
Création un système de reconnaissance vocale avec un simple réseau de neurones pour aider les personnes ayant des handicaps visuels ou physiques à sélectionner la bonne commande d’ascenseur.
Essai de l’utilisation de l’API AWS Transcribe pour la reconnaissance vocal.
Challenge Kaggle d'identification de baleines avec des réseaux convolutifs. Bounding box avec YOLO pour trouver où se situent les animaux sur l’image. Traitements sur les images , augmentation de données, modèle EffNet avec Arcface
L’objectif de ce challenge Kaggle est d’automatiser la photo-identification des baleines et des dauphins. Ces animaux peuvent être identifiés de façon unique par leur dorsale.
Les données de ce concours contiennent des images de plus de 15 000 mammifères marins uniques appartenant à 30 espèces différentes.
Les photos de ces animaux sont de résolution, et luminosité différente. De plus, certaines images sont prises de loin, avec plusieurs animaux, ou avec d’autres éléments dessus tel qu’un bateau ou des personnes.
Nous avons alors utilisé les Bounding box de YOLO pour détecter les animaux puis rogner les images. Enfin il a fallut redimensionner toutes les images.
Nous avons ensuite fait de l’augmentation de données par rotation, translation et cisaillement de l’image qui permettent d’imiter des photos prises sous différents angles. Nous avons également augmenté les données par ajout de bruits, ou modification de la luminosité et du contraste. Concernant les modèles mis en place, nous avons essayé un ResNet à 152 couches, et un EffNet b0.
Nous avons également essayé d’utiliser Arcface qui permet de donner la mesure de similarité de 2 visages ensemble et de l’appliquer à notre problématique.
Utilisation des modèles Encodeur-Decodeur, UNet, et MSCADC pour faire de la segmentation sur le Automated Cardiac Diagnosis Challenge .
Utilisation des modèles Encodeur-Decodeur, UNet, et MSCADC pour faire de la segmentation sur le Automated Cardiac Diagnosis Challenge .
Création d’une interface d’un agenda d’entreprise avec VueJS.
Création d’une interface d’un agenda d’entreprise avec VueJS.
Réduction des données, apprentissage avec un CNN, étude de la répartition des données dans l’embedding.
Réduction des données, apprentissage avec un CNN, étude de la répartition des données dans l’embedding.
Prétraitements sur les données. Analyse, sélection et visualisation de la corrélation des meilleurs attributs. Analyse en composantes principales.
Analyse d'attributs, prétraitements sur les données, sélection des 10 meilleurs attributs, et en proposer une visualisation. Évaluation des relations de corrélation entre les 10 meilleurs attributs. Détermination du nombre de composantes principales optimal via ACP.
Création d'une base de données relationnelle pour un restaurant puis d'un entrepôt de données pour les requêtes relatives aux commandes des clients.
Création d'une base de données relationnelle pour un restaurant puis d'un entrepôt de données pour les requêtes relatives aux commandes des clients. Finalement, créer une base de données temporelle pour historiciser les données.
Utilisation des méthodes classiques d'analyse de données et d’IA pour formater et classifier des images de feuilles d'arbre en Python.
Utilisation des méthodes classiques d'analyse de données et d’IA pour formater et classifier des images de feuilles d'arbre en Python. Prétraitements, Réseaux de neurones, Machine à Vecteur de Support, K plus proches voisins. Implémentation des algorithmes de Boosting (AdaBoost), et de Bagging ( RandomForest, combinaison de classifieurs).
Extraction de règles d’associations sur une base de données bancaires en Python.
Extraction de règles d’associations sur une base de données bancaires en Python pour déterminer, à partir de données telles que le salaire, l'age, le fait d'être marié, etc, les caractéristiques des clients qui ont un plan d'épargne populaire (PEP) et les clients qui pourraient bénéficier d'un PEP.
Implémentation de deux IA en Python utilisant les algorithmes d'élagage Alpha-Beta et la recherche arborescente de Monte Carlo (MCTS).
Implémentation de deux IA en Python utilisant les algorithmes d'élagage Alpha-Beta et la recherche arborescente de Monte Carlo (MCTS) pour combattre l'une contre l'autre et face à des joueurs dans le jeu de dames chinoises.
Création d'un compilateur java pour un langage objet créé pour ce projet. Création et manipulation d'une grammaire permettant de traduire le langage en langage machine et de l'utiliser ensuite.
Création d'un compilateur java pour un langage objet créé pour ce projet. Création et manipulation d'une grammaire permettant de traduire le langage en langage machine et de l'utiliser ensuite.
Projet de recherche pour le Laboratoire CRAN (affilié au CNRS) visant à utiliser la réalité mixte pour aider les opérateurs dans leurs tâches. Nous avons utilisé Unity pour créer une interface pour le casque Hololens.
Projet de recherche pour le Laboratoire CRAN (affilié au CNRS) visant à utiliser la réalité mixte pour aider les opérateurs dans leurs tâches de régénération de produits. Nous avons utilisé Unity pour créer une interface pour le casque Hololens.
Intégration de plusieurs sources de données biomédicales hétérogènes et de très grande taille dans un système qui permet de connaître, à partir d'un symptôme, les maladies à l'origine de ce symptôme.
Intégration de plusieurs sources de données biomédicales hétérogènes et de très grande taille dans un système qui permet de connaître, à partir d'un symptôme, les maladies à l'origine de ce symptôme, les médicaments à utiliser pour le soigner et les médicaments pouvant causer ce symptôme par effet secondaire.
Création d'un schéma de données global pour cartographier les relations entre les sources de données.
Création d'une application, à l'aide de Javafx, pour réaliser les fonctionnalités souhaitées.
Jeu réalisé avec Unity dans lequel 2 joueurs s'affrontent en posant des questions à choix multiples.
Jeu réalisé avec Unity dans lequel 2 joueurs s'affrontent en posant des questions à choix multiples. Les mauvaises réponses infligent des dommages. Un menu de connexion à des serveurs a également été créé pour ce jeu.
Réalisation d'une application de randonnée en JavaFx lors d'une coding week.
Ce logiciel a été réalisé en Java à l'aide de mapjfx lors d'une coding week.
L'application offre un certain nombre de fonctionnalités pour organiser des randonnées.
Elle permet notamment de visualiser les randonnées (sur une carte ou dans une liste) et d'avoir des informations sur celles-ci telles que leur longueur, leur difficulté ou leur dénivelé.
Il est également possible de sauvegarder ces projets en PDF. Un résumé de l'itinéraire et des différents points de contrôle, accompagné d'une carte, est alors enregistré sur l'appareil.
L'application permet de créer des itinéraires en saisissant des destinations, en important un fichier GPX ou en dessinant sur la carte.
Enfin, il est possible d'enregistrer un itinéraire dans ses favoris, de modifier la topologie des cartes et d'autres paramètres.
Locigiel, réalisé en C, reconnaissant si un commentaire de film est positif ou non grâce a du machine learning.
Ce logiciel, réalisé en C, utilise une base de données de commentaires tels que ceux trouvés sur Rotten Tomatoes pour savoir si un commentaire donné est positif ou non. Nous avons également proposé une étude comparative des performances entre la table de hachage et le radix trie pour cette utilisation particulière. Ce logiciel a été réalisé dans le cadre du module "Projet Pluridisciplinaire d'Informatique Intégrative" à Télécom Nancy. Pour ce projet, nous avons mis en pratique le développement agile en travaillant notamment par sprint.
Jeu créé avec Unity dans le cadre d'une game jam de 24 heures organisée par Telegame Design.
Ce jeu a été créé avec Unity dans le cadre d'une game jam de 24 heures organisée par Telegame Design. Le thème était "Plus vous en avez, pire c'est". Notre idée de base était de faire un jeu avec une usine qui produit de plus en plus de vaches. Le but du jeu est de s'assurer que les vaches ne tombent pas dans les falaises environnantes, mais il est évident que plus il y a de vaches pire c'est. Selon les règles de la game jam, toutes les textures, les sons, etc. devaient être fabriqués par nous-mêmes. Toutes les textures ont été faites dans Photoshop et les matériaux dans Blender.
Mise en place de plusieurs méthodes stéganographiques (LSB, BPCS, etc.), de métriques d'évaluation (EQM, SSIM, etc.), et réalisation d'un rapport de recherche sur le sujet.
Ce projet, réalisé selon des méthodes de développement agile, nous a permis de mettre en pratique différentes méthodes stéganographiques (LSB, BPCS, etc.), et des métriques d'évaluation (EQM, SSIM, etc.). Mais nous avons également pu rédiger un rapport de recherche d'une cinquantaine de pages sur le sujet, ce qui nous a permis d'acquérir une certaine maîtrise dans ce domaine.
Remake du jeu vidéo "Smash Bros Ultimate". Réalisé lors d'une coding night et poursuivi par la suite. Réalisé avec Unity.
Smash Reborn est un jeu dans lequel deux joueurs s'affrontent. Chaque joueur tente de pousser l'autre hors de la plate-forme avec une attaque qui éjecte l'autre joueur. Ce jeu a été réalisé pendant une coding night, c'est-à-dire pendant une douzaine d'heures, dans une équipe de 4 personnes. C'est mon premier jeu réalisé avec Unity.
Jeu vidéo en 2D, réalisé en C++ avec la bibliothèque SFML.
Infected prison est un jeu de survie en 2D. Le joueur voit le jeu avec une vue en plongée (c'est-à-dire directement au-dessus de l'action). Les joueurs devront survivre dans un contexte d'apocalypse zombie. Pour ce faire, ils devront collecter des objets et du matériel pour se défendre. Ce jeu s'adresse donc aux fans de rétrogaming, ou de jeux en 2D. Les amateurs de jeux de survie et de craft seront également intéressés. Le jeu peut être joué seul ou en multijoueurs en coopération.
Application de covoiturage en ligne.
Travel Express est une application web qui vous permet de trouver rapidement un covoiturage près de chez vous. Elle vous permet également de gérer vos propres déplacements en tant que conducteur, ou de planifier des déplacements en tant que passager. Grâce à Travel Express, l'utilisateur peut définir ses préférences, à la fois en tant que conducteur et passager, et obtenir toutes les informations nécessaires pour organiser un covoiturage en quelques clics.
Logiciel de chiffrement.
Application réalisée en C permettant de chiffrer, déchiffrer et décrypter des messages. La génération de nombres premiers, le test de Miller-Rabin, les algorithmes RSA et Rabin-karp, etc. font partie des concepts vus au cours de ce projet.
Rapport d'analyse, rapports statistiques et création de dossiers de patients à partir des données des personnes hospitalisées. Réalisé avec SAS.
Simulation de la gestion d'un jardin partagé par une association et de tous les défis que cela représente.
Projet réalisé avec l'aide de Victoria Saché, experte en sociologie plus particulièrement dans le contexte des jardins. Simulation de la gestion d'un jardin partagé par une association et de tous les enjeux que cela représente (gestion des membres de l'association, gestion financière, promotion du jardin à la mairie etc...).
Application d'apprentissage des langues inspirée par Babbel.
Application d'apprentissage des langues inspirée par Babbel.