Skip to Content
Nouvelle version 12 disponible 🎉
LicensingIntroductionFonctionnalités générales

Fonctionnalités générales

Ce que fait Babel Licensing, où il s’exécute et ce que comprend chaque édition. Chaque section renvoie à la page qui montre comment utiliser la fonctionnalité.

Système complet de gestion des licences

Babel Licensing couvre toute la vie d’une licence logicielle : définition des produits et des modèles, génération et signature des licences, distribution sous forme de fichiers ou de numéros de série, activation sur des machines ou partage sur un réseau, suivi de leur utilisation, puis révocation ou prolongation. La bibliothèque cliente fait respecter les conditions de licence dans votre application ; le service, les outils de bureau et web, le plugin WordPress et l’outil en ligne de commande les gèrent de votre côté. La page Flux de travail de licence parcourt les quatre étapes qui mènent de la définition du produit au déploiement.

Basé sur des licences signées numériquement

Chaque licence est signée avec une paire de clés asymétriques : la clé privée reste chez vous et signe, la clé publique accompagne l’application et vérifie. Une licence falsifiée ou contrefaite échoue à la vérification avant que son contenu ne soit considéré comme fiable. Les licences sont stockées sous forme de fichiers XML, faciles à lire et à livrer avec un programme d’installation, ou sous forme de chaînes encodées, qui tiennent dans un numéro de série saisi par le client, dans une réponse d’activation ou dans un champ de base de données. Les deux formes portent le même contenu et se valident de la même façon.

Compatible avec toutes les technologies .NET

La bibliothèque cliente Babel.Licensing cible tous les runtimes .NET qui produisent des assemblies standard :

  • .NET Core et .NET, jusqu’à .NET 10
  • .NET Framework 2.0 à 4.8
  • .NET Standard
  • ASP.NET et ASP.NET Core
  • .NET MAUI et Xamarin
  • UWP et Mono

Le Babel Licensing Service est une application .NET qui s’exécute sous Windows, Linux et macOS, nativement ou dans Docker. Tous deux fonctionnent avec les environnements de développement habituels, dont Visual Studio et Visual Studio Code, et les composants client s’installent sous forme de packages NuGet.

Formule de licence flexible

Une licence exprime ce que votre produit doit vérifier, le tout défini une seule fois dans un modèle de licence :

  1. Licences d’essai limitées dans le temps, en nombre d’exécutions ou en nombre d’instances, pour que le client puisse évaluer le produit avant d’acheter.
  2. Licences liées à la machine, associées à l’empreinte d’une machine, de sorte qu’une licence ne peut pas être copiée sur un autre ordinateur.
  3. Licences restreintes à un domaine, qui ne sont valides qu’à l’intérieur d’un domaine réseau donné.
  4. Licences basées sur des fonctionnalités, qui activent ou désactivent des parties du produit et servent de base aux éditions par paliers.
  5. Restrictions personnalisées, validées par votre propre code, pour les règles que les restrictions intégrées ne couvrent pas.
  6. Champs personnalisés, qui portent toutes les métadonnées dont vous avez besoin : données du client, clauses contractuelles, configuration.

Restrictions de licence et Propriétés de licence décrivent chacun de ces éléments en détail ; Format de la clé utilisateur définit l’apparence des numéros de série.

Trois modes de licence

La même formule de licence se déploie dans l’un des trois modes de licence. Un fichier de licence est validé hors ligne, sans aucun serveur, ce qui convient aux environnements déconnectés et protégés. L’activation de licence lie une licence à une machine donnée par l’intermédiaire du service, qui peut ensuite la désactiver, prolonger sa date d’expiration ou transmettre de nouvelles fonctionnalités aux clients déjà activés. Une licence flottante est un pool de postes partagé sur un réseau : les postes sont attribués aux clients pendant leur exécution et libérés à leur arrêt.

Jetons de licence Server

Chaque client activé ou flottant détient un jeton de licence sur le service tant qu’il est utilisé ; les licences fichier n’en consomment aucun. L’édition Server autorise jusqu’à 1 000 jetons actifs à la fois, soit le nombre maximal de clients connectés ou activés simultanément, et récupère un jeton dès que sa licence est libérée ou désactivée. L’édition Data Center Data Center supprime cette limite.

Babel Licensing Service Server

Le Babel Licensing Service est le composant central : il active et valide les licences, attribue les postes flottants, compte les jetons, reçoit les rapports des applications sous licence, envoie les webhooks et expose une API gRPC et REST. Il s’exécute sur site ou dans le cloud, sous Windows, Linux, macOS ou Docker, et stocke ses données dans la base de données Babel Licensing sur SQL Server, MySQL, MariaDB ou SQLite, MySQL et MariaDB étant aussi pris en charge sur .NET 10. Depuis la version 11.7, il est livré sans compte administrateur par défaut ni clé de signature codée en dur et, depuis la version 11.8, il démarre sur les hôtes en mode FIPS dont le conteneur ne dispose pas d’un fournisseur cryptographique certifié ; voir Configuration, Vérification de l’état et Conformité FIPS.

