École Privée d’Ingénierie du Niger — L’école du nouveau monde

✉ elearning@epiniger.edu.ne    🌐 epiniger.edu.ne

Unité d’enseignement : GELO · S5 · UE4 — Développement Avancé

  • Développement Mobile Avancé

    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

    1. Leçon 1 — Architecture et gestion d’état avancée
    2. Leçon 2 — Fonctionnalités natives avancées
    3. Leçon 3 — Performance et tests
    4. 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.
  • Python & Data Science

    Le cours PDS5141 — Python & Data Science (semestre 5, Licence professionnelle GELO) fait passer l’étudiant de l’usage « scolaire » de Python à la construction de véritables pipelines de données et de modèles d’apprentissage automatique (Machine Learning, ML) déployés en production. Les exemples sont tirés du contexte nigérien : transactions Mobile Money (Airtel Money, Moov Money, Amanata), microfinance à Maradi, pharmacies de Niamey, scolarité à EPI-Niger. Une attention particulière est portée aux contraintes locales : faible bande passante, serveurs modestes, besoin de modèles légers et explicables.

    Objectifs d’apprentissage

    • Maîtriser Python avancé pour le développement de pipelines de data science et d’applications IT.
    • Implémenter et évaluer des modèles de Machine Learning supervisés et non supervisés.
    • Déployer un modèle de Machine Learning en production via une API REST (FastAPI).
    • Appliquer le ML à des problèmes réels liés au contexte africain et nigérien.

    Prérequis

    Programmation Orientée Objet Java/C++ (POO4131, GELO S4) ; Statistiques & Data Analysis (SDA4122). Une pratique de base de Python 3 (types, fonctions, listes, dictionnaires) est supposée acquise.

    Plan du cours

    1. Leçon 1 — Python avancé pour la Data Science
    2. Leçon 2 — Machine Learning supervisé
    3. Leçon 3 — Machine Learning non supervisé
    4. Leçon 4 — Déploiement de modèles ML

    Travaux pratiques

    • TP guidé (leçon 3) : segmentation des clients d’une fintech nigérienne par clustering.
    • TP guidé (leçon 4) : pipeline complet entraînement → évaluation → déploiement → monitoring d’un modèle ML (MLflow, FastAPI, Docker, Redis).

    Environnement conseillé : Python 3.11 ou plus, NumPy, pandas, scikit-learn, MLflow, FastAPI, Docker. Tout peut fonctionner hors ligne une fois les paquets installés (pensez à préparer un miroir local ou un wheelhouse pip pour les salles à connexion limitée).

    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 notés, mini-projet de déploiement) et examen terminal 60 % ; nature mixte (écrit et pratique).

    Bibliographie

    • A. Géron, Hands-On Machine Learning with Scikit-Learn, Keras and TensorFlow, O’Reilly.
    • J. VanderPlas, Python Data Science Handbook, O’Reilly (version gratuite sur GitHub).
    • W. McKinney, Python for Data Analysis, O’Reilly (complément sur pandas).
    • Documentations officielles : scikit-learn.org, pandas.pydata.org, fastapi.tiangolo.com, mlflow.org.