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 feat: add the hot-reload on backend crate 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: add DaisyUI for easy components styling and dark mode handling 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: add the hot-reload on backend crate 2024-09-23 18:56:16 +02:00
Cargo.toml feat: setup a backend server with axum 2024-09-23 18:56:16 +02:00
README.md feat: add the hot-reload on backend crate 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.

Backend Hot-reload

Voir le README de la crate backend pour les prérequis de développement du serveur backend.

Lancement

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

cargo tauri dev

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