Étiquette : dev
-
•
17 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…
-
•
17 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,…
-
•
17 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 »…
-
•
17 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…
-
•
17 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…
-
Doctrine avancé : Proxies, Lazy Loading et Transactions
Introduction Comme dans mon précédent article consacré aux fonctionnalités avancées de Doctrine, il est parfois nécessaire de replonger dans les mécanismes internes des outils que nous utilisons quotidiennement. Et s’il y a bien un composant qui mérite que l’on s’y attarde de temps à autre, c’est Doctrine ORM. Après avoir exploré les soft deletes, les…
-
•
17 min de lecture
RGPD et Symfony : anonymiser des données avec OpenAI Privacy Filter
Introduction S’il y a bien un sujet qu’un développeur ne peut plus ignorer aujourd’hui, c’est le RGPD. Que ce soit lors de la création d’environnements de test, de la génération de fixtures ou simplement dans le cadre d’une mission chez un client, nous sommes régulièrement confrontés à des données personnelles. La théorie est simple :…
-
•
17 min de lecture
Mon premier bundle Symfony : création de UX Calendar Bundle pour Symfony 8
Introduction Depuis que j’ai commencé à travailler sur ce projet, une question revenait régulièrement dans mon esprit : comment pourrais-je, moi aussi, contribuer à l’écosystème open source ? L’objectif n’a jamais été de créer un énième clone d’une solution existante. Au contraire, je souhaitais répondre à un besoin que je rencontre régulièrement dans mes projets…
-
•
17 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…