Mise en place projet R

This commit is contained in:
2026-06-08 16:16:27 +02:00
commit 265e5f1db6
27 changed files with 12697 additions and 0 deletions
Executable
+30
View File
@@ -0,0 +1,30 @@
# r-microservice — Squelette de microservice R (Plumber)
Ce projet expose des fonctions R via une API REST **Plumber**, avec:
- des **fonctions génériques** réutilisables (HTTP, DB, utils, logs),
- des **fonctions spécifiques** au projet (prétraitement, calculs, post-traitement),
- un **endpoint** `/compute` permettant soit de **renvoyer un résultat**, soit **d'insérer en base** et retourner un **code retour**.
## Lancer en local
```bash
Rscript scripts/run.R
# Puis: http://localhost:8080/health
```
## Exemple d'appel
```bash
curl -s -X POST http://localhost:8080/compute -H 'Content-Type: application/json' -d '{"values":[10,12,15,20], "write_to_db": false}' | jq
```
## Docker
```bash
docker build -t r-microservice .
docker run -p 8080:8080 --rm r-microservice
```
> Pour les insertions en base, configurez `config/config.yml` avec vos paramètres Postgres.
## Tests
```r
testthat::test_dir('tests/testthat')
```