Théo Dupuy

À propos de moi

Bonjour! Je m'appelle Théo, j'ai 23 ans et je suis fraichement diplômé d'un master 2 d'informatique de l'université Paris Cité

Compétences informatiques

Langage : C, Go, Python, Ocaml, PHP, Javascript, Java, Scala, C++, Assembleur x86, Heptagon, Kotlin

Base de données : MySQL, PostGreSQL, Cassendra, Neo4J

Divers : Git, LaTeX, HTML & CSS, programmation système Linux, programmation UDP, Arduino, Programmation Android, Système distribué, Programmation parallèle

Paradigmes de programmation : Impératif, fonctionnel, orienté objet, synchrone

Administration système Linux : Auto-hébergement de serveur (Nextcloud, MySQL, Apache, NodeJS, bot discord de gestion de note multi-utilisateurs) sur un RaspberryPi

Compétences personnelles : Travail en équipe, gestion de projet, opensource, travail de synthèse, adaptabilité, autonomie

Centre d'intérêt

  • Programmation web
  • Programmation réseau
  • Programmation système
  • Système distribué
  • Dessin
  • Sport
  • Jeu de rôle, création de scénarios et organisations de parties dans un univers fantastique

CV

Version pdf

Formation

Master 2 d'informatique - Parcours IMPAIRS

  • Réseau, Système, Programmation synchrone, Informatique embarquée
  • Options : Bases de données, Science des données, Compilation, programmation en temps réel

Université de Paris

2021 - 2022

Master 1 d'informatique - Parcours IMPAIRS, mention bien

  • Réseau, Système, Bases de données, Gestion de projet, Algorithmique
  • Options : Assembleur, Architecture des processeurs, POO, Programmation fonctionnelle

Université de Paris

2020 - 2021

Licence générale d'informatique, mention assez bien

  • Gestion de projet, Algorithmique, Bases de données, Mathématiques

Université Paris Diderot

2016 - 2020

Experiences professionnelles

Stage de recherche

Stage de 6 mois

IMDEA Software Institute, Madrid

Avril 2022 - Septembre 2022

  • Implémentation d'un protocole de consensus efficient et sur un réseau étendu
  • Implémentation d'un protocole concurrent en Go
  • Benchmark de l'implémentation sur des serveurs locaux

Tutorat pour des L1 et des L2 d'informatique

Soutien scolaire

Université de Paris, Paris

2h/semaine 2021

Animateur et concepteur pédagogique

Enseignement de la programmation pour des jeunes de 7 à 17 ans

MagicMakers, Paris

320h/an, 2016 - 2020

  • Conception de cours de programmation Web pour des lycéens
  • Animation d'ateliers hebdomadaires par groupe d'une dizaine de jeunes de tous âges sur des technologies variées (création d'un escape game en Arduino, Unity, Scratch, programmation web en Python...)

Stage dans un laboratoire de physique

Stage de trois mois

École Normale Supérieure, Ulm Paris

2018

  • Création d'un système de gestion de données en Python pour sauvegarder les films et les informations des expériences.
  • Mise en place de scripts pour automatiser le travail de sauvegarde de données.
  • Mise en place de routines optimisées pour le traitement de vidéos prise en laboratoire.

Mes projets

Analyseur statique par interprétation abstraite

Mise en place d'analyse sur un langage simplifié pour avoir différentes informations sur les variables, leurs utilisations, leurs modifications, et leurs intervalles de valeurs


Compilateur en Scala

Création d'un compilateur en Scala vers un code interprétable par la JVM


Protocole de système de fichiers distribué en Go

Implémentation d'un client basé sur un protocole REST puis implémentation d'un protocole pair à pair basé sur UDP. Chaque pair peut exporter une arborescence et communiquer de manière sécurisée avec les autres.


Logiciel de calcul formel en OCaml

Analyse lexicale et syntaxique d'une expression algébrique pour être capable de la simplifier, de la calculer, de la dériver, de l'intégrer, de la résoudre ou d'en tracer une courbe


Circuit et Architecture

Câblage d'un processeur LC-3 et développement de routine en Assembleur


Serveur UDP par inondation non fiable

Système de communication où chaque utilisateur peut poster une donnée qui reste indéfiniment sur le réseau à l'image du mur d'un réseau social


Système de gestion de fichiers avec tags

Amélioration du système de gestion de fichier sous Linux par l'ajout de tags et sous-tag associés aux fichiers. Par exemple un tag couleur pouvait avoir un sous-tag rouge, bleu, etc...



Bot discord de gestion de notes multi-utilisateurs

Developpement d'un bot discord en Python avec persistance des données hébergé sur un serveur personnel. Il a été utilisé pour nos parties de jeu de rôle, afin d'enregistrer l'évolution du jeu sans crainte de perte de données.


Jeu pédagogique d'initiation au fonctionnement d'un ordinateur

Jeu pédagogique développé pour apprendre l'informatique aux enfants à l'aide d'un lapin programmable.

Aperçu :

Gif d'un lapin qui exécute des actions informatiques

Mes projets web

SafeGo

SafeGo est un projet étudiant de calcul d'itinéraire prenant en compte la densité de population. Notre projet est de donner un moyen de protection même si on a besoin de sortir en cas de Covid-19, ou encore cela peut aider des personnes agoraphobes.


Image du site Pedago

PédaGo

Site web pour de l'apprentissage en ligne. Fait dans le cadre des cours de programmation web. Il est fait avec le framework PHP Symphony et est responsive à l'aide du framewok CSS Bootstrap


Image du site MemoGa

MémoGa

Site web de mémo. Fait dans le cadre des cours de programmation web. Il est fait avec NodeJS et JQuery. Il n'utilise aucun framework CSS.


Image du site PokéGa

PokéGa

Site web recensant les informations importantes sur les Pokémon.