Package Exports
- @absconse/ibex-sdk
- @absconse/ibex-sdk/package.json
Readme
IBEX SDK
SDK React/TypeScript simplifié pour l'intégration des services IBEX
Qu'est-ce que l'IBEX SDK ?
L'IBEX SDK est une bibliothèque JavaScript conçue pour intégrer facilement les fonctionnalités IBEX dans vos applications React. Il simplifie l'authentification, la gestion des portefeuilles, les transactions et toutes les interactions avec l'écosystème IBEX.
Pourquoi utiliser l'IBEX SDK ?
Simplicité avant tout Un seul hook |
Zero Configuration Détection automatique de l'environnement et configuration intelligente des paramètres nécessaires. |
Sécurité maximale WebAuthn (passkeys) pour une authentification sans mot de passe, plus sécurisée que les méthodes traditionnelles. |
TypeScript natif Types stricts pour une meilleure expérience de développement et moins d'erreurs en production. |
Fonctionnalités principales
Authentification moderne
- Passkeys : Connexion par PIN, biométrie ou clés de sécurité
- Sessions persistantes : Restauration automatique de la session
- Sécurité maximale : Pas de mots de passe, pas de risques de phishing
Gestion financière
- Portefeuilles numériques : Création et gestion automatique
- Transactions EURe : Envoi et réception de stablecoins européens
- Retraits IBAN : Conversion crypto vers compte bancaire traditionnel
- Historique complet : Toutes vos transactions et opérations
- Mises à jour temps réel : WebSocket pour données en direct
Interface développeur
- Hook unique :
useIbex()
pour tout faire - Architecture hybride : API REST (initial) + WebSocket (temps réel)
- Données prêtes : Plus besoin de formatage manuel
- Gestion d'erreurs : Système d'erreurs unifié et clair
- Types stricts : IntelliSense complet et validation
- Temps réel : WebSocket pour mises à jour automatiques
Installation
# Avec npm
npm install @absconse/ibex-sdk
# Avec yarn
yarn add @absconse/ibex-sdk
# Avec pnpm
pnpm add @absconse/ibex-sdk
Démarrage rapide
Configuration minimale
import { IbexProvider, useIbex } from '@absconse/ibex-sdk';
const config = {
baseURL: 'https://api.ibexwallet.org',
domain: 'votre-domaine.com',
};
function App() {
return (
<IbexProvider config={config}>
<Dashboard />
</IbexProvider>
);
}
Utilisation du hook
function Dashboard() {
const {
user, // Données utilisateur
balance, // Solde (nombre simple)
transactions, // Liste des transactions
signIn, // Connexion
send, // Envoyer de l'argent
isLoading, // État de chargement
error, // Erreurs
} = useIbex();
if (isLoading) return <div>Chargement...</div>;
if (error) return <div>Erreur: {error}</div>;
if (!user) return <button onClick={signIn}>Se connecter</button>;
return (
<div>
<h1>Bonjour {user.email || 'Utilisateur'}</h1>
<p>
Solde:{' '}
{balance.toLocaleString('fr-FR', {
style: 'currency',
currency: 'EUR',
})}
</p>
{user.iban && <p>IBAN: {user.iban.status}</p>}
<button onClick={() => send(100, '0x...')}>Envoyer 100€</button>
</div>
);
}
Configuration
Configuration de base
const config = {
baseURL: 'https://api.ibexwallet.org', // URL de l'API IBEX
domain: 'votre-domaine.com', // Votre domaine
};
Configuration avancée
const config = {
baseURL: 'https://api.ibexwallet.org',
domain: 'votre-domaine.com',
timeout: 30000, // Timeout des requêtes (ms)
retries: 3, // Nombre de tentatives
debug: true, // Mode debug
};
Exemples d'utilisation
Authentification
const { signIn, signUp, logout, user } = useIbex();
// Connexion
await signIn();
// Inscription (première fois)
await signUp();
// Déconnexion
await logout();
Transactions
const { send, receive, withdraw } = useIbex();
// Envoyer de l'argent
await send(100, '0x742d35Cc6634C0532925a3b8D0C0E1c4C5F2A6f');
// Obtenir l'adresse de réception
const address = await receive();
// Retirer vers IBAN
await withdraw(50, 'FR7612345678901234567890123');
Affichage des données
const { balance, transactions, user } = useIbex();
// Solde formaté
const formattedBalance = balance.toLocaleString('fr-FR', {
style: 'currency',
currency: 'EUR',
});
// Transactions récentes
const recentTransactions = transactions.slice(0, 5);
// Informations utilisateur
console.log(user.email, user.kyc.status);
Sécurité
WebAuthn et Passkeys
L'IBEX SDK utilise WebAuthn, le standard W3C pour l'authentification sans mot de passe :
- Authentificateurs intégrés : PIN, Touch ID, Face ID, Windows Hello
- Clés de sécurité : Support des clés physiques (YubiKey, etc.)
- Protection anti-phishing : Impossible d'usurper l'identité
- Chiffrement local : Les clés restent sur l'appareil
Bonnes pratiques
- Toujours utiliser HTTPS en production
- Valider les entrées utilisateur avant les transactions
- Gérer les erreurs avec le système d'erreurs du SDK
- Tester sur différents appareils pour l'authentification
Support des plateformes
Navigateurs supportés
Appareils mobiles
- iOS : 14+ avec Safari (Touch ID, Face ID)
- Android : 8+ avec Chrome (empreinte digitale, PIN)
Performance
Optimisations automatiques
- Architecture hybride : API REST (1 requête initiale) + WebSocket (temps réel)
- Cache intelligent : Évite les requêtes inutiles
- WebSocket optimisé : Mises à jour automatiques sans polling
- Minimum de requêtes : Seulement les opérations initiales via API
Monitoring
const { error, isLoading } = useIbex();
// Surveillance des erreurs
useEffect(() => {
if (error) {
console.error('Erreur IBEX:', error);
// Envoyer à votre service de monitoring
}
}, [error]);
Documentation complète
Guide | Description |
---|---|
Guide de démarrage | Installation et première utilisation |
Guide des hooks | Documentation détaillée du hook useIbex |
Types TypeScript | Référence complète des types |
Authentification | Guide WebAuthn et passkeys |
Configuration | Options de configuration |
Exemples | Exemples pratiques et cas d'usage |
FAQ | Questions fréquentes et dépannage |
API Reference | Documentation technique complète |
Contribution
Nous accueillons les contributions ! Consultez notre guide de contribution pour commencer.
Développement local
git clone https://github.com/AbsconseOfficiel/ibex-sdk.git
cd ibex-sdk
npm install
npm run dev
Licence
Apache License 2.0 - voir LICENSE pour plus de détails.
Support
Canal | Lien |
---|---|
Documentation | docs/ |
Issues GitHub | Signaler un bug |
Discussions | Poser une question |
Changelog
Voir CHANGELOG.md pour l'historique des versions.
Si ce projet vous aide, n'hésitez pas à lui donner une étoile !
Prêt à commencer ?
Suivez notre guide de démarrage pour intégrer l'IBEX SDK dans votre application en quelques minutes !
🔗 Propulsé par Dylan Enjolvin
📄 Sous licence Apache 2.0