Développement/Programmation Mobile (UPM)
2024/2025
2024/2025
Le but de ce cours est de :
Comprendre les principes de base du développement des apps mobiles
Être en mesure de déployer et de tester des applications mobiles sur des appareils réels ou des émulateurs.
Familiariser l'étudiant avec la programmation mobile sous l’environnement Android.
S’initier à l’utilisation du kit de développement (SDK) d'Android et l’IDE Android studio pour la réalisation des applications mobiles.
Principes de la Programmation Orienté Objet (POO)
Familiarité avec les concepts de développement logiciel, tels que la gestion de versions, la documentation, le débogage et les tests unitaires.
Les étudiants doivent avoir une maîtrise du langage Java.
Expérience avec les environnements de développement intégrés (IDE) .
Connaissance des bases de données : Une compréhension des bases de données et des opérations CRUD (Create, Read, Update, Delete) est utile pour le stockage et la manipulation des données dans les applications mobiles.
Le projet représente une partie indispensable de ce module. Il vise plusieurs objectifs:
Consolider les connaissances acquises en cours et travaux dirigés et pratiques;
Développer les qualités indispensable pour un développeur d’applications mobiles:
Esprit d’analyse
Capacité à apprendre à chercher des solutions à des problèmes;
Créativité et innovation
Apprendre à travailler dans un groupe-projet de façon efficace et enrichissante dans une double perspective de développement de son autonomie et de capacité à travailler et à s’organiser en équipe.
Mes principales tâches sont:
valider dès le début la proposition des projets;
orienter les étudiants vers des ressources ;
donner des conseils en termes d’organisation ;
valider la répartition des tâches au sein du groupe et la planification ;
évaluer: les rapports hebdomadier, l’analyse fonctionnelle & techniques, ..., les rendus finaux.
L’étudiant (vous):
s’investir dans un projet et une équipe de travail ;
participer activement aux réunions de travail et à la réalisation des tâches ;
se donner les moyens d’optimiser l’acquisition de savoir-faire et de savoir être professionnalisant.
Les membres de chaque équipe doivent préparer un rapport mensuel:
Chaque étudiant doit rédiger une fiche individuelle et l’alimenter tout au long du projet. Elle est confidentielle et communiquée seulement au professeur.
Pour préparer chaque réunion, l'équipe établira un document intitulé “État d’avancement et Questions”
Ce document préparatoire doit être envoyer à mon email avant chaque réunion. (y.saqi@uca.ac.ma )
Le rapport finale doit contenir entre 15 et 25 pages (sans les annexes), et respecte la mise en forme suivante.
Mini-projets STRI (2017/2018):
Groupe 1: Conception et réalisation de l’application FindMe sous Android Studio
Groupe 2: Gestion des réservations « Chems Du Lac Bin El Ouidane »
Groupe 3: Conception et développement d’une Application Mobile << Connectivity >>
Groupe 4: Réalisation d'une application éducative pour l'amélioration de la mémoire
Groupe 5: Conception et réalisation d’une application mobile : "Cours télécoms et réseaux
Mini-projets STRI (2018/2019):
Code source: https://github.com/AbdellatifKICHNA/BECKBus-MiniProjet-1
Vidéo de démonstration: https://www.youtube.com/watch?v=YxwW0hcu-T4
Groupe 5: ADAPTATION EN LANGUE ARABE D’UN JEU CULTUREL EN FRANÇAIS
Mini-projets STRI (2019/2020):
Réalisation D'une Application Mobile BricoHouse
Mini-projets ISI (2019/2020):
Lien Github pour la partie mobile: https://github.com/Master-ISI-Projects/usms-mobile
Lien Github pour la partie web : https://github.com/Master-ISI-Projects/usms-web
Ardito, L., Coppola, R., Malnati, G., & Torchiano, M. (2020). Effectiveness of Kotlin vs. Java in android app development tasks. Information and Software Technology, 127, 106374.
Biørn-Hansen, A., Grønli, T. M., & Ghinea, G. (2018). A survey and taxonomy of core concepts and research challenges in cross-platform mobile development. ACM Computing Surveys (CSUR), 51(5), 1-34.
Biørn-Hansen, A., Rieger, C., Grønli, T. M., Majchrzak, T. A., & Ghinea, G. (2020). An empirical investigation of performance overhead in cross-platform mobile development frameworks. Empirical Software Engineering, 25, 2997-3040.
Rieger, C., & Majchrzak, T. A. (2019). Towards the definitive evaluation framework for cross-platform app development approaches. Journal of Systems and Software, 153, 175-199.
Lachgar, M., & Abdali, A. (2017). Decision framework for mobile development methods. Int. J. Adv. Comput. Sci. Appl, 8(2).
Apps take flight with Flutter: https://flutter.dev/showcase
https://openclassrooms.com/fr/courses/6739646-realisez-un-cahier-des-charges-fonctionnel
https://developer.android.com/studio/run/emulator-acceleration
Optimiser les performances de votre système d’exploitation:
Chapitre 2: Ressources indispensables
Chapitre 3: SDK/NDK et composants de base d'une application mobile
Chapitre 4 : Conception d'interfaces utilisateur pour les applications mobiles
Livres:
J. Horton, Android Programming for Beginners: Build in-depth, full-featured Android 9 Pie apps starting from zero programming experience, 2nd Edition, 2nd edition. Packt Publishing, 2018.
Courses:
Android Basics in Kotlin: https://developer.android.com/courses/basic-android-kotlin-training/overview
Advanced Android Development: https://developer.android.com/courses/advanced-training/overview
Android Kotlin Fundamentals: https://developer.android.com/courses/kotlin-android-fundamentals/overview
URLs:
Choose a Database: Cloud Firestore or Realtime Database: https://firebase.google.com/docs/database/rtdb-vs-firestore