L'auteur explique pourquoi repenser les architectures logicielles en privilégiant les événements plutôt que les requêtes synchrones. Au lieu de s’appuyer sur le modèle classique « demande/réponse », l’approche event-driven (EDA) émet des faits immuables (ex : UserSignedUp, OrderPlaced) via des brokers (Kafka, RabbitMQ, etc.), permettant un découplage total, une scalabilité asynchrone et une observabilité native. Les avantages sont majeurs : flexibilité, extensibilité sans modifier les sources, et traçabilité des actions. Des géants comme Shopify, Netflix ou Stripe l’utilisent pour synchroniser des services, déclencher des workflows ou alimenter l’analytics. Attention cependant aux pièges : surcharge des payloads, absence d’idempotence, ou manque de versioning. L’EDA n’est pas une solution universelle (coûts, complexité accrue), mais elle transforme la résilience et l’évolutivité des systèmes — à condition d’adopter une discipline rigoureuse et de traiter les événements comme des contrats versionnés.
EventCatalog est un outil open source qui comble un manque crucial dans les architectures orientées événements : la documentation claire et maintenable. En adoptant une approche "documentation-as-code", il permet de décrire et visualiser les messages (événements, commandes, requêtes), les canaux de communication, les domaines, services et entités (inspirés du Domain-Driven Design), ainsi que les équipes et le langage ubiquitaire. Intégrable avec des registres de schémas (OpenAPI, AsyncAPI, JSON, Avro), il automatise la génération de documentation interactive, facilitant la compréhension et la maintenance des systèmes asynchrones. Grâce à des fonctionnalités comme les graphes de dépendances, la visualisation des schémas et la gestion des équipes, EventCatalog rend accessible et vivante la complexité des architectures événementielles, tout en restant simple à déployer et à mettre à jour. Une solution idéale pour aligner documentation et développement, surtout dans des écosystèmes distribués.
Tout est dans le titre
Tout est dans le titre
Suite de https://dev.to/turculaurentiu91/laravel-htmx--g0n l'auteur ajoute Hyperscript qui facilite la programmation événementielle
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Ça permet de prendre le "bon" élément
<button data-something="truc">
<span>A label</span>
<svg />
</button>
utilisez
document.querySelector('button').addEventListener(evt => { console.log(evt.currentTarget.getAttribute('data-something')); });
plutôt que
document.querySelector('button').addEventListener(evt => { console.log(evt.target.getAttribute('data-something')); });
si je clique sur le span, ça permet bien de récupérer le data-something du bouton
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Les navigateurs fournissent des événements liés à l'impression : beforeprint et afterprint
L'auteur montre comment créer un journal d'activités en se basant sur les événements Doctrine, événements qu'il présente d'une manière très claire (avec avantages et inconvénients)
Tout est dans le titre
Tout est dans le titre
Tout est dans le titre
Les api en question :
- Process
- OS
- Util
- URL
- File System
- Events
- Streams
- Worker Threads
- Child Processes
- Clusters