# Tutoriel Entropyk CLI — Mode ligne de commande Ce tutoriel décrit **pas à pas**, sans raccourci, comment utiliser l’outil Entropyk en **mode CLI** pour construire et lancer une simulation thermodynamique. À la fin, tu auras un système sample fonctionnel et une config JSON réutilisable. **Public :** utilisateur qui veut tester le CLI (validate, run, batch) et construire un premier système sample. --- ## Sommaire 1. [Prérequis et compilation du CLI](#1-prérequis-et-compilation-du-cli) 2. [Vérifier l’installation et l’aide](#2-vérifier-linstallation-et-laide) 3. [Valider un fichier de configuration (validate)](#3-valider-un-fichier-de-configuration-validate) 4. [Lancer une simulation (run)](#4-lancer-une-simulation-run) 5. [Comprendre le format JSON (circuits, composants, arêtes)](#5-comprendre-le-format-json) 6. [Créer notre fichier sample pas à pas](#6-créer-notre-fichier-sample-pas-à-pas) 7. [Exporter les résultats (option -o)](#7-exporter-les-résultats-option--o) 8. [Mode batch (optionnel)](#8-mode-batch-optionnel) --- ## 1. Prérequis et compilation du CLI Tu dois être à la racine du dépôt Entropyk et avoir Rust installé (`rustc`, `cargo`). **Étape 1.1 — Aller à la racine du projet** ```bash cd /chemin/vers/Entropyk ``` Remplace `/chemin/vers/Entropyk` par ton chemin réel (par exemple `~/dev/Entropyk`). **Étape 1.2 — Compiler le CLI (release, pour de bonnes perfs)** ```bash cargo build --release --package entropyk-cli ``` La première fois, la compilation peut prendre une à deux minutes. À la fin, l’exécutable se trouve ici : - **Linux / macOS :** `target/release/entropyk-cli` - **Windows :** `target\release\entropyk-cli.exe` **Étape 1.3 — Vérifier que l’exécutable existe** Sous Linux/macOS : ```bash ls -l target/release/entropyk-cli ``` Tu dois voir un fichier binaire. Pour l’appeler, tu peux soit utiliser le chemin complet, soit te placer à la racine du projet et lancer : ```bash ./target/release/entropyk-cli ``` ou, si `target/release` est dans ton `PATH` : ```bash entropyk-cli ``` Dans la suite du tutoriel, on utilisera `./target/release/entropyk-cli` depuis la racine du projet pour être explicite. --- ## 2. Vérifier l’installation et l’aide **Étape 2.1 — Afficher l’aide générale** Depuis la racine du projet : ```bash ./target/release/entropyk-cli --help ``` Tu dois voir quelque chose comme : ```text Batch thermodynamic simulation CLI Usage: entropyk-cli [OPTIONS] Commands: run Run a single simulation from a configuration file batch Run multiple simulations from a directory validate Validate a configuration file without running help Print this message or the help of the given subcommand(s) Options: -v, --verbose Enable verbose output -q, --quiet Suppress all output except errors -h, --help Print help ``` **Étape 2.2 — Aide de la commande `run`** ```bash ./target/release/entropyk-cli run --help ``` Tu dois voir les options `--config` / `-c` (fichier JSON) et `--output` / `-o` (fichier de sortie). **Étape 2.3 — Aide de la commande `validate`** ```bash ./target/release/entropyk-cli validate --help ``` **Étape 2.4 — Aide de la commande `batch`** ```bash ./target/release/entropyk-cli batch --help ``` Une fois ces aides lues, tu sais qu’il y a trois commandes principales : **validate**, **run**, **batch**. On commence par **validate** pour s’assurer qu’un fichier de config est valide avant de lancer une simulation. --- ## 3. Valider un fichier de configuration (validate) La commande **validate** charge le fichier JSON, parse la config (circuits, composants, arêtes, solver, etc.) et affiche si tout est valide. Elle **ne lance pas** la simulation. **Étape 3.1 — Utiliser un exemple fourni** Le dépôt contient des exemples dans `crates/cli/examples/`. On prend le plus simple : `simple_working.json`. Commande (depuis la racine du projet) : ```bash ./target/release/entropyk-cli validate --config crates/cli/examples/simple_working.json ``` Tu dois voir un bandeau « ENTROPYK CLI - Configuration Validation » et à la fin : ```text ✓ Configuration is valid File: crates/cli/examples/simple_working.json ``` **Étape 3.2 — Valider un autre exemple** Par exemple un chiller R410A minimal : ```bash ./target/release/entropyk-cli validate --config crates/cli/examples/chiller_r410a_minimal.json ``` **Étape 3.3 — Vérifier qu’une erreur est bien détectée** Crée un fichier JSON invalide (par exemple un fichier vide ou du texte qui n’est pas du JSON) et lance : ```bash ./target/release/entropyk-cli validate --config /chemin/vers/fichier_invalide.json ``` Tu dois obtenir un message d’erreur (par exemple « Configuration error » ou erreur de parsing). Cela confirme que **validate** sert bien à vérifier la config avant de lancer une simulation. --- *[Sections 4 à 8 à compléter au fur et à mesure]*