1.1 Compléter le code de la classe ListeDeTaches
Vous devez compléter la classe ListeDeTaches fournie dans le
fichier ListeDeTaches.js. Le constructeur et la méthode
sauvegarderTaches() sont déjà implémentés et
vous
sont fournis (attention à ne pas modifier ce code). Votre travail
va
consister à implémenter toutes les autres méthodes de la classe.
1. Méthode afficherTaches()
Ecrivez le code de la méthode afficherTaches() qui affiche de manière
formatée
sur la console toutes les tâches contenues dans le tableau taches attribut
de
la
liste de tâches. Le format d'affichage attendu est :
✓ Tâche 1
ID: 1764440896115
Préparer un sujet d'examen
Priorité: Haute
Créée le: 29/11/2025 19:28:16
Statut: Terminée
○ Tâche 2
ID: 1764438775160
Corriger les copies
Priorité: Moyenne
Créée le: 29/11/2025 18:52:55
Statut: En cours
Indications :
- Si le tableau est vide, afficher :
"Aucune tâche à afficher." - Utiliser
`✓`pour les tâches terminées et`○`pour les tâches en cours - Les tâches sont affichées dans leur ordre d'apparation dnas le tableau
tacheset sont numérotées à partir de 1 (alors que le tableau commence à l'indice 0).
Vérifiez que l'affichage produit correspond bien à ce qui est demandé (choix 10 du menu
de
l'application app.js.
2. Getters nbTaches et nbTachesTerminees et méthode
nbTacheDePriorite(niveauPriorite)
Ecrivez le code des getters nbTaches et
nbTachesTerminees
qui renvoient
respectivement le nombre total de tâches de la liste et le nombre de tâches marquées
comme
terminées.
Ecrivez le code de la méthode nbTacheDePriorite(niveauPriorite) qui renvoie
le
nombre de tâches ayant un niveau de priorité donné.
Paramètre :
niveauPriorite(string) : le niveau de priorité à rechercher ("Basse","Moyenne","Haute")
Retour : (number) le nombre de tâches correspondantes
Testez ces méthodes en appelant le choix 2 (Afficher les statistiques) de l'application app.js et en vérifiant que les valeurs fournies correspondent bien aux valeurs effectives.
3. Méthode terminer(index)
Ecrivez le code de la méthode terminer(index) qui marque une tâche comme
terminée
Paramètre :
index(number) : le numéro de la tâche à marquer comme terminée (commence à 1)
Attention : Les tâches sont numérotées à partir de 1 pour l'utilisateur, mais le tableau commence à l'indice 0.
Testez cette méthode (choix 3 du menu de app.js) et la tâche a bien été marquée (en affichant la liste des tâches (choix 1) et les statistiques (choix 2))
4. Méthode nouvelleTache(description, priorite)
Ecrire le code de la méthode nouvelleTache(description, priorite) qui ajoute
une
nouvelle tâche à la fin de la liste.
Paramètres :
description(string) : la description de la tâche,priorite(string) : la priorité de la tâche (par défaut"Basse")
Structure de la tâche à créer :
id: utiliserDate.now()pour générer un identifiant unique 1.description: la description fournieterminee: initialisé à falsepriorite: la priorité fournie (ou "Basse" par défaut)dateCreation: la date actuelle au format français (new Date().toLocaleString("fr-FR"))
Avec l'application app.js créez une nouvelle tâche (choix 4 du menu) et vérifiez ensuite qu'elle apparait correctement à la fin de liste des tâches (choix 1).
Il va de soi que dans nouvelleTache vous ne devez pas lire les valeurs
au
clavier, ceci est fait dans le code de app.js qui ensuite appelle
cette
méthode.
5. Méthode supprimer(index)
Ecrivez le code de la méthode supprimer(index) qui supprime une tâche de la
liste et la renvoie.
Paramètre :
index(number) : le numéro de la tâche à supprimer (commence à 1 comme pour la méthodeterminer)
Retour : (object) la tâche supprimée
Indication : vous pouvez essayer d'utiliser la méthode
splice() des tableaux qui peut s'avérer bien utile pour de telles
situations.
Utilisez l'application app.js pour tester la suppression (choix 5 du menu) et verifier que la tâche a bien été retiré de la liste (en affichant la liste des tâches (choix 1) et les statistiques (choix 2))
6. Méthode supprimerTachesTerminees()
Ecrivez le code de la méthode supprimerTachesTerminees() qui supprime de la
liste toutes les tâches terminées.
indication : vous pouvez utilisez la méthode filter() des tableaux pour ne conserver que les tâches non terminées.
Utilisez l'application app.js pour tester la suppression (choix 3 du menu).
Cet examen se déroulant sur
machine, vous devrez à la fin de l'épreuve remettre votre travail sous la forme d'un
fichier compressé (zip ou tar/gz) que vous déposerez dans l'espace prévu à cet effet sur le
serveur moodle de l'ufr im2ag. Afin qu'il n'y ait pas de confusion
et de conflits lors de la remise de votre travail vous devrez
OBLIGATOIREMENT respecter les consignes qui suivent.
)
lorsque la fenêtre n'est
plus assez large pour afficher tous les items de navigation,