docs: ajout des pages alignées avec le template 4NK
Some checks failed
CI / rust (push) Failing after 30s
Docker Image / docker (push) Failing after 19s

This commit is contained in:
Your Name 2025-08-26 10:19:55 +02:00
parent 6907e4baf1
commit 53c6301be2
12 changed files with 116 additions and 0 deletions

View File

@ -12,6 +12,18 @@ Ce dossier documente l'API HTTP, l'architecture et les décisions techniques.
- Service `StorageService` (voir `src/lib.rs`) encapsule la logique de stockage, récupération et nettoyage TTL. - 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). - `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`
## REX technique ## REX technique
- Docker - Docker

13
docs/architecture.md Normal file
View File

@ -0,0 +1,13 @@
# Architecture
## Flux de Données
- Entrées: requêtes HTTP `/store`, `/retrieve/:key`.
- Traitements: validation clés/TTL, encodage hex, stockage FS hiérarchique, métadonnées TTL.
- Sorties: réponses JSON normalisées.
## Composants
- Service `StorageService` (I/O disque, TTL, nettoyage).
- Serveur HTTP Tide (routes, état partagé).
- Nettoyage périodique (60s) basé sur fichiers `.meta`.

8
docs/configuration.md Normal file
View File

@ -0,0 +1,8 @@
# Configuration
## Services Disponibles
- HTTP sur port 8081
## Variables d'Environnement
- `RUST_LOG` (optionnel): niveau de logs.
- Pour Docker, monter `/app/storage` si persistance souhaitée.

15
docs/demarrage_rapide.md Normal file
View File

@ -0,0 +1,15 @@
# Démarrage Rapide
## Prérequis
- Rust stable et Cargo
- Optionnel: Docker
## Installation
- `cargo build`
## Lancement
- `cargo run -- --permanent`
## Docker (optionnel)
- Build: `docker build -t sdk_storage:local .`
- Run: `docker run --rm -p 8081:8081 -v $PWD/storage:/app/storage sdk_storage:local`

12
docs/depannage.md Normal file
View File

@ -0,0 +1,12 @@
# Dépannage
## Problèmes Courants
1. Ports déjà utilisés: changer le port de publication Docker.
2. Permissions storage: vérifier l'UID/GID et droits du volume.
3. Clés invalides: s'assurer d'un hex 64 caractères.
## Logs détaillés
- Exécuter avec `RUST_LOG=info`.
## Healthchecks
- Ajouter une route `/health` (évolution possible) ou ping sur `/retrieve` avec clé connue.

13
docs/developpement.md Normal file
View File

@ -0,0 +1,13 @@
# Développement
## Structure du Projet
- `src/lib.rs`: service métier
- `src/main.rs`: serveur HTTP Tide
- `tests/`: scénarios d'intégration
## Ajout d'un Nouveau Service
- Créer une abstraction dédiée dans `src/lib.rs` ou module séparé.
- Câbler dans `main.rs` via `tide::with_state` si nécessaire.
## Modification de la Configuration
- Mettre à jour `docs/configuration.md` et secrets CI/CD.

View File

@ -0,0 +1,5 @@
# Guides Principaux
- Concepts de base: clés hex 64, valeurs hex, TTL en secondes.
- API: `/store` (POST), `/retrieve/:key` (GET).
- Persistance: système de fichiers, sous-dossiers par préfixe de clé.

View File

@ -0,0 +1,6 @@
# Guides Techniques
- `StorageService`: abstraction des opérations de stockage.
- TTL: sérialisé dans `*.meta` (UNIX timestamp secondes).
- Nettoyage: parcours des dossiers, suppression données expirées.
- Journalisation: sorties standard, intégration possible avec superviseur.

5
docs/guides_test.md Normal file
View File

@ -0,0 +1,5 @@
# Guides de Test
- Tests unitaires recommandés sur `StorageService` via répertoires temporaires.
- Tests d'intégration HTTP optionnels via client HTTP.
- Stratégies: cas TTL min/max, clés invalides, conflits de clé.

9
docs/performance.md Normal file
View File

@ -0,0 +1,9 @@
# Performance
## Ressources Recommandées
- Disque rapide si grand volume d'écritures.
- Mémoire suffisante pour buffers I/O.
## Optimisations
- Paramétrer la taille des blocs et la stratégie de fsync selon contraintes.
- Éviter les collisions de clés, supervision du cleanup TTL.

10
docs/reseau_de_relais.md Normal file
View File

@ -0,0 +1,10 @@
# Réseau de Relais
## Architecture Mesh
- À définir selon déploiement.
## Ajout de Nœuds Externes
- Procédure à documenter si nécessaire.
## Configuration Externe
- Ports, sécurité, endpoints à exposer.

8
docs/tests_monitoring.md Normal file
View File

@ -0,0 +1,8 @@
# Tests et Monitoring
## Tests
- Unitaires et intégration via `cargo test`.
## Monitoring
- Exposer métriques avec un reverse proxy/sidecar si nécessaire.
- Ajouter des healthchecks HTTP au niveau de l'orchestrateur.