Activités

Marqueur de Boucle(Loop Marker)

Le marqueur (↻) qui fait répéter une activité tant qu'une condition est satisfaite — le while / do-while de BPMN sur une seule activité.

La caractéristique de boucle standard répète une activité jusqu'à ce que sa condition de boucle dise stop, en testant éventuellement avant ou après chaque itération et bornée par un nombre maximum. Elle compresse « réessayer jusqu'à acceptation » en une seule activité marquée au lieu d'un cycle de passerelle.

Quand l'utiliser et l'éviter

Quand l'utiliser

  • Pour les étapes de réessai jusqu'au succès : tentatives de contact, tours de négociation, revérifications de qualité.

  • Quand les itérations sont séquentiellement dépendantes — chaque répétition tient compte du résultat précédent.

  • Pour désencombrer les diagrammes des petites boucles à flèche de retour.

Quand NE PAS l'utiliser

  • Quand les itérations s'exécutent par élément d'une collection — c'est du multi-instance, pas une boucle.

  • Quand le cycle s'étend sur plusieurs activités — modélisez une boucle explicite par passerelle.

  • Quand aucune condition de terminaison n'existe — les boucles non bornées sont un bug de modélisation.

Exemple métier

Appeler le client jusqu'à ce qu'il soit joint

Diagrama BPMN: Appeler le client jusqu'à ce qu'il soit joint
Appeler le client jusqu'à ce qu'il soit joint

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

  1. Contacter le client (mis en évidence, marqueur de boucle ↻) s'exécute.
  2. La condition de boucle « client pas encore joint » le relance — tentative après tentative, avec un maximum raisonnable.
  3. Une fois le contact réussi (ou le plafond atteint), le flux poursuit.

Différences

Boucle vs Multi-instance

La Boucle répète le même travail tant qu'une condition est satisfaite (nombre inconnu, séquentielle par nature). Le Multi-instance crée une exécution *par élément de collection* (nombre connu au démarrage, parallèle ou séquentiel). Piloté par condition → boucle ; piloté par données → MI.

FAQ

Où la condition de boucle est-elle définie ?

Sur les caractéristiques de boucle de l'activité : l'expression booléenne, l'indicateur testBefore et le loopMaximum optionnel.

Comment échapper à une boucle bloquée ?

Fixez un loopMaximum, ou attachez une bordure de minuterie interruptive à l'activité en boucle comme soupape de sécurité.

Éléments associés