Les meilleures solutions ne proviennent parfois pas du code
L'article explique que les meilleures solutions en développement logiciel ne viennent pas toujours du code, mais d'une compréhension profonde des besoins utilisateurs.
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
L'article explique que les meilleures solutions en développement logiciel ne viennent pas toujours du code, mais d'une compréhension profonde des besoins utilisateurs.
L'article critique la tendance des développeurs à se définir par un langage ou framework, et plaide pour une approche pragmatique centrée sur le problème à résoudre.
Explication de la loi de Conway et son impact sur l'architecture logicielle et l'organisation des équipes de développement.
L'article explique le principe DevOps "You build it, You run it" et ses bénéfices pour la qualité produit et l'autonomie des équipes.
L'article explique l'importance de mesurer l'impact du travail en développement logiciel pour éviter d'avancer à l'aveugle et permettre l'amélioration continue.
Guide pour tester la conformité d'une API avec sa documentation OpenAPI en PHP, en utilisant la bibliothèque league/openapi-psr7-validator.
L'article propose une définition claire et pratique des tests unitaires en programmation, basée sur des critères précis pour éviter les ambiguïtés.
Comment utiliser l'IA (ChatGPT, Claude, Cursor, V0) pour créer et prototyper des side-projects plus rapidement et efficacement.
Les tests de mutation évaluent l'efficacité des tests en introduisant des défauts dans le code, offrant une meilleure mesure que la simple couverture de code.
L'article explique que la Clean Architecture ne se limite pas à un découpage de fichiers, mais repose sur le sens des dépendances pour isoler la logique métier.
Comment les tests d'architecture (avec Deptrac et PHPArkitect) garantissent la cohérence et la maintenabilité d'un projet PHP sur le long terme.
Présentation du concept de Screaming Architecture, une approche d'organisation du code qui révèle l'intention métier du logiciel.
L'article explique pourquoi les tests automatisés, bien qu'essentiels, ne suffisent pas à garantir le bon fonctionnement d'une application en production.
Explication du pattern Self-Validating Object pour garantir la cohérence des données via la validation directe dans les objets, avec un exemple en PHP.
Explique comment utiliser le Behavioral Contract Testing pour garantir que plusieurs implémentations d'une interface (ex: Cache) ont un comportement identique.
Guide pour implémenter des raccourcis clavier dans des applications web avec JavaScript et l'événement keydown.
Explication du design pattern Unit of Work, son rôle dans les ORM et son implémentation pour gérer les transactions et les accès à la base de données.
Explique les différences fondamentales entre les patterns CQS et CQRS, deux principes de conception logicielle pour séparer les opérations de lecture et d'écriture.
Explique les trois types de messages en programmation (commandes, requêtes, événements) et l'importance de leur nommage.
Guide technique pour intégrer un moteur de recherche côté client dans un site statique Jekyll en utilisant la bibliothèque JavaScript Lunr.js.