Développeur full-stack avec plus de 10 ans d'expérience, spécialisé en OCaml, TypeScript et React.

Quatre ans au sein de Nomadic Labs sur l'écosystème de la blockchain Layer 1 Tezos (client principal, outil de supervision et portefeuille).

Ancien lead developer de GeneWeb chez Geneanet, logiciel open source utilisé par plus de 800 000 bases en production.

Attaché à la fiabilité, à la maintenabilité et à la qualité du code.

EXPÉRIENCE PROFESSIONNELLE

INGÉNIEUR LOGICIEL

Nomadic Labs

Quatre ans de contributions à l’écosystème Tezos, à travers trois projets : Octez (coeur de la blockchain), Teztale (supervision) et Umami (portefeuille).

  • Programmation fonctionnelle, performances et tests de scalabilité : développement des composants Layer 1 de la suite Octez, l’implémentation de référence de la blockchain Tezos, en OCaml ; participation à l’introduction du parallélisme dans le noeud Layer 1 ; amélioration du framework de déploiement et des scénarios de test de montée en charge impliquant des dizaines de machines lancées dans le cloud.
  • Observabilité et supervision : refonte et enrichissement d’un outil capable de détecter et d’expliquer les ralentissements de la blockchain Tezos (Teztale) ; API en OCaml, avec double compatibilité PostgreSQL/SQLite pour le stockage des données ; visualisation de données en TypeScript et React.
  • Développement full-stack et livraison continue : reprise de Umami, portefeuille Tezos basé sur un serveur OCaml et une application de bureau Electron.js ; migration d’une base de code ReasonML vers ReScript ; mise en place de la compilation et du déploiement automatisés des releases Windows, macOS et Linux via GitLab CI.

LEAD DEVELOPER GENEWEB

Geneanet

Geneanet est une plateforme de généalogie en ligne. GeneWeb, son moteur open source, est utilisé par plus de 800 000 bases en production.

  • Leadership technique : lead developer du projet ; gestion du dépôt, revue de code et coordination des contributeurs externes.
  • Architecture et extensibilité : conception et implémentation d'un système de plugins chargés dynamiquement, permettant d'étendre les fonctionnalités sans alourdir le cœur du logiciel.
  • Résorption de dette technique : refactorisation et mise à jour d'une base de code OCaml vieille de 20 ans afin d’améliorer sa maintenabilité et ses performances.
  • Moteur de template programmable : nombreuses contributions au moteur de templates Jingoo, débloquant des possibilités de programmation avancées directement dans la définition d’interface ; intégration dans GeneWeb via un plugin, offrant à chacun le pouvoir de modifier son interface utilisateur sans avoir à intervenir sur le logiciel lui-même.

DÉVELOPPEUR FULL-STACK

BeSport

Développement de la plateforme web et mobile BeSport, un réseau social dédié au sport, construite avec le framework OCaml Ocsigen.

  • Développement full-stack typé : implémentation des fonctionnalités du réseau social en OCaml de bout en bout (Eliom, Js_of_ocaml)
  • Internationalisation : création d'ocsigen-i18n, préprocesseur (PPX) facilitant la traduction des applications Ocsigen, publié en open source
  • Composants UI : développement de composants réutilisables intégrés à la bibliothèque open source ocsigen-toolkit

STAGIAIRE

OCamlPro

  • Compilation : conception d'OLLVM, bibliothèque OCaml de création et de manipulation de programmes en représentation intermédiaire LLVM, publiée en open source

FORMATION

MASTER INFORMATIQUE

Université Paris Cité

Parcours « Langages et Programmation »