Testez votre documentation OpenAPI (avec PHP)
Guide pour tester la conformité d'une API avec sa documentation OpenAPI en PHP, en utilisant la bibliothèque league/openapi-psr7-validator.
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
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.
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.