Skip to content

Comparaison des Fonctionnalités

Comparaison complète des 4 librairies client Sharokey pour vous aider à choisir le bon outil pour votre projet.

🎯 Guide de Décision Rapide

🖥️ Utilisez CLI C# si vous avez besoin :

  • Scripts shell & automatisation
  • Intégration pipeline CI/CD
  • Données en pipe depuis d'autres commandes
  • Exécutable cross-platform

📦 Utilisez JavaScript SDK si vous avez besoin :

  • Applications Node.js
  • Applications web complexes
  • Support TypeScript complet
  • Filtrage et recherche avancés

🌐 Utilisez JavaScript CDN si vous avez besoin :

  • Intégration navigateur rapide
  • Aucun processus de build
  • Projets HTML simples
  • Configuration minimale

🐍 Utilisez Python SDK si vous avez besoin :

  • Applications Python
  • Projets science des données & ML
  • API cohérente avec CLI
  • Support Async/await

📊 Matrice des Fonctionnalités

Configuration & Installation

FonctionnalitéCLI C#JavaScript SDKJavaScript CDNPython SDK
Configuration Token
URL API Personnalisée
Test de Connexion
Variables d'Environnement

Gestion des Secrets

FonctionnalitéCLI C#JavaScript SDKJavaScript CDNPython SDK
Créer des Secrets
Lister les Secrets
Détails d'un Secret
Supprimer des Secrets
Opérations Groupées

Fonctionnalités de Sécurité

FonctionnalitéCLI C#JavaScript SDKJavaScript CDNPython SDK
Chiffrement Zero Knowledge
Protection par Mot de Passe
OTP par Email
OTP par SMS
Expiration Personnalisée
Limites de Vues

Support de Fichiers

FonctionnalitéCLI C#JavaScript SDKJavaScript CDNPython SDK
Pièces Jointes
Fichiers Multiples
Validation Taille 10Mo
Validation Type de Fichier
Glisser & DéposerN/AN/A

Fonctionnalités Avancées

FonctionnalitéCLI C#JavaScript SDKJavaScript CDNPython SDK
Filtrage Avancé
Fonctionnalité de Recherche
Secrets Actifs Uniquement
Pagination
Entrée Stdin/Pipe

Sortie & Formatage

FonctionnalitéCLI C#JavaScript SDKJavaScript CDNPython SDK
Sortie JSON
Format Tableau
Mode Verbeux
Sortie ColoréeN/AN/A

Expérience Développeur

FonctionnalitéCLI C#JavaScript SDKJavaScript CDNPython SDK
Support TypeScriptN/AN/A
Annotations de TypeN/A
Async/Await
Gestion d'Erreurs
Tests Unitaires
Documentation

🔄 Cohérence de l'API

Toutes les librairies maintiennent un nommage de méthode cohérent pour les opérations principales :

Créer un Secret

bash
sharokey create "secret" --hours 24 --views 1
javascript
await client.createSecret("secret", {expirationHours: 24, maximumViews: 1});
javascript
await Sharokey.create("secret", 24, 1);
python
secret = await client.create("secret", 24, 1)

Lister les Secrets

bash
sharokey list --limit 10 --status active
javascript
await client.getSecrets({limit: 10, status: 'active'});
javascript
await Sharokey.list({limit: 10});
python
secrets = await client.list(limit=10, status='active')

Supprimer un Secret

bash
sharokey delete ABC123
javascript
await client.deleteSecret('ABC123');
javascript
await Sharokey.delete('ABC123');
python
await client.delete('ABC123')

📦 Installation & Configuration

LibrairieInstallationConfiguration
CLI C#winget install Sharokey.CLIsharokey config --token xxx
JavaScript SDKnpm install sharokey-jsnew SharokeyClient({token})
JavaScript CDN<script src="sharokey.js">Sharokey.config({token})
Python SDKpip install sharokeySharokeyClient(token='xxx')

🔐 Compatibilité de Chiffrement

Toutes les librairies utilisent un chiffrement Zero Knowledge identique :

  • Algorithme : AES-GCM-256
  • Dérivation de Clé : PBKDF2 avec 10 000 itérations
  • Sel : 16 octets aléatoires par secret
  • IV : 16 octets aléatoires par secret
  • Compatibilité croisée : Les secrets créés par n'importe quelle librairie peuvent être déchiffrés par toute autre

📊 Comparaison de Performance

MétriqueCLI C#JavaScript SDKJavaScript CDNPython SDK
Taille Bundle~15Mo~2.1Mo~850Ko~45Mo
Démarrage à Froid~100ms~50ms~20ms~200ms
Utilisation Mémoire~25Mo~15Mo~8Mo~35Mo
Vitesse de ChiffrementRapideRapideRapideMoyen
Efficacité RéseauHauteHauteHauteHaute

🎯 Matrice des Cas d'Usage

Cas d'UsageLibrairie RecommandéePourquoi ?
Scripts ShellCLI C#Intégration shell native, support pipe
Pipelines CI/CDCLI C#Exécutable cross-platform, sortie JSON
Applications ReactJavaScript CDNBundle petit, intégration facile
APIs Node.jsJavaScript SDKFonctionnalités complètes, support TypeScript
Projets Vue.jsJavaScript CDNLéger, configuration minimale
Applications Web PythonPython SDKIntégration Python native
Science des DonnéesPython SDKSupport async, compatibilité Jupyter
Applications DesktopCLI C#Intégration système, gestion fichiers
MicroservicesJavaScript SDK ou Python SDKSelon la stack
Scripts d'AutomatisationCLI C# ou Python SDKTous deux excellents pour l'automatisation

🚀 Migration Entre Librairies

Du CLI vers Python SDK

python
# CLI: sharokey create "secret" --hours 24 --views 1
secret = await client.create("secret", 24, 1)

# CLI: sharokey list --limit 5
secrets = await client.list(limit=5)

# CLI: sharokey delete ABC123
await client.delete("ABC123")

Du JavaScript CDN vers JavaScript SDK

javascript
// JavaScript CDN
await Sharokey.create("secret", 24, 1);

// JavaScript SDK équivalent
await client.createSecret("secret", {
  expirationHours: 24,
  maximumViews: 1
});

📈 Maturité des Librairies

LibrairieVersionStabilitéDernière Mise à Jour
CLI C#v2.1.0Stable2025-01-10
JavaScript SDKv1.8.3Stable2025-01-12
JavaScript CDNv1.5.2Stable2025-01-08
Python SDKv1.0.0Nouveau2025-01-14

🎉 Conclusion

  • Pour l'automatisation : Choisissez CLI C# ou Python SDK
  • Pour le développement web : Choisissez JavaScript SDK ou JavaScript CDN
  • Pour l'entreprise : Choisissez CLI C# ou JavaScript SDK
  • Pour la simplicité : Choisissez JavaScript CDN ou Python SDK

Toutes les librairies fournissent une sécurité identique et un chiffrement Zero Knowledge. Votre choix dépend de votre environnement de développement et des exigences fonctionnelles.

Released under the MIT License.