Studio
2023.4
False
Image de fond de la bannière
Guide de l’utilisateur de Studio
Dernière mise à jour 26 avr. 2024

Machines à états

Une machine d'état est un type d'automatisation qui utilise un nombre fini d'états dans son exécution. Le processus passe par un état lorsqu'il est déclenché par une activité, puis quitte cet état lorsqu'une autre activité est déclenchée.

Les transitions sont une autre caractéristique importante des machines à états, car elles permettent d'ajouter des conditions pour le passage d'un état à un autre. Elles sont représentées par des flèches ou des branches entre les états.

Il existe deux activités spécifiques aux machines d'état, à savoir State et Final State, disponibles sous Workflow > State Machine (Workflow > Machine d'état).

Remarque : un seul état initial peut être créé, mais il est possible d'avoir plusieurs État final (Final State).

L'activité de type État (State) contient trois sections, nommées Entrée (Entry), Sortie (Exit) et Transition(s), tandis que l'État final (Final State) ne contient que la section Entrée (Entry). Vous pouvez double-cliquer sur ces deux activités pour afficher plus d'informations ou pour les modifier.

Les sections Entrée (Entry) et Sortie (Exit) permettent d'ajouter des déclencheurs de type entrant et sortant pour l'état sélectionné, tandis que la section Transition(s) indique toutes les transitions liées à l'état sélectionné.





Comme pour l'activité État (State), il suffit de double-cliquer sur les transitions pour les ouvrir. Elles contiennent trois sections :Déclencheur (Trigger), Condition (Condition) et Action (Action), qui permettent d'ajouter un déclencheur pour passer à l'état suivant, ou bien de définir une condition pour l'execution d'une activité ou d'une séquence.



Exemple d'utilisation d'une machine à état

