docs: ajout des pages alignées avec le template 4NK
This commit is contained in:
parent
6907e4baf1
commit
53c6301be2
@ -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
13
docs/architecture.md
Normal 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
8
docs/configuration.md
Normal 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
15
docs/demarrage_rapide.md
Normal 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
12
docs/depannage.md
Normal 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
13
docs/developpement.md
Normal 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.
|
5
docs/guides_principaux.md
Normal file
5
docs/guides_principaux.md
Normal 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é.
|
6
docs/guides_techniques.md
Normal file
6
docs/guides_techniques.md
Normal 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
5
docs/guides_test.md
Normal 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
9
docs/performance.md
Normal 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
10
docs/reseau_de_relais.md
Normal 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
8
docs/tests_monitoring.md
Normal 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.
|
Loading…
x
Reference in New Issue
Block a user