Revenir au début

RPA - Automatisation Robotisée des Processus

RPA - Automatisation Robotisée des  Processus

L’automatisation robotisée des processus ou RPA en anglais pour “Robot Process Automation” est une technologie qui permet d’automatiser les tâches informatiques répétitives.

Ainsi, les utilisateurs (les salariés) peuvent consacrer plus de temps à des activités à plus forte valeur ajoutée.

  • Ressource et Développement
  • service
  • relations clients

Les entreprises ayant un département de support informatique métier ont été pionnières dans l’implémentation du RPA. Cela leur permet d’uniformiser les traitements aux seins de leurs différents services, de s’assurer du respect des normes et des contraintes réglementaires, tout en économisant de l’argent.

Une PME peut mettre en œuvre cette technologie en faisant appel à un partenaire comme Cloud-Forge.

On va voir comment l’automatisation robotisée des processus peut aider votre entreprise, en vous donnant divers clés de compréhension avec un exemple concret.

Automatisation Robotisée des Processus : RPA

Le RPA est une technologie qui permet d’automatiser des processus métiers pilotés par des applications. Le RPA se base sur la logique métier et/ou réglementaires pour définir le cas principal à reproduire. Ainsi que sur les données en entrée/sortie des traitements.

Grâce au RPA, une entreprise peut paramétrer un logiciel (aussi appelé robot ou automate) qui va capturer le contexte de travail et interagir avec son environnement de la même manière que le ferait un utilisateur. A la différence notable que le robot peut manipuler des données en grande quantité, il peut les comparer et les formater avec rapidité et les injecter dans des clients légers de type navigateurs Web ou des clients lourds comme des applications bureautiques.

Formulaire Web

Par exemple :

  • remplir un formulaire web avec des données diverses
  • répondre à des mails
  • saisir des données dans un ERP
  • chercher des documents dans une GED
  • extraire des données dans des logs

sont typiquement des services qui rentrent dans le giron d’un automate RPA.

Quels sont les bénéfices du RPA ?

Le RPA permet de libérer les salariés de certaines tâches obligatoires à l’entreprise mais à faibles valeur ajoutée. Cela peut permettre de réduire les effectifs mais surtout d’éviter les erreurs et de permettre aux équipes de se concentrer sur des projets plus intéressants et plus intéressants dans l’entreprise.

Par exemple, j’ai travaillé sur la mise en place d’un RPA pour une banque. Le RPA a permis d’automatiser les saisies de fraude à la carte bancaire. 15 robots ont géré 300000 demandes annuelles. Chaque lot de demandes prenait originellement 30 minutes par personnes (durée optimiste). Ce qui a permis à l’entreprise de gagner 5 semaines de travail par personnes et par an. Le tout en éliminant les erreurs de saisies.

Les robots ont la possibilité d’être intégrés avec d’autres technologies comme l’intelligence artificielle (reconnaissance vocale, reconnaissance des caractères, analyse d’images, etc…) Ce qui peut vite avoir des bénéfices énormes pour les entreprises qui savent exploiter cet outil.

Quels sont les pièges du RPA ?

Cette technologie n’est pas à mettre entre toutes les mains. Elle est souvent mal perçue par les salariés qui voient en elle une concurrence déloyale. Il ne faut pas que l’entreprise se sépare d’un personnel talentueux au profit d’automates.

Un projet RPA dans une entreprise demande du temps et a un coût. Il faut avoir conscience que les robots effectuent strictement ce pour quoi ils ont été programmés. Si une nouvelle régulation entre en jeu ou si des modifications mêmes minimes surviennent sur les logiciels à automatiser : Il faudra alors modifier les robots pour qu’ils prennent en compte ces nouveautés. Un projet RPA est donc un projet qui n’a pas vraiment de fin, il évolue avec la vie de l’entreprise et de la réglementation.

Exemple

Rien ne vaut un exemple pour se rendre compte de la puissance du RPA.

Imaginons, qu’une entreprise veuille automatiser le fonctionnement du formulaire ci-dessous pour alimenter une base de donnée clients.

c’est un formulaire comme il en existe des millions dans les intranets d’entreprises. Il est composé de plusieurs champs qui définissent une personne. Il y a le prénom, le nom, l’entreprise, etc…

On imagine qu’un employé doit a intervalle régulier saisir manuellement des données dans ce formulaire. Il copie/colle les données d’un classeur Excel dans le champ correspondant du formulaire. Cela est long, pénible et propice aux erreurs de saisie.

RPA challenge Le formulaire est disponible ici.

80/20

