LabsUQAR LabsSemester 2INF1126 - Programmation Orientée Objet II
Labo 10
Interface graphique – Partie IV – Le motif d’architecture logicielle MVVM
Mise en application : Le motif d’architecture logicielle MVVM
Séance 10 (Le 31/03/2026)
Solution - GitHub
Exercice 01 : Convertisseur de températures avec options avancées
Objectif : Ajouter une option permettant de forcer l'arrondi du résultat.
Consignes :
- Créer une
TextBoxpour saisir la température. - Ajouter deux boutons pour convertir vers Celsius ou Fahrenheit (via
RelayCommand). - Ajouter une
CheckBox(Arrondir le résultat), liée à une propriété bool du ViewModel. - Si la case est cochée, le résultat affiché doit être un nombre entier.
- Ajouter une validation empêchant la conversion si la saisie est vide ou invalide.
Exercice 02 : Gestionnaire de tâches avec priorisation
Objectif : Permettre à l’utilisateur de prioriser ses tâches.
Consignes :
- Créer une
ListBoxaffichant les tâches. - Créer une
TextBoxpour saisir une nouvelle tâche. - Ajouter trois
RadioButtons pour choisir une priorité (Basse, Moyenne, Haute). - Ajouter un bouton Ajouter qui déclenche une commande
AjouterTacheCommand. - Les tâches ajoutées doivent indiquer leur priorité (ex: Haute, Moyenne, Basse).
- Empêcher d'ajouter une tâche sans nom.
Exercice 03 : Formulaire de connexion avec « Se souvenir de moi »
Objectif : Ajouter une option permettant de mémoriser le nom d'utilisateur.
Consignes :
- Ajouter les champs Nom d'utilisateur et Mot de passe.
- Ajouter un bouton Se connecter lié à
ConnexionCommand. - Ajouter une
CheckBox(Se souvenir de moi), qui sauvegarde le nom d'utilisateur si cochée. - Empêcher la connexion si les champs sont vides.
- Afficher un message d'erreur en cas d'échec de connexion.
Exercice 04 : Sélecteur de produit avec garantie
Objectif : Permettre la sélection d'un produit et l'ajout d'une option de garantie.
Consignes :
- Créer une
ComboBoxaffichant des produits (ex: Ordinateur, Smartphone, Tablette). - Afficher dynamiquement le prix du produit sélectionné.
- Ajouter trois
RadioButtons pour choisir la durée de garantie (1 an, 2 ans, 3 ans). - Ajouter une
CheckBox(Activer la garantie), qui désactive lesRadioButtons si décochée. - Ajouter un bouton Acheter (désactivé si aucun produit n’est sélectionné).
Exercice 05 : Compteur avec option « double incrément »
Objectif : Ajouter une option pour incrémenter de 2 au lieu de 1.
Consignes :
- Créer un
Labelaffichant la valeur du compteur. - Ajouter un bouton Incrémenter et un bouton Décrémenter liés à
RelayCommand. - Ajouter une
CheckBox(Incrémentation x2). - Si la case est cochée, le bouton Incrémenter ajoute +2 au lieu de +1.
- Empêcher d’aller en dessous de 0 ou au-delà de 10.
Exercice 06 : Système d'évaluation avec étoiles et « Anonyme »
Objectif : Permettre à l'utilisateur de noter un produit et de soumettre son avis anonymement.
Consignes :
- Ajouter cinq
RadioButtons représentant les étoiles (★). - Ajouter une
CheckBox(Laisser un avis anonyme). - Ajouter un champ
TextBoxpour le commentaire. - Si la case Anonyme est cochée, le champ Nom devient désactivé.
- Ajouter un bouton Valider, qui est désactivé si la note est inférieure à 1 étoile.
Exercice 07 : Formulaire d'inscription avec CGU
Objectif : Ajouter une case à cocher pour valider les conditions générales d'utilisation (CGU).
Consignes :
- Ajouter les champs suivants :
- Nom (obligatoire)
- Email (doit contenir
@) - Mot de passe (minimum 6 caractères)
- Confirmation du mot de passe (doit correspondre au mot de passe)
- Ajouter une
CheckBox(J'accepte les conditions générales d'utilisation). - Le bouton S'inscrire est désactivé tant que la case CGU n’est pas cochée.
- Afficher les messages d'erreur sous chaque champ si la saisie est incorrecte.