Guide d'Intégration
Apprenez à intégrer les fonctionnalités OikosTV dans vos propres applications en utilisant notre SDK officiel.
Le @crewvid/outpost-sdk
Notre SDK est conçu pour faciliter la construction d'applications qui interagissent avec le réseau peer de OikosTV. Il gère automatiquement des tâches complexes comme la récupération de fragments, le déchiffrement AES et le suivi des récompenses.
Installation
npm install @crewvid/outpost-sdkImplémentation de Base
Initialisez le client et écoutez les événements pour construire des expériences interactives.
import { CrewOutpostClient } from '@crewvid/outpost-sdk';
// Initialisez le client avec vos identifiants et quota de stockage
const client = new CrewOutpostClient({
apiKey: 'your_api_key',
storageQuota: 50, // en Go
});
// Écoutez les événements pour mettre à jour votre interface ou déclencher des actions
client.on('chunkServed', (data) => {
console.log(`Fragment servi avec succès : ${data.chunkId}`);
});
client.on('rewardEarned', (amount) => {
console.log(`Vous avez gagné ${amount} PeerCredits !`);
});Fonctionnalités Clés
Récupération Automatisée des Fragments
Le SDK gère la logique complexe de recherche et récupération de fragments vidéo depuis plusieurs peers dans l'ordre, en revenant au stockage B2 si nécessaire.
Priorité de récupération :
- Essayer WebRTC pour chaque peer dans l'ordre du manifest
- En cas d'échec, passer au peer suivant
- Après épuisement de tous les peers, récupérer depuis l'URL de repli B2
- Émettre une erreur uniquement après cela
Déchiffrement Fluide
Le déchiffrement AES-256-GCM intégré garantit que le contenu est déchiffré à la volée de manière sécurisée et performante en utilisant la Web Crypto API.
- Utilise
crypto.subtleexclusivement (pas de Node.jscrypto) - Le nonce est extrait des 12 premiers octets du ciphertext
- Les données déchiffrées ne sont jamais persistées dans le stockage
Meilleures Pratiques
- Gestion des Erreurs : Gérez toujours les erreurs réseau et les déconnexions de peers de manière élégante pour garantir une expérience utilisateur fluide
- Gestion des Ressources : Soyez conscient du quota de stockage défini dans la configuration de votre client pour éviter une utilisation inattendue du disque
- Sécurité : Ne codez jamais en dur les clés API ou les identifiants sensibles directement dans votre code frontend ; utilisez des variables d'environnement sécurisées ou des proxies backend
- Session JWT : Le
sessionJWTne doit jamais toucherlocalStorage,sessionStorage,IndexedDBou les cookies — gardez-le uniquement en mémoire
Sécurité
Ne jamais journaliser, retourner ou persister des clés de chiffrement brutes en dehors du vault. Cela s'applique à la fois au code côté serveur et à l'utilisation du SDK navigateur.