Krys4lide/README.md
Simon C 73f45442b6 feat: Add dev dependencies with cargo
cargo add cargo-watch --dev --package app
cargo add systemfd --dev --package app
2024-08-09 01:29:59 +02:00

2.6 KiB

Krys4lide

Logiciel de Pharmacie libre et open-source.

Crates

  • app: Interface du logiciel, servie par un serveur web propulsé par Axum. Utilisable en mode endpoint ou encapsulé dans le client desktop
  • desktop: Client desktop propulsé par Tauri, encapsulant le serveur web app
  • sesam-vitale: Bibliothèque de gestion des services SESAM-Vitale (Lecture des cartes CPS et Vitale, téléservices ...)

Development

Pré-requis

Tauri CLI

La CLI Tauri est nécessaire au lancement du client desktop. Elle peut être installée via Cargo :

cargo install tauri-cli --version "^2.0.0-beta"

Tailwindcss CLI

Le CLI Tailwindcss est nécessaire pour la génération du fichier crates/app/assets/css/style.css.

La documentation d'installation est disponible sur le site officiel de Tailwindcss : https://tailwindcss.com/blog/standalone-cli

La version actuellement utilisée est la v3.4.7

SESAM-Vitale

La crate sesam-vitale nécessite la présence des librairies dynamiques fournies par le package FSV et la CryptolibCPS. Les instructions d'installation sont disponibles dans le README de la crate sesam-vitale.

Lancement

Le logiciel dans sa globalité peut être lancé via la commande suivante :

cargo tauri dev

/!\ Attention, le lancement du client desktop ne génère pas le fichier crates/app/assets/css/style.css automatiquement pour le moment. En cas de modification des interfaces web, il est donc nécessaire de procéder à sa génération comme indiqué dans le README de la crate app.

Si vous souhaitez lancer les composants séparément, les indications de lancement sont disponibles dans les README des différents crates.

Rechargement automatique

Pour permettre de développer plus rapidement, il existe une librairie qui recompile automatiquement nos modifications en cours : cargo-watch permet de relancer une commande cargo lorsqu'un fichier est modifié (example: cargo run --> cargo watch -x run).

Voici la commande pour l'installer dans un package :

cargo add cargo-watch --dev --package app

Le fichier .ignore permet d'ignorer certains fichiers pour éviter de relancer la recompilation inutilement.

⚠️ La librairie n'est pas compatible avec Windows 7 et les versions antérieurs de Windows.

Build

Packager le client desktop

cargo tauri build