Contact me

Expertise

How I build and run systems, with which tools and for what reasons, then how I teach those who will build them. My projects each have their own page.

See my projects

My approach

The ground changes, the standard stays, and what is missing, I build.

I design how applications are built, delivered and run, for my own products as for the teams I advise. My rule: everything that runs is described in code and can be rebuilt identically, its restoration is proven by a drill, and every claim about its state is dated and verifiable.

A software forge and its restoration

My way of working

I map a system before touching it, and every intervention leaves a trace.

Claims that can be verified

Before touching a system, I map it, and the register of what exists is produced by the machine rather than written by hand: every server, service and backup appears in it with its state and the proof that establishes it. Every intervention leaves a trace (the operation log, the fingerprint of a restored file, the result of a test), kept next to the code that produced it.

Read moreShow less

Code that touches money or access goes through a tooled security review, and every finding is fixed with the test that stops it coming back. When I do not yet know something, I write it down as such, with what it would take to establish it.

Fixing upstream

When an open-source tool gets in the way, I fix it upstream rather than work around it. In Veyon, the classroom supervision software, I fixed in the remote view and the PipeWire VNC server under Wayland, two patches in C++ and Qt 6 accepted by the project.

See the patches

Veyon patches

Skills and tools

For each area, the tools I use and the reason I chose them.

Cloud and Infrastructure as Code

Everything that runs is described in code, so that it can be rebuilt identically, and sits with the provider that fits the need rather than the habit.

  • Google Cloud
  • AWS
  • Hetzner
  • OVH
  • Cloudflare
  • Pulumi
  • OpenTofu
  • Ansible

CI/CD and the software supply chain

A change reaches production only after its tests, in a signed image whose contents are known, and the itself knows how to restore itself.

  • GitLab CI
  • GitHub Actions
  • Docker
  • signed images
  • SBOM
  • provenance attestations
  • BorgBackup

Systems and network

A fleet is described like an infrastructure: the configuration applies itself, access goes through a single identity and secrets stay encrypted.

  • Linux (Ubuntu)
  • bootc
  • Ansible
  • Keycloak
  • OIDC
  • SOPS
  • Tailscale

Backend

TypeScript end to end and a : the domain depends on no framework, so it can be tested and evolved without rewriting everything.

  • TypeScript
  • NestJS
  • GraphQL
  • REST
  • PostgreSQL
  • Python
  • Solidity

Interfaces and engine

Next.js and React for applications, and an engine in Rust compiled to when a game or a tool must hold its compute time on the most modest device in the classroom.

  • Next.js
  • React
  • Rust
  • WebAssembly
  • WebGL

Agentic AI

I bring AI in where it serves the work, at the scale of the organisation: the right model for each task, agents that act under human control, and a trace of everything they do.

  • Claude
  • Codex
  • agent orchestration
  • human validation
  • traceability

Teaching

A course is built like software: a single source gives the course book, the platform, the exercises and their corrections, and every student project goes through a real .

  • Git
  • GitLab CI
  • Docker
  • Python
  • online labs

Teaching

From Year 5 to master’s level, and on to professionals, I teach the way I build.

My students range from a Year 5 child to an adult changing career. For each audience, I design teaching as a complete system: objectives, one , reproducible activities, tooled assessment and materials drawn from a single source.

Sciences, English and geography, from Year 5 to Year 10

Edeys school, in Le Haillan, welcomes , or pupils in small groups. I have taught there since 2025, from Year 5 to Year 10: life and earth sciences, physics and chemistry, technology, mathematics, English and geography. This calls for explicit teaching, short instructions, materials that each pupil can pick up without help, and the exact vocabulary of the curriculum.

Preparing for the classes préparatoires

For a final-year pupil aiming at a preparatory class (classe préparatoire), I wrote a collection of exercise books in mathematics (advanced mathematics included), physics and chemistry, and Python. Each skill starts with a course reminder and a worked example, then grades its exercises over four levels, with hints and corrections. Every numeric result is recomputed by an independent program.

See the exercise books

From Bachelor 3 to Master’s 2

At EPSI in Bordeaux, I teach at Master’s level what keeps software running in production: observing it, testing it, securing it and governing the cloud that hosts it. In Master’s 2, I also supervise a project in an international team and sit on the juries.

Read moreShow less

In Bachelor 3, I teach Git and CI/CD, Docker and blockchain development. Each subject has its course book and its learning platform, which I wrote and run, and projects go through the same as my production systems.

Training adults

For engineering teams, I wrote a Docker training course in twenty chapters (Engine, Compose and Swarm), each with its runnable lab, and I teach it remotely. I also guide adults changing careers towards digital professions.

Engaging through play

Play is my main lever for engagement, provided it serves real learning. I designed and played in class an algebra card game, Enquête dans le bois (a field guide in cards for life sciences), English duels and Mission Terminal, which teaches the through checked missions. For the ÉCHO days of the Compétences & Développement network, I designed the app of the same name, where every meeting with a person from another school moves the group and its campus forward.

See the games

Research questions in education

My practice raises questions that I would like to investigate with research teams. Does a game designed for a single notion, then revised from how the session went, change engagement and memorisation in dys, ADHD or autistic pupils? Does a workstation that does less make them more autonomous? What does immediate feedback on every project change for learning? And can an AI designed for one school, from its own rules, help teachers without replacing their judgement? Today I judge a game by the engagement I observe in class: the approach resembles , but these are a practitioner’s observations, not measurements.

Read moreShow less

Part of the set-up already exists. My games follow and the W3C guidelines on cognitive accessibility, and my planet game can be played without an account or a real name. An observation protocol, with its grid, is under way with pupils aged 10 to 13, and my work at LIRIS taught me what an experimental protocol demands. I am open to joint work in didactics, inclusive education or educational technology, on my tools as on the ground of my classes, within the framework set by each school and with the families’ consent.

English duels