Navigation
Notes d'ingénierie
Des notes pratiques pour construire des systèmes fiables.
Focalisé sur les workflows, les API, l'interaction frontend/backend et la livraison en production — basé sur une expérience réelle, pas sur des tutoriels.
Tous les articles
Des notes techniques orientées production, classées pour être parcourues rapidement.
Les machines à états battent le CRUD quand le produit porte un vrai risque workflow
Le CRUD fonctionne jusqu’au moment où transitions invalides, ambiguïté opérateur et effets de bord asynchrones transforment un simple update en incident.
Le CRUD fonctionne jusqu’au moment où transitions invalides, ambiguïté opérateur et effets de bord asynchrones transforment un simple update en incident.
Aligner l’état frontend avec des API orientées workflow
La complexité UI explose quand le frontend commence à prédire des règles de workflow que seul le backend peut faire respecter proprement.
La complexité UI explose quand le frontend commence à prédire des règles de workflow que seul le backend peut faire respecter proprement.
Concevoir une UX asynchrone sans mentir à l’utilisateur
Une interface rapide devient trompeuse dès qu’elle confond “travail accepté” et “travail terminé”.
Une interface rapide devient trompeuse dès qu’elle confond “travail accepté” et “travail terminé”.
Sécuriser les intégrations partenaires en production sans ralentir la delivery
Le risque d’intégration vit surtout dans les frontières de confiance floues, les callbacks rejouables et les chemins de validation pensés pour le happy path.
Le risque d’intégration vit surtout dans les frontières de confiance floues, les callbacks rejouables et les chemins de validation pensés pour le happy path.
Concevoir des transitions d’API fiables pour des systèmes orientés workflows
Là où les API de production cassent d’abord : transitions invalides, variabilité partenaire exposée et effets de bord déclenchés avant que l’état soit durable.
Là où les API de production cassent d’abord : transitions invalides, variabilité partenaire exposée et effets de bord déclenchés avant que l’état soit durable.
Définir les frontières de validation pour des entrées non fiables
La validation devient complexe quand un même payload peut arriver via API publique, outil admin, import ou replay asynchrone.
La validation devient complexe quand un même payload peut arriver via API publique, outil admin, import ou replay asynchrone.
Garder une logique de workflow Symfony explicite dans des produits sensibles à la conformité
Une application Symfony reste maintenable lorsque transitions, contrôles d’éligibilité et effets de bord async sont traités comme de la logique métier.
Une application Symfony reste maintenable lorsque transitions, contrôles d’éligibilité et effets de bord async sont traités comme de la logique métier.
Séparer le temps de requête du temps de traitement en production
Une queue devient utile lorsqu’elle protège le parcours utilisateur, isole les intégrations instables et rend les traitements longs récupérables.
Une queue devient utile lorsqu’elle protège le parcours utilisateur, isole les intégrations instables et rend les traitements longs récupérables.
Livrer en sécurité sans construire une plateforme trop tôt
Les petites équipes n’ont pas besoin de théâtre DevOps. Elles ont besoin de builds répétables, de rollbacks visibles et de déploiements qui distinguent web et workers.
Les petites équipes n’ont pas besoin de théâtre DevOps. Elles ont besoin de builds répétables, de rollbacks visibles et de déploiements qui distinguent web et workers.
Concevoir des workflows asynchrones récupérables en production
Le vrai sujet de l’asynchrone n’est pas la queue, mais la capacité du système à survivre à des exécutions tardives, dupliquées ou partiellement réussies.
Le vrai sujet de l’asynchrone n’est pas la queue, mais la capacité du système à survivre à des exécutions tardives, dupliquées ou partiellement réussies.
L’observabilité des systèmes orientés workflows consiste à expliquer l’état
La vraie question n’est pas “a-t-on des logs ?” mais “peut-on expliquer ce qui s’est passé et ce qu’il est sûr de faire ensuite ?”
La vraie question n’est pas “a-t-on des logs ?” mais “peut-on expliquer ce qui s’est passé et ce qu’il est sûr de faire ensuite ?”
Pourquoi les retries de jobs de fond créent des incidents
Un retry n’aide que si le système sait ce qui est rejouable, ce qui doit s’arrêter et ce que les opérateurs doivent voir immédiatement.
Un retry n’aide que si le système sait ce qui est rejouable, ce qui doit s’arrêter et ce que les opérateurs doivent voir immédiatement.