Comment une mise à jour apparaît-elle sur vos téléphones en un clic ?

Stéphane Restani

Stéphane Restani

Developer & game designer

Vous êtes-vous déjà demandé comment les développeurs d’applications et créateurs de jeux mobiles publient une mise à jour ? Le processus peut être très lourd, mais certains outils allègent cette tâche.

A Digital Kingdom, un clic est tout ce qu’il nous faut pour créer et déployer une mise à jour de chacun de nos jeux mobiles. Aussi bien sur le Play Store de Google que sur l’App Store d’Apple. Cette magie est rendue possible grâce à deux outils très puissants: TeamCity et Fastlane.

TeamCity est un serveur ayant pour charge de surveiller toutes les modifications faites par nos développeurs, et d’exécuter Fastlane lorsque certaines conditions sont vérifiées. Fastlane se charge ensuite d’orchestrer toute une suite d’opérations. Il les sépare en deux “lanes (voies)”, une pour Google, et une pour Apple.

Dans le cas de Google (donc pour une publication sur le Play Store), Fastlane va compiler l’exécutable du jeu pour Android. Il va ensuite incrémenter son numéro de version, puis le télécharger en tant que mise à jour sur le Play Store. Après quelques minutes le jeu sera disponible pour tous nos testeurs, qui pourront vérifier la qualité de l’application.

Dans le cas d’Apple (pour l’App Store) c’est un petit peu plus complexe. Il faut automatiser toute une partie de certifications et de signatures de l’exécutable. Heureusement, c’est quelque chose que Fastlane prend en charge avec quelques simples lignes de configuration. Là aussi, quelques minutes plus tard, la mise à jour se retrouvera sur les téléphones des testeurs. L’application iOS TestFlight leur permettra d’installer la mise à jour.

A ce point, quelques minutes après que TeamCity ait automatiquement détecté des changements sur le code source du jeu, une mise à jour se retrouve dans les mains de nos testeurs. Dès que ceux-ci valident la qualité de la mise à jour, nous indiquons à TeamCity qu’il peut promouvoir la version de test en production. Là encore, Fastlane prend le relai et indique au Play Store ainsi qu’à l’App Store d’exécuter les opérations nécessaires. La mise à jour se retrouve enfin dans les téléphones de nos utilisateurs.

Sur nos jeux, le processus prend de bout en bout 40 minutes, sans compter la phase de test. C’est ce que l’on appelle un “CI/CD pipeline”. C’est une infrastructure peu coûteuse, mais qui peut prendre un certain temps à mettre en place. Le jeu en vaut malgré tout la chandelle, car cela permet aux développeurs de se préoccuper de créer, sans prise de tête avec le déploiement.

Le temps où il fallait copier et coller à la main des dizaines de textes dans différentes langues pour le Play Store et l'App Store est révolu (...).

La beauté d’un outil comme TeamCity est qu’il n’est pas limité au déploiement d’applications mobiles. Nous l’utilisons aussi pour déployer des mises à jour sur itch.io grâce à “butler”, ou directement sur des machines de nos clients. Nous automatisons également une partie des tests de nos applications. Enfin, dans certains cas, nous ouvrons un accès TeamCity à nos clients afin qu’ils puissent eux-mêmes récupérer des mises à jours lorsqu’ils le souhaitent.

Fastlane n’est pas en reste non plus, puisqu’il prend aussi en charge la génération de toutes les captures d’écrans requises par les stores. Ceci dans toutes les langues et résolutions demandées. Il nous permet aussi de mettre à jour toutes les informations de la page de l’application (le “store listing”) en une seule fois, d’un seul et même endroit. Le temps où il fallait copier et coller à la main des dizaines de textes dans différentes langues est révolu. Fastlane nous permet de tout avoir au même endroit, et de tout mettre à jour automatiquement.

Nous ne comptons plus les heures de travail répétitif et migraines que TeamCity et Fastlane nous ont épargnés.