Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Gestion des Répertoires dans Node.js | Création d'Applications Console avec Node.js
Développement Backend avec Node.js et Express.js

bookGestion des Répertoires dans Node.js

Nous avons exploré de nombreuses techniques de manipulation de fichiers grâce au module FileSystem (fs). Cependant, les répertoires ne servent pas uniquement à stocker des fichiers : ils offrent des possibilités d’organisation, d’analyse de données, et bien plus encore.

Dans ce chapitre, nous allons approfondir la manipulation des répertoires et vous guider dans la navigation, la collecte de statistiques essentielles, le traitement des dossiers, ainsi que la création d’un script pour analyser et afficher le contenu d’un répertoire.

📂 Navigation dans les répertoires avec fs.readdir

La méthode fs.readdir lit de manière asynchrone le contenu d’un répertoire. Elle retourne un tableau de noms de fichiers. Cette méthode est utile pour lister les fichiers d’un dossier.

Considérons un scénario où l’on gère de nombreux contrats juridiques, mémoires et autres documents relatifs à différents dossiers et clients. Il serait possible de créer un système qui extrait et liste les noms des fichiers présents dans le dossier de chaque client.

Exemple de code : Lire les noms de fichiers d’un répertoire

const fs = require("fs").promises;

async function listDirectoryContents(directoryPath) {
  try {
    const files = await fs.readdir(directoryPath);
    console.log("Directory Contents:", files);
  } catch (err) {
    console.error("Error reading directory:", err.message);
  }
}

listDirectoryContents("./docs");

Explication étape par étape

📊 Obtenir les statistiques des répertoires avec fs.stat

Les répertoires contiennent des fichiers et détiennent des informations précieuses sur les attributs de chaque fichier.

La méthode fs.stat récupère de manière asynchrone les statistiques d’un fichier ou d’un répertoire. Ces statistiques incluent la taille du fichier, les permissions, les horodatages, et plus encore.

Obtenons les statistiques de chaque dossier à l’intérieur du dossier docs.

Exemple de code : Obtenir les noms et statistiques des répertoires

const fs = require("fs").promises;

async function processDirectoryContents(directoryPath) {
  try {
    const files = await fs.readdir(directoryPath);

    const fileStatsPromises = files.map(async (file) => {
      const filePath = `${directoryPath}/${file}`;
      const stats = await fs.stat(filePath);
      return { name: file, stats };
    });

    const fileStats = await Promise.all(fileStatsPromises);
    console.log("Detailed File Information:", fileStats);
  } catch (err) {
    console.error("Error processing directory contents:", err.message);
  }
}

processDirectoryContents("./docs");

Explication étape par étape

🧐 Temps de Quiz

Testez vos connaissances sur le module FileSystem (fs) avec quelques questions concernant la gestion des répertoires.

1. Quelle méthode peut être utilisée pour lister le contenu d’un répertoire ?

2. Quel est le but de la méthode fs.stat ?

question mark

Quelle méthode peut être utilisée pour lister le contenu d’un répertoire ?

Select the correct answer

question mark

Quel est le but de la méthode fs.stat ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 9

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

Can you explain the difference between fs.readdir and fs.stat?

How can I filter only directories or only files from the results?

What other useful information can I get from the stats object?

Awesome!

Completion rate improved to 2.56

bookGestion des Répertoires dans Node.js

Glissez pour afficher le menu

Nous avons exploré de nombreuses techniques de manipulation de fichiers grâce au module FileSystem (fs). Cependant, les répertoires ne servent pas uniquement à stocker des fichiers : ils offrent des possibilités d’organisation, d’analyse de données, et bien plus encore.

Dans ce chapitre, nous allons approfondir la manipulation des répertoires et vous guider dans la navigation, la collecte de statistiques essentielles, le traitement des dossiers, ainsi que la création d’un script pour analyser et afficher le contenu d’un répertoire.

📂 Navigation dans les répertoires avec fs.readdir

La méthode fs.readdir lit de manière asynchrone le contenu d’un répertoire. Elle retourne un tableau de noms de fichiers. Cette méthode est utile pour lister les fichiers d’un dossier.

Considérons un scénario où l’on gère de nombreux contrats juridiques, mémoires et autres documents relatifs à différents dossiers et clients. Il serait possible de créer un système qui extrait et liste les noms des fichiers présents dans le dossier de chaque client.

Exemple de code : Lire les noms de fichiers d’un répertoire

const fs = require("fs").promises;

async function listDirectoryContents(directoryPath) {
  try {
    const files = await fs.readdir(directoryPath);
    console.log("Directory Contents:", files);
  } catch (err) {
    console.error("Error reading directory:", err.message);
  }
}

listDirectoryContents("./docs");

Explication étape par étape

📊 Obtenir les statistiques des répertoires avec fs.stat

Les répertoires contiennent des fichiers et détiennent des informations précieuses sur les attributs de chaque fichier.

La méthode fs.stat récupère de manière asynchrone les statistiques d’un fichier ou d’un répertoire. Ces statistiques incluent la taille du fichier, les permissions, les horodatages, et plus encore.

Obtenons les statistiques de chaque dossier à l’intérieur du dossier docs.

Exemple de code : Obtenir les noms et statistiques des répertoires

const fs = require("fs").promises;

async function processDirectoryContents(directoryPath) {
  try {
    const files = await fs.readdir(directoryPath);

    const fileStatsPromises = files.map(async (file) => {
      const filePath = `${directoryPath}/${file}`;
      const stats = await fs.stat(filePath);
      return { name: file, stats };
    });

    const fileStats = await Promise.all(fileStatsPromises);
    console.log("Detailed File Information:", fileStats);
  } catch (err) {
    console.error("Error processing directory contents:", err.message);
  }
}

processDirectoryContents("./docs");

Explication étape par étape

🧐 Temps de Quiz

Testez vos connaissances sur le module FileSystem (fs) avec quelques questions concernant la gestion des répertoires.

1. Quelle méthode peut être utilisée pour lister le contenu d’un répertoire ?

2. Quel est le but de la méthode fs.stat ?

question mark

Quelle méthode peut être utilisée pour lister le contenu d’un répertoire ?

Select the correct answer

question mark

Quel est le but de la méthode fs.stat ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 9
some-alt