Le point de départ.
Le travail d’archivage suivait un processus, mais les opérateurs avaient toujours besoin d’un moyen pratique de gérer ce qui le traversait : les sessions, les paquets et l’état évolutif du workflow.
La fonctionnalité devait aussi vivre dans une plateforme d’entreprise plus large. Elle ne pouvait pas devenir un produit séparé avec ses propres règles. Il lui fallait une frontière ciblée, compatible avec le système environnant.
Ce que la conception devait résoudre.
La frontière utile se situait entre l’état du processus et l’action de l’opérateur :
- Une session et ses paquets devaient rester compréhensibles pendant l’avancement du workflow.
- Les actions de l’opérateur devaient correspondre clairement à des transitions valides.
- Les règles backend et l’état frontend ne pouvaient pas devenir deux interprétations différentes.
- La fonctionnalité devait s’intégrer sans disperser sa logique dans la plateforme hôte.
Le diagnostic.
Camunda pouvait coordonner le processus, mais l’orchestration seule ne constituait pas l’expérience de l’opérateur. Il manquait une frontière applicative cohérente autour du workflow.
J’ai séparé les responsabilités : le service Spring porte les règles applicatives et l’intégration du processus ; le microfrontend React présente l’état actuel et les actions qui en découlent.
La tranche applicative obtenue.
Le microfrontend offre une surface ciblée aux opérateurs. Le service Spring traduit les actions en opérations de workflow, tandis que Camunda coordonne le processus qui fait avancer sessions et paquets.
Les décisions importantes.
La conception reste utile parce que chaque responsabilité a une place nette.
Placer le workflow derrière un service
Le client React parle à une API Spring ciblée au lieu d’encoder les mécanismes du processus dans le navigateur.
Le service ajoute une frontière à maintenir, mais empêche les détails du workflow d’envahir chaque écran.
Montrer l’état avant l’action
L’interface place la session, ses paquets et l’état du processus au centre, afin que l’opérateur comprenne la situation avant d’agir.
L’UI doit représenter les états indisponibles ou en cours, pas seulement le parcours idéal.
Garder un périmètre resserré
Un microfrontend contient l’expérience d’archivage tout en l’intégrant à la plateforme d’entreprise.
Cette indépendance dépend d’un contrat d’intégration rigoureux avec l’application hôte.
Livraison et vérification.
La fonctionnalité se vérifie le long du même parcours que l’opérateur : créer ou ouvrir une session, examiner ses paquets, exécuter une action permise et confirmer que l’état revient de manière cohérente dans l’interface.
Les cas d’échec importants se trouvent aux frontières. Le service doit refuser les transitions invalides, l’UI montrer honnêtement les états incomplets ou en attente, et l’intégration conserver le processus comme source de vérité.
Le résultat qualitatif.
La tranche obtenue couvre la gestion des sessions, le traitement des paquets et le contrôle du workflow, depuis l’interface jusqu’au processus Camunda.
Les opérateurs disposent d’un endroit unique pour comprendre le travail et le faire avancer. La plateforme reçoit une fonctionnalité contenue, plutôt qu’une logique d’archivage dispersée.