A selection of what I build. Beyond client work, I maintain open-source Model Context Protocol (MCP) servers that connect AI assistants such as Claude Code to real systems — code search, WordPress management, plugin-migration audits — and reference projects that show how I architect and test software. Everything below is public on GitHub.
Open-source & MCP servers
- project_search (Python) — a fast file-and-code search server for any project, exposed to AI assistants over MCP and designed to minimise token usage during agentic work.
- wordpress_manager (Python) — exposes a WordPress site to any MCP-compatible AI assistant through the WordPress REST API, so an assistant can read and manage content safely.
- ckeditor_audit (Python) — audits the migration status of custom CKEditor plugins between any two versions, surfacing what changed and what still needs porting.
- openidconnect (PHP) — a Symfony 7.4 OpenID Connect implementation with JWT RS256, a JWKS endpoint, discovery and full test coverage.
- hexagonal-architecture (PHP) — a worked example of hexagonal architecture in a modern, framework-free MVC PHP project.
More on GitHub: design-patterns & collection handling, Vue.js + Symfony4 single-file-component demos, JavaScript and PHP/Symfony unit-testing examples (PHPUnit, Mocha/Chai/Sinon), and Docker setups for PHP/Symfony. → browse all repositories.
Open-source contributions
I also contribute to the tools I use every day. A couple of interactions with widely used open-source projects:
- PHPUnit — reported and documented a bug in
getObjectForTrait(): constructor arguments were ignored for traits declaring their own constructor (issue #3722, since closed). - CKEditor 5 — contributed to the discussion on rendering whitespace characters in the editor, sharing a working solution that forces a new styled span via an optional
uniqueId(issue #1700).
Selected professional work
- Le Figaro — editorial back office (since 2022). Building and maintaining the back office of the group’s web platforms with PHP 8, Symfony 5, React/Redux, Elasticsearch and MariaDB, applying Domain-Driven Design, CQRS and Hexagonal Architecture.
- COFRAC — single sign-on & accreditation platform (2021). Designed and delivered an OpenID Connect provider (Authorization Code Flow) on top of OAuth2, plus a code-quality pipeline (PHPStan, PHP-CS-Fixer, PHPMD, GrumPHP) and PHPUnit coverage.
- France Télévisions — france.tv video platform (2017–2020). Migrated applications to Symfony 4, refactored toward SOLID and hexagonal architecture, rebuilt the front end with Atomic Design / BEM / SASS, and kick-started the accessibility programme.
- Atexo — MPE public-procurement suite (2008–2017). Long-term development and Symfony migration of MPE, the e-procurement portal for French, Moroccan and Luxembourg public markets, including REST referential APIs over INSEE/SIRENE data.
How I build
A consistent thread runs through all of it: Software Craftsmanship — TDD, Domain-Driven Design, CQRS, hexagonal architecture, design patterns and PSR standards — so the result is software that stays testable, maintainable and a pleasure to evolve. Read more about me or on the blog.
