Choisir le bon modèle de licence est une décision aussi stratégique que technique. Salesforce fournit un outil dédié, la License Management App (LMA), pour suivre et contrôler qui utilise votre package et selon quelles conditions. Ce choix conditionne à la fois votre modèle économique et l'architecture technique de vos contrôles d'accès.
La LMA est une application gratuite installée dans votre Partner Business Org (PBO). Elle centralise :
Chaque installation de votre package déclenche automatiquement un enregistrement dans la LMA, à condition d'avoir correctement lié votre License Management Org lors de la création du listing.
AppExchange ne dicte pas un modèle unique : vous choisissez celui adapté à votre marché.
La LMA suit les licences, mais ne bloque rien automatiquement dans l'org client : c'est à vous d'implémenter les contrôles. Le pattern standard consiste à interroger l'objet PackageLicense ou UserPackageLicense côté client :
PackageLicense license = [
SELECT ExpirationDate, StatusIdentifier, UsedLicenses, AllowedLicenses
FROM PackageLicense
WHERE NamespacePrefix = 'monapp'
LIMIT 1
];
if (license.ExpirationDate != null && license.ExpirationDate < Date.today()) {
throw new LicenseExpiredException('Licence expirée, veuillez contacter le support.');
}
Prévoyez toujours un comportement gracieux en cas de licence expirée (lecture seule, message d'alerte) plutôt qu'un blocage brutal qui pourrait bloquer des processus métier critiques du client, comme un Trigger en production.
Pour un modèle per-seat, l'administrateur client attribue des licences individuelles via Setup > Installed Packages. Votre application doit vérifier, avant d'exécuter une action sensible, que l'utilisateur courant dispose bien d'une licence active :
UserPackageLicense pour vérifier l'attribution individuelle.Changer de modèle de licence après plusieurs centaines d'installations est délicat et politiquement sensible. Avant de figer votre choix :
Le modèle de licence n'est jamais un détail administratif : il structure votre architecture technique, votre relation client et votre trajectoire de revenus. Le poser correctement dès le départ, avec l'appui de la LMA, évite des refontes douloureuses plus tard.
Notre équipe DevToSpace développe et publie des applications AppExchange de bout en bout, de l'idée à la Security Review.
Parler à un expert