Rendre le système de fichier de configuration runtime fonctionnel en dev et en release #56

Merged
florian_briand merged 2 commits from fix/55_move_env_config_into_consistent_dirs into main 2024-08-30 18:29:56 +02:00

Détails

  • Rajoute une librairie d'utilitaires crates/utils
  • Rajoute des fonctions de gestion des fichiers et dossiers de configuration dans la lib utils, dont une fonction de chargement du fichier de config approprié
  • Remplace le chargement d'un .env relatif au CARGO_MANIFEST_DIR de la librairie sesam-vitale par la fonction de chargement de config

La fonction de chargement de config génère une hiérarchie d'emplacements de fichiers de config (.env dans : dossier courant, dossier manifest, dossier système) et charge le "plus proche", afin de permettre d'avoir une configuration stable au niveau système, mais de pouvoir la surcharger facilement en local, en particulier lors de phases de développement).

Pourquoi ?

L'usage de CARGO_MANIFEST_DIR pour trouver le fichier de configuration n'était pas viable, car cette variable d'environnement n'existe que lors d'un lancement via cargo run, mais pas lors d'un appel direct à l'executable buildé.
La nouvelle implémentation est maintenant totalement compatible, autant avec des approches de surcharge en développement que pour de installations pérennes sur un système.

Documentation

Le chemin standard des fichiers de config, spécifique à chaque OS, est obtenu à l'aide de la librairie directories-rs

Closes #55

### Détails - Rajoute une librairie d'utilitaires `crates/utils` - Rajoute des fonctions de gestion des fichiers et dossiers de configuration dans la lib `utils`, dont une fonction de chargement du fichier de config approprié - Remplace le chargement d'un `.env` relatif au `CARGO_MANIFEST_DIR` de la librairie `sesam-vitale` par la fonction de chargement de config La fonction de chargement de config génère une hiérarchie d'emplacements de fichiers de config (`.env` dans : dossier courant, dossier manifest, dossier système) et charge le "plus proche", afin de permettre d'avoir une configuration stable au niveau système, mais de pouvoir la surcharger facilement en local, en particulier lors de phases de développement). ### Pourquoi ? L'usage de `CARGO_MANIFEST_DIR` pour trouver le fichier de configuration n'était pas viable, car cette variable d'environnement n'existe que lors d'un lancement via `cargo run`, mais pas lors d'un appel direct à l'executable buildé. La nouvelle implémentation est maintenant totalement compatible, autant avec des approches de surcharge en développement que pour de installations pérennes sur un système. ### Documentation Le chemin standard des fichiers de config, spécifique à chaque OS, est obtenu à l'aide de la librairie [`directories-rs`](https://github.com/dirs-dev/directories-rs?tab=readme-ov-file#projectdirs) Closes #55
florian_briand added this to the 0 - POC milestone 2024-08-22 20:51:14 +02:00
florian_briand added the
bug
enhancement
labels 2024-08-22 20:51:14 +02:00
florian_briand self-assigned this 2024-08-22 20:51:14 +02:00
florian_briand added 2 commits 2024-08-22 20:51:15 +02:00
florian_briand changed title from fix/55_move_env_config_into_consistent_dirs to Transférer les configurations "runtime" de `sesam-vitale` du dossier local vers un dossier de config système 2024-08-22 20:51:51 +02:00
florian_briand changed title from Transférer les configurations "runtime" de `sesam-vitale` du dossier local vers un dossier de config système to Rendre le système de fichier de configuration runtime fonctionnel en dev et en release 2024-08-22 20:52:44 +02:00
florian_briand added spent time 2024-08-22 20:54:16 +02:00
2 hours 18 minutes
florian_briand force-pushed fix/55_move_env_config_into_consistent_dirs from 79f3fff20f to 778cf0b705 2024-08-22 21:02:26 +02:00 Compare
kosssi approved these changes 2024-08-26 22:17:19 +02:00
kosssi left a comment
Owner

Vraiment bien ta DA, en relisant ça à l'air clean et bien expliqué !

Vraiment bien ta DA, en relisant ça à l'air clean et bien expliqué !
florian_briand force-pushed fix/55_move_env_config_into_consistent_dirs from 778cf0b705 to f16986ce26 2024-08-30 18:29:04 +02:00 Compare
florian_briand merged commit ca2a0ace71 into main 2024-08-30 18:29:56 +02:00
florian_briand deleted branch fix/55_move_env_config_into_consistent_dirs 2024-08-30 18:29:56 +02:00
Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
2 Participants
Notifications
Total Time Spent: 2 hours 18 minutes
florian_briand
2 hours 18 minutes
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: P4Pillon/Krys4lide#56
No description provided.