A nos fidèles lecteurs qui nous suivent chaque semaine à travers ce blog, la RPA n’a (presque) plus de secret pour vous. Pour ceux n’ayant pas encore eu le temps de parcourir le sujet, vous pouvez retrouver ici nos articles : Plongée au cœur d’une technologie de demain : la Robotic Process Automation, RPA : robotic process automation, pour quoi faire ?, Les intérêts durables du RPA.

Je vous invite à découvrir nos précédents billets avant d’entrer dans le sujet de cet article.

Bonne lecture !

La RPA permet d’automatiser n’importe quel processus simplement, non ?

Nous l’avons dit et répété, la RPA permet d’automatiser des processus métier qui nécessitent l’intervention d’un humain. Elle est capable de traiter des tâches répétitives et chronophages en y intégrant parfois l’utilisation de logiciels d’intelligence artificielle ou de machine learning capables d’imiter un humain.

La technologie permet d’interagir aussi bien avec des applications web que des clients lourds installés sur votre poste de travail. Pour interagir avec ces logiciels (web ou on-premise), il est nécessaire de capturer les éléments dans le « DOM » de votre page HTML ou de votre logiciel. Mais qu’est-ce que le « DOM » ?

Pour rester simple, selon Wikipédia

Le Document Object Model (DOM) est une interface, qui permet à des scripts [des robots] d’examiner et de modifier le contenu du navigateur web ou de l’application. Par le DOM, la composition d’un document HTML ou XML est représentée sous forme d’un jeu d’objets – lesquels peuvent représenter une fenêtre, une phrase ou un style, par exemple – reliés selon une structure en arbre1. À l’aide du DOM, un script peut modifier le document présent dans le navigateur en ajoutant ou en supprimant des nœuds de l’arbre1. 

Illustration avec un navigateur web ci-dessous :

Dans cet exemple, le résultat de la première recherche Google avec la clé ISLEAN redirige vers le site de notre cabinet. Pour connaître la valeur texte du résultat de la recherche, le DOM stocke la donnée dans les « nœuds inférieurs » de sa structure.

En ce qui me concerne, lors de mon utilisation, j’avoue avoir rencontré peu de problèmes pour la capture et l’interaction avec les différents objets jusqu’ici. Encore plus rarement avec le web qu’avec les clients lourds tels que des progiciels de type Word ou autre développements Windev.

Malheureusement, il arrive souvent que les outils avec lesquels vous devez interagir soit des outils métiers dédiés à des fonctions bien précises, développés par des éditeurs spécialisés. Et dans ces cas, le DOM de ces outils peut vous surprendre.

Une architecture pas toujours totalement exploitable !

Nous avons été confrontés à nos premières réelles difficultés sur le type de logiciel spécialisé mentionné précédemment. Le processus à appliquer était semblable à celui présenté dans le business case : Connectez vos applications métiers simplement avec la RPA !

Pour être plus précis, réaliser des transferts de données automatisés entre deux systèmes qui ne peuvent a priori pas interagir. A première vue, le type de processus que nous avons déjà mis en place pour d’autres clients. La différence notable avec les précédentes missions : la structure du DOM de l’outil.

Pour plus d’éléments de contexte, la structure du DOM ne permet pas toujours de capturer les objets spécifiques, mais uniquement les Panes (les objets plus hauts dans la structure de l’application) dans lesquels sont stockées les objets à exploiter. Sans trop entrer dans les détails, la capture individuelle des objets n’est pas rendue possible pour l’outil RPA, et c’est un problème pour le processus à exécuter

Pour pallier ce problème, nous avons dû utiliser une autre fonctionnalité apportée par les outils de RPA, l’OCR. Au lieu d’utiliser une structure de l’application (approche numérique vectorielle), on fait comme un humain, on lit l’image (approche analogique).

Une autre corde à l’arc, la technologie OCR

L’OCR, pour “Optical Character Recognition”, ou reconnaissance optique de caractères en français, désigne les procédés informatiques pour la traduction d’images de textes imprimés ou dactylographiés en fichiers de texte. 

En tant que fonctionnalité additionnelle à la capture directe des objets du DOM, la capture OCR permet de collecter les données de champs ne pouvant être exploités individuellement.

L’OCR combiné à la RPA permet d’automatiser un plus grand volume de processus opérationnels, en particulier ceux qui dépendent encore fortement de documents scannés sous format d’image. La combinaison de ces deux technologies donne la possibilité d’extraire des informations à partir d’images, de PDF non vectoriels et d’applications. Non seulement ces informations extraites sont lues, mais des actions automatisées peuvent également être exécutées.

Cette possibilité permet donc d’extraire des données non structurées et de les convertir en données structurées. Ces données peuvent à leur tour alimenter des bases et des processus métier numériques. Une illustration de la combinaison RPA/OCR : le traitement automatisé des factures, où toutes les données peuvent transférées vers n’importe quelle application d’entreprise telle qu’un CRM ou un ERP.