1. Blog
  2.   RPA

Comment UiPath Watcher m'a permis de remporter un prix lors du UiPath HyperHack

 

Auteur

 

Masiré Fofana Janvier 21, 2021

Comment UiPath Watcher m’a permis de remporter un prix lors du UiPath HyperHack

Bonjour, je suis Masiré Fofana, je travaille comme spécialiste en automatisation chez Natixis à Paris depuis plus de 5 ans maintenant. Un endroit idéal pour travailler sur des sujets innovants avec des collègues talentueux!

Je vais vous parler de ce périple qui a commencé il y a environ 3 ans et s'est terminé… enfin, vous savez… youpi!

J'ai créé un outil dont l'objectif principal est d'aider à surveiller la santé mentale des robots et d'être alerté de manière proactive d'une défaillance potentielle.

Si vous avez beaucoup de robots répartis sur plusieurs tenants de différents Orchestrator (c'est ce que nous avons), cet outil pourrait vraiment vous aider, sinon cela devrait également vous être utile.

 

J'espère que vous apprécierez cette lecture autant que j’ai apprécié l’écriture de ce post.

Donc, il y a 3 ans ...

 

L’idée m’est venue

 

Revenons à l’été 2018, nous utilisons la solution UiPath depuis 2 ans maintenant et notre équipe est responsable de l’analyse (parfois de la rédaction) des spécifications fonctionnelles des robots. Nous sommes également en charge de la conception et du déploiement en production, bien entendu avec l'aide d'une équipe de production dédiée ...

 

Mais surtout, nous sommes aussi en charge du maintien en condition opérationelle et du suivi de la santé fonctionnelle, voire mentale, des robots.

Pour réaliser cette tâche de surveillance, nous utilisons les journaux issus de UiPath Orchestrator, pour vérifier les scripts exécutés par les robots (pour ceux qui connaissent UiPath Orchestrator, nous vérifions également les statuts des transactions en file d'attente, etc.).

 

Nous avons également des journaux supplémentaires (exhaustifs) que nos robots envoient pour chaque action effectuée (ou pas) à un cluster ElasticSearch.

 

Enfin, avec Kibana, nous pouvons créer des tableaux de bord personnalisés sur la base des données ElasticSearch (ce que font les robots) pour suivre leurs exécutions et voir (littéralement, de nos propres yeux) si quelque chose est potentiellement inopérant.

 

À cette époque, nous ne surveillions pas simplement nos robots, mais nous leur accordions beaucoup de temps et de concentration afin de les regarder travailler. Bien évidemment, UiPath Orchestrator propose un large système d'alerte, allant des robots aux files d'attente, mais pas assez fin pour réduire le nombre de faux positifs.

J'ai donc pensé à créer un système d'alerte fonctionnant avec des règles complexes basées sur les données issues de UiPath Orchestrator et ElasticSearch. Je lui ai donné un nom, NEO-Watch, et j'ai commencé quelques maquettes de ce qui pourrait être son design final ...

 

neo-watch-mockup 4

 

Malheureusement, par manque de temps, en raison de merveilleuses journées de travail et de nuits difficiles à la maison (oui, j'ai une fille de 2 ans, un frère encore plus petit et une femme) j’ai dû attendre l'arrivée de la COVID-19!

 

Premier confinement : en mode garderie

 

Le 12 mars 2020, notre président Emmanuel Macron a déclaré : «[…] les crèches, écoles, collèges, lycées et universités seront fermés. […] ».

A ce moment précis, ma femme et moi nous sommes demandés comment prendre soin des enfants tout en réalisant notre travail quotidien depuis la maison? Honnêtement, ces 3 mois ont été très durs à gérer, mais d'un autre côté, comme nous étions enfermés à la maison, j'ai profité des siestes des enfants (la nuit toute la semaine et l'après-midi le week-end) – pour votre information, cela représente un nombre d'heures non négligeable – pour démarrer mon projet.

 

La première étape a été de récupérer les maquettes que j'ai faites il y a 3 ans … Je les retrouve finalement sur mon ordinateur portable après quelques heures de recherches intensives et désespérées.

 

La deuxième étape a été de trouver un nouveau nom pour cette solution, car je voulais quelque chose qui parle à tout le monde. Après quelques essais, BotWatch, WatchMyBot, … c'est enfin arrivé, ce sera « UiPath Watcher ».

 

La troisième étape consistait à déterminer les technologies que j'utiliserai pour créer cette application. Ce serait un site Web fonctionnant avec les API de UiPath Orchestrator et ElasticSearch. J'ai choisi le framework PHP Laravel pour le backend, car je commençais son apprentissage et souhaitais appliquer les connaissances acquises. J'avais également besoin d'une interface utilisateur dynamique, j'ai donc utilisé du JavaScript (EcmaScript 2016) qui donne la possibilité de faire des requêtes asynchrones au serveur d'applications Web. Finalement, j'ai choisi le framework Bulma pour le frontend, car j'en avais entendu parler récemment et je l'ai trouvé assez complet et simple (et aussi très beau) pour ce projet.

 

Presque tous les soirs de ce premier confinement, j'ai travaillé au moins 3 heures sur la conception de cette application. Après environ 3 mois, j'ai terminé la toute première version d'UiPath Watcher, prête à être testée sur un environnement restreint. Nous avons passé quelques semaines à réaliser des tests avec un membre de notre équipe de support et j'ai corrigé un certain nombre (beaucoup) de bugs, puis l'été est arrivé, avec les vacances qui vont avec. Moment idéal pour prendre quelques jours de repos et visiter certaines régions françaises (respirer l'air frais de la montagne) au lieu d'aller en Espagne (et prendre un peu plus de soleil) comme c’était prévu ...

 

uipath-watcher-dashboard 1

 

Deuxième confinement : surfer sur la vague

 

De retour de vacances, et après une période de dur labeur en deuxième partie d’été (les robots ne prennent pas de jours de congé), la vie a repris un cours presque normal : les enfants à l’école, les parents au travail (la moitié du temps à la maison). J'ai continué à travailler sur le sujet la nuit et certains week-ends pour corriger quelques bugs et améliorer les performances de l'application. J'aimais vraiment ça, ça me rappelait ma jeunesse (même si je ne suis pas si vieux) mais sans bars ni clubs. J'étais en train d'apprendre de nouveaux frameworks et comment mieux utiliser les API de UiPath Orchestrator et ElasticSearch. Il y a beaucoup de documentation disponible sur le Net, cela m’a beaucoup aidé.

 

L’objectif était d'utiliser l'application d'ici fin 2020, donc en Octobre j'ai décidé qu'il était temps de déployer l'application sur un environnement « officiel » (big up à notre équipe de production) et de commencer à l'utiliser IRL (In Real Life comme disent les jeunes). À ce moment, il n'était pas encore question de participer à un événement mais je voulais surtout que la communauté UiPath ait la possibilité d'utiliser UiPath Watcher afin de pouvoir l’améliorer et de couvrir le plus de scénarii possibles, c'est pourquoi j'ai essayé autant que possible de rendre l'outil indépendant et non lié à un environnement spécifique.

 

Le 19 octobre 2020, la communauté UiPath a lancé le dernier Hackhaton de 2020 avec 4 catégories:

- UiPath AI Fabric, Document Understanding & Action Center

- UiPath Apps & Data Services

- UiPath Assistant & Custom Activities

- Chatbots

 

Dans l'état actuel, UiPath Watcher ne pouvait être éligible dans aucune de ces catégories. J'ai donc décidé d'ajouter une nouvelle fonctionnalité basée sur UiPath Assistant pour pouvoir participer au concours et donner une certaine visibilité à ce projet. En quelques jours, j'ai pensé à un module permettant aux utilisateurs de rapporter facilement dans d’autres systèmes (gestion des tickets, bug tracking,…) les informations sur les alertes détectées. Le moment était venu d’utiliser le SDK UiPath Javascript qui permet « d’inclure le robot dans votre application ou dans votre page Web pour gérer diverses tâches, telles que la gestion des processus, la transmission d’informations et le démarrage des processus en fonction d’un résultat ».

 

uipath-watcher-extension 2

 

Désormais, UiPath Watcher offre à ses utilisateurs un moyen de démarrer n'importe quel robot UiPath attended et d'utiliser les informations sur les alertes remontées telles que la date de détection, les processus automatisés impliqués, la description de la résolution, etc. Une fois encore, l'objectif principal n'était pas de lier l'application à des systèmes spécifiques, car tous les clients de UiPath n'utilisent pas les mêmes outils. Et bien sûr, c'était un bon moyen de pouvoir participer à cet HyperHack, ce que j'ai fait!

 

Les vaccins sont de sortie

 

Nous sommes le 14 novembre 2020, je soumets le projet après avoir produit une vidéo de démonstration, toute la documentation et une présentation rapide du concept. Nous utilisons l'outil depuis plus d'un mois maintenant, quelques petits bugs à trouver et corriger (bien sûr) et un module de reporting créé via Microsoft PowerBI afin de suivre les alertes, faire des rapports et prendre des décisions en fonction de chaque situation (revue de code, correction de bugs, optimisation de la machine,…).

 

Ma soumission est validée le 29 novembre 2020, et 1 semaine plus tard, je suis informé de ma qualification pour les finales! Waou! Je ne m'attendais pas à cela mais quelle sensation! J'ai donc préparé la présentation finale pour tenir 7 minutes comme demandé au début (nous avons appris juste avant la présentation que nous aurons finalement 10 minutes, ouf!) et j’ai attendu une loooooooongue semaine !

 

Le 3 décembre 2020, la pression monte, les vaccins COVID-19 sont sur le point d'arriver, mais ce qui retient particulièrement mon attention ce jour-là, ce sont les finales. 4 équipes se présentent (bravo à tous), et pour faire monter encore plus la pression, je suis le dernier de la session …

 

Il est 8h45 PST (17h45 en France), à mon tour de présenter mon projet, grâce à la gentillesse des juges ça se passe plutôt bien, en plus j'ai 3 minutes de plus que prévu, j'ai même eu le temps de partager avec le public mon fond d'écran de Maradona, un de mes compétiteurs préférés qui est malheureusement décédé quelques heures plus tôt. Les présentations sont terminées, prochaine et dernière étape de ce concours prévue lors du Reboot Work Festival, le 16 décembre 2020. J'aurais préféré un jour plus tard, lors de l'anniversaire de mon père, que je n'avais pas vu depuis un très long moment...

 

Et ça y est, nous sommes déjà le 16 décembre 2020 et je suis heureux d'entendre Brandon Nott, SVP Product chez UiPath, annoncer que j'ai gagné ce hackathon, si heureux et si fier d'y être parvenu!

 

uipath-watcher-winner 3

Conclusion

 

C'était la deuxième fois que je participais à un hackhaton organisé par UiPath pour un deuxième prix, je pense que je devrais participer au suivant car « jamais 2 sans 3 » n'est-ce pas?

 

Plus sérieusement, je suis très honoré de représenter la société pour laquelle je travaille, les personnes formidables avec lesquelles je travaille et la communauté UiPath dont je suis membre. Ce fut un périple vraiment passionnant, qui m'a aidé à apprendre de nouvelles choses et en savoir plus sur les nouvelles fonctionnalités de la suite de produits UiPath que j'ai hâte d'essayer et éventuellement d’utiliser au sein de mon entreprise.

 

Évidemment, je tiens à remercier toutes les personnes qui m'ont soutenu, mes managers qui m'ont permis de prendre du temps pour travailler sur ce projet, et la COVID-19 malgré les moments difficiles que nous avons tous traversés.

J’adresse un remerciement particulier aux génies de la communauté UiPath.

 

Ressources

 

- UiPath Watcher sur UiPath Marketplace : https://marketplace.uipath.com/listings/uipath-watcher

- UiPath Watcher sur Github: https://github.com/masiref/UiPathWatcher

- UiPath Watcher vidéo de démonstration: https://www.youtube.com/watch?v=rBsCaOTZ-4U

- Laravel framework: https://laravel.com/



Les sujets:

RPA Hackathon UiPath Orchestrator

Autres articles