Files
Entropyk/tools/circuit-builder-ui
Sepehr ab5dc7e568 chore: remove BMAD framework files and IDE configuration artifacts
Clean up unused BMAD workflow, agent, and command files across all IDE
configurations (.agent, .clinerules, .cursor, .gemini, .github, .kilocode,
.opencode) and internal module files (_bmad/bmb, _bmad/bmm).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-25 15:01:09 +02:00
..

Entropyk Circuit Builder UI

Outil web minimal pour créer des configurations de circuits HVAC et les tester avec le CLI Entropyk (validate + run).

Prérequis

  • Python 3.6+
  • Entropyk compilé en release : cargo build --release -p entropyk-cli

Lancement

Depuis la racine du dépôt Entropyk :

cd /chemin/vers/Entropyk
python3 tools/circuit-builder-ui/server.py

Puis ouvre un navigateur sur : http://localhost:8765

Le serveur sert lUI et exécute le CLI pour les actions « Valider » et « Lancer simulation ». Le binaire attendu est target/release/entropyk-cli.

Utilisation

  1. Scénario : nom, fluide (ex. R410A), backend (Test ou CoolProp).
  2. Circuits : ajouter un ou plusieurs circuits ; pour chaque circuit :
    • Composants : type (Placeholder, Compressor, Condenser, Evaporator, etc.), nom, paramètres.
    • Arêtes : from / to au format composant:port (ex. comp:outletcond:inlet).
  3. Solver : stratégie (fallback, newton, picard), max itérations, tolérance.
  4. Couplages thermiques (optionnel) : circuit chaud/froid, UA, efficacité.
  5. Charger un exemple : simple_working.json ou chiller_r410a_minimal.json.
  6. Télécharger JSON : exporte la config pour usage en ligne de commande.
  7. Valider (CLI) : envoie la config au serveur qui lance entropyk-cli validate.
  8. Lancer simulation (CLI) : lance entropyk-cli run et affiche le résultat.

Tous les types de composants supportés par le CLI peuvent être testés depuis lUI (Placeholder, Compressor, Condenser, Evaporator, ExpansionValve, HeatExchanger, Pump, etc.). La palette inclut aussi sources/puits (Source eau, Puits eau, Source réfrig., Puits réfrig.) et Splitter/Merger ; exportés en Placeholder pour le CLI. Pour conditions aux limites réelles : API Rust (BrineSource, RefrigerantSource…), voir docs/migration/boundary-conditions.md.


Application UI complète plus tard : quelle option technique ?

Tu prévois une vraie application UI à part entière. Voici les options et une recommandation.

1. Application web (front + API)

  • Stack typique : React, Vue ou Svelte + backend (Rust actix/axum, ou Node, ou Python FastAPI).
  • Avantages : un seul front déployable partout (cloud, on-premise), mises à jour centralisées, pas dinstallateur.
  • Inconvénients : les calculs doivent tourner côté serveur (ou via WebAssembly si tu portes le moteur un jour). Il faut exposer une API (ex. POST /run avec la config JSON) qui appelle le CLI ou la lib Entropyk.
  • Bonne option si : tu veux un outil accessible via navigateur, multi-utilisateurs ou hébergé.

2. Desktop avec Tauri (Rust + web view)

  • Stack : Tauri 2 + front en HTML/JS ou framework (React, Vue, etc.) ; la logique métier et les appels au moteur sont en Rust.
  • Avantages : réutilisation directe dEntropyk comme crate Rust (pas de sous-process CLI), binaire léger, pas de serveur, offline, performances maximales.
  • Inconvénients : cest une app desktop (packaging Windows/macOS/Linux), un peu plus de mise en place au début.
  • Bonne option si : tu veux une application native installable, un seul binaire, et garder tout le calcul dans le même processus Rust. Cest souvent le meilleur choix pour un outil HVAC pro à long terme.

3. Desktop avec Electron

  • Stack : app Node + moteur de rendu Chromium, front web (React, etc.) ; le CLI peut être lancé en sous-process depuis Node.
  • Avantages : même stack quen web, écosystème npm riche.
  • Inconvénients : gros binaire, consommation mémoire, il faut quand même appeler le CLI (ou un binaire natif) pour les calculs.
  • Bonne option si : tu as déjà une équipe 100 % web et tu veux du desktop sans toucher au Rust en front.

4. Hybride : web UI + petit service local

  • Principe : une SPA (React/Vue) qui parle à un petit service local (Rust ou Python) qui exécute le CLI ou utilise la lib Entropyk.
  • Avantages : UI 100 % web, calculs locaux, pas dhébergement serveur obligatoire.
  • Inconvénients : il faut installer et lancer le service local en plus du navigateur.
  • Bonne option si : tu veux une UI web mais que les calculs restent sur la machine de lutilisateur.

Recommandation

  • Pour un outil interne / démo / prototypage rapide : garder cette UI (Circuit Builder) + serveur Python tel quel, ou remplacer le serveur par un petit backend Rust (axum) qui appelle la lib Entropyk.
  • Pour une application produit complète (HVAC, multi-circuits, résultats structurés) : viser Tauri 2 + front web (React/Vue/Svelte). Tu réutilises Entropyk en Rust, une seule codebase UI, et tu distribues un installateur par plateforme. Cest la solution la plus propre et la plus pérenne pour une app desktop basée sur Entropyk.

Si tu indiques si tu vises plutôt desktop ou web hébergé, on peut détailler larchitecture (Tauri vs web API) et les prochaines étapes concrètes.