ESTEM JADLI Aissam
Travaux Pratiques (4)
L’Ecosystème NodeJS
I- Node Events
Dans un nouveau fichier nommé <[Link]> :
1) Importer le module <events> intégré par défaut à NodeJS et instancier un objet EventEmitter
2) Créer une fonction nommé <handler> pour gérer un événement nommé <event> et affiche le
message « Event Fired »
3) Déclencher l’événement en utilisant la méthode setTimeout après 3 seconds.
4) Exécuter le fichier en utilisant la commande node tp4. Que constatez-vous ?
5) Ajouter un nouveau événement nommé <process> et lancer depuis la fonction handler.
6) Exécuter le fichier à nouveau. Que constatez-vous ?
II- Node FileSystem
1) Créer un fichier [Link] contenant 5 valeurs séparées par des virgules : 25, 12, 30, 10, 2
2) Lire le fichier grâce à a méthode readFile(<FILE_NAME>, callback) et afficher son contenu. Que
constatez-vous ?
3) Pour afficher correctement le contenu du fichier, ajouter un encodage de « utf-8 » comme 2ème
paramètre à la fonction readFile() et ré-exécuter le fichier.
4) Ajouter une nouvelle valeur « 40 » au fichier [Link] en utilisant la méthode appendFile().
Vérifier le fichier texte pour voir si la donnée a été insérée correctement.
5) Créer un fichier « [Link] » et écrire les même valeurs à l’intérieur en utilisant les méthodes open()
et write() du module fs.
6) Supprimer le fichier « [Link] » en utilisant la méthode [Link]()
7) Renommer le fichier « [Link] » en « [Link] » en utilisant la méthode [Link]()
8) Lister le contenu du Répertoire en utilisant la méthode [Link]() et afficher les fichiers qui y
existent.
9) Surveiller les changements dans le répertoire courant grâce à la méthode [Link]() et afficher à
chaque fois le nouveau contenu du répertoire.
ESTEM © 2020/2021. Tous les droits sont réservés jadliaissam@[Link]
ESTEM JADLI Aissam
III- Exercice Récapitulatif
On souhaite gérer les notes de 3 étudiants et les stocker dans des fichiers séparés selon l’élément
enseigné [Algorithmique, Programmation, Data Science]
1) Lancer une console interactive const readline = require('readline');
const rl = [Link]({
NodeJS en utilisant le module input: [Link],
output: [Link]
« readline ». });
[Link]('Saisir les notes de l’Algorithmique :', (answer) => {
2) Récupérer les notes des 3 // Process the notes
étudiant pour chacun des // Example answer : '14,20,10'
});
élément séparés par des
virgules en utilisant la méthode [Link]() et stocker-les dans 3 fichiers séparés.
3) Créer un objet global pour stocker les notes des étudiants et récupérer ses données depuis les 3
fichiers.
4) Surveiller les changements effectués sur les fichiers du répertoire courant et émettre un événement
si un des 3 fichiers de notes change.
5) Créer un événement nommé « noteChange » qui actualiser les notes dans l’objet global à chaque
modification et l’affiche sur la console. Modifier les fichiers de notes directement et vérifier sur la
console les nouvelles notes.
ESTEM © 2020/2021. Tous les droits sont réservés jadliaissam@[Link]