Ce projet fut ma deuxième grande mission lors de mon stage au sein de la société JeChange en 2018. En effet, il m’a été demandé de participer, avec une équipe de développeurs professionnels, au développement d’une application d’aide au déménagement. Et ce n’est pas tout, puisque celle-ci devait se présenter sous la forme d’un agent conversationnel capable de simuler une véritable discussion avec un être humain sans pour autant utiliser d’intelligence artificielle.
Contexte
Aujourd’hui leader en France dans la comparaison et dans la réduction de factures dans les énergies et les télécommunications, JeChange se veut être un véritable assistant pour le consommateur. Souhaitant être innovatrice et voulant s’ouvrir vers de nouveaux horizons, la société a décidé, durant l’année 2018, d’ouvrir un nouveau service ayant pour but d’aider le client dans son déménagement. Que ce soit un changement de contrat, trouver un déménageur agréé en profitant de remises exclusives ou bien la prise en charge de toutes les démarches administratives, ce service 100% gratuit promettait un déménagement facile tout en économisant du temps et de l’argent.
C’est pourquoi il a été demandé au service de recherche et développement (auquel j’ai été intégré) de réaliser une application web permettant à l’utilisateur de renseigner toutes les informations nécessaires afin que les experts de JeChange puissent ensuite traiter sa demande. Il fallait également que le client puisse accéder à ses informations personnelles par la suite.
Néanmoins, l’innovation recherchée dont je parlais précédemment ne s’arrête pas là. En effet, en plus d’ouvrir un nouveau service, il y avait une volonté d’améliorer à la fois l’expérience de l’utilisateur sur le site mais aussi dans l’interface proposée. C’est pourquoi il faillait atteindre plusieurs objectifs :
- Développer un formulaire sous forme de chat conversationnel ;
- Proposer un espace réservé pour des informations contextualisées ;
- Automatiser les tâches et lier l’ensemble à l’existant.
Représentation fonctionnelle
Bien évidemment, ce projet d’envergure avait son lot de risques et voici les deux principaux qui ont été identifiés :
- Mauvaise conception de l’application ;
- Retard dû au manque de connaissance des technologies utilisées.
Après de nombreuses discussions avec l’équipe et notre responsable sur la meilleure façon de s’organiser, nous avons pu débuter le projet.
Mise en œuvre
Pour ce projet, j’ai intégré l’équipe de travail en tant que développeur web Front-end. Il faut savoir qu’au préalable, le responsable du développement logiciel de l’époque ainsi que les autres cadres de l’entreprise ont décidé que l’assistant déménagement serait une application mono-page fonctionnant avec une API Rest (interface de programmation) pour la récupération et l’enregistrement des données, permettant ainsi de fluidifier l’expérience utilisateur. L’application serait ensuite directement intégrée sur le site en iframe (permet d’intégrer un contenu dans une page).
Ainsi, il a fallu que je prenne en main le Framework JS Angular, l’outil qui allait être utilisé pour la partie client et pour justement éviter le deuxième risque énoncé. Également, j’ai dû faire preuve de souplesse et de capacité d’adaptation car je n’avais encore jamais travaillé avec les développeurs de JeChange et encore moins avec une équipe professionnelle. Je me suis donc familiarisé avec la méthode agile SCRUM et je me suis informé sur les spécificités de la logique métier de l’entreprise afin de bien comprendre les enjeux et ce qu’allait apporter ma contribution. Après cela, j’ai pu me consacrer pleinement au développement de l’application avec les bases dont j’avais besoin. La réalisation de ce projet aura duré trois sprints (période durant laquelle une fonctionnalité du produit est développé) de trois semaines chacun.
Lors du premier sprint, l’objectif était de concevoir un prototype dans lequel, l’application serait capable de récupérer un formulaire stocké en base de données, par l’intermédiaire de notre API, et de s’en servir pour simuler un dialogue avec l’utilisateur tout en adaptant visuellement le type de réponses possibles (simple texte, sélection multiple, liste de propositions de réponses, etc.). Également, il fallait un panneau d’informations affichant un pourcentage de l’avancement du formulaire, ainsi que les précédentes réponses de l’utilisateur et les questions associées. L’équipe, ne pouvant me rejoindre que sur le deuxième sprint, c’est moi qui me suis occupé de cette tâche.
Résultat de l'application à la fin du premier sprint
La finalité du deuxième sprint reposait sur une amélioration visuelle de l’interface et une évolution technique du panneau d’informations avec la génération d’une carte Google Map à un moment précis de la conversation. Celle-ci devait proposer à l’utilisateur l’affichage d’un marqueur pointant sur une adresse donnée ou bien un trajet entre deux lieux précis. Je me suis occupé de développer cette fonctionnalité pendant que mes collègues travaillaient sur l’amélioration visuelle et l’ajout d’autres fonctionnalités ainsi que sur la création d’un espace client pour la personne ayant répondu au formulaire afin qu’il puisse accéder à ses informations.
Résultat de l'application à la fin du deuxième sprint
Le troisième et dernier sprint était dédié à la finalisation et à la mise en production de l’application déménagement. Lors du dernier sprint, j’avais travaillé sur la première version d’un système permettant de transmettre les informations entre les différents composants de l’agent (fenêtre de chat, panneau d’affichage, etc.). Par exemple, l’affichage de la carte Google Map est l’action d’une réponse à une question précise. Celui-ci se nomme le « système d’actions ». Cependant, nous avons rencontré un souci de conception ce qui a interrompu le développement et je me suis rendu compte que nous n’avions pas pu éviter le premier risque que j’ai énoncé tout à l’heure. Pour palier cela, j’ai participé à une réunion afin de trouver les solutions adéquates. Suite à cela, nous avons pu nous débloquer avec une refonte de ce système et j’ai pu enfin me concentrer sur l’ajout des dernières fonctionnalités demandées. C’est ainsi que s’est terminé le développement de l’agent conversationnel d’aide au déménagement, que l’on a baptisé « Sophie ».
Résultat de l'application à la fin du troisième sprint
Résultats
En tout, la création de l’application d’aide au déménagement aura demandé plus de deux mois de développement avec une équipe d’une dizaine de développeurs. Malgré le fait de ne pas avoir su éviter l’un des risques énoncés, j’ai pu, avec mes collègues, rebondir très rapidement afin de pouvoir rendre le projet à temps. L’application a pu être connectée à l’existant et a été rendue disponible au grand public. Notre PDG fut d’ailleurs très satisfait du travail qui a été fait puisqu’il était très concerné par cette application.
Conclusion
Ce projet a été pour moi un véritable tremplin me donnant l’occasion d’avoir une première expérience en tant que membre d’une équipe de développeurs confirmés mais aussi dans la conception et le développement d’un véritable projet professionnel. J’ai pu prouver mes capacités d’adaptation et d’autonomie tout en mettant en pratique ce que j’avais appris lors de mes trois premières années d’études à IN’TECH. Enfin, j’ai acquis de solides compétences techniques, professionnelles et humaines qui sont aujourd’hui très demandées par les recruteurs et que je prends encore plaisir à développer aujourd’hui.