Ecole Polytechnique de Sousse Année Universitaire : 2024 -2025
Classe : 3eme EA DS S2
Matière : POO avec Java Durée : 1h30
Enseignant : Mahbouba Hattab Date : 10- 03 - 2025
Documents autorisés : Non Nombre de Pages : 3
Problème : Gestion des Cartes de Panne (20 pts)
Dans une entreprise de maintenance, il est nécessaire de suivre à la fois les pannes des machines et les
interventions de maintenance. Pour cela, le système utilise des cartes qui partagent des informations
communes (numéro, date, description) et qui présentent des informations spécifiques selon leur type.
Deux types de cartes seront gérés :
• CartePanne : pour signaler et suivre une panne d’une machine (avec, par exemple, un statut
indiquant si la panne est résolue, en cours de réparation, etc.).
• CarteMaintenance : pour enregistrer une intervention de maintenance (avec le nom du technicien et
la durée de l’intervention).
Ces deux cartes hériteront d’une classe parente Carte qui regroupe les attributs communs.
Le système à réaliser devra permettre de :
• Enregistrer une carte de panne dès qu’une machine rencontre un problème.
• Afficher les détails d’une panne afin d’informer les techniciens et le gestionnaire.
• Modifier l’état ou les informations d’une carte de panne (ex. : passer d’un état “Non résolu” à “En
cours de réparation” puis à “Résolu”).
Classes à Définir
1. Classe Machine
• Attributs :
• id (String) : identifiant unique de la machine.
• nom (String) : nom ou désignation de la machine.
• type (String) : type ou catégorie de la machine.
• Méthode :
• afficherInfos() : affiche sur la console les informations (id, nom, type) de la machine.
2. Classe Carte ( classe de base)
• Attributs :
• numeroCarte (String) : identifiant unique de la carte.
Ecole Polytechnique de Sousse Année Universitaire : 2024 -2025
• dateCarte (LocalDate) : date de création de la carte.
• description (String) : description de l’incident ou de l’intervention.
• Méthodes :
• afficherCarte() : affiche les informations de base de la carte.
3. Classe CartePanne (Fille)
• Hérite de : Carte
• Attributs supplémentaires :
• machine (Machine) : machine concernée par la panne.
• statut (String) : état de la panne (ex. “Non résolu”, “En cours de réparation”, “Résolu”).
• Méthodes :
• modifierStatut(String nouveauStatut) => But : Mettre à jour le statut de la panne.
• afficherCarte() (redéfinition) : affiche toutes les informations de la carte de panne.
4. Classe carteMaintenance (Fille)
• Hérite de : Carte
• Attributs supplémentaires :
• machine (Machine) : machine concernée par l’intervention.
• technicien (String) : nom du technicien ayant réalisé l’intervention.
• dureeIntervention (int) : durée de l’intervention en minutes.
• Méthodes :
• modifierDuree(int nouvelleDuree)=> But : Mettre à jour la durée de l’intervention.
• afficherCarte() (redéfinition) : affiche toutes les informations de la carte de maintenance.
5. Classe GestionCartes
• Attribut :
• listeCartes (ArrayList) : collection regroupant toutes les cartes (qu’elles soient de type CartePanne ou
CarteMaintenance).
• Méthodes :
• ajouterCarte(Carte carte) => But : Ajouter une carte dans la liste
• afficherToutesCartes() => But : Parcourir la collection et appeler la méthode afficherCarte() sur
chacune des cartes.
Ecole Polytechnique de Sousse Année Universitaire : 2024 -2025
6. Classe Test
1. Création d’un Objet Machine
• Instanciez une unique machine en précisant son identifiant, son nom et son type.
2. Création de Cartes
• CartePanne : Créez une carte de panne associée à la machine avec un numéro, une date, une
description et un statut initial (par exemple, “Non résolu”).
• CarteMaintenance : Créez une carte de maintenance pour la même machine en spécifiant le
numéro, la date, la description, le nom du technicien et la durée d’intervention.
3. Gestion des Cartes
• Instanciez un objet de type GestionCartes.
• Ajoutez les cartes créées dans la collection via la méthode ajouterCarte().
• Affichez toutes les cartes enregistrées en appelant afficherToutesCartes(), laquelle utilisera la
méthode redéfinie afficherCarte() pour chaque carte.
4. Modification et Affichage
• Pour la CartePanne : Modifiez le statut en utilisant modifierStatut() puis affichez la carte pour
vérifier la mise à jour.
• Pour la CarteMaintenance : Modifiez la durée de l’intervention avec modifierDuree() et affichez la
carte pour confirmer la modification.