Librairies Clientes
Choisissez la librairie cliente Sharokey qui convient le mieux à votre stack de développement. Toutes les librairies fournissent le chiffrement Zero Knowledge et sont conçues pour être conviviales pour les développeurs.
🎯 Comparaison Rapide
Librairie | Idéale Pour | Fonctionnalités Clés |
---|---|---|
CLI C# | Scripts shell, CI/CD, automatisation | Exécutable multi-plateforme, support des pipes |
SDK Python | Applications Python, projets Django/FastAPI | Async/await, annotations de type, gestion d'erreurs complète |
SDK JavaScript | Applications Node.js, projets TypeScript | Package NPM, support de type complet, compatibilité universelle |
CDN JavaScript | Intégration navigateur rapide, projets simples | Fichier unique, aucune compilation requise, plug-and-play |
📦 Installation
# Télécharger la dernière version
curl -L https://github.com/Sharokey/sharokey-cli/releases/latest/download/sharokey.exe -o sharokey.exe
# Installer via pip
pip install sharokey
# Installer via NPM
npm install Sharokey/sharokey-js
<!-- Inclusion directe du script -->
<script src="https://cdn.jsdelivr.net/gh/Sharokey/sharokey-cdn@latest/sharokey.js"></script>
<!-- Ou version spécifique pour la production -->
<script src="https://cdn.jsdelivr.net/gh/Sharokey/[email protected]/sharokey.js"></script>
⚡ Exemples de Démarrage Rapide
Créer un Secret
sharokey create "Mon mot de passe secret" --hours 24 --views 1
# Async/await avec annotations de type
from sharokey import SharokeyClient
client = SharokeyClient(token='votre-token')
secret = await client.create('Mon mot de passe secret', 24, 1)
print(secret.share_url)
// Import de module ES
import Sharokey from 'sharokey-js';
Sharokey.config({ token: 'votre-token' });
const secret = await Sharokey.create('Mon mot de passe secret', 24, 1);
console.log(secret.share_url);
// Disponible globalement après inclusion du script
Sharokey.config({ token: 'votre-token' });
const secret = await Sharokey.create('Mon mot de passe secret', 24, 1);
console.log(secret.share_url);
Avec Pièces Jointes
sharokey create "Documents confidentiels" --hours 48 --views 3 \
--attach contrat.pdf --attach specs.docx
from sharokey import SharokeyClient
client = SharokeyClient(token='votre-token')
secret = await client.create('Documents confidentiels', 48, 3,
attachments=['contrat.pdf', 'specs.docx'] # Chemins de fichiers
)
import Sharokey from 'sharokey-js';
const secret = await Sharokey.create('Documents confidentiels', 48, 3, {
attachments: [contractFile, specsFile] // Objets File
});
const secret = await Sharokey.create('Documents confidentiels', 48, 3, {
attachments: [contractFile, specsFile] // Objets File
});
🔐 Architecture Zero Knowledge
Toutes les librairies implémentent le chiffrement côté client obligatoire. L'API brute ne peut pas être utilisée directement car le chiffrement est entièrement géré par nos SDKs.
Implémentation Technique
- Chiffrement AES-GCM-256 avec données authentifiées
- Dérivation de clé PBKDF2 (10 000 itérations) à partir d'un sel aléatoire sécurisé
- Chiffrement côté client - vos données ne quittent jamais votre appareil non chiffrées
- Système à deux clés - CléA (stockage serveur) + CléB (fragment d'URL de partage)
- Perfect Forward Secrecy - chaque secret utilise des clés de chiffrement uniques
Pourquoi les SDKs sont Requis
La plateforme Sharokey implémente une véritable sécurité Zero Knowledge, ce qui signifie :
- Les secrets sont chiffrés avant transmission - Seules les données chiffrées atteignent nos serveurs
- Les clés sont divisées - Le serveur stocke CléA, le client génère CléB dans le fragment d'URL
- Le serveur ne peut pas déchiffrer - Nous n'avons jamais les deux clés simultanément
- Pas d'accès API brut - Les appels directs à l'API contourneraient entièrement le chiffrement
Cette architecture garantit que même si nos serveurs étaient compromis, vos secrets resteraient sécurisés car nous ne stockons jamais la clé de déchiffrement complète.
📊 Matrice de Fonctionnalités
Fonctionnalité | CLI C# | SDK Python | SDK JS | CDN JS |
---|---|---|---|---|
Opérations de Base | ||||
Créer des secrets | ✅ | ✅ | ✅ | ✅ |
Lister les secrets | ✅ | ✅ | ✅ | ✅ |
Obtenir les détails d'un secret | ✅ | ✅ | ✅ | ✅ |
Supprimer des secrets | ✅ | ✅ | ✅ | ✅ |
Statistiques d'utilisation | ✅ | ✅ | ✅ | ✅ |
Options de Sécurité | ||||
Protection par mot de passe | ✅ | ✅ | ✅ | ✅ |
OTP par email | ✅ | ✅ | ✅ | ✅ |
OTP par SMS | ✅ | ✅ | ✅ | ✅ |
Support de Fichiers | ||||
Pièces jointes | ✅ | ✅ | ✅ | ✅ |
Fichiers multiples | ✅ | ✅ | ✅ | ✅ |
Validation limite 10MB | ✅ | ✅ | ✅ | ✅ |
Fonctionnalités Avancées | ||||
Filtrage avancé | ✅ | ✅ | ✅ | ✅ |
Secrets actifs uniquement | ✅ | ✅ | ✅ | ✅ |
Entrée Stdin/pipe | ✅ | ❌ | ❌ | ❌ |
Formats de Sortie | ||||
Sortie JSON | ✅ | ✅ | ✅ | ✅ |
Format tableau | ✅ | ❌ | ❌ | ❌ |
Développement | ||||
Annotations/définitions de type | N/A | ✅ | ✅ | ❌ |
Async/await | N/A | ✅ | ✅ | ✅ |
Gestion d'erreurs | ✅ | ✅ | ✅ | ✅ |
Tests unitaires | ✅ | ✅ | ✅ | ❌ |
📋 Cohérence des Méthodes
Toutes les librairies utilisent un nommage cohérent pour les opérations équivalentes :
Opération | CLI | SDK Python | SDK JS | CDN JS |
---|---|---|---|---|
Créer | create | create() | create() | create() |
Lister | list | list() | list() | list() |
Obtenir | get SLUG | get(slug) | get(slug) | get(slug) |
Supprimer | delete SLUG | delete(slug) | delete(slug) | delete(slug) |
Statistiques | stats | stats() | stats() | stats() |
🎯 Choisir la Bonne Librairie
Utilisez le CLI C# quand :
- Vous construisez des scripts shell ou de l'automatisation
- Vous intégrez avec des pipelines CI/CD
- Vous devez envoyer des données depuis d'autres commandes
- Vous préférez les outils en ligne de commande
Utilisez le SDK Python quand :
- Vous construisez des applications Python (Django, FastAPI, Flask)
- Vous avez besoin d'async/await avec des annotations de type complètes
- Vous nécessitez une gestion d'erreurs et une validation robustes
- Vous travaillez avec des projets de science des données ou d'automatisation
Utilisez le SDK JavaScript quand :
- Vous construisez des applications Node.js ou des projets TypeScript
- Vous avez besoin d'un support de type complet et de modules ES modernes
- Vous nécessitez une gestion d'erreurs et une validation complètes
- Vous travaillez avec des applications d'entreprise
Utilisez le CDN JavaScript quand :
- Prototype rapide ou intégration simple
- La taille du bundle minimal est importante
- Les opérations de secrets de base sont suffisantes
- Vous commencez avec Sharokey
📚 Documentation des Librairies
🖥️ CLI C#
Outil en ligne de commande multi-plateforme pour l'automatisation et le scripting.
Voir la Documentation →🐍 SDK Python
Package async/await avec annotations de type et gestion d'erreurs complète.
Voir la Documentation →📦 SDK JavaScript
Package NPM avec support TypeScript et compatibilité Node.js/Navigateur.
Voir la Documentation →⚡ CDN JavaScript
Librairie légère pour intégrations rapides et projets simples.
Voir la Documentation →🚀 Exemples de Code
Voir tous les exemples côte à côte à travers chaque librairie avec des échantillons de code en direct.
Parcourir les Exemples →