Le pattern Optional, le conteneur de valeur qui va remplacer vos données nullables
Explique comment utiliser le pattern Optional en PHP pour remplacer les vérifications de null et rendre le code plus concis et robuste.
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.
193 articles from this blog
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.
Comparaison des avantages et inconvénients des bouchons (mocks) et des implémentations mémoire pour les tests logiciels.
Guide pour résoudre l'erreur PHPUnit 10 dans Symfony en modifiant le script bin/phpunit après la suppression de PHPUnit\TextUI\Command.
L'article souligne l'importance cruciale des interactions humaines et du management pour la réussite d'un projet de développement logiciel, au-delà des compétences techniques.
Analyse critique du taux de couverture de code comme indicateur de qualité des tests, expliquant ses limites et présentant des métriques alternatives.
Guide pour retrouver ses contacts Twitter sur Mastodon après une migration, en utilisant des outils comme Twitodon ou mastodon-bridge.