Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| sio:bloc1:td1 [2026/10/09 00:38] – créée jcheron | sio:bloc1:td1 [2026/10/09 00:48] (Version actuelle) – [Partie E (bonus) : Lire et écrire des fichiers] jcheron | ||
|---|---|---|---|
| Ligne 310: | Ligne 310: | ||
| ---- | ---- | ||
| - | ===== Bilan ===== | + | ===== Partie E (bonus) : Lire et écrire des fichiers |
| - | - Choisissez l'un des exercices de la séance et améliorez-le à votre idée (nouveau cas, message personnalisé, contrôle de saisie...). | + | Jusqu'ici, vos programmes « oublient » tout à la fin de leur exécution. Avec le module '' |
| - | - Répondez par écrit | + | |
| - | * Quelle différence entre '' | + | <sxh javascript> |
| - | * Pourquoi | + | const fs = require(" |
| - | * Dans quel cas utiliser | + | |
| - | * Qu'apporte | + | fs.writeFileSync(" |
| + | fs.appendFileSync(" | ||
| + | const contenu = fs.readFileSync(" | ||
| + | console.log(contenu); | ||
| + | console.log(fs.existsSync(" | ||
| + | </ | ||
| + | |||
| + | **Attention** | ||
| + | * '' | ||
| + | * Les chemins sont relatifs au dossier depuis lequel vous lancez '' | ||
| + | * Lire un fichier qui n' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ==== Exercice 14 : Meilleur score du nombre mystère ==== | ||
| + | |||
| + | **Énoncé** | ||
| + | Reprenez | ||
| + | |||
| + | - Au démarrage, si '' | ||
| + | - Pensez à convertir le contenu lu avec '' | ||
| + | - À la fin de la partie, comparez le nombre d' | ||
| + | * si le fichier n'existe pas, ou si le score de la partie est meilleur (plus petit), écrivez-le dans '' | ||
| + | * sinon, ne modifiez pas le fichier. | ||
| + | - Lancez le programme plusieurs fois de suite et vérifiez que le record est bien conservé entre deux exécutions. | ||
| + | |||
| + | **Résultat attendu** (deuxième lancement) : | ||
| + | < | ||
| + | Meilleur score actuel : 7 essais | ||
| + | Devinez le nombre entre 1 et 100 : ... | ||
| + | </ | ||
| + | |||
| + | **Défi** : supprimez | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ==== Exercice 15 : Analyse d'un fichier de log ==== | ||
| + | |||
| + | **Préparation** | ||
| + | Créez un fichier '' | ||
| + | < | ||
| + | 2026-10-08 08:01:12 INFO Démarrage du serveur | ||
| + | 2026-10-08 08:03:45 INFO Connexion de alice | ||
| + | 2026-10-08 08:15:02 ERROR Échec de connexion pour bob | ||
| + | 2026-10-08 08:15:30 WARNING Disque à 85% | ||
| + | 2026-10-08 08:17:11 ERROR Échec de connexion pour bob | ||
| + | 2026-10-08 08:20:00 INFO Connexion de carole | ||
| + | 2026-10-08 09:02:33 ERROR Timeout base de données | ||
| + | 2026-10-08 09:05:10 INFO Sauvegarde terminée | ||
| + | </ | ||
| + | |||
| + | **Énoncé** | ||
| + | Écrivez un programme | ||
| + | | ||
| + | | ||
| + | - parcourt les lignes avec une boucle '' | ||
| + | - compte les lignes contenant '' | ||
| + | - affiche : | ||
| + | < | ||
| + | INFO : 4 | ||
| + | WARNING : 1 | ||
| + | ERROR : 3 | ||
| + | </ | ||
| + | - affiche ensuite uniquement les lignes d' | ||
| + | |||
| + | **Questions** | ||
| + | - Que se passe-t-il si une ligne vide termine le fichier ? Comment l' | ||
| + | - En quoi ce type de programme est-il utile à un administrateur système ? | ||
| + | |||
| + | **Défi** : écrivez les lignes '' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | ==== Exercice 16 : Sauvegarder des données en JSON ==== | ||
| + | |||
| + | **Énoncé** | ||
| + | Écrivez un programme '' | ||
| + | - Au démarrage, si '' | ||
| + | - Affichez le nombre de contacts déjà enregistrés. | ||
| + | - Demandez un nom et un téléphone à l' | ||
| + | - Répétez tant que l' | ||
| + | - À la fin, sauvegardez le tableau avec '' | ||
| + | - Affichez la liste complète | ||
| + | |||
| + | **Vérification** | ||
| + | - Lancez le programme, ajoutez deux contacts, quittez. | ||
| + | - Relancez-le : les deux contacts doivent être présents. | ||
| + | - Ouvrez | ||
| + | |||
| + | **Question** : quelles sont les limites de cette solution par rapport à une base de données (pensez à deux utilisateurs en même temps, à la recherche, à la taille) | ||
| ---- | ---- | ||