Les constructeurs nommés comme alternative aux constructeurs multiples en PHP
Explique comment utiliser des constructeurs nommés en PHP pour simuler plusieurs constructeurs et améliorer la création d'objets.
Jérémy DECOOL is a software architect at Activinnov in Lyon, France, driven by Unix and Open Source principles. He focuses on building simple, efficient, and maintainable software with a strong emphasis on technical quality, clean architecture, and user-centered design. With a pragmatic mindset, Jérémy designs modular and evolutive systems adapted to constantly changing business needs. He is particularly interested in software architecture, team organization, developer experience, and engineering culture, regularly sharing insights on topics such as onboarding, collaboration, testing practices, and technical decision-making. Committed to continuous learning, he keeps a close watch on modern development and project management practices, with the ambition of evolving toward Lead Developer and Technical Manager roles. Outside of software engineering, he is a passionate sports enthusiast.
198 articles from this blog
Explique comment utiliser des constructeurs nommés en PHP pour simuler plusieurs constructeurs et améliorer la création d'objets.
Explication et implémentation d'une API idempotente en PHP avec Symfony, en utilisant une clé unique pour éviter les traitements en double.
Guide technique pour copier des images Docker multiarchitectures d'une registry à une autre en utilisant les outils Docker officiels.
DDEV simplifie la création d'environnements de développement locaux conteneurisés pour projets PHP et Python en quelques commandes.
Présentation de Container Structure Test, un outil de Google pour tester et valider le comportement des images Docker via des tests unitaires.
Explique comment utiliser le pattern Optional en PHP pour remplacer les vérifications de null et rendre le code plus concis et robuste.
Présentation de l'outil install-php-extensions pour installer facilement un large panel d'extensions PHP dans une image Docker.
Guide pour installer Cursor, un éditeur de code basé sur VS Code et l'IA, sur Ubuntu 24.04 en contournant une erreur de sandbox.
Guide technique pour extraire et suivre le nombre d'erreurs ignorées dans une analyse PHPStan via l'outil phpstan-report.
Guide pour tester un bundle Symfony avec plusieurs versions du framework, en utilisant Symfony Flex et GitHub Actions.
Explication du principe de verrouillage optimiste (optimistic locking) pour gérer les accès concurrents aux bases de données avec Doctrine ORM en PHP.
Explique la différence entre DateTime et DateTimeImmutable en PHP, leurs comportements (mutable vs immuable) et recommande d'utiliser DateTimeImmutable.
Guide sur la gestion et le suivi des décisions d'architecture dans les projets, incluant l'utilisation d'ADR et d'outils d'automatisation.
L'auteur annonce qu'il partage désormais sa veille quotidienne sur le développement et l'informatique sur Mastodon et Bluesky, en plus de X (Twitter).
L'article critique l'utilisation courante de modèles anémiques en programmation orientée objet et plaide pour des objets riches avec comportement.
L'article explique pourquoi les développeurs devraient se concentrer sur les principes fondamentaux plutôt que sur des technologies spécifiques pour une carrière durable.
L'article explique pourquoi il est crucial de ne jamais faire confiance aux données utilisateurs et comment les valider pour la sécurité et l'expérience utilisateur.
L'article discute de l'importance de maîtriser les IA génératives et le prompt engineering pour ne pas rater la révolution technologique en cours.
Comment sauvegarder une base de données MySQL en production sans verrouiller les tables et interrompre le service, en utilisant les options --single-transaction et --skip-lock-tables.
Guide pour installer et utiliser un LLM open source en local avec Ollama, incluant des exemples pratiques et une API HTTP.