Conseil de Cloud-Forge : Lors du lancement d’un projet RPA, il faut définir et éliminer les cas marginaux. Ce sont les 20% de cas qui s’éloignent de la branche principale du traitement. S’ils sont développés ces 20% de cas marginaux porterons 80% du prix de développement du robot et ajouteront une complexité qui augmentera d’autant le coût de maintenance.

Pour être rentable et efficace un robot doit s’attaquer aux 80% des cas les plus représentatifs de l’activité à automatiser.

Dans le cas présent l’activité est très simple et il n’y a pas de cas marginal. Mais cette règle doit toujours être gardée à l’esprit quand on développe des robots.

Automatiser un formulaire sur une page Web

Comme dans tout projet de développement, un projet RPA doit découper l’activité principale en sous-éléments pour rendre le cycle de travail plus digeste.

Dans un cas réel et complexe, on se rapprochera des utilisateurs pour bien définir et bien comprendre ce que le robot va devoir faire. L’idéal est de pouvoir s’asseoir à côté d’un utilisateur de prendre des notes et de poser des questions pour bien circonscrire l’activité à automatiser.

C’est un plus d’avoir en vidéo l’activité dans son ensemble pour pouvoir s’y référer à loisir afin de vérifier que le robot se comporte bien comme attendu.

Une fois que chaque élément est bien définit dans un langage clair On rentre dans une phase de validation avec l’utilisateur. On s’assure que les tâches du robots correspondent bien au besoin.

Dans le cas qui nous occupe, le robot va avoir 2 tâches distinctes à réaliser :

  1. lire un fichier xlsx. (ici une liste de personnes)
  2. renseigner chaque personne de la liste dans un formulaire Web

Choix de l’outil RPA - SELENIUM

Pour automatiser des clients Web, il existe de nombreuses solutions payantes comme Contextor ou Automation Anywhere. Mais il existe aussi une solution gratuite très puissante qui est supportée par les langages JAVA et Python.

Dans notre exemple nous utiliserons le langage python qui se prête bien à du prototypage et qui permettra d’avoir un livrable de démonstration avec quelques lignes de code.

Pour lire le fichier xlsx et le traiter on utilisera la librairie pandas

import pandas as pd

Les données à renseigner proviennent d’un classeur Excel dont le format est ci-dessous. C’est une liste de personnes avec leurs prénoms, noms, coordonnées, etc…

RPA challenge data

On écrit la méthode getData qui va permettre de répondre à la première partie du travail de notre robot : Lire le fichier xlsx

#On charge le fichier xlsx dans un tableau
def getData():
    #lecture du fichier avec pandas
    df = pd.read_excel("challenge.xlsx");
    #print( df.head());#On test que le fichier est bien lu/trouvé
    #On charge chaque enregistrement dans un tableau
    people = df.to_records()
    return people

Pour réaliser la deuxième partie du traitement (saisir les données sur le formulaire Web) Nous avons besoin de la librairie Selenium qui a tous les outils pour manipuler les pages Web.

from selenium import webdriver
from selenium.webdriver.common.by import By

La fonction find_element permet de chercher dans la page Web les éléments qui nous intéressent:

dom_fn =browser.find_element(By.XPATH, '//input[@ng-reflect-name="labelFirstName"]');
dom_ln =browser.find_element(By.XPATH, '//input[@ng-reflect-name="labelLastName"]');
...

Quand tous les éléments de la page ont été paramétrés, il suffit alors de parcourir le fichier. Le robot va saisir les attributs de chaque personne dans les éléments de la page Web :

  • Le Prénom dans le champ prénom
  • le nom dans le champ nom et ainsi de suite.
dom_fn.send_keys(person['First Name'])
dom_ln.send_keys(person['Last Name '])
...
dom_sub.click()

Voilà le résultat en vidéo , on voit que le robot peut facilement et sans erreur injecter un fichier xlsx dans le formulaire. Le traitement des 70 champs à remplir est réalisé en 4 secondes, ce temps peut encore facilement être amélioré.

Conclusion

Le RPA est une technologie intéressante, qui quand elle est bien mise en oeuvre peut apporter énormément à une entreprise qui fait face à des processus informatiques fastidieux et récurrents.

Le RPA a aussi certaines contraintes : Le fait de devoir être mis à jour régulièrement afin d’évoluer avec les traitement qu’il automatise.

Si le sujet vous a intéressé et que vous voulez en savoir d’avantage ou si votre entreprise a besoin de l’aide d’un robot. Contactez Cloud-Forge pour un devis gratuit ou des informations

Tout le code décrit dans cet article est disponible sur notre repo GitHub.