Logiciel de pharmacie
Go to file
2024-09-23 18:56:16 +02:00
.gitea fix: update module options in BUG_REPORT.yaml template 2024-08-26 22:36:53 +02:00
crates fix: invalid borrowing of assets_path in get_router 2024-09-23 18:56:16 +02:00
docs feat: add documentation about errors handling in docs/errors.md 2024-08-20 22:33:57 +02:00
frontend feat: replace desktop by a fresh Tauri install, and add a new frontend module using Nuxt 2024-09-23 18:56:16 +02:00
scripts chore: setup sesam-vitale lib with crossplatform ssv usage 2024-07-26 22:50:27 +02:00
.env.linux.example feat: initialize a utils lib with config functions handling config files in local and standard OS directories 2024-08-30 18:28:29 +02:00
.env.win.example feat: initialize a utils lib with config functions handling config files in local and standard OS directories 2024-08-30 18:28:29 +02:00
.gitignore feat: initialize a utils lib with config functions handling config files in local and standard OS directories 2024-08-30 18:28:29 +02:00
.ignore feat: Add auto-reload on development environment 2024-08-08 22:18:26 +02:00
Cargo.lock feat: replace desktop by a fresh Tauri install, and add a new frontend module using Nuxt 2024-09-23 18:56:16 +02:00
Cargo.toml feat: replace desktop by a fresh Tauri install, and add a new frontend module using Nuxt 2024-09-23 18:56:16 +02:00
README.md feat: replace desktop by a fresh Tauri install, and add a new frontend module using Nuxt 2024-09-23 18:56:16 +02:00

Krys4lide

Logiciel de Pharmacie libre et open-source.

Modules applicatifs

  • crates: Dossier racine des modules Rust
    • crates/desktop: Client desktop propulsé par Tauri, exposant le frontend
    • crates/sesam-vitale: Bibliothèque de gestion des services SESAM-Vitale (Lecture des cartes CPS et Vitale, téléservices ...)
    • crates/utils: Bibliothèque de fonctions utilitaires
  • frontend: Interface web du logiciel, propulsée par Nuxt.js

Installation

Fichiers de configuration

Certaines librairies nécessitent de définir certaines paramètres de configuration pour fonctionner correctement, en particulier le moteur SESAM-Vitale.

Ces paramètres sont définis dans un fichier de configuration .env situé dans un des dossiers suivant (par ordre de priorité) :

  • dans le dossier courant (./.env)
  • dans le dossier du manifeste (par exemple crates/sesam-vitale/.env)
  • dans le dossier de configuration standard de l'OS (par exemple, sur linux, ~/.config/krys4lide/.env - plus d'info)

Des exemples de fichiers de configuration sont disponibles à la racine du projet : .env.linux.example et .env.win.example.

Development

Pré-requis

Frontend (Nuxt + Typescript)

Le frontend est propulsé par Nuxt.js, un framework TypeScript pour Vue.js. Pour le développement, il est nécessaire d'installer les dépendances suivantes :

  • Bun, un gestionnaire de paquets, équivalent à npm en plus performant

Tauri CLI

TODO: Tauri CLI, réellement nécessaire ?

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-rc"

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 frontend/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 du module frontend. // TODO: Adapter autogénération Tailwind au nouveau Tauri + Nuxt ?

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

Build

Pour packager le client desktop, il est nécessaire de faire appel à la CLI Tauri, qui se charge de gérer le build du frontend et son intégration au bundle :

cargo tauri build