CAS D’ETUDE
Développement d'une Application Mobile Android en Java et Kotlin
OBJECTIFS
Notre client propose aux États et aux entreprises des solutions d’identité et des services numériques sécurisés à la pointe de la technologie, intégrant électronique et biométrie. Notre mission est de développer des applications pour faciliter et fluidifier les vérifications d'identité.
MISSION
ESENS réalise pour son client une mission de développement mobile Android en Java et Kotlin.
-
ANALYSE & POC
Analyse du POC existant en Java ; Refactoring du code existant, maquettage et mise en place d’une architecture de développement. La principale difficulté est que le POC existant contient beaucoup de fonctionnalités, et donc beaucoup de code, sans une réelle architecture de développement. Il est donc difficile de s’y retrouver, d’où le besoin de commencer par un refactoring du code existant en appliquant une architecture de développement (ici MVVM).
-
DEV
Si notre client savait en grande partie ce qu’il attendait de son application, il n’avait pas encore défini des équipements sur lesquels l’exécuter. La principale difficulté ici était de trouver un équipement capable de gérer toutes les fonctionnalités de l’application : Lecture OCR, NFC, empreintes digitales. Après un premier essaie non concluant sur une tablette Samsung, notamment à cause de l’absence de lecteur d’empreintes digitales, et des performances de l’OCR pour la reconnaissance optique des caractères grâce à l’appareil photo, le choix s’est porté sur les tablettes Android Coppernic ID Platform. Une fois l’équipement choisi, il était question de faire un prototype UX afin de définir la navigation, l’ergonomie et le parcours utilisateur. L’application est développée en Java selon les principes de la clean architecture et tourne sur Android 6.1. Développement d’un module BLE (Bluetooth Low Energy) de communication entre le smartphone et la porte d’embarquement dans les aéroports.
-
IC & TEST
Selon les principes du TDD, les testeurs écrivent les tests case, les développeurs s’y conforment ensuite. Une fois la phase de développement terminé, vient ensuite la phase d’IVV (Intégration, Vérification, Validation) réalisée par un intégrateur. Mise en place d’un serveur de build Jenkins pour l’intégration continue des applications.
STRATEGIE
Au cours de notre mission, nous avons relevé trois principaux challenges : la reprise du code existant en le refactorisant et en appliquant une architecture de développement, le maquettage de l’application et l’intégration des composants (OCR, NFC, Empreintes digitales).