Comment écrire correctement des données dans un fichier en Node.js : synchrone, asynchrone et via des flux ?
Bonjour à tous ! Je suis débutant en Node.js et j'essaie de comprendre comment écrire des données dans des fichiers. J'ai lu beaucoup de documentation, mais j'ai la tête qui tourne à cause du nombre de méthodes : `writeFile`, `writeFileSync`, `appendFile`, `createWriteStream`... Quand utiliser quoi ?
J'ai une application simple pour journaliser les actions des utilisateurs. Je veux écrire chaque action dans un fichier `log.txt`. Actuellement, je fais ceci :
```javascript
const fs = require('fs');
function logAction(action) {
const data = `${new Date().toISOString()} - ${action}\n`;
fs.writeFile('log.txt', data, (err) => {
if (err) console.error('Erreur d'écriture :', err);
});
}
logAction('Utilisateur connecté');
logAction('Utilisateur a cliqué sur le bouton "Acheter"');
```
Le problème est que parfois le fichier ne contient que la dernière entrée, et parfois il est complètement vide. Je soupçonne que c'est à cause de l'asynchronisme, mais je ne comprends pas comment organiser correctement une écriture séquentielle.
J'ai aussi entendu parler de `fs.promises`, de `writeFileSy