Quotidien Shaarli
Aujourd'hui - March 3, 2026
L'auteur de ce blog, Patrice Ferlet, défend l'utilisation de Makefile face à la popularité croissante de Taskfile (GoTask). Il argue que Makefile est plus simple et accessible, même pour les débutants, et critique les arguments fallacieux souvent avancés pour promouvoir Taskfile. Il propose un exemple basique de Makefile et invite les lecteurs à comparer les deux outils de manière objective, tout en reconnaissant les avantages de GoTask. L'article est écrit sur un ton sarcastique et provocateur, mais avec l'intention de stimuler le débat et la réflexion.
Ce tutoriel explique comment construire une application Symfony capable de gérer un grand volume de documents (jusqu'à un milliard) en utilisant MongoDB. Dans cette deuxième partie, l'auteur montre comment configurer une application Symfony avec le Doctrine MongoDB ODM pour mapper les documents à des classes PHP, et utiliser Symfony UX pour créer une interface utilisateur moderne. Le tutoriel couvre la configuration initiale de l'application, la cartographie des documents, et la mise en place d'un tableau de bord pour afficher des informations générales, une liste de stations, et des détails spécifiques comme les prix des carburants et leur historique.
L’auteur explique comment optimiser Doctrine ORM pour éviter non seulement le problème classique du N+1, où l’accès aux relations dans une boucle génère des dizaines voire centaines de requêtes, mais aussi le piège du produit cartésien qui survient lorsqu’on tente de tout charger en une seule requête avec de nombreux LEFT JOIN : bien que n’affichant qu’une requête dans le profiler, ce type de jointures multiplie les lignes SQL retournées (chaque combinaison de collections), ralentit la page et surcharge Doctrine lors de l’hydratation des objets. La solution proposée repose sur une hydratation en plusieurs étapes en chargeant d’abord les entités principales avec une relation, puis en « primeant » séparément les autres relations via des requêtes successives utilisant l’Identity Map de Doctrine, ce qui aboutit à quelques requêtes légères et prévisibles sans explosion des résultats.
L’article explique comment configurer Claude Code, un outil CLI d’IA pour améliorer la productivité sur des projets Symfony et PHP, en insistant sur le fait que la qualité des résultats dépend surtout du bon paramétrage plutôt que du modèle utilisé : il conseille l’intégration de Claude Code dans l’IDE (par exemple via un plugin PhpStorm), la création d’un fichier AGENTS.md décrivant les conventions et règles de codage du projet pour guider l’IA, et l’usage systématique d’une phase de planification (“plan mode”) avant de générer du code afin d’obtenir des résultats précis et cohérents, tout en donnant des exemples pratiques de configuration et bonnes pratiques pour Symfony.