Blog & Écrits techniques
Articles techniques, retours d\’expérience et guides d\’architecture Symfony, FrankenPHP et DevOps rédigés par Jean-Sébastien Christophe.
Derniers articles
-
•
27 min de lecture
Claude Code : mon workflow de développement avec des agents
Introduction En 2026, difficile de parler de développement sans parler d’IA. Sur TikTok et ailleurs, vous avez probablement déjà vu ces vidéos : une application créée en quelques minutes, une promesse de revenus et le fameux « commente PROMPT » pour récupérer la recette miracle. Je comprends l’enthousiasme. Pouvoir donner vie à une idée sans…
-
•
27 min de lecture
Kejja : afficher le dashboard sans attendre le LLM
Introduction Dans la continuité de mes articles sur Kejja, je vous propose de revenir sur un problème que je n’avais pas suffisamment anticipé : le temps d’attente avant l’affichage des recommandations. Entre les appels aux services externes, les calculs de sélection et la génération des explications par le LLM, les délais s’additionnent. Et lorsque tout…
-
•
27 min de lecture
ML en PHP : gérer le cold start des recommandations | Kejja
Comme je l’expliquais dans mon précédent article, Kejja est un produit que j’ai pris le temps de construire. Et ce n’est pas un problème : c’est aussi un terrain d’expérimentation pour comprendre comment améliorer la pertinence des recommandations de films et de séries. Dès le départ, je voulais intégrer du machine learning avec Rubix ML,…
-
•
27 min de lecture
Moteur de recommandation de films avec Symfony : Kejja
Introduction On est tous passés par là. Netflix, Prime Video, Disney+… et toujours la même question : on regarde quoi ? S’engage alors un débat sans fin entre le scroll, des recommandations qui n’en sont pas vraiment, et un catalogue que chaque plateforme met en avant selon ses propres intérêts. Les recherches « IA »…
-
•
27 min de lecture
Symfony AI et OpenRouter : faire évoluer un SAV e-commerce avec un LLM
Introduction Dans cette V1, on pousse notre projet de SAV e-commerce un peu plus loin avec l’ajout de Symfony AI et d’un LLM accessible via OpenRouter. L’objectif : permettre à Bloppy de formuler des réponses plus naturelles et adaptées à la demande du client, pour améliorer l’expérience dans le chat. Dans la V0, les réponses…
-
•
27 min de lecture
FrankenPHP et Mercure : un SAV e-commerce entre IA et conseiller humain
Introduction Je suis revenu de l’API Platform Conference 2026 avec quelques idées à expérimenter. Parmi les sujets qui ont retenu mon attention : Mercure et les évolutions de sa version 1.0. De quoi me donner envie de reprendre mes expérimentations autour du temps réel avec Symfony et FrankenPHP. Si vous suivez le blog, vous vous…
-
•
27 min de lecture
API Symfony pour application mobile : le framework ne règle rien
Introduction Depuis le début de ce blog, je n’ai cessé de parler de Symfony, de PHP, d’IA, de projets qui tournent en local. Mais dans le fond, ce que j’ai toujours voulu faire, c’est de l’application native. Tout simplement parce que je vois ce domaine comme l’aboutissement de mon expérience de développeur web Symfony. J’y…
-
•
27 min de lecture
Test de charge FrankenPHP : ce que k6 a vraiment mesuré
Introduction Monter une infra qui tient la charge, c’est une série de décisions prises bien avant d’écrire la première ligne de scénario k6. Le runtime : share-nothing process-per-request, ou worker mode persistant ? L’hébergement : une machine qu’on grossit, ou des nœuds qu’on ajoute ? La session : sur le disque local, ou dans un…
Articles Symfony
-
•
27 min de lecture
Claude Code : mon workflow de développement avec des agents
Introduction En 2026, difficile de parler de développement sans parler d’IA. Sur TikTok et ailleurs, vous avez probablement déjà vu ces vidéos : une application créée en quelques minutes, une promesse de revenus et le fameux « commente PROMPT » pour récupérer la recette miracle. Je comprends l’enthousiasme. Pouvoir donner vie à une idée sans…
-
•
27 min de lecture
Kejja : afficher le dashboard sans attendre le LLM
Introduction Dans la continuité de mes articles sur Kejja, je vous propose de revenir sur un problème que je n’avais pas suffisamment anticipé : le temps d’attente avant l’affichage des recommandations. Entre les appels aux services externes, les calculs de sélection et la génération des explications par le LLM, les délais s’additionnent. Et lorsque tout…
-
•
27 min de lecture
ML en PHP : gérer le cold start des recommandations | Kejja
Comme je l’expliquais dans mon précédent article, Kejja est un produit que j’ai pris le temps de construire. Et ce n’est pas un problème : c’est aussi un terrain d’expérimentation pour comprendre comment améliorer la pertinence des recommandations de films et de séries. Dès le départ, je voulais intégrer du machine learning avec Rubix ML,…
-
•
27 min de lecture
Moteur de recommandation de films avec Symfony : Kejja
Introduction On est tous passés par là. Netflix, Prime Video, Disney+… et toujours la même question : on regarde quoi ? S’engage alors un débat sans fin entre le scroll, des recommandations qui n’en sont pas vraiment, et un catalogue que chaque plateforme met en avant selon ses propres intérêts. Les recherches « IA »…
-
•
27 min de lecture
Symfony AI et OpenRouter : faire évoluer un SAV e-commerce avec un LLM
Introduction Dans cette V1, on pousse notre projet de SAV e-commerce un peu plus loin avec l’ajout de Symfony AI et d’un LLM accessible via OpenRouter. L’objectif : permettre à Bloppy de formuler des réponses plus naturelles et adaptées à la demande du client, pour améliorer l’expérience dans le chat. Dans la V0, les réponses…
-
•
27 min de lecture
FrankenPHP et Mercure : un SAV e-commerce entre IA et conseiller humain
Introduction Je suis revenu de l’API Platform Conference 2026 avec quelques idées à expérimenter. Parmi les sujets qui ont retenu mon attention : Mercure et les évolutions de sa version 1.0. De quoi me donner envie de reprendre mes expérimentations autour du temps réel avec Symfony et FrankenPHP. Si vous suivez le blog, vous vous…
-
•
27 min de lecture
API Symfony pour application mobile : le framework ne règle rien
Introduction Depuis le début de ce blog, je n’ai cessé de parler de Symfony, de PHP, d’IA, de projets qui tournent en local. Mais dans le fond, ce que j’ai toujours voulu faire, c’est de l’application native. Tout simplement parce que je vois ce domaine comme l’aboutissement de mon expérience de développeur web Symfony. J’y…
-
•
27 min de lecture
Test de charge FrankenPHP : ce que k6 a vraiment mesuré
Introduction Monter une infra qui tient la charge, c’est une série de décisions prises bien avant d’écrire la première ligne de scénario k6. Le runtime : share-nothing process-per-request, ou worker mode persistant ? L’hébergement : une machine qu’on grossit, ou des nœuds qu’on ajoute ? La session : sur le disque local, ou dans un…