Aller au contenu principal

Editeur Visuel de Workflows

Vue d'ensemble

L'editeur visuel de workflows permet de creer et modifier un workflow avec une vue en 2 colonnes:

  • colonne gauche: vue des phases (Flow)
  • colonne droite: edition detaillee de la phase et de ses taches

L'objectif actuel est la clarte et la stabilite de configuration, sans interactions drag & drop.

Fonctionnalites actuelles

Vue Flow (colonne gauche)

  • Liste verticale des phases.
  • Actions rapides par phase:
    • Ouvrir
    • Ajouter tache
    • Dupliquer
    • Renommer (icone a cote du nom)
  • Liste des taches d'une phase repliable/depliable.
  • Badges de statut (OK / Bloquant) sur phases et taches.
  • Badges de type de tache (Tache, Email automatique, SMS automatique, dont Inviter à remplir les renseignements).

Panneau d'edition (colonne droite)

  • Edition de la phase selectionnee.
  • Liste des taches repliable par tache.
  • Bouton global unique pour tout ouvrir / tout fermer les taches.
  • Par defaut:
    • phases: liste de taches repliee dans le flow
    • taches: repliees dans le panneau d'edition
  • Selection d'une tache dans le flow: ouvre automatiquement la tache correspondante dans le panneau.

Validation des champs obligatoires

  • Les champs obligatoires affichent une etoile * dans le formulaire.
  • Validation bloquante:
    • Nom de phase obligatoire.
    • Au moins une tache obligatoire par phase.
    • Type de tache obligatoire.
    • Template email obligatoire pour AUTOMATIC_EMAIL (sauf actions CLIENT_PORTAL_INVITE, SEND_SESSION_INFO_INVITE et SEND_SURVEY_INVITE).
    • Template SMS obligatoire pour AUTOMATIC_SMS.
  • Les erreurs sont visibles:
    • dans le bloc global "Workflow has blocking errors",
    • et inline dans la tache concernee.

Renseignements de session (Session Info)

  • Action « Inviter à remplir les renseignements » (SEND_SESSION_INFO_INVITE) : type de tâche « Email automatique » ; envoi d’un email au contact avec un lien vers le portail client (formulaire de renseignements). Le template email est optionnel (sinon template système session-info-invite). Voir SESSION_INFO_RENSEIGNEMENTS.md.
  • Action « Envoyer une enquête au client » (SEND_SURVEY_INVITE) : type de tâche « Email automatique » ; envoi d'un email au contact avec un lien vers le formulaire d'enquête (survey) en portail client. Le modèle d'enquête est obligatoire ; le template email est optionnel (sinon template système new-questionnaire).
  • Déclencheur « Renseignements soumis » (SESSION_INFO_SUBMITTED) : permet de lancer un workflow lorsque le client a enregistré les renseignements (depuis le portail client). Utile par exemple pour envoyer un accusé de réception ou une tâche de suivi.

Sous-taches (1 niveau)

  • Ajout/edition/suppression de sous-taches sur 1 niveau maximum.
  • Types d'actions visibles et differencies (email/sms/notification/etc.).

Composants principaux

  • WorkflowFormPage
    • orchestre la page, la selection phase/tache et la sauvegarde.
  • WorkflowFlowCanvas
    • rendu de la vue Flow et actions rapides de phase.
  • WorkflowPhaseForm
    • edition d'une phase et de sa liste de taches.
  • SortableTaskItem / SortableTaskList
    • rendu des cartes taches repliables (sans reordonnancement drag & drop).
  • WorkflowTaskForm
    • edition detaillee d'une tache (type, delai, templates, sous-taches).

Decisions UX actuelles

  • Pas de drag & drop pour reordonner phases/taches.
  • Pas de bloc "Test workflow" dans l'ecran d'edition.
  • Bouton Save place a cote de "Ajouter une phase".
  • Bouton Cancel retire (le bouton Back du header suffit).

Limitations connues

  • Reordonnancement manuel non disponible dans l'UI actuelle.
  • Les sous-taches sont limitees a un seul niveau.
  • Les templates SMS sont geres depuis Settings > Data > SMS Templates et references dans les taches AUTOMATIC_SMS.

Templates SMS (defaults + variables)

  • Des templates SMS systeme par defaut sont crees automatiquement pour chaque nouvel utilisateur.
  • Les templates SMS systeme ne sont pas supprimables.
  • Dans la liste Settings > Data > SMS Templates, le bouton de creation des defaults n'apparait que si:
    • la liste est vide
    • et que des defaults peuvent encore etre crees (canCreateDefaults = true)
  • L'editeur SMS propose un panneau de variables (placeholders) pour inserer rapidement:
    • prenom / nom client
    • date, lieu et type de seance
    • informations entreprise (nom, telephone, email)

Fichiers de reference

  • frontend/src/pages/workflows/WorkflowsPage/WorkflowFormPage.tsx
  • frontend/src/pages/workflows/WorkflowsPage/components/WorkflowFlowCanvas.tsx
  • frontend/src/pages/workflows/WorkflowsPage/components/WorkflowPhaseForm.tsx
  • frontend/src/pages/workflows/WorkflowsPage/components/SortableTaskItem.tsx
  • frontend/src/components/workflows/WorkflowTaskForm.tsx