Tâche de Script(Script Task)
Une tâche exécutée par le moteur de processus lui-même, qui lance un script défini dans le modèle (par ex. JavaScript, Groovy). Quand le script se termine, la tâche s'achève. Marquée d'une icône de script / parchemin.
La Tâche de Script (Script Task) intègre une petite portion de logique exécutable directement dans le processus : le modélisateur définit le langage de script et le corps du script, et le moteur l'interprète à l'arrivée du jeton.
Elle excelle pour la logique de liaison — calculer une valeur, transformer des données entre étapes, fixer des variables de processus — là où monter un service externe serait excessif. Le revers : les scripts cachent la logique dans le diagramme, si bien qu'un usage intensif nuit à la maintenabilité. Gardez les scripts courts ; promouvez tout ce qui est substantiel en Tâche de Service ou Tâche de Règle métier.
Quand l'utiliser et l'éviter
Quand l'utiliser
Pour de petits calculs : calculer un score, dériver une date d'échéance, formater un numéro de référence.
Pour la transformation de données entre activités (mapper des champs, agréger des valeurs).
Quand appeler un service externe ajouterait de la latence et un coût opérationnel pour une logique triviale.
Quand NE PAS l'utiliser
Pour l'intégration avec des systèmes externes — c'est une Tâche de Service.
Pour des décisions métier qui changent souvent (règles de tarification, éligibilité) — une Tâche de Règle métier les conserve dans une table de décision que les métiers peuvent maintenir.
Pour une logique longue ou gourmande en ressources — les scripts s'exécutent dans le moteur et peuvent le dégrader.
Exemple métier
Calcul d'un score de risque dans une demande de prêt

Ouvrez cet exemple dans l'éditeur de processus HEFLO et explorez le diagramme de l'intérieur.
Ouvrir dans l'éditeur HEFLO →Étape par étape
- Le processus démarre à la réception d'une demande de prêt.
- La Tâche de Script « Calculer le score de risque » (mise en évidence) s'exécute dans le moteur : elle combine revenu, historique et montant en un score numérique — aucun appel externe, aucun humain.
- La Passerelle Exclusive route selon le résultat : les scores élevés vont vers Approuver automatiquement ; le reste va vers Revue manuelle.
- Les deux chemins terminent le processus.
Le script produit la donnée que la toute prochaine passerelle consomme — l'usage le plus idiomatique d'une tâche de script.
Différences
Différence entre une Tâche de Script et une Tâche de Service
La Tâche de Script exécute une logique *à l'intérieur* du moteur, écrite dans le modèle. La Tâche de Service délègue à quelque chose *à l'extérieur* — une API, un service, un autre système. Logique de liaison interne → Script ; intégration → Service.
Différence entre une Tâche de Script et une Tâche de Règle métier
Toutes deux calculent un résultat automatiquement, mais la Tâche de Règle métier externalise la décision dans un moteur de règles / table de décision (typiquement DMN) que les utilisateurs métier maintiennent, tandis que la Tâche de Script enfouit la logique dans du code au sein du modèle. Si les règles évoluent avec le métier, préférez la Tâche de Règle métier.
FAQ
Quels langages de script puis-je utiliser ?
Ceux que votre moteur prend en charge — l'attribut BPMN scriptFormat déclare le langage. JavaScript et Groovy sont les plus courants en pratique.
Pourquoi garder les scripts courts ?
Les scripts sont invisibles aux lecteurs du diagramme et difficiles à tester isolément. Les longs scripts transforment le modèle en dépôt de code sans l'ergonomie du contrôle de version — déplacez la logique substantielle vers des services.