CAS D’ETUDE
Refonte du SI : Applications Urbaines Connectées
OBJECTIFS
Notre client est le leader mondial de la communication extérieure et se spécialise dans le mobilier urbain connecté et dans la location de vélos en libre-service. Dans le cadre de cette mission, ESENS intervient dans les travaux de refonte de la plate-forme pour imaginer et créer un nouvel écosystème complet à partir de l'ancien pour le rendre plus souple et plus moderne avec pour objectif de répondre aux nouvelles demandes d'un marché en constante évolution du point de vue de la mobilité (applications mobiles, vélos flottants, etc)
MISSION
Conception, supervision, mise en place des bonnes pratiques et développements
-
Architecture Logicielle
Prises de décision sur les technologies. Conception du système et des éléments qui le composent. Conception du modèle de sécurisation des échanges. Participation aux ateliers de conception des fonctionnalités.
-
Technical Lead
Supervision des développements. Revues de codes et pair-programming. Animation des ateliers de conception et de chiffrage.
-
Production
Développements back-end en Java 8 avec SpringBoot et JBoss EAP 6.4. Développements front-end en Angular 6 et Vaadin 7. Écriture des tests d'intégrations avec JUnit, RestAssured et DBSetup. Suivi de recette et de versions avec Atlassian JIRA.
-
Industrialisation
Propagation des bonnes pratiques de développement aux équipes. Mise en place d'une chaine de déploiement continu avec Ansible et Jenkins. Monitoring de production avec Mmonit, Elasticsearch, Logstash, Kibana / InfluxDB et Grafana. Pratique des méthodes Agiles.
STRATEGIE
Pour répondre aux besoins d'applications mobiles et web, et aux problématiques de maintenance d'un système d'une telle envergure, nous avons fait le choix de partir sur une architecture microservices permettant d'effectuer une séparation claire des différents domaines fonctionnels, mais également de mieux gérer les pics de charge sur le système, et la forte croissance des équipes (de 7 à 32 personnes). Afin de maitriser cette problématique de forte croissance, nous avons été particulièrement attentifs à l'organisation globale des équipes pour qu'elles fonctionnent dans le mode Agile le plus adapté, ainsi qu'aux outils fournis aux équipes de développement pour rendre le développement d'un nouveau microservice, les tests et le déploiement en environnement de recette ou de production, le plus simple possible.