PMU Sport modernise son application mobile iOS avec Xebia
Le spécialiste des paris sportifs et hippiques a souhaité refondre son application mobile iOS pour intégrer une nouvelle couche de services et moderniser l’interface utilisateur. Une fondation désormais optimisée pour recevoir de nouveaux services.
Parce que le mobile est devenu un canal de consommation de ses services, le PMU a décidé de refondre son application mobile PMU Sport pour iOS et de faire appel à l’expertise de Xebia pour mener à bien son projet.
Pour PMU, la mobilité correspond à une grande part de son audience. « 50% des prises de paris sportifs du PMU sont effectuées sur Internet et 50% sur mobiles. En novembre dernier, 45% des paris sportifs sur mobiles ont été passés sur cette application iOS, précise Gregory Chazalon, Chef de projet Nomades au sein de la DOSI du PMU. La majorité des paris pris sur le nomade sont effectués sur l’application iOS », ajoute-t-il, sachant que PMU Sport propose aussi une application Android et une application Web. Cela représente 55 000 utilisateurs par mois, rien que sur l’application iOS – même si tous ne prennent pas des paris.
Le projet portait d’abord sur la refonte d’une application iOS existante quelque peu vieillissante, et peu en ligne avec les exigences désormais très rigoureuses des utilisateurs en matière d’interface. « Il existait une application de paris sportifs sur iOS, créée pour l’Euro 2012. A cette époque, les terminaux Apple étaient animés par IOS 5, depuis les versions 4 et 4s d’iPhone, et donc avec une seule taille d’écran. L’application était menacée d’obsolescence technique », résume Gregory Chazalon. Logiquement, la refonte de l’application a donc contribué à revisiter l’interface utilisateur, pour répondre à des critères plus modernes – celui notamment du Flat-Design.
L’une des autres motivations de cette transformation a été l’intégration à cette application mobile d’une couche de services d’informations sportives, récemment redéveloppée par PMU. « Cette couche de service est utilisée par toutes les applications Internet et mobiles du PMU ». Il s’agissait donc de s’y brancher afin de proposer une expérience uniforme et cohérente sur l’ensemble des services du groupe, et de rationnaliser l’ensemble.
Très concrètement, cette couche de services s’inscrit elle aussi dans un processus de modernisation d’une ancienne API, moins performante et moins évolutive. Sa mise en service est intervenue en 2014. Elle fournit l’ensemble de l’information sportive distillée par PMU pour tous les terminaux mobiles. Outre les informations, cotes et grilles et des combinaisons de paris sportifs, l’utilisateur a également accès à des vidéos à travers ces nouveaux services. Cette couche d’information propose également du contenu live, dont la mise à jour des cotes en temps réel.
Techniquement, poursuit Nicolas Thenoz, Product Owner chez Xebia France, qui a participé au projet, la couche de services se connecte au SI de PMU et gère ainsi l’identification des utilisateurs dans l’application. Toutes les communications entre l’application et le SI du groupe sont chiffrées.
Un socle solide pour développer de nouveaux services
Mais plus globalement, ce projet de refonte s’inscrivait également dans une stratégie sur le long terme. Outre le fait de stabiliser l’application, ce projet avait aussi pour vocation « d’investir pour préparer l’avenir. Le but d’avoir une application à jour et conforme aux derniers standards est de pouvoir proposer plus facilement de nouveaux produits de paris à nos clients et de préparer ainsi les futures évolutions, tant techniques que celles liées à d’autres terminaux, comme les montres connectées », lance à son tour Gregory Chazalon.
« Après avoir fait un bref inventaire de l’ensemble des librairies pour développer une application iOS, on s’est rendu compte que le modèle MVC proposé par Apple entraînait très souvent des complications au niveau du code. » Un code un peu « spaghetti avec l’ensemble des fonctions mis dans un gros contrôleur », ajoute Nicolas Thénoz.
Xebia a donc développé sa propre librairie (aujourd’hui versée dans l’Open Source) qui permet de créer une forme de surcouche adoptant un modèle MVVM (Model View – View Model). « Cela permet de bien séparer la logique métier de la vue. En isolant la vue du métier, on peut passer facilement d’une vue à l’autre » poursuit Nicolas Thénoz. Cette architecture MVVM s’adosse à un ensemble de composants Open Source, pour la partie réseau par exemple.
Cette dissociation des vues a également permis à Xebia de mettre en place des procédures de tests unitaires. Beaucoup de logiques étaient répété dans l’ancienne application. En isolant les vues, il était plus facile de tester spécifiquement la logique métier.
Selon lui, cette séparation a également contribué à faciliter la maintenance ainsi que le modèle de distribution de l’application. « Lors de l’ajout d’une nouvelle fonction, les développeurs peuvent reprendre la logique métier et la mettre simplement à jour pour intégrer cette nouvelle fonction », commente-t-il. Xebia met actuellement en place des tests fonctionnels ; « ce qui n’était pas possible avec l’ancienne application ».
Agilité et tests
Avec cette application vieillissante, « l’ajout de nouvelles fonctionnalités coûtait extrêmement cher, notamment en matière de maintenance. De plus, il était compliqué pour Xebia de mettre en place une démarche de contrôle de qualité, comme les tests, pour renforcer la robustesse de l’application », ajoute-t-il.
Concomitant la mise en place de tests unitaires et fonctionnels pour optimiser la robustesse, les développements ont été réalisés sur un mode agile « qui ont permis d’avoir plusieurs versions et de les recetter au fil de l’eau », explique Gregory Chazalon. Au final, l’application a été finalisée le 17 juillet et publiée sur l’AppStore le 27 août.
Côté infrastructure, la couche de services est hébergée dans les datacenters du PMU. Un hébergeur prend en charge les frontaux Internet. Une partie du SI demeure dans le datacenter du groupe. Si en effet, l’application a certes provoqué un accroissement de trafic, la nouvelle couche de services a aussi été développée pour rationaliser les ressources, côté infrastructure. Celle-ci a ainsi permis « de réduire le nombre de machines nécessaires pour gérer les flux d’informations ». De 10 machines attribuées au nomade, PMU va pouvoir passer à 6 machines.