Explorations d’un dev Symfony & DevOps.
Retours d’expérience sur FrankenPHP en worker mode, RabbitMQ, l’IA appliquée au PHP, l’observabilité et les architectures modernes. Bienvenue dans mon espace technique.
🚀 DERNIÈRES PUBLICATIONS
-
• 10 min de lecture
Top 5 des défis avec Symfony : ses limites (et pourquoi je l’utilise quand même)
Introduction : Symfony, un amour compliqué ? Vous ne le savez peut-être pas, mais ici, sur le blog, on parle de Symfony depuis longtemps – et surtout, avec un regard qui a bien évolué. Mon approche actuelle se veut plus terrain, plus concrète, avec toujours une petite touche geek (parce que tester des trucs chelous en dev, c’est clairement ma…
-
Apprentissage Automatique avec Symfony : Intégration Facile de Rubix ML en PHP
Introduction Sur ce blog, on a déjà exploré pas mal de territoires techniques — de Docker au traitement asynchrone avec RabbitMQ, en passant par la configuration avancée d’environnements de développement. Mais aujourd’hui, on passe un cap : on entre dans l’univers fascinant du Machine Learning, directement depuis notre stack PHP. Pas de RAG, pas d’API externe ni de microservice compliqué…
-
• 10 min de lecture
Comment scaler une app Symfony avec RabbitMQ et FrankenPHP
Introduction : Le principal frein dans une application PHP classique ? Le traitement synchrone. Lorsqu’un utilisateur déclenche une action impliquant un volume important de données — comme envoyer un e-mail, valider une commande ou effectuer une analyse — le serveur est bloqué jusqu’à la fin du traitement. Résultat : des délais, des timeouts, et une expérience utilisateur…
-
• 10 min de lecture
Docker & FrankenPHP : votre environnement de dev Symfony, comme en prod

Introduction Eh bien, nous y voilà : la partie 2 de notre exploration de Docker !Encore une fois, je trouve cet outil extrêmement puissant, tant par sa rapidité d’usage que par la versatilité presque infinie qu’il offre. Côté environnement, oui, c’est clairement overkill pour un simple projet local… mais ce n’est pas grave.👉 Le but ici est d’apprendre, de comprendre les bonnes pratiques et surtout de poser les…
-
• 10 min de lecture
FrankenPHP et Symfony : guide complet d’installation avec Docker
Introduction Bienvenue sur mon blog où Symfony et tout son écosystème sont à l’honneur !Comme beaucoup d’entre vous, je découvre peu à peu l’univers de l’Ops. Aujourd’hui, je vous propose de plonger dans l’installation d’un serveur web moderne avec FrankenPHP. Et vous allez voir, FrankenPHP met littéralement une claque monumentale à Apache ! Grâce à sa puissance, sa simplicité…
-
• 10 min de lecture
Symfony & Maps : quelle est la bonne direction pour intégrer des cartes interactives ?
Introduction Le besoin d’une carte interactive, c’est une histoire qui se répète à chaque fois qu’on décide de développer un site web. Et c’est encore pire quand on parle de créer une web app ou un SaaS : là, la carte devient souvent un élément central de l’expérience utilisateur. Mais il faut comprendre une chose…
-
• 10 min de lecture
Symfony et le protocole HTTP
Introduction Parler du protocole HTTP avec Symfony ? À première vue, c’est un sujet « simple », presque évident. Et pourtant, comme souvent en développement, la réalité est bien plus subtile qu’elle n’en a l’air. Ce que l’on pense être une formalité technique devient rapidement un terrain glissant où se mêlent logique métier, propreté du…
-
• 10 min de lecture
Roadmap 2025 : ce qui arrive bientôt sur la section Symfony du blog
🚀 La suite de cette année sur Symfony : plus de contenu, plus de technique, toujours plus de plaisir Comme vous avez pu le remarquer, le blog a pris un nouveau rythme cette année : un article par semaine, souvent centré sur une problématique concrète, un morceau de code bien ciblé ou encore une implémentation…
-
• 10 min de lecture
Symfony 7 et Mercure : Implémenter un Live Chat 100% réactif
Introduction La semaine dernière, nous avons posé les bases : créer un projet Symfony de zéro, exploiter Docker pour gérer toutes les dépendances (base de données, mailer, et bien sûr Mercure pour la diffusion en temps réel). Si vous avez suivi mon précédent article, vous devriez déjà pouvoir envoyer des messages en temps réel, d’un navigateur à l’autre, sans rechargement et de manière…
-
• 10 min de lecture
Créer un Chat en Temps Réel avec Symfony, Mercure et SSE
Introduction Symfony, grâce à ses paquets UX, ouvre la porte à de nombreuses possibilités pour améliorer l’expérience utilisateur. Ce Proof of Concept (POC) va nous permettre d’explorer ces outils en créant un chat en temps réel avec Symfony UX Turbo, Mercure et Server-Sent Events (SSE). Bien sûr, un chat en direct peut être implémenté de manière basique avec AJAX, mais cette approche…
⚡ ECOSYSTÈME SYMFONY & PHP
-
• 10 min de lecture
FrankenPHP et Symfony : HttpKernel, Workflow et Lock face au worker mode
Introduction Après un premier article consacré à Doctrine avancé, j’ai voulu explorer un autre composant critique de Symfony : HttpKernel. Je ne vais pas revenir une nouvelle fois sur le fait qu’en 2026, FrankenPHP représente probablement l’évolution la plus importante de l’écosystème PHP moderne. Les gains en performance, la simplification du déploiement et le mode…
-
Symfony & Doctrine : usage avancé, performances, cache L2 et architecture ORM
Introduction À l’ère de l’IA, on pourrait presque croire qu’en développement il n’est plus vraiment nécessaire de se prendre la tête avec les concepts techniques. On balance quelques prompts, on laisse tourner le vibe coding et l’application finit par fonctionner. Sauf qu’en pratique, laisser Symfony et Doctrine partir en roue libre finit souvent par créer plus de…
-
Arrêtez les PCA à la main ! Airbyte automatise vos pipelines de données
Introduction Cela faisait pas mal de temps que je n’avais plus créé d’articles techniques, et pour cause j’étais très occupé. Et justement, pour répondre à un besoin précis d’intégration de données, j’ai découvert un outil open-source puissant : Airbyte. Sur le papier, le concept de cet ETL / ELT est simple : un flux entrant (la source) et un flux…
-
• 10 min de lecture
Déployer Symfony 8 & FrankenPHP en Serverless (Guide 2026)
Introduction FrankenPHP et Symfony 8 : ce sont indéniablement les deux sujets techniques du moment, surtout après les 30 ans de PHP célébrés l’année dernière. Comme vous le savez, je m’oriente de plus en plus vers le DevOps. Je me suis donc dit : « Pourquoi ne pas vous proposer un tutoriel complet sur le déploiement de ce duo de choc…
-
• 10 min de lecture
IA en PHP : Arrêtez de croire qu’il faut absolument Python !
Introduction À tort, on entend souvent la même rengaine : « PHP, c’est vieux, lourd, et clairement moins sexy que React ou Next.js. » Certes, l’expérience utilisateur (UI), c’est capital. Mais soyons honnêtes… faut-il vraiment trimballer un node_modules de 300 Mo juste pour afficher une page vitrine ? 🤔 Dès qu’on parle d’intelligence artificielle, le réflexe est souvent…
-
• 10 min de lecture
Mistral Vibe CLI vs GPT-5 Codex Max : La France est-elle en avance ?
Introduction Avant de nous lancer dans les benchmarks techniques, il est crucial de contextualiser l’arrivée de ces nouveaux assistants de codage. Où se situent-ils réellement dans notre workflow quotidien ? En tant que développeur Full Stack très attaché à l’écosystème Symfony (Cocorico ! 🇫🇷), je ne cherche pas à remplacer mon expertise, mais à l’augmenter. Cet article n’est pas…
⚙️ DEVOPS & ARCHITECTURES MODERNES
// MANIFESTE TECHNIQUE & INDEX SEO
Ce blog technique est un espace de partage d’expérience et de vulgarisation avancée dédié au développement backend Symfony, à l’administration système et aux pratiques DevOps. Conçu par un ingénieur passionné par les performances logicielles, la haute disponibilité et l’observabilité, vous y trouverez des retours d’expérience pragmatiques sur l’intégration de FrankenPHP en worker mode, la mise en place de files d’attente distribuées avec RabbitMQ, la conteneurisation Docker en production, l’automatisation de pipelines CI/CD, le monitoring système et le fine-tuning de bases de données relationnelles Postgres. Un espace pensé par un dev, pour les devs.