Tutoriel

Serveur MCP minimal en PHP

Un serveur Model Context Protocol fonctionnel en moins de 100 lignes de PHP natif. JSON-RPC, transport stdio, un tool exposé. De quoi comprendre la mécanique sans librairie.

Concept

Prompt versioning en prod

Un prompt est du code qui décide du comportement de ton produit. Le laisser en string hardcodée non versionnée est une dette. Comment traiter les prompts comme des artefacts.

Tutoriel

Logger un LLM sans dépendance

Un wrapper PHP minimaliste pour logger chaque appel LLM (prompt, réponse, tokens, latence, coût) dans une table SQL. Compatible PSR-3, lisible, debuggable.

Tutoriel

Tester un appel LLM

Comment tester du code qui appelle un LLM sans payer des tokens à chaque run ni dépendre d'une réponse non déterministe. Doublures, golden tests, et ce qu'on teste vraiment.

Tutoriel

Symfony Messenger + agent IA

Mettre les appels LLM dans une queue Symfony Messenger pour découpler l'API utilisateur des temps de réponse imprévisibles. Setup minimal et patterns testés en production.

Tutoriel

JSON fiable depuis un LLM

Obtenir du JSON structuré et valide d'un LLM de façon fiable : schéma dans le prompt, validation stricte, retry ciblé. Le pattern qui tient en prod.

Concept

LLM ou formulaire ?

Le LLM n'est pas le bon outil partout. Quand basculer une UI vers une interface conversationnelle, et quand un simple formulaire reste imbattable. Une heuristique courte pour décider.

Tutoriel

Streaming SSE en PHP natif

Streamer les tokens d'un LLM vers le navigateur en Server-Sent Events, sans framework ni librairie. Le pattern, les pièges de buffering, et le code complet.

Bienvenue sur le blog

Pourquoi ce blog, ce qu'on y traitera : retours de terrain d'AI Engineering, MCP, agents, backend Symfony et l'art d'industrialiser ces sujets.