7.1 KiB
7.1 KiB
📦 Guide d'Installation - ihm_client
Guide complet pour installer et configurer l'interface utilisateur ihm_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 : 4 Go minimum, 8 Go recommandés
- Stockage : 5 Go minimum, 10 Go recommandés
- Réseau : Connexion Internet stable
Logiciels
- Node.js : Version 18.0+ (LTS recommandé)
- npm : Version 8.0+
- Git : Version 2.25+
- Rust : Version 1.70+ (pour la compilation WASM)
- Docker : Version 20.10+ (optionnel, pour l'intégration 4NK_node)
🚀 Installation
1. Installation de Node.js
Ubuntu/Debian
# Mettre à jour les paquets
sudo apt update
# Installer Node.js via NodeSource
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
# Vérifier l'installation
node --version
npm --version
CentOS/RHEL
# Installer Node.js via NodeSource
curl -fsSL https://rpm.nodesource.com/setup_18.x | sudo bash -
sudo yum install -y nodejs
# Vérifier l'installation
node --version
npm --version
macOS
# Installer via Homebrew
brew install node@18
# Ou télécharger depuis nodejs.org
# https://nodejs.org/en/download/
Windows
# Télécharger et installer depuis
# https://nodejs.org/en/download/
2. 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/
3. Installation de wasm-pack
# Installer wasm-pack
cargo install wasm-pack
# Vérifier l'installation
wasm-pack --version
4. Configuration SSH (Recommandé)
# Générer une clé SSH
ssh-keygen -t ed25519 -f ~/.ssh/id_ed25519_ihm -C "ihm-client-automation"
# Ajouter à l'agent SSH
ssh-add ~/.ssh/id_ed25519_ihm
# Configurer Git pour utiliser la clé
git config --global core.sshCommand "ssh -i ~/.ssh/id_ed25519_ihm"
# Afficher la clé publique pour Gitea
cat ~/.ssh/id_ed25519_ihm.pub
Ajouter la clé publique à Gitea :
- Aller sur Gitea > Settings > SSH Keys
- Coller la clé publique
- Cliquer sur "Add key"
5. Clonage du Repository
# Cloner avec SSH (recommandé)
git clone git@git.4nkweb.com:4nk/ihm_client.git
cd ihm_client
# Ou cloner avec HTTPS
git clone https://git.4nkweb.com/4nk/ihm_client.git
cd ihm_client
6. Installation des Dépendances
# Installer les dépendances Node.js
npm install
# Vérifier l'installation
npm list --depth=0
7. Configuration des Dépendances WASM
# Configurer les dépendances distantes (sdk_client, sdk_common)
./scripts/setup-remote-deps.sh
# Vérifier la compilation WASM
ls -la pkg/
🔧 Configuration
Variables d'Environnement
Créer un fichier .env
à la racine du projet :
# Configuration de développement
NODE_ENV=development
VITE_DEV_SERVER_PORT=3000
VITE_API_URL=http://localhost:8091
VITE_WS_URL=ws://localhost:8090
# Configuration WASM
VITE_WASM_PATH=./pkg/sdk_client_bg.wasm
# Configuration pour l'intégration 4NK_node
SDK_RELAY_WS_URL=ws://sdk_relay_1:8090
SDK_RELAY_HTTP_URL=http://sdk_relay_1:8091
BITCOIN_RPC_URL=http://bitcoin:18443
BLINDBIT_URL=http://blindbit:8000
Configuration TypeScript
Le fichier tsconfig.json
est déjà configuré pour :
- Vue.js 3
- TypeScript strict
- Support WASM
- Path mapping
Configuration Vite
Le fichier vite.config.ts
est configuré pour :
- Support WASM
- Hot module replacement
- Build optimisé
- Support des types TypeScript
🧪 Tests Post-Installation
1. Test de Compilation
# Test de compilation TypeScript
npm run build
# Vérifier le build
ls -la dist/
2. Test de Développement
# Démarrer le serveur de développement
npm run dev
# Ouvrir http://localhost:3000 dans le navigateur
3. Test WASM
# Vérifier que le module WASM fonctionne
npm run test:wasm
4. Test Complet
# Exécuter tous les tests
npm run test
# Vérifier la couverture
npm run test:coverage
🚨 Dépannage
Problèmes Courants
Node.js non trouvé
# Vérifier l'installation
which node
node --version
# Réinstaller si nécessaire
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get install -y nodejs
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
Erreurs de compilation WASM
# Nettoyer et recompiler
rm -rf pkg/
./scripts/setup-remote-deps.sh
# Vérifier les dépendances Rust
cd temp-deps/sdk_client
cargo check
Erreurs de dépendances npm
# Nettoyer et réinstaller
rm -rf node_modules/ package-lock.json
npm install
# Vérifier les vulnérabilités
npm audit
npm audit fix
Problèmes de permissions
# Corriger les permissions
sudo chown -R $USER:$USER .
chmod +x scripts/*.sh
Logs Détaillés
# Logs de compilation TypeScript
npm run build --verbose
# Logs de compilation WASM
cd temp-deps/sdk_client
wasm-pack build --target web --out-dir ../../pkg --verbose
# Logs du serveur de développement
npm run dev --verbose
🔒 Sécurité
Vérifications de Sécurité
# Audit des dépendances npm
npm audit
# Audit des dépendances Rust
cargo audit
# Vérification des vulnérabilités WASM
wasm-pack build --target web --out-dir ../../pkg
Bonnes Pratiques
- Utiliser HTTPS en production
- Valider toutes les entrées utilisateur
- Maintenir les dépendances à jour
- Utiliser des variables d'environnement pour les secrets
- Tester régulièrement la sécurité
📊 Monitoring
Métriques d'Installation
# Taille du projet
du -sh .
# Nombre de fichiers
find . -type f | wc -l
# Dépendances installées
npm list --depth=0 | wc -l
# Taille du module WASM
ls -lh pkg/sdk_client_bg.wasm
Vérification de l'Installation
# Script de vérification
./scripts/verify-installation.sh
# Tests automatisés
npm run test:installation
🎯 Prochaines Étapes
Après l'installation réussie :
- Lire le Guide d'Utilisation - Utiliser l'interface
- Consulter l'Architecture - Comprendre le système
- Explorer les APIs - Utiliser les fonctionnalités
- Consulter l'Intégration iframe - Intégrer dans un site hôte
📞 Support
En cas de problème :
- Consulter la documentation
- Vérifier les issues existantes
- Créer une nouvelle issue avec les détails du problème
- Inclure les logs et la configuration utilisée
🚀 Installation terminée ! ihm_client est prêt à être utilisé. ✨