Architecture

Plus le projet grossit, plus l’IA se trompe: le bounded context comme investissement

On a green-field project, generative AI works wonders; as the project grows, its answers lose accuracy. The model has not changed: what has grown is the context it has to hold. Context Budget, the method I have introduced on several projects, splits the code into bounded contexts the AI can hold in full: the split is paid for once, and each request then pays only for its own context.

Read

Security

Corriger ou atténuer: le CRA ne prévoit que deux réponses

Since 11 September 2026, the Cyber Resilience Act (CRA) has required an early warning within 24h for an actively exploited vulnerability in a product, including products already on the market. Meeting that deadline depends on work done well before the incident: in the delivery chain, in the number of versions maintained, and in whether products can be mitigated without a developer.

Read

AI & Software Engineering

From Legacy Artifacts to Served Context: My Six-Stage Method

Six stages to build a knowledge graph from C, PL/SQL, PHP and twenty years of documents, keep it true release after release and serve it to an LLM: deterministic collectors, a SHACL gate, append-only facts, and a graph that selects before the model reads.

Read

AI & Software Engineering

I Tried BMAD on a Real Feature

BMAD with Superpowers on a real feature across a Java backend and an Angular frontend: what a formal method adds to a living specification, where the two collide, and what to adopt, adapt or skip.

Read

AI & Software Engineering

The Living Specification: How I Keep AI-Written Code Correct

A living specification, invariants, adversarial AI reviews and real verification keep AI-written code correct, and engineering shifts from writing code to exercising judgement. Second part of a two-article series.

Read

AI & Software Engineering

AI Writes the Code. So What Is the Engineer’s Job Now?

How I asked Claude Code to attack a design instead of building it, the three bugs the adversarial review found before any code, and why engineering is moving from code production to technical validation.

Read

Craftsmanship

Quand false ne veut rien dire

When a method can fail for several reasons, returning true or false throws away the one thing the caller needs: the cause. Why the boolean return is an anti-pattern, where it comes from, and what to return instead.

Read

DevOps

Kill Feature Branching or Die Trying

Why long-lived feature branches work against continuous delivery, what feature toggles offer instead, and a .NET sample that puts a new feature behind a request header in five steps.

Read

DevOps

La CI/CD n’est pas une priorité !

Setting up CI/CD is often a team’s first DevOps reflex, and often premature: what a real pipeline is, what must be settled first, and why the persistence layer and the infrastructure deserve their own care.

Read

Architecture

Building a Resilient Site-Aware Synchronization

Several on-premise sites, each with its own database, that must keep working through days of network outage and still converge: an outbox table, a RabbitMQ cluster, a fanout exchange, idempotent consumers and a golden source for replaying events.

Read

DevOps

Stratégie de déploiement Blue/Green

Beyond the textbook definition: the decisions a team must take, component by component, for Blue/Green to work in practice, from persistence compatibility and sessions to decommissioning and rollback.

Read

Distributed Systems

Apache Kafka along with RxJS operators

A Kafka processor between two topics must not lose a message while its producer is paused: why takeUntil, switchMap and combineLatest all drop data, and how windowToggle and bufferToggle keep it.

Read

Security

Frontend JWT token storage

Local storage, session storage and plain cookies leave a JWT open to theft: three ways to hold the token in a browser (a closure, a secure cookie, a service worker) and what each one trades away.

Read