Gestion depuis le bureau Server

Babel Desktop est une application multiplateforme pour Windows, macOS et Linux qui configure aussi l’obfuscation. Sa section Gestion des licences se connecte à un Babel Licensing Service avec une clé API. Vous y gérez les clients, les contacts, les produits, les versions, les commandes, les licences et les modèles, vous générez, révoquez, exportez et envoyez par e-mail des licences, vous parcourez les rapports, les jetons, les traces et les journaux, et vous administrez les utilisateurs, les clés API et les webhooks, avec un tableau de bord et une vue géographique. Les modifications exigent un profil de gestion locale, c’est-à-dire Babel Desktop exécuté sur la machine du service ; les profils de services distants sont en lecture seule. Son serveur MCP peut exposer ces opérations à un assistant IA.

Gestion depuis le navigateur Data Center

L’application web administre le service depuis n’importe quel navigateur, avec des utilisateurs dotés de rôles. Son tableau de bord affiche la répartition des licences sur une carte, les ventes par produit et l’utilisation des jetons ; ses pages gèrent les licences, les modèles, les produits, les clients, les commandes et les ressources telles que les clés de signature et les modèles d’e-mail ; elle émet des clés API pour les intégrations externes, configure des webhooks qui notifient vos systèmes des événements de licence, et donne accès aux rapports d’exception et au journal d’activité. L’application web est livrée dans le paquet unique du service et déverrouillée par une licence Data Center ; avec une licence Server, l’adresse du service affiche une page de mise à niveau.

Vendre avec WordPress et WooCommerce Server

Le plugin WordPress gère les produits, les modèles, les clients et les licences depuis l’administration de WordPress et s’intègre à WooCommerce, de sorte qu’une licence est générée et envoyée par e-mail automatiquement à l’achat d’un produit sous licence. Les modèles d’e-mail des avis d’émission, d’expiration et de renouvellement se modifient depuis la même interface.

Rapports envoyés du terrain

Les applications sous licence peuvent envoyer des rapports au service : des rapports d’exception avec les traces de pile, les informations d’environnement et les informations système, pour diagnostiquer les plantages ; des rapports d’utilisation de licence, qui consignent les fonctionnalités, les champs et les restrictions réellement utilisés ; et des rapports personnalisés, qui portent toutes les données que votre application souhaite collecter, chiffrées lorsqu’elles sont sensibles. Les rapports se consultent dans Babel Desktop ou dans l’application web et peuvent être transmis par des webhooks.

SDK, MSBuild et ligne de commande intégrés Server

La bibliothèque cliente et le package Babel.Data permettent d’automatiser par script toutes les opérations de licence, de la validation dans l’application à la génération de licences dans un build. L’outil en ligne de commande lic, installé comme outil dotnet, génère des licences signées et des numéros de série avec toutes leurs propriétés et restrictions depuis des scripts et des pipelines de CI ; depuis la version 11.8, il produit une sortie JSON ou NDJSON lisible par machine, avec --quiet et --strict-exit ; voir Mode adapté à l’IA. La tâche MSBuild lic expose les mêmes options à un build.

Piloté par des assistants IA avec MCP Data Center

Le serveur MCP Babel Licensing expose l’API REST du service à Claude et à toute application cliente Model Context Protocol : un assistant peut ainsi rechercher les licences d’un client, les activer, les prolonger ou les révoquer, créer des clients et des commandes, analyser les tendances d’activation et expliquer les messages d’erreur, le tout en langage naturel. La page Intégration de l’IA présente les cas d’utilisation pour l’assistance, les ventes, le développement et l’administration.

Entièrement intégré à Babel Obfuscator

Les deux éditions de Babel Licensing incluent Babel Obfuscator Ultimate, et les deux produits sont conçus pour fonctionner ensemble. La bibliothèque cliente est destinée à être obfusquée avec l’application qui la contient, et le chiffrement du code de l’obfuscateur permet à un mot de passe de licence de déverrouiller du code chiffré : une licence basée sur des fonctionnalités protège ainsi non seulement un interrupteur, mais aussi l’implémentation qui se trouve derrière. Les licences peuvent aussi être générées et validées depuis Babel Desktop, l’application qui exécute les projets d’obfuscation, et depuis son serveur MCP.

Prêt pour FIPS

La validation de licence n’utilise aucun algorithme interdit par FIPS et, depuis la version 11.8, elle ne dépend plus du tout de la pile cryptographique du système d’exploitation : les applications sous licence démarrent donc sur les hôtes en mode FIPS, même lorsque le conteneur ne dispose pas d’un fournisseur OpenSSL certifié. Le service lui-même démarre sur ces hôtes lorsqu’il est obfusqué avec l’option AES managé de Babel Obfuscator. Voir Conformité FIPS.

Last updated on