feat: evolve MetaBloom into full product foundation
MetaBloom CI / app (push) Canceled after 0s
MetaBloom CI / api (push) Canceled after 0s

This commit is contained in:
AI Company
2026-07-21 19:24:59 +00:00
parent 082cd868d4
commit ea8b5be058
38 changed files with 610 additions and 58 deletions
+51
View File
@@ -0,0 +1,51 @@
# MetaBloom API
Backend FastAPI isolé pour synchroniser les profils et journaux MetaBloom. Il fournit JWT, Argon2, séparation stricte des données par utilisateur, consentement explicite, CRUD, export JSON et suppression de compte.
> MetaBloom est un outil de bien-être, pas un dispositif médical. LAPI ne diagnostique pas, ninterprète pas les mesures et ne recommande aucun traitement. En cas de valeur inquiétante ou de symptômes, contacter un professionnel ou les urgences.
## Démarrage local
```bash
cd server
python -m venv .venv && . .venv/bin/activate
pip install -r requirements-dev.txt
uvicorn app.main:app --reload
```
Documentation : `http://localhost:8000/docs`. SQLite est utilisé en développement. Pour PostgreSQL, renseigner `DATABASE_URL` daprès `.env.example`.
## Docker
Copier `.env.example` vers `.env`, remplacer **tous** les exemples de secrets, puis :
```bash
docker compose -f docker-compose.example.yml --env-file .env up --build
```
Le port n’écoute que sur localhost ; placer un reverse proxy TLS devant en production.
## API
- `POST /auth/register`, `POST /auth/token`
- `GET/PUT /profile`
- `GET/POST /entries`, `PUT/DELETE /entries/{id}`
- `GET /account/export`, `DELETE /account`
- `GET /health`
Envoyer `Authorization: Bearer <token>`. La création dentrées exige `consent_health_data=true`. Les limites de saisie préviennent les erreurs grossières mais ne constituent pas une validation médicale.
## Tests
```bash
pytest -q
```
## Avant production
- gérer les schémas avec Alembic plutôt que `create_all` ;
- utiliser un gestionnaire de secrets, TLS, sauvegardes chiffrées, rotation et révocation des jetons ;
- ajouter rate limiting, journal daudit sans donnée médicale, MFA et tests de sécurité ;
- effectuer AIPD/RGPD, définir conservation/export, contrats de sous-traitance et hébergement HDS si applicable ;
- faire qualifier juridiquement la finalité et le statut MDR avant toute fonction clinique.