# Documentation du projet sdk_storage Ce dossier documente l'API HTTP, l'architecture et les décisions techniques. ## API - POST `/store` : stocke une valeur hex pour une clé hex 64 chars, `ttl` optionnel (secondes). Quand `--permanent` est passé au binaire, l'absence de `ttl` rend la donnée permanente. - GET `/retrieve/:key` : retourne `{ key, value }` où `value` est encodée en hex. ## Architecture - Service `StorageService` (voir `src/lib.rs`) encapsule la logique de stockage, récupération et nettoyage TTL. - `src/main.rs` démarre Tide avec état `StorageService` et une boucle de nettoyage périodique (60s). Voir aussi: - `architecture.md` - `configuration.md` - `guides_principaux.md` - `guides_techniques.md` - `guides_test.md` - `tests_monitoring.md` - `reseau_de_relais.md` - `developpement.md` - `depannage.md` - `performance.md` - `api_json_spec.md` - `api_contrats.md` - `release_guide.md` - `ci_docker_registry.md` ## REX technique - Docker - Build local: `docker build -t sdk_storage:local .` - Run: `docker run --rm -p 8081:8081 -v $PWD/storage:/app/storage sdk_storage:local` - Par défaut `--permanent` est activé via CMD, override possible: `docker run ... sdk_storage -- --permanent` - Refactor initial de la logique depuis `main.rs` vers `lib.rs` pour testabilité et séparation des responsabilités. - Durées TTL maintenant validées dans le handler, calcul d'expiration converti en `SystemTime` avant l'appel service.