Pour illustrer les propriétés d'une machine à état, nous vous invitons à recréer le jeu de devinettes du chapitre précédent, avec une petite difference : cette fois, nous devons tenter de deviner un nombre entre 1 et 100.

  1. Créez un processus vierge et, dans l'onglet Conception (Design), groupe Fichier (File), sélectionnez Nouveau > Machine d'état (New > State Machine). La fenêtre Nouvelle machine d'état (New State Machine) s'affiche.
    Remarque : vous pouvez également ajouter une activité de type Machine d'état (State Machine) dans le module Concepteur (Designer) pour créer une nouvelle machine à état.
  2. Dans le champ Nom (Name), entrez un nom pour l'automatisation, tel que « Première machine d'état », et conservez l'emplacement du projet par défaut ou ajoutez un sous-dossier. Cliquez sur Créer (Create). Le panneau Concepteur (Designer) est mis à jour en conséquence.
  3. Créez deux variables de type entier : InitialGuess et RandomNumber. La première variable enregistrera votre réponse, tandis que la seconde contiendra le nombre aléatoire.
  4. Ajoutez une activité de type État (State) au module Concepteur (Designer) et reliez-la au nœud Initial : vous obtenez un état initial, qui est utilisé pour générer le nombre aléatoire.
  5. Double-cliquez sur l'activité État (State) pour qu'elle s'affiche en détails dans le module Concepteur (Designer).
  6. Rendez-vous dans le module Propriétés (Properties) et saisissez « Initialisation du nombre aléatoire » dans le champ NomAffichage (DisplayName) afin de pouvoir différencier facilement les états.
  7. Dans la section Entrée (Entry), ajoutez une activité de type Attribuer.
  8. Dans le champ Vers (To), ajoutez la variable RandomNumber.
  9. Indiquez new Random().Next(1,100) dans le champ Valeur (Value). Cette expression génère un nombre aléatoire.
  10. Revenez à l'écran principal du projet et ajoutez une nouvelle activité de type État (State).
  11. Reliez-la à l'activité précédente.
  12. Double-cliquez sur la dernière activité d'État (State) pour qu'elle s'affiche en détails dans le module Concepteur (Designer).
  13. Rendez-vous dans le module Propriétés (Properties) et saisissez « Numéro de la réponse » dans le champ NomAffichage (DisplayName). Cet état sera utilisé pour inviter l'utilisateur à deviner un nombre.
  14. Dans la section Entrée (Entry), ajoutez une activité de type Boîte de dialogue (Input Dialog).
  15. Sélectionnez la Boîte de dialogue (Input Dialog) : dans le module Propriétés (Properties), renseignez un Intitulé et un Titre (Title) pour inviter l'utilisateur à saisir un nombre entre 1 et 100.
  16. Dans le champ des Résultats (Result), ajoutez la variable InitialGuess. Cette variable stocke la supposition de l'utilisateur.
  17. Revenez sur l'écran principal du projet et créez une transition en boucle qui relie l'état « Numéro de la réponse » à lui-même.
  18. Double-cliquez sur la transition pour qu'elle s'affiche en détails dans le module Concepteur (Designer).
  19. Rendez-vous dans le module Propriétés (Properties) et saisissez "Choisissez un nombre plus petit" dans le champ NomAffichage (DisplayName). Ce message apparaitra sur la flèche pour faciliter l'exécution du projet d'automatisation.
  20. Dans la section Condition (Condition), saisissez InitialGuess > RandomNumber. Ce message s'affichera quand la réponse de l'utilisateur sera supérieure au nombre aléatoire.
  21. Dans la section Action (Action), ajoutez une activité de type Zone de message (Message Box).
  22. Dans le champ Texte (Text), saisissez un message qui s'affichera lorsque la réponse de l'utilisateur est supérieure au nombre aléatoire, comme par exemple : "Le nombre choisi est trop élevé. Choisissez un nombre plus petit.".
  23. Revenez à la vue principale du projet et créez une transition qui passe de l'état Deviner le nombre (Guess Number) à lui-même.
  24. Double-cliquez sur la transition pour qu'elle s'affiche en détails dans le module Concepteur (Designer).
  25. Rendez-vous dans le module Propriétés (Properties) et saisissez "Choisissez un nombre plus élevé" dans le champ NomAffichage (DisplayName). Ce message apparaitra sur la flèche pour faciliter l'exécution du projet d'automatisation.
  26. Dans la section Condition (Condition), saisissez InitialGuess < RandomNumber. Ce message s'affichera quand la réponse de l'utilisateur sera supérieure au nombre aléatoire.
  27. Dans la section Action (Action), ajoutez une activité de type Zone de message (Message Box).
  28. Dans le champ Texte (Text), saisissez un message qui s'affichera lorsque la réponse de l'utilisateur est inférieure au nombre aléatoire, comme par exemple : "Le nombre choisi est trop bas. Choisissez un nombre plus élevé.".
  29. Revenez sur l'écran principal du projet et ajoutez une activité de type État final (Final State) dans le module Concepteur (Designer).
  30. Reliez l'activité Numéro de la réponse (Guess Number) à l'activité État final (Final State) à l'aide d'une transition.
  31. Rendez-vous dans le module Propriétés (Properties) et saisissez "Bonne réponse" dans le champ NomAffichage (DisplayName).
  32. Saisissez InitialGuess = RandomNumber dans le champ Condition (Condition). Il s'agit de la condition à laquelle cette automatisation passe à l'état final et se termine.
  33. Double-cliquez sur l'activité État final (Final State) pour qu'elle s'affiche en détails dans le module Concepteur (Designer).
  34. Dans la section Entrée (Entry), ajoutez une activité de type Zone de message (Message Box).
  35. Dans le champ Texte, saisissez quelque chose de similaire à « Félicitations. Vous avez deviné ! Le numéro était " + RandomNumber.ToString + "." Il s'agit du dernier message qui doit être affiché lorsque l'utilisateur devine correctement le nombre.

    Le projet final devrait ressembler à l'illustration suivante :



  36. Appuyez sur la touche F5 : le projet d'automatisation s'exécute correctement.


  • Exemple d'utilisation d'une machine à état

Cette page vous a-t-elle été utile ?

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Logo Uipath blanc
Confiance et sécurité
© 2005-2024 UiPath. All rights reserved.