feat: amelioration configuration SDK client avec fichiers .env
- Ajout de .env.example pour faciliter la configuration - Ajout de .env avec configuration par defaut - Creation du script test-connection.js pour diagnostic - Mise a jour du README avec section configuration rapide - Ajout de script npm test:connection - Amelioration du depannage pour problemes de connexion - Documentation completee pour resolution problemes variables environnement
This commit is contained in:
parent
8237eed91e
commit
84de922488
@ -2,11 +2,9 @@
|
|||||||
**/__pycache__/
|
**/__pycache__/
|
||||||
**/storage/
|
**/storage/
|
||||||
**/dist/
|
**/dist/
|
||||||
**/dist/
|
|
||||||
**/node_modules/
|
**/node_modules/
|
||||||
**/package-lock.json*
|
**/package-lock.json*
|
||||||
**/yarn.lock*
|
**/yarn.lock*
|
||||||
**/yarn.lock*
|
|
||||||
|
|
||||||
# Variables d'environnement (protection renforcée)
|
# Variables d'environnement (protection renforcée)
|
||||||
**/.env*
|
**/.env*
|
||||||
|
@ -2,11 +2,9 @@
|
|||||||
**/__pycache__/
|
**/__pycache__/
|
||||||
**/storage/
|
**/storage/
|
||||||
**/dist/
|
**/dist/
|
||||||
**/dist/
|
|
||||||
**/node_modules/
|
**/node_modules/
|
||||||
**/package-lock.json*
|
**/package-lock.json*
|
||||||
**/yarn.lock*
|
**/yarn.lock*
|
||||||
**/yarn.lock*
|
|
||||||
|
|
||||||
# Variables d'environnement (protection renforcée)
|
# Variables d'environnement (protection renforcée)
|
||||||
**/.env*
|
**/.env*
|
||||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -5,7 +5,6 @@
|
|||||||
**/node_modules/
|
**/node_modules/
|
||||||
**/package-lock.json*
|
**/package-lock.json*
|
||||||
**/yarn.lock*
|
**/yarn.lock*
|
||||||
**/yarn.lock*
|
|
||||||
|
|
||||||
# Variables d'environnement (protection renforcée)
|
# Variables d'environnement (protection renforcée)
|
||||||
**/.env*
|
**/.env*
|
||||||
|
@ -20,6 +20,18 @@ Un SDK TypeScript moderne et type-safe pour interagir avec l'API Vault 4NK, perm
|
|||||||
npm install @4nk/vault-sdk
|
npm install @4nk/vault-sdk
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## ⚙️ Configuration rapide
|
||||||
|
|
||||||
|
Après avoir cloné le projet ou installé le SDK, **vous devez configurer les variables d'environnement** :
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. Copier le fichier d'exemple
|
||||||
|
cp .env.example .env
|
||||||
|
|
||||||
|
# 2. Modifier les valeurs dans .env selon vos besoins
|
||||||
|
# 3. Ou créer directement un fichier .env avec vos paramètres
|
||||||
|
```
|
||||||
|
|
||||||
## 🔧 Configuration
|
## 🔧 Configuration
|
||||||
|
|
||||||
### Configuration automatique via .env
|
### Configuration automatique via .env
|
||||||
@ -290,9 +302,15 @@ const syncResult = await client.syncLocalFiles({
|
|||||||
**Problème** : `VAULT_USER`, `VAULT_KEY`, ou `VAULT_ENV` manquants.
|
**Problème** : `VAULT_USER`, `VAULT_KEY`, ou `VAULT_ENV` manquants.
|
||||||
|
|
||||||
**Solutions** :
|
**Solutions** :
|
||||||
1. **Ajoutez les variables manquantes** dans votre `.env`
|
1. **Créez un fichier `.env`** dans le dossier `sdk-client/` :
|
||||||
2. **Vérifiez la syntaxe** du fichier `.env` (pas d'espaces autour du `=`)
|
```bash
|
||||||
3. **Utilisez la configuration manuelle** :
|
cd sdk-client/
|
||||||
|
cp .env.example .env
|
||||||
|
# Modifiez les valeurs dans .env
|
||||||
|
```
|
||||||
|
2. **Ajoutez les variables manquantes** dans votre `.env`
|
||||||
|
3. **Vérifiez la syntaxe** du fichier `.env` (pas d'espaces autour du `=`)
|
||||||
|
4. **Utilisez la configuration manuelle** :
|
||||||
```typescript
|
```typescript
|
||||||
const client = new SecureVaultClient({
|
const client = new SecureVaultClient({
|
||||||
baseUrl: 'https://vault.4nkweb.com:6666',
|
baseUrl: 'https://vault.4nkweb.com:6666',
|
||||||
@ -302,6 +320,22 @@ const syncResult = await client.syncLocalFiles({
|
|||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### Dossiers créés mais vides (seulement des .gitkeep)
|
||||||
|
|
||||||
|
**Problème** : Le SDK se connecte à une API locale au lieu de l'API distante.
|
||||||
|
|
||||||
|
**Solutions** :
|
||||||
|
1. **Vérifiez l'URL dans votre `.env`** :
|
||||||
|
```bash
|
||||||
|
VAULT_URL=https://vault.4nkweb.com:6666
|
||||||
|
```
|
||||||
|
2. **Redémarrez l'API locale** si elle tourne en arrière-plan
|
||||||
|
3. **Testez la connectivité** :
|
||||||
|
```bash
|
||||||
|
curl -k https://vault.4nkweb.com:6666/health
|
||||||
|
```
|
||||||
|
4. **Vérifiez les logs** du SDK pour voir quelle URL est utilisée
|
||||||
|
|
||||||
## 📚 API Reference
|
## 📚 API Reference
|
||||||
|
|
||||||
### Classes principales
|
### Classes principales
|
||||||
|
@ -8,6 +8,7 @@
|
|||||||
"build": "tsc",
|
"build": "tsc",
|
||||||
"dev": "tsc --watch",
|
"dev": "tsc --watch",
|
||||||
"test": "jest",
|
"test": "jest",
|
||||||
|
"test:connection": "node test-connection.js",
|
||||||
"lint": "eslint src/**/*.ts",
|
"lint": "eslint src/**/*.ts",
|
||||||
"clean": "rm -rf dist"
|
"clean": "rm -rf dist"
|
||||||
},
|
},
|
||||||
|
74
sdk-client/test-connection.js
Normal file
74
sdk-client/test-connection.js
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
/**
|
||||||
|
* Test de connexion au SDK Vault
|
||||||
|
* Affiche l'URL utilisée et teste la connectivité
|
||||||
|
*/
|
||||||
|
|
||||||
|
const { SecureVaultClient } = require('./dist/src/index.js');
|
||||||
|
|
||||||
|
async function testConnection() {
|
||||||
|
console.log('🔍 Test de connexion au SDK Vault');
|
||||||
|
console.log('===================================');
|
||||||
|
|
||||||
|
try {
|
||||||
|
// Afficher les variables d'environnement chargées
|
||||||
|
console.log('\n📋 Variables d\'environnement:');
|
||||||
|
console.log(` VAULT_USER: ${process.env.VAULT_USER || 'NON DÉFINI'}`);
|
||||||
|
console.log(` VAULT_ENV: ${process.env.VAULT_ENV || 'NON DÉFINI'}`);
|
||||||
|
console.log(` VAULT_URL: ${process.env.VAULT_URL || 'NON DÉFINI'}`);
|
||||||
|
console.log(` VAULT_CONFS_DIR: ${process.env.VAULT_CONFS_DIR || 'NON DÉFINI'}`);
|
||||||
|
|
||||||
|
// Créer le client
|
||||||
|
const client = new SecureVaultClient();
|
||||||
|
|
||||||
|
// Afficher l'URL configurée
|
||||||
|
console.log('\n🌐 Configuration du client:');
|
||||||
|
console.log(` URL de base: ${client.config?.baseUrl || 'NON DÉFINI'}`);
|
||||||
|
console.log(` Utilisateur: ${client.config?.userId || 'NON DÉFINI'}`);
|
||||||
|
|
||||||
|
// Test de connectivité
|
||||||
|
console.log('\n🔌 Test de connectivité...');
|
||||||
|
const isConnected = await client.ping();
|
||||||
|
|
||||||
|
if (isConnected) {
|
||||||
|
console.log(' ✅ Connexion réussie !');
|
||||||
|
|
||||||
|
// Test de récupération des routes
|
||||||
|
console.log('\n📁 Test de récupération des routes...');
|
||||||
|
const routes = await client.getRoutes('dev');
|
||||||
|
console.log(` ✅ ${routes.length} routes récupérées`);
|
||||||
|
|
||||||
|
// Test de synchronisation
|
||||||
|
console.log('\n📂 Test de synchronisation...');
|
||||||
|
const syncResult = await client.syncLocalFiles({
|
||||||
|
environment: 'dev',
|
||||||
|
localDir: './test-confs',
|
||||||
|
verbose: true
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(` ✅ Synchronisation terminée:`);
|
||||||
|
console.log(` - Fichiers synchronisés: ${syncResult.synced}`);
|
||||||
|
console.log(` - Fichiers ignorés: ${syncResult.skipped}`);
|
||||||
|
console.log(` - Erreurs: ${syncResult.errors}`);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
console.log(' ❌ Connexion échouée !');
|
||||||
|
}
|
||||||
|
|
||||||
|
} catch (error) {
|
||||||
|
console.error('\n❌ Erreur:', error.message);
|
||||||
|
|
||||||
|
if (error.message.includes('Variables d\'environnement requises')) {
|
||||||
|
console.log('\n💡 Solution:');
|
||||||
|
console.log(' 1. Créez un fichier .env dans le dossier sdk-client/');
|
||||||
|
console.log(' 2. Copiez .env.example vers .env');
|
||||||
|
console.log(' 3. Modifiez les valeurs dans .env');
|
||||||
|
console.log('\n Exemple de .env:');
|
||||||
|
console.log(' VAULT_USER=demo_user_001');
|
||||||
|
console.log(' VAULT_KEY=JYyybYFXe9hghRI9d1mpoQ1uYYxpt/6lzYPOWrxruG0=');
|
||||||
|
console.log(' VAULT_ENV=dev');
|
||||||
|
console.log(' VAULT_URL=https://vault.4nkweb.com:6666');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
testConnection();
|
Loading…
x
Reference in New Issue
Block a user