Un outil en ligne de commande pour gΓ©rer vos notes, construit avec
Node.js et le module
fs.promises.
Les notes sont persistΓ©es dans un fichier notes.json.
Aucune dΓ©pendance externe β uniquement la bibliothΓ¨que standard Node.js.
# 1. Aller dans le dossier
cd 03-filesystem/mini-projet
# 2. Aucune installation nΓ©cessaire (pas de dΓ©pendances)
# Le projet utilise uniquement les modules natifs Node.js
# 3. Utiliser directement
node app.js
| Commande | Description | Exemple |
|---|---|---|
node app.js add "texte" |
Ajouter une note | node app.js add "Apprendre async/await" |
node app.js list |
Lister toutes les notes | node app.js list |
node app.js delete <id> |
Supprimer une note par ID | node app.js delete 1700000000000 |
node app.js search <terme> |
Rechercher dans les notes | node app.js search async |
$ node app.js add "Apprendre async/await avec fs.promises"
β Note ajoutΓ©e (ID: 1700000000001)
β "Apprendre async/await avec fs.promises"
$ node app.js add "Relire le cours N03 sur les streams"
β Note ajoutΓ©e (ID: 1700000000002)
$ node app.js list
ββββ Notes (2) ββββββββββββββββββββββββββββββββ
β [1700000000001] Apprendre async/await avec fs.promises
β 15/11/2024 10:30
β [1700000000002] Relire le cours N03 sur les streams
β 15/11/2024 10:31
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
β 2 note(s) au total.
$ node app.js search async
β 1 rΓ©sultat(s) pour "async" :
ββββ Notes (1) ββββββββββββββββββββββββββββββββ
β [1700000000001] Apprendre async/await avec fs.promises
β 15/11/2024 10:30
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
$ node app.js delete 1700000000001
β Note supprimΓ©e : "Apprendre async/await avec fs.promises"
[
{
"id": 1700000000001,
"texte": "Apprendre async/await avec fs.promises",
"date": "2024-11-15T09:30:00.001Z"
},
{
"id": 1700000000002,
"texte": "Relire le cours N03 sur les streams",
"date": "2024-11-15T09:31:00.002Z"
}
]
fs.promises.readFile() β lecture asynchrone avec async/awaitfs.promises.writeFile() β Γ©criture atomique du fichier JSONpath.join(__dirname, ...) β chemin absolu vers notes.jsonJSON.parse / JSON.stringify β sΓ©rialisation des donnΓ©esENOENT β fichier absent au premier lancement(async () => { ... })() β point d'entrΓ©e asynchroneprocess.argv β lecture des arguments CLI/* Chargement... */
npm install nΓ©cessaire : ce projet n'utilise que les modules natifs de Node.js
(fs, path).
TΓ©lΓ©chargez Node.js sur nodejs.org.