Aller au contenu
XSIS
Parler à un ingénieur

Ingénierie logicielle

Applications mobiles

Des applications mobiles iOS et Android conçues pour être maintenues

Applications natives et multiplateformes, des applications bancaires et de portefeuille électronique aux outils de terrain, avec le back-end dont elles ont besoin.

Présentation

Une application mobile vit sur l’appareil de quelqu’un d’autre, sous les règles de deux boutiques d’applications, avec des connexions irrégulières et un nouveau système d’exploitation chaque année. En concevoir une que les utilisateurs continuent d’utiliser demande plus que des écrans.

Nous développons des applications natives en Swift et en Kotlin lorsque l’application dépend de l’appareil, et des applications multiplateformes en React Native ou en Flutter lorsqu’une base de code unique pour iOS et Android est le meilleur compromis. Dans les deux cas, nous développons le back-end, les API et le processus de publication en parallèle de l’application.

Pour les applications bancaires, de portefeuille électronique et de paiement, nous intégrons la sécurité dès la conception : stockage sécurisé des clés et des jetons, association à l’appareil, authentification biométrique et protection contre la falsification. Pour les applications de terrain et d’exploitation, nous concevons pour le travail hors ligne et une synchronisation sûre au retour de la connexion.

Ce que nous livrons

  1. Conception de l’application

    Parcours et écrans conçus selon les conventions de chaque plateforme, testés avec des utilisateurs sur de vrais appareils.

  2. Applications iOS et Android

    Des applications natives ou multiplateformes développées à partir d’un seul backlog, avec des règles métier partagées lorsque c’est possible.

  3. Back-end mobile et API

    Les services dont l’application a besoin, notamment l’authentification, les notifications et les API vers vos autres systèmes.

  4. Contrôles de sécurité de l’application

    Stockage sécurisé, épinglage de certificats, authentification biométrique et détection des appareils falsifiés ou rootés, selon le niveau de risque.

  5. Utilisation hors ligne et synchronisation

    Stockage local chiffré et règles de résolution des conflits, pour que l’application continue de fonctionner sans connexion.

  6. Publications sur les boutiques

    Fiches App Store et Google Play, signature, soumissions à la validation et déploiements progressifs, gérés pour vous.

  7. Supervision des plantages et de l’usage

    Remontée des plantages et mesure d’audience respectueuse de la vie privée, pour que vous voyiez les problèmes avant que vos utilisateurs ne les signalent.

  8. Suite de tests sur appareils

    Des tests d’interface automatisés exécutés à chaque build sur un éventail d’appareils réels et virtuels.

Notre méthode

  1. 01

    Cadrer

    Nous définissons ensemble les utilisateurs, les parcours essentiels, les plateformes et les appareils que l’application doit prendre en charge.

  2. 02

    Choisir l’approche

    Nous recommandons le natif ou le multiplateforme selon votre cas, et nous exposons les compromis par écrit.

  3. 03

    Concevoir et prototyper

    Nous concevons les parcours clés et testons un prototype sur de vrais appareils avant le développement.

  4. 04

    Développer l’application et son back-end

    Nous développons l’application et ses services ensemble, par itérations que vous pouvez installer et essayer.

  5. 05

    Publier sur les boutiques

    Nous gérons la signature, la validation par les boutiques et un déploiement progressif, et nous suivons de près les rapports de plantage.

  6. 06

    Maintenir

    Nous maintenons l’application à jour à chaque nouvelle version d’iOS et d’Android, et au rythme de votre feuille de route.

Technologies

Langages
  • Swift
  • Kotlin
  • TypeScript
Frameworks
  • Node.js
Mobile
  • SwiftUI
  • Jetpack Compose
  • React Native
  • Flutter
Bases de données
  • PostgreSQL
Tests
  • Appium
Identité et accès
  • OAuth 2.0
  • OpenID Connect

Modes de collaboration

Questions et réponses

Faut-il développer en natif ou en multiplateforme ?

