Skip to content

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

LibrairieIdéale PourFonctionnalités Clés
CLI C#Scripts shell, CI/CD, automatisationExécutable multi-plateforme, support des pipes
SDK PythonApplications Python, projets Django/FastAPIAsync/await, annotations de type, gestion d'erreurs complète
SDK JavaScriptApplications Node.js, projets TypeScriptPackage NPM, support de type complet, compatibilité universelle
CDN JavaScriptIntégration navigateur rapide, projets simplesFichier unique, aucune compilation requise, plug-and-play

📦 Installation

bash
# Télécharger la dernière version
curl -L https://github.com/Sharokey/sharokey-cli/releases/latest/download/sharokey.exe -o sharokey.exe
bash
# Installer via pip
pip install sharokey
bash
# Installer via NPM
npm install Sharokey/sharokey-js
html
<!-- 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

bash
sharokey create "Mon mot de passe secret" --hours 24 --views 1
python
# 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)
javascript
// 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);
javascript
// 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

bash
sharokey create "Documents confidentiels" --hours 48 --views 3 \
  --attach contrat.pdf --attach specs.docx
python
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
)
javascript
import Sharokey from 'sharokey-js';
const secret = await Sharokey.create('Documents confidentiels', 48, 3, {
  attachments: [contractFile, specsFile] // Objets File
});
javascript
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 :

  1. Les secrets sont chiffrés avant transmission - Seules les données chiffrées atteignent nos serveurs
  2. Les clés sont divisées - Le serveur stocke CléA, le client génère CléB dans le fragment d'URL
  3. Le serveur ne peut pas déchiffrer - Nous n'avons jamais les deux clés simultanément
  4. 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 PythonSDK JSCDN 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 typeN/A
Async/awaitN/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érationCLISDK PythonSDK JSCDN JS
Créercreatecreate()create()create()
Listerlistlist()list()list()
Obtenirget SLUGget(slug)get(slug)get(slug)
Supprimerdelete SLUGdelete(slug)delete(slug)delete(slug)
Statistiquesstatsstats()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 →

Released under the MIT License.