Notes d'ingénierie
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.
Navigation
Tous les articles
Des notes techniques orientées production, classées pour être parcourues rapidement.
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.
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.
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é”.
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.
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.
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.
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.
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.
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.
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.
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 ?”
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.