Le développement des applications, enfin l’âge de raison ?

L’arrivée en force de la demande de création d’applications il y a maintenant 3 ans n’avait pas permis de poser les bases d’un processus de production offrant les mêmes garanties que tout autre développement informatique.

En cette fin d’année 2013, un cap est franchi et il existe maintenant une vraie logique d’industrialisation outillée pour concevoir, développer et tester les futures applications de nos clients :

– Versioning et gestion des sources via GIT directement interfacé sous Xcode.

– Intégration continue via la fonctionnalité des « bots » mis en place sous OSX server avec la sortie d’IOS7.

– Exploitation des données gérées dans un base Mysql centralisée via des exports locaux sous la forme de bases Sqlite.

schema-UDD

Dans le cadre du marché des applications du Centre Pompidou, nous sommes amenés à déployer plusieurs applications d’un même socle technique : une pour chaque exposition temporaire du musée sur les 4 années à venir. Pour garantir la qualité, paralléliser et rationaliser le développement, nous avons mis en place une usine de développement (UDD) basée sur GIT et OSX server.

Les contenus sont gérés via un back office développé en symfony2 et exportés sous la forme d’une base Sqlite. Ils sont alors déposés physiquement et gérés par le gestionnaire de configuration GIT.
Lorsqu’une fonctionnalité est terminée, les développeurs concernés « uploadent » leur travail. OSX Server compile la version sur les différents devices connectés, re-joue les tests unitaires et vérifie qu’aucune erreur n’est survenue. Dans le cas où tous les indicateurs sont au vert, la version est validée. Dans le cas contraire, un mail est envoyé aux développeurs de l’équipe avec un rapport d’échec.

Une telle architecture nous permet de travailler sur plusieurs versions de l’application à différents niveaux de fonctionnalités tout en garantissant la qualité du produit livré, paramètre capital du développement sur mobile.