Aujourd'hui, avec la montée en puissance du numérique et des systèmes de cloud, l'accès aux données devient un
enjeu majeur pour les entreprises. Cet accès à l'information doit être simplifié au maximum pour les
utilisateurs qui ne sont pas habitués à utiliser des systèmes complexes.
Ces enjeux amènent les entreprises à proposer des solutions simplifiées permettant de récupérer les données
exactes recherchées par les opérateurs terrains.
J'ai eu la chance de travailler sur un projet lors de mon alternance chez UPSA (Union de Pharmacologie Scientifique Appliquée) dont le but était de simplifier l'accessibilité aux données.
Dans le milieu de la production, de nombreux équipements sont répartis au travers des installations. Ce matériel doit régulièrement être révisé pour assurer son bon fonctionnement. Pour ce faire, des techniciens se rendent sur place pour pouvoir réaliser la maintenance mais la plupart du temps, ils doivent accéder au poste le plus proche pour y récupérer toutes les informations dont ils ont besoin – on parle de la documentation technique, la liste des pièces détachées, la liste des interventions précédentes etc–. Malheureusement ces données ne sont pas toujours facilement accessibles.
Une partie des informations est contenue dans l'ERP de l'entreprise, SAP et ses données sont répliquées dans une base Snowflake. Une autre partie, sous forme de documents cette fois, est hébergée sur un serveur interne de l'entreprise. Cette recherche d'informations devient alors fastidieuse pour les techniciens qui souhaitent changer une pièce ou bien juste vérifier la conformité de l'appareil.
Ma mission était de simplifier l'accès à ces données en proposant une application sur tablette. Il était question d'associer un QR code contenant le numéro de série unique de l'équipement. A la lecture du QR code, l'application devait être capable d'aller chercher les informations correspondantes.
Le principal risque résidait dans la récupération des informations. En effet, ces données devaient être accessibles via des passerelles comme des APIs ou des connecteurs spécifiques. Sans ces accès, il m'était très difficile de proposer une solution viable.
Il fallait que je propose une application sur tablette permettant alors d'afficher simplement les informations des équipements. Evidemment, souhaitant éviter les doublons de données, nous ne voulions pas créer de base de données parallèle à celle déjà existante (SAP, SNOWFLAKE etc).
J'ai décidé de développer la solution sous une technologie que je maitrisais déjà, Flutter, une technologie cross-platform performante permettant de développer sur Android et IOS. L'utilisation de Flutter présentait plusieurs avantages :
J'ai notamment utilisé le Git interne de l'entreprise pour centraliser mon travail et versionner mon code.
J'ai d'abord mené une enquête du côté de SAP pour voir s'il était possible de réaliser des extractions grâce aux APIs. Je me suis renseigné sur la documentation officielle mais je me suis vite rendu compte que la version de SAP installée était une version très customisée et qu'elle ne disposait pas des autorisations nécessaires pour qu'un développeur puisse s'y connecter au travers d'APIs. J'ai alors cherché du côté de la base de données intermédiaire, Snowflake. Cette base de données mise en place par une entreprise externe, disposait d'un connecteur demandant de s'identifier avec un « super user », identifiant que je ne possédais pas.
J'ai passé du temps à chercher les bonnes personnes sans jamais vraiment trouver de réponse à mes questions. J'ai eu l'idée de développer une version dégradée similaire à une version POC – Proof Of Concept – en passant par un autre outil, Qlik Sense, un logiciel de visualisation de données de masse – ou big data –.Qlik est un outil qui se connectait directement sur SNOWFLAKE à l'aide d'un connecteur spécifique. A partir de cet outil, il était possible de réaliser des extractions Excel contenant les données recherchées.
J'ai dû faire preuve de créativité pour pouvoir accéder aux données. J'ai travaillé avec le responsable
de Qlik
Sense pour mettre en place un format de données et les extraire sous Excel. La seconde étape a été
de travailler
avec l'IT – service informatique – pour qu'il puisse configurer un WEBDAV –
extension du protocole HTTP
permettant le transfert ou le dépôt de documents sur internet –. Enfin, il me restait à gérer la connexion au
répertoire réseau à travers l'application et d'y récupérer les fichiers Excel puis de les lire avec
l'application.
Les fichiers Excel étaient écrasés une fois par jour avec les nouvelles données extraites directement du
logiciel QLIK Sense.
J'ai dû faire attention lors de la lecture des données, en effet, on ne peut pas vraiment se fier à des fichiers Excel contrairement à un vrai système de données. Les informations contenues doivent être vérifiées et liées entre elles. On parle aussi de lire un document qui n'est pas vraiment adapté pour, il fallait que l'algorithme soit assez rapide pour qu'il n'y ait pas trop de latence côté client.
Mon regard critique : je me rends compte qu'il peut être difficile de changer les habitudes des entreprises. Celles de moyenne ou grande taille peuvent générer de la frustration car certaines actions engendrent parfois des lenteurs liées aux différents processus décisionnels (réunion, décision, choix, hiérarchie etc) à contrario d'une entreprise de petite taille.
A vouloir proposer une version parfaite dès le début, j'ai perdu beaucoup de temps à essayer de trouver les bonnes personnes qui pouvaient m'orienter pour la connexion aux données. Finalement, plus tôt, j'aurais pu proposer l'alternative avec la lecture des fichiers, une version sous forme de POC utilisable.
J'ai amélioré mes compétences dans la programmation orientée objet et développé ma créativité. Ce projet m'a permis d'échanger avec diverses personnes.
A l'aide de cette application, les techniciens gagnent du temps sur l'accessibilité aux données. Ils n'ont plus besoin de se déplacer et peuvent obtenir toutes les informations nécessaires sur place avec le scan d'un QR code.
La prochaine étape sera de proposer une version plus aboutie avec une connexion directe à Snowflake.
Je tire de la satisfaction dans la réalisation de ce projet. J'ai bien aimé travailler sur la fonctionnalité permettant de lire les fichiers Excel et écrire un algorithme permettant de trouver les occurrences entre les données se trouvant dans les divers fichiers. Mais j'ai aussi ressenti de la frustration, d'abord car je n'ai pas pu proposer une solution propre dès le départ. La lecture de fichiers Excel n'est pas très adaptée et il n'y a pas de sauvegarde appliquée sur ces documents à contrario d'une base de données qui peut être hébergée sur un serveur. Néanmoins, j'ai vécu ce projet comme un réel challenge.