Découverte des composants de base d’UiPath
Introduction
Au travers d’une petite série d’exercices simples, l’objectif va être de vous faire découvrir les fonctionnalités de base du studio UiPath. Nous nous concentrerons sur les séquences, les déclarations de variables, la portée des variables, les initialisations et les calculs, les traitements conditionnels et les structures itératives.
Ces petites applications mettront aussi en œuvre des saisies faites au clavier et des restitutions de résultats sous forme de messages d’alerte (MessageBox).
Nous terminerons notre chapitre par l’étude du précieux objet DataTable, structure s’apparentant à un tableau mémoire à deux dimensions, très utilisé dans les projets des chapitres à venir.
Application « racines d’un polynôme du second degré »
1. Présentation du traitement
Cette application est l’une des premières de mon cours d’algorithmique. Sans être d’une complexité démesurée, elle utilise les mécanismes de base, notamment la notion de variable, la saisie clavier, la structure conditionnelle (y compris avec des imbrications) et la restitution de résultats à l’écran.
Il s’agit de déterminer les racines réelles d’un polynôme du second degré du type ax2 + bx + c = 0.
Les valeurs a, b et c seront à saisir au clavier.
Les modalités de calcul des solutions (appelées racines) sont exposées dans bon nombre de tutoriels en mathématiques.
Un exposé clair et didactique est disponible sur le sujet sur Wikipédia (https://fr.wikipedia.org/wiki/%C3%89quation_du_second_degr%C3%A9).
La base du calcul est le discriminant dont la valeur est b2 - 4ac.

2. L’algorithme en langage descriptif
Même si, comme nous le verrons, UiPath utilise une représentation du traitement sous forme d’ordinogramme, ou workflow, il peut être intéressant d’en proposer une version plus proche des langages de programmation conventionnels. Cela donne :

3. Application UiPath
Afin de ne pas allonger inutilement la présentation de l’application UiPath, nous choisissons de montrer d’emblée la totalité du traitement.
Nous adopterons d’ailleurs le même principe pour bon nombre des applications qui vont suivre et veillerons à nous attarder uniquement sur les éléments nouveaux.

La particularité de cette application, par rapport à la précédente nommée HelloWorld, est que nous avons utilisé un conteneur nommé Flowchart sous UiPath. Cette option sera à retenir à chaque fois que le traitement sera complexe et composé de nombreux blocs fonctionnels intégrant par exemple des traitements conditionnels ou itératifs complexes.
Comme indiqué dans la documentation officielle d’UiPath, les séquences conviennent plutôt à des projets de petite envergure. Elles sont particulièrement bien adaptées à des processus linéaires....
Application « Libellé du mois »
1. Présentation du traitement
Cette seconde application du chapitre repose également sur des structures conditionnelles (activité If).
Dans la détermination des racines d’un polynôme du second degré, nous avions eu recours à des imbrications de structures conditionnelles.
Ici nous souhaitons, à partir d’une saisie numérique réalisée au clavier (chiffre compris entre 1 et 12), déterminer à quel mois de l’année ce numéro correspond (octobre pour le chiffre 10 par exemple). Sans avoir pour l’instant écrit l’algorithme du traitement, il est facile d’imaginer la difficulté. Deux solutions assez évidentes sont envisageables :
-
mettre en place autant d’activités If qu’il y a de cas à traiter (12 mois), mais du point de vue algorithmique, ce n’est pas tout à fait satisfaisait ;
-
imbriquer les structures conditionnelles, mais cela donnerait, sous UiPath, une solution très complexe à interpréter visuellement.
2. L’algorithme en langage descriptif
En réalité en algorithmique (et par extension dans les langages de programmation évolués et également dans UiPath), il est possible d’optimiser le traitement par une structure de contrôle communément...
Application « Ephéméride »
1. Présentation du traitement
Cette application, que nous appellerons ENI_UiPath_Ephéméride, a pour objectif de faire saisir au clavier une année (2025 par exemple) ainsi qu’un nombre compris entre 1 et 365 (et 366 dans le cas où l’année est bissextile) et ensuite de déterminer pour le nombre saisi à quel jour et à quel mois de l’année il correspond, ce nombre étant le rang du jour parmi les 365 constituant l’année.
À titre d’exemple pour la saisie de 85 pour l’année 2025, le résultat affiché sera 26 mars 2025.
La particularité de cet algorithme est que pour la première fois dans le cadre de nos exemples, nous aurons à utiliser la notion de tableau mémoire.
Dans l’algorithme en langage descriptif présenté dans la sous-section suivante, vous verrez que deux tableaux mémoire sont requis, le premier pour stocker le nombre de jours de chacun des 12 mois de l’année, le second pour mémoriser les libellés des mois.
2. L’algorithme en langage descriptif
Vous trouverez ci-après l’algorithme en langage descriptif du traitement. Il est très commenté :

3. Application UiPath
Le traitement UiPath est cette fois-ci plus conséquent.

Nous constatons que le traitement est logé dans une activité de type Organigramme/Flowchart qui a été nommée ENI_UiPath_Ephéméride.
Il est conseillé de démarrer chaque bloc de traitement par un commentaire explicatif (bonne...
Application « Manipulations sur une DataTable »
1. Présentation de l’application
Nous allons voir l’utilisation de l’objet DataTable dans de très nombreux exemples dans la suite du livre.
Une DataTable s’apparente en algorithmique à un tableau mémoire à deux dimensions (lignes et colonnes).
Ce type de structure se révèle très utile dans la récupération de données, par exemple depuis des tables de bases de données, mais également dans la gestion de fichiers plats et de classeurs Microsoft Excel ou Google Sheets.
La gestion d’un objet DataTable est facilitée sous UiPath Studio dans la mesure où elle ne nécessite pas d’ajout de dépendance (librairie additionnelle) à la création d’un processus UiPath.
Notre processus va manipuler une DataTable à deux colonnes, la première représentant des secteurs géographiques (au nombre de 4), la seconde des chiffres d’affaires associés.
Le projet sera découpé en six phases (séquences) afin qu’il soit plus facile à analyser.
-
phase 1 : construction de plusieurs objets de type DataTable ;
-
phase 2 : parcours des enregistrements d’une DataTable ;
-
phase 3 : filtrage et création d’une nouvelle DataTable ;
-
phase 4 : fusion de deux DataTable ;
-
phase 5 : export CSV à partir d’une DataTable ;
-
phase 6 : intégration de données CSV dans une DataTable.
Les opérations réalisables sur les DataTable sont bien plus nombreuses que celles mises en œuvre dans notre petit exemple. Il pourra être intéressant pour vous de les étudier personnellement au travers d’exemples, car la DataTable fait certainement partie des notions parmi les plus importantes d’UiPath.
2. Application UiPath
Le workflow de l’application comprend six phases (séquences) comme le montre le schéma ci-après :

Avant d’étudier le contenu de ce projet, signalons que dans un nouveau projet UiPath, de par la présence par défaut de la dépendance UiPath.System.Activities, de nombreuses activités manipulant les objets de type DataTable sont déjà...
Pour aller plus loin
1. Développements complémentaires sur les workflows
Pour le présent chapitre comportant quatre processus UiPath, il sera relativement aisé d’imaginer des développements complémentaires à réaliser sur les workflows.
Vous pouvez même envisager un développement depuis zéro des sujets suivants.
a. Sujet n° 1
À partir de la saisie du prix unitaire d’un produit (PU) et de la quantité commandée (QTECOM), affichez le prix à payer (PAP), en détaillant le port (PORT) et la remise (REM) sachant que :
-
Le port est gratuit si le prix des produits (TOT) est supérieur à 500 €.
-
Dans le cas contraire, le port est de 2 % du TOT.
-
La remise est de 5 % si TOT est compris entre 200 € et 1000 € et de 10 % au-delà.
Les deux règles de gestion sont indépendantes.
Avec un TOT à 1 500, la remise est de 10 % des 1 500. Par exemple pour l’application.
b. Sujet n° 2
Transcrire sous UiPath le calcul du PGCD de deux nombres entiers par la méthode dite Euclidienne. L’algorithme est fourni ci-après :

c. Sujet n° 3
Transcrire sous UiPath le calcul du PGCD de deux nombres entiers par une méthode soustractive (algorithme non fourni ici).
Une rapide recherche sur Internet vous permettra de trouver...