sdk_client/docs/INSTALLATION.md

5.6 KiB

📦 Guide d'Installation - sdk_client

Guide complet pour installer et configurer le SDK client pour les Silent Payments.

📋 Prérequis

Système

  • OS : Linux (Ubuntu 20.04+, Debian 11+, CentOS 8+), macOS 10.15+, Windows 10+
  • Architecture : x86_64, ARM64 (Apple Silicon)
  • RAM : 2 Go minimum, 4 Go recommandés
  • Stockage : 5 Go minimum, 10 Go recommandés
  • Réseau : Connexion Internet stable

Logiciels

  • Rust : Version 1.70+ (obligatoire)
  • Cargo : Inclus avec Rust
  • wasm-pack : Version 0.12+ (pour compilation WASM)
  • Git : Version 2.25+
  • Node.js : Version 18.0+ (optionnel, pour tests)

🚀 Installation

1. Installation de Rust

Linux/macOS

# Installer Rust via rustup
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# Recharger l'environnement
source ~/.cargo/env

# Vérifier l'installation
rustc --version
cargo --version

Windows

# Télécharger et installer rustup depuis
# https://rustup.rs/

2. Installation de wasm-pack

# Installer wasm-pack
cargo install wasm-pack

# Vérifier l'installation
wasm-pack --version

3. Configuration SSH (Recommandé)

# Générer une clé SSH
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_sdk -C "sdk-client-automation"

# Ajouter à l'agent SSH
ssh-add ~/.ssh/id_ed25519_sdk

# Configurer Git pour utiliser la clé
git config --global core.sshCommand "ssh -i ~/.ssh/id_ed25519_sdk"

# Afficher la clé publique pour Gitea
cat ~/.ssh/id_ed25519_sdk.pub

Ajouter la clé publique à Gitea :

  1. Aller sur Gitea > Settings > SSH Keys
  2. Coller la clé publique
  3. Cliquer sur "Add key"

4. Clonage du Repository

# Cloner avec SSH (recommandé)
git clone git@git.4nkweb.com:4nk/sdk_client.git
cd sdk_client

# Ou cloner avec HTTPS
git clone https://git.4nkweb.com/4nk/sdk_client.git
cd sdk_client

🔧 Configuration

Variables d'Environnement

Créer un fichier .env à la racine du projet :

# Configuration Rust
RUST_LOG=info
RUST_BACKTRACE=1
CARGO_INCREMENTAL=1

# Configuration WASM
WASM_PACK_TARGET=web
WASM_PACK_PROFILE=release

# Configuration de développement
CARGO_PROFILE_DEV_OPT_LEVEL=0
CARGO_PROFILE_RELEASE_OPT_LEVEL=3

Configuration Cargo

Le fichier Cargo.toml est déjà configuré pour :

  • Dépendances Rust
  • Features WASM
  • Configuration de build
  • Tests et documentation

Configuration wasm-pack

# Configuration wasm-pack
wasm-pack build --target web --out-dir pkg

# Ou pour Node.js
wasm-pack build --target nodejs --out-dir pkg

🧪 Tests Post-Installation

1. Test de Compilation Rust

# Test de compilation
cargo build

# Vérifier le build
cargo build --release

# Vérifier les dépendances
cargo check

2. Test de Compilation WASM

# Compilation WASM
wasm-pack build --target web

# Vérifier les fichiers générés
ls -la pkg/

3. Test des Tests

# Tests unitaires
cargo test

# Tests d'intégration
cargo test --test integration

# Tests WASM
wasm-pack test --headless --firefox

4. Test de Linting

# Clippy (linter Rust)
cargo clippy -- -D warnings

# Formatage
cargo fmt -- --check

🚨 Dépannage

Problèmes Courants

Rust non trouvé

# Vérifier l'installation
which rustc
rustc --version

# Réinstaller si nécessaire
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/env

wasm-pack non trouvé

# Vérifier l'installation
which wasm-pack
wasm-pack --version

# Réinstaller si nécessaire
cargo install wasm-pack

Erreurs de compilation

# Nettoyer et recompiler
cargo clean
cargo build

# Vérifier les dépendances
cargo update
cargo check

Erreurs WASM

# Nettoyer et recompiler WASM
rm -rf pkg/
wasm-pack build --target web

# Vérifier les dépendances WASM
cargo tree

Logs Détaillés

# Logs de compilation Rust
RUST_LOG=debug cargo build

# Logs de compilation WASM
wasm-pack build --target web --verbose

# Logs de tests
RUST_LOG=debug cargo test

🔒 Sécurité

Vérifications de Sécurité

# Audit des dépendances Rust
cargo audit

# Vérification des vulnérabilités
cargo audit --deny warnings

# Vérification du code
cargo clippy -- -D warnings

Bonnes Pratiques

  • Maintenir Rust à jour
  • Utiliser des dépendances sécurisées
  • Tester régulièrement le code
  • Valider les entrées
  • Utiliser des variables d'environnement pour les secrets

📊 Monitoring

Métriques d'Installation

# Taille du projet
du -sh .

# Nombre de fichiers
find . -type f | wc -l

# Dépendances Rust
cargo tree | wc -l

# Taille du binaire
ls -lh target/release/sdk_client.wasm

Vérification de l'Installation

# Script de vérification
./scripts/verify-installation.sh

# Tests automatisés
cargo test --all

🎯 Prochaines Étapes

Après l'installation réussie :

  1. Lire le Guide d'Utilisation - Utiliser le SDK
  2. Consulter l'Architecture - Comprendre le système
  3. Explorer les APIs - Utiliser les fonctionnalités
  4. Configurer l'Intégration 4NK_node - Déployer en production

📞 Support

En cas de problème :

  1. Consulter la documentation
  2. Vérifier les issues existantes
  3. Créer une nouvelle issue avec les détails du problème
  4. Inclure les logs et la configuration utilisée

🚀 Installation terminée ! sdk_client est prêt à être utilisé.