Vous êtes étudiant en troisième année d'informatique à l'Université de Dschang. Dans le cadre du cours de développement d'applications mobiles, vous devez concevoir une application mobile appelée "Ma Super Liste". Cette application permet à un utilisateur de gérer plusieurs types de listes :
Liste générale (tâches à faire)
Liste de souhaits (cadeaux/envies)
Liste de lieux à visiter
Liste de courses
L'interface utilisateur s'inspire de l'image fournie. Chaque type de liste est représenté avec une icône, une description dynamique, et un bouton "View" qui permet d'accéder aux éléments de cette liste. Votre mission est de développer les différentes parties de cette application étape par étape.
PARTIE 1 — Programmation Mobile Android (Java ) — 10 questions
Objectif : Créer une application Android native multi-listes.
Création du projet :
Quelle configuration de projet Android Studio (langage, minimum SDK) choisir pour développer cette application ? Donne les étapes.
Maquette XML :
Propose un fichier activity_main.xml avec un layout contenant 4 blocs pour chaque type de liste (icône, texte, bouton "View").
Navigation entre activités :
Comment implémenter le passage de MainActivity vers une ListeActivity spécifique en fonction du bouton cliqué ? Écris le code Java/Kotlin du bouton + Intent.
Modèle de données :
Crée une classe ListeItem représentant un élément de liste (avec id, nom, description).
Affichage dynamique :
Quelle structure utiliser pour afficher dynamiquement les éléments d'une liste dans ListeActivity ? Implémente un RecyclerView et un Adapter.
Ajout d'un élément :
Crée une boîte de dialogue (AlertDialog) permettant à l'utilisateur d'ajouter un élément dans une liste. Montre le code.
Suppression d'un élément :
Comment permettre à l'utilisateur de supprimer un élément via un appui long sur un item ? Écris l'événement associé dans l'adapter.
Sauvegarde locale avec SharedPreferences :
Implémente une méthode pour sauvegarder les éléments de la liste localement (clé : type de liste).
Compteur dynamique :
Comment afficher dynamiquement "You have X items" en fonction de la taille de la liste ? Code Java/Kotlin requis.
Design mobile :
Propose une amélioration du design avec une barre inférieure de navigation (BottomNavigationView). À quoi sert-elle ici ?
PARTIE 2 — Ionic + Angular (Frontend mobile hybride) — 10 questions
Objectif : Développer l'équivalent de l'application sous Ionic + Angular.
Initialisation du projet :
Quelle commande permet de créer un projet Ionic avec Angular ? Quelle architecture de dossiers sera créée ?
Création des pages :
Quelles commandes pour générer les 4 pages correspondantes à chaque type de liste (ex. : shopping-list) ?
Routing :
Comment configurer la navigation entre la page d'accueil et les autres pages de liste ? Écris un extrait du app-routing.module.ts.
Composant d'affichage de liste :
Implémente un composant utilisant <ion-list> et <ion-item> avec *ngFor pour afficher les éléments.
Formulaire d'ajout :
Crée un formulaire avec ion-input et ion-button pour ajouter un élément. Quelle directive Angular utiliser pour la validation ?
Service de données partagé :
Crée un ListeService qui stocke en mémoire toutes les listes. Montre comment l'injecter dans une page.
Suppression avec alerte :
Implémente la suppression d'un item avec une alerte de confirmation (AlertController). Code requis.
Modale de détail :
Implémente une ModalController pour afficher les détails d'un élément cliqué.
Stockage local :
Implémente le stockage local avec Storage d'Ionic. Pourquoi cette solution est-elle adaptée aux apps mobiles ?
Navigation entre pages :
Ajoute une barre d'onglets (ion-tabs) pour passer d'une liste à une autre.
PARTIE 3 — Base de Données (MySQL, MongoDB, PostgreSQL) — 5 questions
Objectif : Concevoir la persistance des données côté serveur (API REST à venir).
Modélisation SQL (MySQL/PostgreSQL) :
Crée deux tables : Listes (id, nom, type) et Elements (id, nom, description, liste_id). Quelle relation SQL est définie entre elles ?
Modélisation NoSQL (MongoDB) :
Propose une structure de document JSON MongoDB représentant une liste avec ses éléments imbriqués.
Requête SQL (PostgreSQL) :
Écris une requête pour obtenir toutes les listes contenant plus de 10 éléments.
Connexion base <-> app :
Quelles étapes sont nécessaires pour connecter l'application mobile à une base distante via une API REST (express.js, laravel, etc.) ?
Comparaison des SGBD :
Pour cette application mobile, compare les avantages et limites de MySQL, MongoDB et PostgreSQL. Lequel recommanderais-tu ? Pourquoi ?
Contact WhatsApp : +237 652027193
Réaliser Par Joël_Yk
ACCÉDER A LA CORRECTION EN 1 CLIC
Correction :
Télécharger L'exercice Sous Forme de PDF
Si vous avez trouvé les examens corriges en Programmation Mobile de JoëlYk intéressants et utiles, pourquoi ne pas les partager avec d'autres personnes qui pourraient également en bénéficier ? Partagez ce lien sur les réseaux sociaux ou envoyez-le à vos amis et collègues. Vous pourriez aider quelqu'un à améliorer ses compétences en programmation ou à trouver des solutions à des problèmes complexes. N'oubliez pas que la connaissance doit être partagée pour grandir. Merci pour votre soutien et votre partage !
Contact WhatsApp : +237 652027193 | Réaliser Par Mr Joël_Yk
Encore Plus :
SUJET 05 | Programmation Mobile
Arborescence de l'application (5 points) Bob étudiant en informatique niveau 3 a l’université de Dschang ...