Gérer des raccourcis clavier dans des projets Web
Guide pour implémenter des raccourcis clavier dans des applications web avec JavaScript et l'événement keydown.
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.
203 articles from this blog
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.
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.