OBJECTIFS

Au cœur de la DSI de notre client historique, grand groupe français spécialiste du mobilier urbain connecté, notre mission consiste à développer un POC pour tester la faisabilité d’une application mobile hybride qui faciliterait l’inventaire matériel pour ses utilisateurs finaux, qu’ils soient connectés au réseau ou hors ligne.​​

  • Flutter
  • GitHub Actions
  • Firebase
  • SQLite

MISSION

Afin de faciliter aux utilisateurs, où qu’ils soient, l’inventaire de leur matériel au moyen de QR codes, ESENS réalise pour son client une mission de développement mobile hybride pour iOS et Android sur Flutter.

  • Choix des technologies

    La spécificité de notre projet réside dans le back-end de l’application qui doit être disponible pour ses utilisateurs mobiles sans qu’ils aient besoin d’une connexion réseau. Pour répondre à cette problématique, plusieurs frameworks de développement hybride sont considérés. Pour des questions de coût, de rapidité et de performance, Flutter est finalement retenu. Le framework open source de Google facilite notamment l’accès aux surcouches matérielles mobiles, d’une part, et offre, d’autre part, la possibilité de compiler directement le code de l’application sans passer par une web view. De plus, l’application doit pouvoir accéder aux fonctionnalités Bluetooth et appareil photo afin de scanner les QR codes et Flutter offre également ces deux possibilités.

  • Méthodologie

    Grâce à l’approche DDD (Domain Driven Design) autour de laquelle s’articule le projet, le contexte fonctionnel est connu et partagé par l'ensemble des intervenants du projet, permettant ainsi de cloisonner correctement le code fonctionnel du technique et favorisant ainsi l'évolutivité et la maintenabilité du système.

  • CI/CD

    L'ensemble de la chaîne d'intégration et de livraison continue est implémentée sur Github Actions avec un déploiement des versions de test et de production via Firebase App Distribution. Des runners Mac dans le Cloud ont également été utilisés pour pouvoir construire la version iOS de l'application.

STRATEGIE

Notre client souhaitait se réapproprier les développements faits en externes afin de pouvoir maitriser le cycle de vie et la qualité de son application de gestion d'inventaire. Développée avec Flutter sur la base d'une architecture BLoC, ce POC développé from scratch permet notamment l'accès à des fonctionnalités de suivi de tâches en mode offline via la duplication d'une partie des données utilisées par les services back-end en local sur l'appareil mobile. Dans un second temps, pour gagner en performance et éviter de surcharger les infrastructures existantes, il conviendra de dater les données inventoriées sur mobile afin de synchroniser uniquement le nécessaire. Un challenge à la fois back et front qui promet de nouvelles perspectives d'innovation pour ce POC devenu projet d’application mobile hybride.

RETOUR