Développeur en Environnement Mobile DOSSIER PEDAGOGIQUE Renseignements et moyens pédagogiques Contenus de cours détaillés 45 jours
SOMMAIRE SOMMAIRE... 2 DECOUPAGE DE LA FORMATION... 3 POSTURE DU CONSULTANT... 4 TESTING : SPECIALISATION MOBILE... 5 GESTION DE PROJET AGILE... 7 AIDE A LA REDACTION DES MEMOIRES... 10 MÉTHODES DE RECUEIL ET D ANALYSE DES BESOINS... 11 ETAT DE L ART DE LA MOBILITE... 14 HTLM 5... 15 ERGONOMIE DES INTERFACES TACTILES... 16 LE FRAMEWORKS ANDROID ET JAVA... 17 LE FRAMEWORKS ET LE LANGAGE POUR IPHONE... 19 DES FRAMEWORKS : GEOLOCALISATION, PAIEMENT, IDENTIFICATION... 21 Les Acces aux données dans le Cloud... 22 MISE EN SITUATION PROFESSIONNELLE : PROJET... 23 Développeur en environnement mobile Page 2 sur 23
DECOUPAGE DE LA FORMATION CYCLE INTITULE DES THEMES JOUR (S) POSTURE DU CONSULTANT 1 TESTING : SPECIALISATION MOBILE 2 METIER GESTION DE PROJET AGILE 2 AIDE A LA REDACTION DES MEMOIRES 2 METHODES DE RECUEIL ET D ANALYSE DES BESOINS 1 ETAT DE L ART DE LA MOBILITE 1 HML5 5 ERGONOMIE DES INTERFACES TACTILES 1 TECHNOLOGIE LE FRAMEWORKS ANDROID ET JAVA 7 LE FRAMEWORKS ET LE LANGAGE POUR IPHONE 7 LES ACCES AUX DONNEES DANS LE CLOUD 3 PROJET DES FRAMEWORKS : GEOLOCALISATION, PAIEMENT, IDENTIFICATION 3 MISE EN SITUATION PROFESSIONNELLE : PROJET 10 TOTAL 45 Développeur en environnement mobile Page 3 sur 23
POSTURE DU CONSULTANT DURÉE : 1 JOUR Le savoir être d un consultant chez un client et mise en situation. Aucun 1 Le conseil et le consultant Les attentes et besoins des clients La valeur ajoutée du consultant L'éthique et le comportement du consultant Le travail du consultant dans son environnement Les facteurs de réussite dans ce métier et les écueils typiques Les processus et contraintes d'intervention 2 Les fondamentaux professionnels L'identification des critères de performance. Les fonctionnalités à assurer. Le ciblage de l'intervention. La définition des objectifs d'information. L'optimisation de l'information. La formulation continue de l'information, de l'argumentation, de la progression. Méthodes et pratiques de la construction de la solution pour le client Développeur en environnement mobile Page 4 sur 23
TESTING: SPECIALISATION MOBILE DURÉE : 2 JOURS Ce programme sur un jour, présente tous les aspects du test logiciel revus dans le cadre des applications mobiles de la stratégie de test aux tests d acceptations. Il présente également l initiative de l App Quality Alliance qui vise à améliorer la qualité des applications mobiles ainsi que des pistes en vue d automatiser ses tests. Aucun 1 Vue d ensemble Architecture technologique : OS portable et platesformes. Principaux types d'application mobile. Cycles de développement des applications Mobiles. Cycles de tests des applications Mobiles. Types de test applicables 2 Définir une Stratégie de test Gestion du risque et des problématiques spécifiques aux mobiles. Détermination de l'effort de test. Détermination des plateformes de test (unitaires, simulateurs, mobiles, tests terrains) 3 Tests génériques Test de régression OS. Test d installation Test d interface avec d autres applications. Test de consommation de batterie, Test d'utilisation de la mémoire. Test traitement d'appel, SMS, échanges. Stress Test. Présentation de App Quality Aliance. 4 Tests spécifiques aux applications Android Caractéristiques des OS Android. Critères de tests spécifiques Android. Présentation du framework de test Android et de DDMS Les émulateurs et utilitaires de test. 5 Tests spécifiques aux Applications Android Caractéristiques des OS Android. Critères de tests spécifiques Android. Présentation du framework de test Android et de DDMS Les émulateurs et utilitaires de test. Développeur en environnement mobile Page 5 sur 23
6 Tests spécifiques aux applications Apple Caractéristiques des OS Apple. Notions sur l'installation d'application Apple, processus de soumission, sous-systèmes Apple. Critères de tests spécifiques à Apple. Les émulateurs et utilitaires de test. 7 Conclusion Logistique : constitution et gestion d'une flotte de terminaux mobiles, et des abonnements GSM associés. Utiliser une plateforme spécialisée Test externe. Automatisation. Développeur en environnement mobile Page 6 sur 23
GESTION DE PROJET AGILE DURÉE : 2 JOURS Les méthodes Agiles sont de plus en plus utilisées car elles permettent de mieux maîtriser les délais, les coûts et la production des projets informatiques. Elles mettent en avant la nécessité de développer de façon itérative et incrémentale, de faire du développement à base de composants, d'établir une bonne communication entre les acteurs, de gérer exigences et risques tout au long du projet et de recourir régulièrement au test logiciel. Ce séminaire après avoir présenté les principes de base partagés par les méthodes Agiles, présente de façon détaillée la méthode extreme Programming et la méthode Scrum. Les concepts et les techniques de la méthode RAD, à l origine des méthodes Agiles sont analysées. L étude d UP (Unified Process) et de DSDM permet d identifier les similitudes et les écarts entre une méthode agile et un processus plus formel. Connaître le langage Java. 1 Introduction Des approches plus adaptées aux nouvelles technologies. Principes. Communication. Compétence et implication des ressources. Démarche itérative et incrémentale. Acceptation du changement. Panorama. Présentation des principales méthodes agiles : Crystal Clear, XP, Scrum, FDD, DSDM, RAD, ASD. 2 Extreme Programming Ensemble bonnes pratiques de développement, améliorer la qualité des produits. Définir le contexte d'utilisation de la méthode. Mesurer et mettre en place les conditions de réussite. Un processus projet continu. Conception, validation et intégration en continu. Itération de développement et de livraison. Amélioration du code par la réécriture. Une rétroaction constante. Le pilotage par les tests, une planification par les scénarios clients, l'intégration du client, la programmation en binôme. L'évaluation des charges et des délais. Estimation des scénarios. Vélocité individuelle et équipe. Les acteurs. Rôles et responsabilités. Etude de cas Description de scénarios par des users stories 3 Scrum Caractéristiques de la méthode. Acteurs et rôles. Le Product Owner. Le ScrumMaster. Backlog du produit. Les stories, les features. backlog du sprint, les Développeur en environnement mobile Page 7 sur 23
tâches. Evaluation de la taille des stories : le planning poker. Evaluation de la charge : capacité et vélocité de l équipe des clients. Planification d un release, planification d un sprint, revue, rétrospective, planification journalière : le Scrum. Le plan de release Le suivi : les burndown chart de release, de sprint La signification du fini d un release, d un sprint, les tests d acceptation Adaptation de Scrum au contexte. Scrum et la sous-traitance. Les outils Comment assurer la transition vers Scrum. Etude de cas Réaliser le sprint 0 : identifier les features Estimer la taille des stories : planning poker, construire un plan de release, élaborer un backlog de sprint. Réaliser des tests d acceptation. 4 L intégration logicielle Programmation : développement piloté par les tests, conception simple, remaniement Collaboration : programmation en binôme, responsabilité collective du code, règle de codage, métaphore, intégration continue. 5 Description des fonctions Comment décrire les fonctions attendues dans la nouvelle application. Description globale et description détaillée : les users stories, les use case d UML, les procédures et cas de tests et recettes. La description des tâches par les programmeurs, les liens avec l approche objet, les objets logiciels. 6 RAD (Rapid Applicative Development) RAD : à l'origine des méthodes agiles. Principaux concepts : time box, démarche participative, acteurs. DSDM, une évolution de la methode RAD. 7 UP (Unified Process) RUP : une méthode unifiée mettant en oeuvre des concepts agiles. Analyse et comparaison Développeur en environnement mobile Page 8 sur 23
8 Un Bilan Les réponses agiles aux risques projets. Les facteurs de succès d'un projet agile. Développeur en environnement mobile Page 9 sur 23
AIDE A LA REDACTION DES MEMOIRES DURÉE : 2 JOURS Mettre en place une réflexion sur la rédaction du plan des dossiers à remettre au jury et du PowerPoint de la soutenance Réalisation des plans des deux livrables à remettre au jury Réalisation du plan du support pour la soutenance face au jury. Aucun Développeur en environnement mobile Page 10 sur 23
MÉTHODES DE RECUEIL ET D ANALYSE DES BESOINS DURÉE : 1 JOUR Définir et assurer son rôle de chef de projet fonctionnel Garantir la maîtrise du projet informatique Coordonner les tâches spécifiques des utilisateurs Maîtriser les principes de conception, analyse de l'existant et modélisation des besoins futurs Définir les paliers vers la solution cible Collaborer efficacement avec les maîtrises d'œuvre et d'ouvrage Des techniques d'interview et de recueil de besoin Les bonnes pratiques de l'analyse des besoins recueillis Les méthodes pour la constitution d'une équipe projet Le panorama des différents types de cahiers des charges. Aucun 1 L'approche de définition et d'analyse des besoins Identifier les besoins Obtenir les besoins du client La clarification et la reformulation des besoins L'analyse des besoins Définir les besoins Spécifier les besoins Classer les besoins par ordre de priorité Développer les besoins Cloisonnement des besoins Distribution des besoins Le suivi des besoins La gestion des besoins Tester et vérifier les besoins Valider les besoins 2 Les bénéfices et écueils d'une approche formalisée 3 La nomenclature des besoins 4 Les pratiques recommandées pour la définition et l'analyse des besoins 5 S'engager sur une approche Qu'est que s'engager sur une approche? Comment devenir et rester partenaires? Comment faire évoluer le partenariat? 6 Établir une équipe responsable du cahier des charges Que fait l'équipe? Comment créer l'équipe? Qui doit être dans l'équipe? Quand l'équipe doit-elle se réunir? Le Retour sur Investissement (ROI) d'une bonne définition et analyse des besoins Les rôles de la maîtrise d'ouvrage et de la maîtrise d'œuvre Développeur en environnement mobile Page 11 sur 23
7 Définir les besoins Interviewer les clients Interviewer un groupe Calmer les situations tendues L'évolution des besoins La différence entre les besoins et l'architecture 8 Identifier les besoins et les rendre visibles Présentation des techniques Définition collaborative JAD (Joint Application Development) Definition par approches successives (Design By Walking Around DBWA) Les scénarii L'approche par l'utilisation Les schémas heuristiques (mind maps) Les tableaux de Gilb L'approche 315 Prototypage Les diagrammes logiciels 9 Le cahier des charges fonctionnel Considérations générales d'un bon cahier des charges Choisir l'auteur du cahier des charges fonctionnel Quels besoins inclure dans un cahier des charges fonctionnel La longueur du cahier des charges fonctionnel Les caractéristiques désirées d'un cahier des charges fonctionnel Énoncer les besoins 10 Le cahier des charges fonctionnel standard Introduction Description générale Besoins détaillés 11 Le cahier des charges technique et général Les clauses La spécification technique du besoin 12 Définir et améliorer le processus d'identification des besoins Comment définir le processus? Les objectifs du responsable des besoins Exemple de processus d'identification des besoins Développeur en environnement mobile Page 12 sur 23
13 Règles à suivre pour une meilleure définition des besoins 14 Les itérations entre les cycles de définition des besoins et de l'architecture ou les processus d'ingénierie Le processus d'ingénierie Recommandations sur le processus d'ingénierie 15 Vérifier et valider l'adéquation aux besoins Les méthodes de vérification Recommandations Les erreurs à éviter Développeur en environnement mobile Page 13 sur 23
ETAT DE L ART DE LA MOBILITE DURÉE : 1 JOUR La guerre du mobile aura bien lieu Stratégie Mobilité C est quoi une solution mobile Facteurs clés de succès et spécificités d un service mobile Impacts sur la démarche projet HTML 5 Natif, Web et Hybrid MEAP (Mobile Enterprise Application Platform) et middleware Avoir suivi les modules précédents 1 La guerre du mobile aura bien lieu 2 Stratégie Mobilité 3 C est quoi une solution mobile 4 Facteurs clés de succès et spécificités d un service mobile Fragmentation des plateformes et des terminaux Expérience utilisateur : design graphique et ergonomie tactile Intégration au SI Sécurité Déploiement 5 Impacts sur la démarche projet 6 HTML 5 7 Natif, Web et Hybrid 8 MEAP (Mobile Enterprise Application Platform) et middleware 9 Accueil des participants 10 Présentation du déroulement de la formation Développeur en environnement mobile Page 14 sur 23
HTLM 5 DURÉE : 5 JOURS Appréhender les apports de HTML5 et CSS 3 face aux enjeux du web et du mobile d'aujourd'hui Créer des pages en HTML5 et utiliser les nouvelles balises Mettre en page et en forme avec CSS 3 Avoir de notions sur le responsive web design. Avoir une connaissance préalable minimale de HTML et CSS est un plus. 1 Introduction au HTML5 2 L Alignement de texte simple 3 Les liens 4 Bases de CSS 5 Les éléments de section html5 6 Le Modèle de boîtes 7 Les Tableaux 8 Formulaires 9 Les Media Queries 10 Au delà de l apparence 11 Le DOM d une page web Développeur en environnement mobile Page 15 sur 23
ERGONOMIE DES INTERFACES TACTILES DURÉE : 1 JOUR Définir sa stratégie de conception : Application native, site Web mobile, Responsive Webdesign... Mettre en œuvre une démarche de conception centrée utilisateur pour le mobile Concevoir une interface pour un écran tactile Se servir des critères ergonomiques et des guidelines des différents OS pour guider la conception Connaître les modèles d écrans et bonnes pratiques Maquetter une interface mobile : le navigation, les écrans, les composants 1 Définir sa stratégie de conception : Application native, site Web mobile, Responsive Webdesign... 2 Mettre en œuvre une démarche de conception centrée utilisateur pour le mobile 3 Concevoir une interface pour un écran tactile 4 Se servir des critères ergonomiques et des guidelines des différents OS pour guider la conception 5 Connaître les modèles d écrans et bonnes pratiques Maquetter une interface mobile : le navigation, les écrans, les composants Aucun Développeur en environnement mobile Page 16 sur 23
LES FRAMEWORKS ANDROID ET JAVA DURÉE : 7 JOURS Présentation de la plateforme Android Architecture d'une application Android Outils de développement Les activités Les intentions (intents) Stockage des données Fournisseurs de contenu Communication Gérer les tablettes Android Les services Autres fonctionnalités Maîtrise du langage java, notions de XML 1 Introduction Présentation de la plateforme Android Modèle Android et son architecture Autres acteurs du marché 2 Mise en place Environnement de développement Structure d'un projet Android : découpage, bibliothèques Les activités : présentation Cycle de vie d une application Packaging, signature et déploiement ; présentation de la publication sur Google Play Présentation de l'émulateur 3 L'environnement de développement La communication avec le matériel ou l'émulateur par ADB avec ADT Fenêtres de de débug ; mémoire, threads, logcat Ajouter des informations de débug Les toasts 4 Activités Activité et autres contextes Déclaration d'intents et résolution Configuration de l'application (AndroidManifest.xml) Communication entre activités : paramètres, résultat Les activités dans leur tâche, ordrage et réordrage Quitter une application Android? 5 Interface utilisateur et ressources Organisation du code (java / XML) Ressources textuelles, internationalisation Panorama de différents composants Android : boutons, texte, etc. Gestion des évènements et des commandes 6 Interfaces graphiques avancées Unités de mesure, adaptations aux écrans de Développeur en environnement mobile Page 17 sur 23
téléphones Les agencements disponibles Les styles et thèmes Diverses limites des thèmes 7 Menus et options Organisation d'un menu Menu de l'activité et menu contextuel Action bars en remplacement des menus Sauvegarde et récupération d'option dans les préférences Partage des préférences 8 Persistance des données Les fichiers : SDCard, interne, partagé ou réservé Création et accès aux fichiers Utilisation de la BDD embarquée SQLite Manipulation de services web : présentation du XML Manipulation de services web : utilisation de JSON / REST Gestion des données partagées (ContentProvider) Développeur en environnement mobile Page 18 sur 23
LE FRAMEWORK ET LE LANGAGE POUR IPHONE DURÉE : 7 JOURS L architecture iphone / ipod touch. L environnement de développement. Les API Cocoa Touch du SDK iphone. La gestion des données avec le Framework Foundation. L interface utilisateur pour vos applications iphone. Professionnaliser son application. Bonnes connaissances d'un langage de programmation objet (Java, C++, Objective-C) Maîtriser le développement d'applications mobiles sous iphone/ipad 1 Introduction Quid sur le développement d'applications mobiles ios Processus de développement et de déploiement Outils et licences XCode : présentation, API's de programmation (Cocoa), Simulateur, debug Structure d'un projet, fichiers, configuration Langage C : syntaxe, concepts de base Problèmes récurrents, fuites mémoires Gestion de la mémoire dans une application Profiling : Shark, Instruments Panorama des contrôleurs de vue avancés : Split View Controllers, Popovers,... Fonctions avancées : mail, flux RSS, synchronisation de threads 2 Objective-C Historique, versions Syntaxe de base du langage : variables, structure de contrôles, fonctions o Programmation Orientée Objet sous Objective- C : o Classes, instanciation o Agrégation o Encapsulation (propriétés) o Héritage Cycle de vie des objets et gestion de la mémoire Contrôleurs Protocoles 3 Foundation.framework Apport de COCOA Cocoa Foundation Kit : classes simples Cocoa Foundation Kit : structures de données Présentation du Cocoa Application Kit Développeur en environnement mobile Page 19 sur 23
4 Développement iphone / ipad Arborescence, interface, configuration Création de vues : o contrôles standards, listes o navigation o images, icônes o vues personnalisées o animation de vues Pattern MVC : présentation, vues et liaison au contrôleur Debug du code : options, problèmes récurrents Optimisation du code Test en émulation Empaquetage et publication o Stockage des données : o méthodes et différents formats o sérialisation de données dans des fichiers o préférences de l'utilisateur 5 Interfaces évoluées avec OpenGL (Open Graphics Library) Présentation, APIs disponibles Concepts de bases Animations 6 Stockage des données Rappels des méthodes de persistance : Xml, JSON Structures CoreData Accès aux bases de données SQLLite Développeur en environnement mobile Page 20 sur 23
DES FRAMEWORKS : GEOLOCALISATION, PAIEMENT, IDENTIFICATION DURÉE : 3 JOURS Les risques liés à la mobilité Les outils dédiés mobiles : jquery Mobile, XUI, CHocolateChip-UI, Sencha, Touchqode, etc. Les plates-formes dédiées : Google ADT, PhoneGap (Adobe), jqmobj, MobileFrame, etc. La géolocalisation Communications diverses : synchrones, asynchrones Evénements spéciaux, multitouch et motion Support du multimédia Internationalisation de l'application Multithreading Accès aux réseaux (Wifi), géolocalisation Accès aux web Services Accès aux informations du terminal Certificats Gestion des notifications Gestion des mises à jour Optimisations Avoir suivi les modules de développement ANDROID et IPhone Développeur en environnement mobile Page 21 sur 23
LES ACCES AUX DONNEES DANS LE CLOUD DURÉE : 3 JOURS Pouvoir accéder aux données depuis une application ANDROID ou IPHONE Avoir suivi les modules de développement ANDROID et IPhone Icloud Une nouvelle philosophie pour les utilisateurs et les développeurs Le modèle icloud d'apple (architecture et services offerts) Les différentes API de stockage icloud Le principe du stockage par paires clé/valeur icloud et le modèle SandBox pour les applications Exemples de stockage en ligne avec icloud API bas niveau (gestion de version) Déployer des documents, packages et répertoires pour ces applications sur icloud Une SandBox icloud pour chaque application Développeur en environnement mobile Page 22 sur 23
MISE EN SITUATION PROFESSIONNELLE : PROJET DURÉE : 10 JOURS Réalisation d'un projet à partir d'un CDC avec pour objectif de mettre en pratique et en autonomie l'ensemble des thématiques abordées durant la formation. Aucun Prendre en compte les caractéristiques et contraintes d un cahier des charges. Modéliser une application et savoir faire le bon choix technique. Déployer une application Développer une application tout en respectant les principes fondamentaux du langage et des Framework utilisés. Vérifier le fonctionnement de l application. Mettre en œuvre les optimisations. Développeur en environnement mobile Page 23 sur 23