Les applications natives en Swift et en Kotlin offrent l’accès le plus complet aux fonctionnalités de l’appareil et l’intégration la plus fidèle à chaque plateforme. Les applications multiplateformes en React Native ou en Flutter partagent l’essentiel de leur code entre iOS et Android, ce qui réduit le coût de développement et d’évolution. Nous recommandons le natif lorsque l’application dépend fortement de l’appareil, par exemple pour du matériel de paiement ou des médias complexes, et le multiplateforme pour la plupart des applications professionnelles et grand public.

Lien vers cette question
Qu’est-ce qui détermine le coût d’une application mobile ?

Le nombre de parcours et d’écrans, le choix entre une application native par plateforme ou une seule application multiplateforme, le travail côté back-end et le niveau de sécurité requis. L’utilisation hors ligne, les paiements, les fonctionnalités de l’appareil et l’éventail d’appareils à prendre en charge ajoutent de l’effort. Les publications sur les boutiques et l’adaptation aux nouvelles versions des systèmes d’exploitation sont des coûts récurrents à prévoir.

Lien vers cette question
Comment sécurisez-vous une application bancaire ou de portefeuille électronique ?

Nous conservons les clés et les jetons dans le stockage sécurisé matériel de la plateforme, jamais dans des fichiers en clair. Nous utilisons l’épinglage de certificats, une authentification biométrique ou liée à l’appareil, et des contrôles côté serveur pour chaque action sensible. Lorsque le risque le justifie, nous ajoutons la détection des appareils rootés ou jailbreakés et des builds falsifiés. Nous suivons les recommandations OWASP Mobile Application Security et pouvons accompagner un test d’intrusion externe avant le lancement.

Lien vers cette question
Gérez-vous les publications sur l’App Store et Google Play ?

Oui. Nous préparons les fiches, gérons les clés de signature et les certificats, soumettons les builds à la validation et publions par étapes, afin qu’un problème n’atteigne que peu d’utilisateurs. Les comptes développeur restent au nom de votre organisation : vous êtes donc propriétaire des applications et de leurs fiches. Nous travaillons sur vos comptes, avec des accès que vous accordez et pouvez révoquer.

Lien vers cette question
L’application peut-elle fonctionner sans connexion ?

Oui, lorsque les parcours le permettent. Nous stockons sur l’appareil, de façon chiffrée, les données dont l’utilisateur a besoin, et nous mettons ses modifications en file d’attente jusqu’au retour de la connexion. Des règles de synchronisation déterminent ce qui se passe lorsqu’un même enregistrement a été modifié à deux endroits. Nous définissons ces règles avec vous, car ce sont des décisions métier autant que techniques.

Lien vers cette question
Quelle maintenance une application nécessite-t-elle après son lancement ?

Apple et Google publient chaque année de nouvelles versions de leurs systèmes d’exploitation, et les règles des boutiques évoluent. Les bibliothèques doivent recevoir des mises à jour de sécurité. Nous testons l’application avec chaque nouvelle version, corrigeons ce qui change et maintenons ses dépendances à jour, en parallèle de votre propre feuille de route fonctionnelle. Cela se fait généralement dans le cadre d’un contrat de support ou au sein d’une équipe dédiée.

Lien vers cette question
À qui appartiennent le code et les travaux que vous produisez ?

Dès le premier commit, vous êtes titulaire de la propriété intellectuelle des travaux que nous réalisons pour vous : aucune cession n’est à prévoir en fin de projet. Cela couvre le code spécifique, la documentation et les autres livrables réalisés pour vous. Les éléments préexistants que nous apportons, tels que des outils internes ou des bibliothèques, restent notre propriété, et vous recevez une licence pour les utiliser dans vos systèmes. Les composants open source conservent leurs propres licences, et nous vous en fournissons la liste.

Lien vers cette question

Dites-nous ce que vous devez construire ou connecter.

Décrivez les systèmes, le calendrier et les contraintes. Les ingénieurs concernés prennent ensuite le relais.

  • Notre équipe vous appellera dans les 24 heures, sur le créneau de votre choix
  • Notre équipe est disponible 24 h/24, 7 j/7