Revue Brique Workflows (UX + Moteur + Exploitation)
Derniere mise a jour: 2026-02-28
Voir aussi : WORKFLOWS_ARCHITECTURE.md pour l’état technique détaillé (modèle de données v2, flux, écarts doc/code, propositions).
Objectif
Rendre la brique workflows:
- plus simple a configurer,
- plus fiable en execution,
- plus exploitable en production,
- moins couteuse a maintenir.
Etat actuel
Modèle de données (post-migration 0173)
- workflows (unifié templates + utilisateur), workflow_phases, workflow_tasks, workflow_task_actions
- workflow_triggers, workflow_trigger_executions
- session_workflow_instances (1 par session), session_workflow_task_runs, session_workflow_action_runs
Les anciennes tables user_workflows, user_workflow_phases, user_workflow_tasks, default_workflows, default_workflow_phases, default_workflow_tasks et session_workflow_tasks ont été supprimées et ne doivent plus réapparaître dans le runtime.
Frontend
- Editeur 2 colonnes (Flow a gauche, edition a droite).
- Liste des taches repliable/depliable (phase + tache), fermee par defaut.
- Sous-taches supportees sur 1 niveau.
- Plus de reordonnancement drag & drop phases/taches.
- Plus de bloc "Test workflow" dans la page.
- Bouton Save deplace a cote de "Ajouter une phase".
Backend
- Architecture workflows/triggers/tasks decoupee et active.
- Validation d'activation conservee (
activation-validation). - Endpoint de simulation retire (
POST /workflows/:id/simulate). - Nettoyage des elements audit/repair/reports deja effectue.
- Mapping Session Types par defaut aligne sur les templates workflows v2:
Mariage,Couple,Portrait,Grossesse,Famille,Corporate.- Relink automatique de
user_session_types.default_workflow_idlors du bootstrap utilisateur.
Priorites a court terme
- Fiabilite des donnees
- Completer les garde-fous pour phases/taches optionnelles (front + back).
- Continuer l'alignement strict DTO ↔ schema DB ↔ types frontend.
- UX d'edition
- Finaliser les boutons/actions de phase et de tache.
- Garder la vue dense et lisible sans options secondaires inutiles.
- SMS
- Stabiliser le flux complet
AUTOMATIC_SMS:- finaliser la strategie template SMS (selection, variables, preview),
- unifier la source du message envoye (template resolu vs fallback texte),
- ajouter traces/metriques dediees (template_id, provider, statut d'envoi).
- Observabilite operationnelle
- Ajouter une vue execution simple par workflow (sans dry-run dans l'editeur).
- Standardiser logs/metriques sur
workflowId,triggerId,taskId,sessionId.
Decisions prises
- La simulation "dry-run" n'est plus exposee dans l'editeur workflow.
- Le reordonnancement drag & drop n'est plus prioritaire pour cette iteration.
- L'edition doit rester orientee production (moins de bruit, plus de robustesse).
Definition of Done (iteration en cours)
- UI workflows simplifiee et stable en usage quotidien.
- Plus de references actives a l'endpoint simulate dans front/back.
- Documentation workflow alignee sur le comportement reel de l'application.
- Session Types par defaut relies aux templates workflows v2.
- Validation des champs obligatoires explicite dans l'UI (etoiles + erreurs inline).
Fichiers cibles (suivi)
- Frontend:
frontend/src/pages/workflows/WorkflowsPage/WorkflowFormPage.tsxfrontend/src/pages/workflows/WorkflowsPage/components/WorkflowFlowCanvas.tsxfrontend/src/pages/workflows/WorkflowsPage/components/WorkflowPhaseForm.tsxfrontend/src/pages/workflows/WorkflowsPage/components/SortableTaskItem.tsx
- Backend:
backend/src/workflows/workflows.controller.tsbackend/src/workflows/workflow-triggers.service.tsbackend/src/workflow-tasks/workflow-tasks-creation.service.tsbackend/src/workflow-tasks/workflow-tasks-execution.service.tsbackend/src/sessions/session-integration.service.ts(évaluation triggers + création task runs)