Education
University
National Research Institute in Computer Science and Automation (INRIA, team Cassis) and Department of Computer Science for Complex System (DISC, team Vesontio), respectively at Besançon and Nancy, France:
- Computer Science PhD thesis, theme: Automatic Generation of Unit Test with Praspel, a Specification Language for PHP.
University of Sciences and Techniques at Besançon, France:
- Computer Science Master thesis: Realistic Domains for the Generation of Unit Tests Driven by Contracts,
- Computer Science Research Master's degree, with honors,
- Computer Science Bachelor's degree, with honors.
Secondary
High school Jules Viette at Montbéliard, France:
- High school diploma, Life and Earth Sciences speciality.
Self-taught
Training in various Computer Science domains.
Research publications
- Contract-based testing for PHP with Praspel, published in the Journal of Systems and Software, pages 209-222,
- My PhD thesis, Automatic generation of unit tests with Praspel, a specification language for PHP, thesis (in French),
- A Constraint Solver for PHP Arrays, presented at Constraints in Software Testing Verification and Analysis (CSTVA, Luxembourg, Luxembourg), article,
- Grammar-Based Testing using Realistic Domains in PHP, presented at Advances in Model Based Testing (A-MOST, Montréal, Canada), article,
- Praspel: A Specification Language for Contract-Driven Testing in PHP, presented at International Conference on Testing Software and Systems (ICTSS, Paris, France), article.
Important works
Senior Engineer at Element
Be in your element. A sovereign and secure communications
platform. Built by the creators of Matrix.
I'm currently part of the Matrix Rust SDK team. My goal is to develop, improve and maintain this Matrix SDK, written in Rust, that is the foundation of many important projects in the Matrix community. It is notably used by Element X, the next-generation cross-platform Matrix client.
The Matrix Rust SDK:
- Work on improving, developing and maintaining the most popular open-source Matrix SDK to create Matrix clients and bots,
- It is the foundation for Matrix clients like Element X or Fractal. It also provides many bindings to Swift, Kotlin, Go and so on,
- Have participated in the design and development of Sliding Sync, a novel, fast and light sync mechanism for Matrix.
Bindings for the Matrix Rust SDK:
- Bindings to Swift and Kotlin exist via UniFFI,
- I've implemented the support for
async/
Futurein UniFFI, allowing Rust async code to be called and driven by foreign languages, like Swift, Kotlin or Python. This work had an important impact on the Matrix Rust SDK and clients like Element X. - Other bindings have been manually implemented, like:
matrix-sdk-crypto-wasm, which are bindings tomatrix-sdk-crypto(from the Matrix Rust SDK) for WebAssembly within a JavaScript host. It is used by Element Web, Thunderbird, and other Matrix clients,matrix-sdk-crypto-nodejs, which are bindings tomatrix-sdk-crypto(from the Matrix Rust SDK) for NodeJS.
Other contributions:
eyeball, a library to make reactive programming in Rust,- (to be release soon), a library to run WebAssembly with Component Model and WIT on all platforms
See all my open-source contributions. See my series about reactive programming in Rust.
Late Co-Founder & Compiler Engineer at Wasmer
The most popular open-source WebAssembly runtime
I've joined Wasmer few weeks after the creation of the company. At the time of my departure, Wasmer became one of the most popular WebAssembly runtime in the world, with 17'000 stars on the Github organisation, with users like Confio, Fluence Labs, HOT-G, Brave, Google, Apple, SpaceMesh, Linkerd, SingleStore, Clever Cloud, Kong to name a few.
My engineering job mostly happened on the Wasmer runtime itself, which includes the API, the C API, the compilers, the ABI (mostly WASI), the engines, the middlewares, and the VM. At that time, I was the #2 contributor on this codebase. I also have participated to set up a “learning environment” with a polished collection of examples, a polished documentation etc. In addition to the runtime, I have created all the official embeddings, i.e. extensions to use Wasmer inside other technologies.
In early 2021, I became late co-founder, then doing all the corresponding tasks like accountabilities, hiring interviews, management meetings, operation meetings etc.
Wasmer runtime:
- Work on improving and developing the most popular open-source WebAssembly runtime, every part of it,
- The runtime is mainly composed of:
- 3 compilers: Singlepass, Cranelift, and LLVM,
- 3 engines: JIT, shared object file, static object file,
- the VM core,
- a high-level public API,
- a C and C++ API.
Wasmer embeddings:
- I've embedded Wasmer in various popular languages through native extensions, packages etc. Almost all of the following projects have reached the status of “the most popular project” to run WebAssembly for each language,
Wasmer in more exotic places:
- Develop a unikernel to run WebAssembly with Wasmer,
- Experiment with a real-time OS to run WebAssembly modules on microcontrollers.
See all my open-source contributions. Learn more by reading my article about my departure of Wasmer.
Code Wrangler at Automattic
We are passionate about making the web a better place
I have joined the Payment team:
- Develop, test, and maintain the payment, subscription, renewal, and billing engine for all Automattic' services (WordPress.com, Akismet, VaultPress, Crowdsignal etc.),
- Develop a custom Apple Pay implementation from scratch for WordPress.com, today running in production,
- Set up documentation-testing for many code bases,
- Develop and maintain several internal tools.
Gutenberg, the new WordPress editor :
- Create a parser for Gutenberg, the new WordPress editor, in Rust and compile it to many targets (WebAssembly, NodeJS, PHP extension, C). Learn more by reading my blog series about it.
See all my open-source contributions.
Engineer at Liip
We consult, design, develop, follow-up
Work mostly for one customer, Piaget.com, a multi-national e-commerce application:
- 16 domains, 10 languages, 2 data centers,
- Implement multi-lingual search with Solr,
- Implement new payment service providers world-wide,
- Test the accessibility and the conformity against the standards.
Create The Accessibility Machine:
- An automated accessibility testing tool which crawls and tests pages of any Web application to produce detailed reports,
- Combines different technologies together.
See all my open-source contributions.
Engineer at fruux
Sync contacts, calendars & tasks, powers millions of users
world-wide
Work mainly on Sabre, the open source CardDAV, CalDAV and WebDAV server:
- sabre.io, maintain and develop new
features in all
sabre/davlibraries (implementing new standards, better tests etc.), - New product: sabre/katana, a CalDAV, CardDAV and WebDAV ready-to-use server,
- fruux.com, help to maintain and develop new features on the WebApp,
- Contribute to RFC by providing test suites and reporting errors,
- Work with an international team (3 countries, 2 timezones, everything in English, regular meetings once a week…).
See all my open-source contributions.
Intern at Mozilla Foundation
Building a better Internet, promote openness, innovation &
opportunity
Worked under the authority of Paul Rouget, during 6 months:
- Implementation of HTML5 in Gecko,
- Experimental project about the “find” feature of Firefox in Mozilla Labs,
- Worked with an international team (documentation, video, help…),
- Promotion of Mozilla in different events.
Since this internship: Many bug reports, hacks and little projects during my spare time.
Hoa
A modular, extensible and structured set of PHP libraries; aims at
being a bridge between industrial and research worlds
Creator and lead developer of the Hoa project:
- Initial idea: Learn, hack and contribute to a lot of different domains,
- Community of 20 permanent contributors,
- Large community of more than 2200 persons,
- Important users, whose Mozilla, fruux, ownCloud,
- International non-profit foundation,
- Several events (including community ones) in different countries,
- An actual bridge between the industrial and research worlds,
- Reached 275 millions installations in Febuary 2026.
The project has been archived in 2021.
Industrial talks, events, and podcasts
- Simplified Sliding Sync, presented at Matrix Conf (Berlin, Germany), presentation, record and details,
-
What the Wasm!,
listen, -
Crabe d'Avril,
view and listen, - La face cachée de WebAssembly avec Geoffroy Couprie et Ivan Enderlin, listen,
-
Tagua VM, An experimental PHP virtual machine,
presented at ForumPHP (Paris, France), presentation, -
Hello, Rust!, An overview,
presented at TupperVIM (Lyon, France), presentation, -
How do we ensure code quality?,
presented at Hoa Apex (Marseille, France), presentation and details, -
What a year!,
presented at Hoa Apex (Marseille, France), presentation and details, -
Praspel, a specification language based on contracts,
presented at PHPTour (Lyon, France), presentation and details, -
Hoa, a set of PHP libraries,
presented at AFUP Lyon (Lyon, France), presentation and details, -
Writing good tests for your PHP software components,
lessons given at JDév' (Polytechnique, Paris, France), details, -
Ouverture,
presented at Hoa Apex, (Neuchâtel, Switzerland), -
Test anatomy,
presented at ForumPHP (Paris, France), presentation and details, -
Hoa, a set of PHP libraries,
presented at PHPTour (Lille, France), presentation and details.
Open Source Projects
Author or Release Manager of:
eyeball, add observability to your Rust types! (co-author),- Matrix Rust SDK, a collection of libraries that make it easier to build Matrix clients in Rust,
- Wasmer,
the most popular and leading WebAssembly runtime written in
Rust, and all its embeddings in
C/C++,
Python,
Go,
PHP,
Ruby,
Java,
Postgres
(author), and some other projects
like:
- LLVM custom builds, a LLVM pre-built infrastructure,
interface-types, an experimental implementation of the WebAssembly Interface Types proposal,loupe, a set of tools to analyse and to profile Rust code,- and many others
sonde, a library to compile USDT probes into a Rust library (author),- Hoa, a modular, extensible and structured set of PHP libraries (author),
- atoum, a simple, modern and intuitive unit testing framework for PHP (release manager),
- pickle, the PHP extension installer (release manager),
- Tagua VM, is an experimental PHP Virtual Machine that guarantees safety and quality by removing large classes of vulnerabilities thanks to the Rust language and the LLVM Compiler Infrastructure (author),
inline-c, a Rust crate to write and execute C code inside Rust (author),- Atlasr, a truly open-source and free map browser (author),
Contributor of:
… too many projects to list them all!
Languages
I have created
- Praspel: A specification language for contract-based testing,
- PP: A grammar description language for an LL(k) compiler compiler,
- XYL: A graphical language inspired from HTML and XUL,
- MiniJaja: A school-project, a Java-like language with an associated VM (JVM-like), type checker, memory manager etc.
I know and use
- favourite Rust,
- markup XML, HTML, RDF, DOM,
- object PHP, Java,
- functional C, Javascript, Scheme,
- structural JSON, YAML,
- relational PL/SQL,
- modelisation UML, B-Method, Event-B,
- specification Praspel, JML, OCL, ACSL, Spec#,
- graphical CSS, XYL, XUL, MCSS,
- vectorial SVG,
- human English, French.
- markup XSLT, XSD, Doctype, XSL-FO, Latex,
- object C++,
- functional Caml, Python, LISP,
- low-level LLVM, MIPS,
- script Zsh, Bash, Batch, Lua,
- vectorial PGF,
- artificial intelligence Prolog.
- markup SMIL,
- object C#,
- functional and object Ruby, Haskell, Perl,
- human Arab, German.
Extracurricular activities
- Hack, hack, hack (software, hardware…),
- Woodworking,
- Photography,
- Trips,
- Discover new cultures,
- Hack, hack…