Aller au contenu

Construire un scénario

Le canevas au centre, la palette d’ajout et l’inspecteur autour. Les boîtes se déplacent à la souris, la vue se déplace et se zoome.

L'éditeur de scénarios avec la palette d'ajout ouverte : les boîtes courantes en haut, puis les catégories Ajouter, Listes, Loops, Minuterie, Maths, Algorithmie, Formats de données, Encodage, UX

Depuis la palette, organisée par catégories : contrôle, composition (requêtes et connexions), listes, boucles, temps, mathématiques, algorithmique, formats de données, encodage, interface, utilitaires.

Une action liée à une requête (Requête HTTP, Requête SOAP, toutes les actions de connexion) demande de désigner la requête du projet qu’elle pilote.

Désigner une requête dans une action crée un lien fort : l’action référence la requête par son identifiant, pas par une copie. Ce qui en découle :

  • la requête reste partagée — la modifier (URL, en-têtes, corps) change ce que jouent tous les scénarios qui l’utilisent, à leur prochaine exécution ;
  • le lien survit au renommage ou au déplacement de la requête dans l’arbre : il ne repose ni sur le nom, ni sur le chemin ;
  • depuis la requête, la smartbar porte un bouton « Utilisée dans des scénarios » — il liste les scénarios qui l’appellent et permet d’y sauter. C’est le réflexe à avoir avant de modifier une requête partagée ;
  • une requête manquante (supprimée, ou absente à l’ouverture du projet) fait échouer la validation du scénario : le bouton de lecture reste bloqué et la boîte fautive est signalée — jamais de scénario cassé en silence.

Pour rejouer la même requête sans toucher à sa version enregistrée, ne la modifiez pas : utilisez les surcharges (paramètre rapide, surcharges d’action, liaison) décrites dans Surcharger une requête.

Chaque boîte a ses champs, saisis directement sur la boîte ou dans l’inspecteur. Les champs acceptent des valeurs typées — chaîne, nombre, booléen, date, expression Handlebars, variable, liste personnalisée, secret… — voir Variables et environnements.

Ctrl+Espace déclenche l’autocomplétion des variables et des helpers dans les champs qui l’acceptent.

Tirez depuis un port de sortie vers un port d’entrée.

Deux règles à connaître :

  1. Un port d’entrée n’accepte qu’une seule liaison — sauf le port in, qui en accepte autant qu’on veut et fait alors office de barrière.
  2. Une sortie de signal pur ne peut pas alimenter une entrée de valeur pure. Tout le reste est permis : une sortie qui porte une valeur sert aussi de déclencheur.

Détails : Ports et liaisons.

Une liaison peut porter un sélecteur : un chemin appliqué à la valeur en transit.

data.items[0].id
body['user-id']
status

C’est ce qui évite d’intercaler une boîte de transformation entre chaque appel et son consommateur. Le sélecteur se règle à la création de la liaison ou plus tard ; le vider le supprime.

Une action liée à une requête peut la modifier sans toucher à la requête elle-même. Quatre couches, dans cet ordre :

  1. la requête telle qu’elle est enregistrée ;
  2. un paramètre rapide (quick config) désigné sur l’action — c’est ainsi qu’on réutilise une variante enregistrée d’une requête directement dans un scénario, sans la ressaisir ;
  3. les surcharges saisies sur l’action ;
  4. la valeur arrivant par une liaison sur le port de surcharge.

C’est le moyen propre de rejouer le même appel avec trois jeux de données.

Le menu contextuel d’une boîte propose « Rejouer à chaque événement reçu ». Activée, l’option transforme toutes les entrées câblées en portes « ou » non bloquantes : la boîte se redéclenche à chaque valeur reçue sur n’importe quel port, au lieu d’attendre que toutes soient là.

C’est indispensable pour traiter un flux (chaque message MQTT, chaque événement SSE), et c’est aussi ce qui débloque un cycle de complétion.

  • Une boîte Input / Param déclare les paramètres du scénario. Ils sont fournis au lancement, en ligne de commande (--param nom=valeur), ou demandés à l’exécution en mode interactif.
  • Une boîte Output / Return expose un résultat à l’appelant — utile quand le scénario est appelé par un autre via l’action Exécuter le scénario.

Restorm sait ranger automatiquement un graphe (mise en page) ; les boîtes restent déplaçables à la main ensuite. Ctrl+Z annule, Ctrl+Shift+Z rétablit.

Le bouton de lecture est bloqué tant qu’il reste des erreurs de validation : liaison invalide, requête manquante, champ obligatoire vide. Les boîtes fautives sont signalées.