Whoopy: de 47 000 lignes de code à un scénario Wogeez
Depuis 2019, Whoopy loue des voiturettes pour enfants en libre-service dans les centres commerciaux. Cette année, nous avons migré le service sur Wogeez. Tout ce que nous avions développé sur-mesure tient maintenant dans une configuration et quelques règles métier.
Whoopy, la voiturette en libre-service
Whoopy, conçu avec LJ-Conception, permet aux familles de louer une voiturette pour enfant directement dans les allées d'un centre commercial, en location autonome, sans guichet ni personnel. Une station, c'est une borne tactile et une rangée de lockers connectés. Chaque locker est piloté par la Z-Unit-Core, une carte de contrôle RFID développée par Zeegow, qui verrouille la voiturette et la reconnaît quand elle revient.
Tout le parcours se fait sur la borne.
- Choisir sa voiturette parmi celles disponibles, après avoir pris connaissance des conditions de location.
- Payer sans contact, par carte bancaire ou wallet. Le terminal bloque le montant de la location et une caution, mais seule la location est encaissée.
- Partir se promener dans la galerie, une fois le locker ouvert.
- Rendre la voiturette dans n'importe quel locker libre, même dans une autre station. La Z-Unit-Core lit son badge RFID, la location est clôturée et sa durée enregistrée.
Côté exploitant, il faut suivre en permanence l'état des stations, qu'il s'agisse des bornes en ligne, des lockers occupés ou vides, des terminaux de paiement ou du chiffre d'affaires de chaque centre.
Six ans de développement sur-mesure
Pour faire tourner ce service, nous avions construit une solution entièrement dédiée à Whoopy. Elle comprenait le logiciel embarqué dans chaque borne, l'interface affichée à l'écran, un back-office pour l'exploitant et plusieurs services en ligne pour configurer les stations, collecter les données, diffuser les fichiers, tenir les journaux et superviser l'ensemble.
Depuis 2019, cela représentait près de 47 000 lignes de code et plus de 450 évolutions. Chaque fonctionnalité, chaque nouveau moyen de paiement et chaque correctif devait être développé, testé et déployé pour ce seul service.
Et côté mobile?
Il y avait aussi deux applications mobiles à maintenir.
- WManager, une application web installable sur smartphone pour l'exploitant. On y gérait les stations, les voiturettes, les cartes SIM des bornes et les campagnes, avec un tableau de bord en temps réel.
- L'application Whoopy pour Android, qui montrait sur une carte les stations autour de soi et indiquait si elles étaient en ligne.
Pour l'exploitation, c'est maintenant l'application mobile Wogeez qui prend le relais. Elle est commune à tous nos clients. Le technicien y retrouve ses bornes sur une carte et met une nouvelle borne en service en scannant son QR Code. Il voit l'état du matériel, des lockers aux terminaux de paiement, et peut afficher l'écran de la borne à distance pour vérifier qu'une panne est réglée.
Whoopy n'a eu besoin d'aucun développement mobile. Ses stations sont apparues dans l'application dès leur migration.
Deux applications en moins à maintenir, et une application commune qui s'améliore pour tous nos clients.
L'essentiel n'était pas propre à Whoopy
En faisant l'inventaire, nous nous sommes rendu compte que l'essentiel du travail ne concernait pas les voiturettes. Le paiement sans contact, l'ouverture des lockers, la supervision, la diffusion des contenus, les mises à jour à distance ou l'application mobile sont les mêmes pour toutes les bornes que nous déployons.
C'est justement ce que Wogeez industrialise. Plutôt que de réécrire Whoopy, nous avons laissé la plateforme gérer ce qu'elle savait déjà faire et gardé uniquement ce qui relève du métier de la location.
Le parcours client devient un scénario
Nous ne développons plus l'interface de la borne. Nous la décrivons dans un scénario Wogeez, avec ses 9 écrans (accueil selon les horaires d'ouverture, règlement, choix du mode de paiement, paiement, ouverture du locker, et un écran pour chaque succès ou échec) et l'enchaînement entre eux.
Le catalogue des voiturettes, le panier, le paiement et l'ouverture des lockers sont des briques standard de la plateforme qu'il suffit de paramétrer. Les informations propres à chaque station, comme le centre commercial ou le numéro de support, se renseignent station par station. Ouvrir une nouvelle station ne demande plus de développement, et le scénario peut aussi proposer des animations, comme un jeu pour faire patienter les enfants.
Ce qui reste propre à Whoopy
À la fin de chaque parcours, la borne envoie le déroulé de la session au moteur de règles métier de Wogeez. C'est le seul code propre à Whoopy, et il tient en deux lignes, une pour chacun des deux cas à traiter.
- Quand une location démarre, une location est enregistrée pour chaque voiturette sortie de son locker, avec le montant de la location et jamais celui de la caution.
- Quand une voiturette revient, son badge permet de retrouver la location en cours, de la clôturer et d'en calculer la durée, quelle que soit la station de retour.
Le reste, du paiement à la supervision en passant par les lockers, est pris en charge par la plateforme.
Aucune rupture pour le reporting
Les tableaux de bord de Whoopy s'appuient sur des années d'historique de locations. Plutôt que de migrer ces données et de refaire les indicateurs, nous avons fait en sorte que les nouvelles locations continuent d'alimenter le même historique, au même format. Pour les équipes qui suivent l'activité, rien n'a changé.
Ce que ça a changé pour LJ-Conception
Pour LJ-Conception, qui a conçu Whoopy, le premier changement est la vitesse. Ouvrir une station dans un nouveau centre commercial revient à installer le matériel, scanner la borne et renseigner ses informations. Il n'y a plus de version du logiciel à préparer ni de développement à attendre.
Le scénario est versionné et se paramètre station par station. LJ-Conception peut donc proposer Whoopy en marque blanche, ce qui était impossible avec l'ancienne solution. D'un centre commercial à l'autre, le parcours, les textes et la mise en forme de la borne peuvent changer facilement, sans toucher au reste du service. Déplacer une borne d'un centre à un autre demande aussi moins de travail, puisqu'il suffit de la rattacher à sa nouvelle station pour qu'elle en reprenne la configuration.
Le service s'améliore aussi sans projet dédié. La prise en main à distance, les notifications, les nouveaux moyens de paiement ou les mises à jour des bornes arrivent sur Whoopy au même rythme que sur le reste de la plateforme.
Sur le terrain, les techniciens utilisent une seule application pour toutes les stations. Ils voient l'état du matériel et l'écran de chaque borne à distance, ce qui permet de savoir avant de se déplacer si une intervention est nécessaire.
Ouvrir une nouvelle station Whoopy ne demande plus de développement. On installe, on scanne la borne, et le service est en ligne. Chaque nouveauté de la plateforme profite à nos stations sans qu'on ait rien à faire.
Et pour les prochains projets
De notre côté, nous maintenons une seule plateforme, avec un scénario par client, au lieu d'une solution complète par service.
Le moteur de règles métier sert déjà à d'autres clients. Pour un nouveau projet de borne, le travail spécifique consiste à décrire le parcours et, si besoin, à écrire quelques règles métier.
Cette approche convient aussi aux réseaux de taille moyenne. Il n'y a pas besoin d'équipe de développement ni d'infrastructure à maintenir pour lancer un service en libre-service ou le faire évoluer. Quelques stations suffisent pour démarrer, et la plateforme suit la croissance du réseau.