Exercice : "Gestionnaire de Tâches"

Objectif : Créer un petit programme de gestion de tâches en utilisant des modules Node.js et npm pour comprendre comment les modules fonctionnent et comment ils peuvent être importés et exportés.

Partie 1: Création des modules

  1. Initialisation du projet :

    • Créez un nouveau dossier nommé task_manager.
    • Ouvrez un terminal, naviguez (cd) dans ce dossier, et exécutez npm init -y pour créer un fichier package.json.
  2. Création des modules :

    • Dans le dossier task_manager, créez deux fichiers : task.js et index.js.
  3. Module Task :

    • Dans task.js, créez une classe Task qui peut construire des objets de tâche avec des propriétés comme title et completed.
    • Ajoutez une méthode toggleCompleted qui change l'état de completed.
    • Exportez la classe Task à la fin du fichier.
    class Task {
      constructor(title) {
        this.title = title;
        this.completed = false;
      }
    
      toggleCompleted() {
        this.completed = !this.completed;
      }
    }
    
    module.exports = Task;
    

Partie 2: Utilisation des modules

  1. Importation du module Task :

    • Dans index.js, importez le module Task que vous venez de créer.
    • Créez plusieurs instances de Task et changez leur état completed.
    const Task = require('./task');
    
    const task1 = new Task('Apprendre Node.js');
    const task2 = new Task('Lire la documentation de npm');
    
    task1.toggleCompleted();
    console.log(task1);
    console.log(task2);
    
  2. Exécution du script :

    • Exécutez le script en tapant node index.js dans votre terminal.
    • Vérifiez que les tâches sont correctement affichées avec leur état completed mis à jour.

Partie 3: Introduction à npm

  1. Installation d'un package :

    • Installez un package npm, comme lodash, en exécutant npm install lodash.
    • Utilisez une fonction de lodash dans votre index.js, par exemple, _.sortBy pour trier les tâches par leur titre.
    const _ = require('lodash');
    const Task = require('./task');
    
    const tasks = [
      new Task('Faire les courses'),
      new Task('Apprendre Node.js'),
      new Task('Aller courir')
    ];
    
    tasks[1].toggleCompleted();
    
    const sortedTasks = _.sortBy(tasks, ['title']);
    console.log(sortedTasks);
    
  2. Vérification de l'utilisation du package :

    • Exécutez à nouveau node index.js et vérifiez que les tâches sont triées par titre.

Partie 4: Défi supplémentaire (Optionnel)

  1. Gestion des tâches :
    • Ajoutez des fonctionnalités supplémentaires à votre gestionnaire de tâches, telles que l'ajout, la suppression et l'affichage des tâches.
    • Créez des modules séparés pour chaque fonctionnalité et importez-les dans index.js.

Cet exercice permet aux apprenants de pratiquer la création de modules, l'importation et l'exportation de fonctionnalités, et l'utilisation de packages npm pour étendre les capacités de leurs applications Node.js.

Modifié le: vendredi 3 novembre 2023, 08:41