84 lines
3.4 KiB
Markdown
84 lines
3.4 KiB
Markdown
# 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 ...)
|
|
- `utils`: Bibliothèque de fonctions utilitaires
|
|
|
|
## 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](https://github.com/dirs-dev/directories-rs?tab=readme-ov-file#projectdirs))
|
|
|
|
Des exemples de fichiers de configuration sont disponibles à la racine du projet : `.env.linux.example` et `.env.win.example`.
|
|
|
|
## Development
|
|
|
|
### Pré-requis
|
|
|
|
#### Tauri CLI
|
|
|
|
La CLI Tauri est nécessaire au lancement du client `desktop`. Elle peut être installée via Cargo :
|
|
|
|
```bash
|
|
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`](https://github.com/tailwindlabs/tailwindcss/releases/tag/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](crates/sesam-vitale/README.md) de la crate `sesam-vitale`.
|
|
|
|
### Lancement
|
|
|
|
Le logiciel dans sa globalité peut être lancé via la commande suivante :
|
|
|
|
```bash
|
|
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](crates/app/README.md) 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.
|
|
|
|
- [app](crates/app/README.md)
|
|
- [sesam-vitale](crates/sesam-vitale/README.md)
|
|
|
|
## Rechargement automatique
|
|
|
|
Pour permettre de développer plus rapidement, il existe une librairie qui recompile automatiquement nos modifications en cours : [`cargo-watch`](https://github.com/watchexec/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_ :
|
|
```bash
|
|
cargo add cargo-watch --dev --package app
|
|
```
|
|
|
|
Le fichier [`.ignore`](./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
|
|
|
|
```bash
|
|
cargo tauri build
|
|
```
|