Le cours DMA5142 — Développement Mobile Avancé prolonge l’initiation au développement mobile (S3) vers la réalisation d’applications React Native (Expo) de niveau professionnel : architecture maintenable, gestion d’état avancée, fonctionnalités natives (paiement mobile, cartes, biométrie, notifications), performance, tests, publication et monétisation. Le fil rouge est une application d’e-commerce de produits locaux (kilishi, fromage wagashi, beurre de karité…) avec livraison à Niamey et paiement par Mobile Money (Airtel Money, Moov Money, Amanata). Les contraintes du terrain nigérien sont prises en compte : smartphones Android d’entrée de gamme, réseau 3G/4G irrégulier, forfaits data coûteux — d’où une approche offline-first et des applications légères.
Objectifs d’apprentissage
- Développer des applications mobiles complexes avec gestion d’état avancée (Redux, MobX et alternatives légères).
- Intégrer des fonctionnalités natives avancées : paiement mobile, cartes, authentification biométrique.
- Optimiser les performances des applications React Native : rendu, mémoire, taille du bundle.
- Déployer et monitorer une application mobile en production sur Google Play et l’App Store.
Prérequis
Introduction au Développement Mobile (DMO3122, GELO S3) ; Programmation Orientée Objet Java/C++ (POO4131). JavaScript ES6+ (fonctions fléchées, promesses, async/await, modules) et bases de React (composants, props, hooks useState/useEffect).
Plan du cours
- Leçon 1 — Architecture et gestion d’état avancée
- Leçon 2 — Fonctionnalités natives avancées
- Leçon 3 — Performance et tests
- Leçon 4 — Déploiement et monétisation
Travaux pratiques
- TP guidé (leçon 2) : paiement Mobile Money de bout en bout (backend, webhook, suivi d’état).
- TP projet (leçon 4) : application mobile complète avec paiement mobile africain et déploiement sur le Play Store (piste de test interne).
Environnement : Node.js LTS, Expo (SDK récent), Android Studio/émulateur ou téléphone Android avec Expo Go, compte Expo (EAS), Git/GitHub.
Modalités d’évaluation
Volume horaire : CM 10 h, TD 10 h, TP 20 h, TPE 20 h, soit 60 h (3 crédits). Évaluation CC + ET : contrôle continu 40 % (TP, projet et démonstration) et examen terminal 60 % ; nature mixte.
Bibliographie
- B. Eisenman, Learning React Native, O’Reilly.
- Documentation officielle Expo : docs.expo.dev (gratuite).
- Documentation React Native (reactnative.dev), Redux Toolkit (redux-toolkit.js.org), TanStack Query (tanstack.com/query).
- R. C. Martin, Clean Architecture, Prentice Hall.
