Ecole Numérique Ardéchoise

Développer une application mobile

Description de la compétence – processus de mise en œuvre

À partir du cahier des charges de l’application, des spécificités ergonomiques et fonctionnelles de l’équipement mobile, et en suivant une démarche de développement en approche de type Agile, concevoir la maquette graphique appropriée à l’équipement et en respectant l’expérience utilisateur. Coder, documenter l’application mobile en respectant les contraintes de l’architecture du matériel cible et tester l’application dans l’environnement du matériel cible afin de répondre au besoin fonctionnel de l’utilisateur, en respectant à chaque étape l’état de l’art de la sécurité informatique.
Réaliser les développements à partir d’un environnement de développement intégré, éventuellement de langue anglaise.
Pratiquer une veille technologique, y compris en anglais, pour résoudre un problème technique ou mettre en œuvre une nouvelle fonctionnalité ainsi que pour s’informer sur la sécurité informatique et les vulnérabilités connues.
Partager le résultat de sa veille avec ses pairs.

Contexte(s) professionnel(s) de mise en œuvre

Le développement de l’application mobile se réalise en liaison étroite avec l’utilisateur et à l’aide d’un environnement de développement.
Une application mobile est une application qui est téléchargée sur un store (magasin d’applications) contrairement à une application web (webapp) qui est accessible depuis un navigateur.
Selon le besoin et le niveau de performance attendue, le concepteur-développeur peut développer une application native c’est-à-dire dédiée au matériel cible et à son système d’exploitation. Pour la rendre accessible, le concepteur-développeur doit la publier sur un store dédié au système d’exploitation mobile.
Il peut aussi développer une application mobile de type multi plateforme (cross-platform), c’est-à-dire mise à disposition sur plusieurs systèmes d’exploitation. Le concepteur-développeur utilise alors un socle de développement commun.
Les applications concernées s’adressent au grand public ou aux salariés d’entreprise et peuvent alimenter des stores privés.

Critères de performance

  • Les fonctionnalités de l’application sont conformes au cahier des charges fonctionnel.
  • L’ergonomie respecte l’expérience utilisateur du matériel cible mis en œuvre.
  • Le code source des composants est documenté ou auto-documenté.
  • L’application est testée sur les matériels cibles ou sur des émulateurs.
  • L’application ne possède que les permissions exigées par ses fonctionnalités.
  • La démarche de recherche permet de résoudre un problème technique ou de mettre en œuvre une nouvelle fonctionnalité.
  • La veille sur les vulnérabilités connues permet d’identifier et corriger des failles potentielles.
  • La documentation technique liée aux technologies associées, en français ou en anglais, est comprise (sans contre-sens, …).
  • Le partage du résultat de veille est effectué oralement ou par écrit avec ses pairs.

Savoir-faire techniques, savoir-faire organisationnels, savoir-faire relationnels, savoirs

  • Maquetter l’application mobile avec un outil : enchaînement et maquette des écrans associés.
  • Adapter le développement de l’interface graphique aux spécificités de l’équipement mobile de façon ergonomique.
  • Mettre en œuvre l’environnement de développement de l’application mobile en tenant compte du système d’exploitation cible.
  • Coder dans le langage approprié les composants de l’application mobile, dans un style défensif.
  • Mettre en œuvre les échanges de données entre l’équipement mobile et un serveur d’entreprise de façon sécurisée.
  • Réaliser un jeu de tests de l’application mobile en fonction des caractéristiques du matériel cible, avec une double approche fonctionnelle et sécurité.
  • Gérer la sécurité de l’application mobile en termes d’authentification, de chiffrement et de permissions.
  • Gérer les performances de l’application mobile.
  • Utiliser l’interface graphique, y compris en anglais, d’un environnement de développement d’applications mobiles.
  • Utiliser un outil collaboratif de partage de ressources.
  • Planifier et suivre les tâches de développement.
  • Rechercher une réponse pertinente à une difficulté technique de développement ou à une vulnérabilité.
  • Rechercher des informations sur des sites Internet, des forums et des FAQ francophones ou anglophones.
  • Contribuer à la mise à jour des bases de connaissances francophones ou anglophones accessibles par Internet.
  • Écouter, reformuler et synthétiser les demandes utilisateurs.
  • Participer à une réunion de travail avec les utilisateurs, éventuellement en anglais.
  • Rédiger les comptes rendus de réunion, y compris en anglais.
  • Connaissance d’une démarche de développement en approche de type Agile.
  • Connaissance des normes réseaux liées au développement mobile.
  • Connaissance des bases de la cryptographie.
  • Connaissance des architectures d’application mobile : règles ergonomiques, contrôles graphiques et évènements, cycle de vie, communication entre applications locale et distante, persistance, sécurité.
  • Connaissance des formats normalisés d’échange de données.
  • Connaissance de l’utilisation des services distants et des méthodes de sécurisation des échanges.
  • Connaissance de l’environnement de développement approprié à l’équipement mobile.
  • Connaissance des principes et des règles du développement sécurisé.
  • Connaissance des vulnérabilités spécifiques au matériel mobile.
  • Connaissance du vocabulaire anglais professionnel associé aux applications mobiles.