## Requirements - Installer le [package FSV](https://industriels.sesam-vitale.fr/group/fournitures-sesam-vitale) - Les librairies dynamiques (.lib, .dll, ...) fournies ne sont pas installés dans les emplacements standard du système, il faudra donc configurer leur chemin d'installation dans le fichier de configuration `.env.build` (voir ci-dessous) - Le détail des chemins d'installation est donné dans la documentation du package FSV `fsv-mi-004_pack-FSV1.40.14_V2.3.pdf` - Linux - par défaut : `/opt/santesocial/fsv/1.40.13/lib` - Windows - par défaut : `C:\Program Files\santesocial\santesocial\fsv\1.40.14\lib` (ou dans Program Files (x86) si c'est le package 32bits qui a été installé) - Installer la [CryptolibCPS](https://industriels.sesam-vitale.fr/group/galss-cryptolib-cps) - Ce package fourni également l'utilitaire "CPS Gestion" pour obtenir des informations sur le lecteur de carte, etc. - Linux : `cpgeslux` - Windows : `...` ## Setup - Créer et éditer le fichier de configuration de build `.env.build` en s'inspirant d'un des fichiers d'exemple (`.env.build.linux.example`, `.env.build.win.example`...) - Ce fichier est nécessaire pour le build du package Rust - Créer et éditer le fichier de configuration de l'exécution `.env` en s'inspirant d'un des fichiers d'exemple (`.env.linux.example`, `.env.win.example`...) - Ce fichier est nécessaire pour l'exécution du package Rust compilé, et doit donc être présent aux côtés de l'exécutable généré, le cas échéant ## Build ### Compilation C Ce package s'appuie sur deux librairies : - Une librairie statique, compilée à partir des sources (`*.c`, `*.h`) fournies dans le dossier `./src` - Une librairie dynamique, fournie par le package FSV - Windows : on fournit les headers, non présents dans la `.dll` en compilant les fichiers `src/*.def` en leur version binaire `lib/*.lib` Pour compiler les fichiers de librairie : - Windows : `.\make.bat` - Linux : `make` Pour nettoyer le dossier `./lib` : - Windows : `.\make.bat /clean` - Linux : `make clean` ### Compilation Rust `cargo build` ## Run `cargo run`