Qu'est-ce qu'une clé de licence logicielle ?
Une clé de licence logicielle est une chaîne de caractères qui prouve qu'une installation spécifique de votre logiciel est autorisée à fonctionner — généralement liée à un achat, un compte, ou un appareil précis. C'est le mécanisme qui transforme "quiconque a l'installeur peut l'utiliser pour toujours" en "seuls ceux qui ont payé peuvent l'utiliser". La clé elle-même est généralement dénuée de sens — une chaîne d'apparence aléatoire comme SLK-7X9K-2MPQ-R4WT-BH3N — sa force vient de ce qui la vérifie : un serveur capable de confirmer qu'elle est valide, non utilisée au-delà de sa limite d'activations, et liée au bon produit. Une clé que rien ne vérifie n'est qu'un mot de passe sans personne pour garder la porte.
Comment fonctionne réellement une clé de licence ?
Il y a deux moments où une clé de licence compte : l'activation et la vérification. L'activation a lieu une seule fois — un client saisit sa clé, votre app appelle un serveur de licences, le serveur confirme que la clé est valide et ne dépasse pas sa limite d'appareils, puis enregistre que cet appareil précis (généralement via une empreinte matérielle) est désormais activé. La vérification a lieu à chaque lancement suivant — votre app vérifie que l'activation est toujours valide, soit en rappelant le serveur, soit, mieux, en vérifiant un bail signé sauvegardé localement depuis la dernière vérification réussie, afin que l'app fonctionne aussi hors ligne pendant une fenêtre définie (généralement 3-7 jours) sans connexion internet. La signature compte : un simple indicateur local enregistré dans un fichier peut être modifié par quiconque avec un éditeur de texte, tandis qu'un bail signé cryptographiquement (Ed25519 est la norme moderne pour cela) peut être vérifié comme authentique sans appel réseau, mais ne peut pas être falsifié sans la clé privée, qui ne quitte jamais votre serveur.
Clé de licence vs product key vs serial key : quelle est la vraie différence ?
Dans l'usage courant, ces termes s'échangent constamment, mais ils ont des origines distinctes et, parfois, des significations distinctes selon qui les emploie :
Clé de licence
Le terme moderne et général — généralement lié à un compte ou un achat, vérifié auprès d'un serveur en direct, et souvent révocable. C'est ce que la plupart des logiciels SaaS et indie entendent réellement aujourd'hui par licence.
Product key
Historiquement utilisé pour les logiciels en boîte/retail (Windows, Office) — une clé saisie une fois à l'installation, souvent validée une seule fois et rarement revérifiée ensuite.
Numéro de série / serial key
Le plus ancien des trois termes — à l'origine juste un identifiant unique par copie vendue, souvent sans aucune validation côté serveur, ce qui explique pourquoi les numéros de série ont été si faciles à divulguer et partager.
Clé d'activation
Pas vraiment une catégorie à part — généralement juste un autre nom pour l'un des termes ci-dessus, utilisé spécifiquement pour débloquer/activer une copie au premier lancement.
Types de clés de licence
Le type dont vous avez besoin dépend entièrement de la façon dont vous vendez et de qui utilise votre logiciel :
| Type | How it works | Best for |
|---|---|---|
| Poste unique (node-locked) | Une clé, un appareil. L'activer sur un second appareil échoue, ou désactive le premier. | Apps de bureau vendues à des particuliers — le modèle le plus courant pour les logiciels indie. |
| Flottante / par postes | Un pool de N activations simultanées partagées par une équipe ; un poste se libère quand quelqu'un désactive ou passe hors ligne. | Outils B2B vendus par équipe plutôt que par personne. |
| Abonnement / durée limitée | La clé (ou le compte derrière) cesse de se vérifier avec succès une fois la période de facturation expirée, indépendamment de l'appareil. | Produits SaaS et à revenus récurrents — s'associe naturellement à Stripe ou équivalent. |
| Clé d'essai | Se vérifie avec succès pendant une fenêtre fixe (7/14/30 jours) depuis la première activation, puis s'arrête — logique distincte d'une clé payante, pas juste une clé payante avec un minuteur que personne n'applique. | Laisser les gens essayer avant d'acheter sans offrir le produit payant. |
Faut-il construire son propre système de licence, ou utiliser un service ?
Le construire soi-même
Faisable, et beaucoup de développeurs le font — mais "juste vérifier une clé" se transforme discrètement en une base de données de clés et d'activations, une API que votre app peut appeler de n'importe où, un moyen de révoquer une clé (rétrofacturations, fraude, remboursements arrivent), et une logique d'essai qui ne se réinitialise pas juste en réinstallant. Rien de tout cela ne peut vivre en sécurité uniquement dans l'app elle-même, car un utilisateur déterminé peut patcher n'importe quelle vérification purement hors ligne. Une fois tout listé, c'est un petit service backend que vous possédez désormais pour toujours — hébergement, disponibilité et maintenance — pour une fonctionnalité qui n'est pas votre produit réel.
Utiliser un service de licence
Une API de licence hébergée (SublimeKeys en est un exemple) vous donne des endpoints activate/verify/deactivate, un tableau de bord pour émettre des clés manuellement ou automatiquement à chaque vente, une vérification hors ligne via des baux signés, et la révocation, sans que vous n'hébergiez rien. Le compromis est simple : un petit coût récurrent (souvent avec un plan gratuit pour commencer) contre le fait de ne plus jamais toucher à un code de licence. Pour la plupart des développeurs indie, le vrai produit vaut plus leur temps que réinventer cette roue précise.
Erreurs de licence courantes chez les développeurs indie
Vérifier la clé une seule fois, à l'installation
Sans vérification continue, une clé partagée plus un installeur divulgué signifient des copies gratuites illimitées pour toujours.
Aucune gestion du hors ligne
Les systèmes qui ne vérifient qu'en ligne bloquent les clients payants dès que le wifi tombe, générant des tickets support, pas de la sécurité.
Fichiers de licence locaux non signés
Un fichier JSON sur le disque disant {"licensed": true} n'est pas une vérification de licence — c'est une suggestion, modifiable avec le Bloc-notes.
Aucun moyen de révocation
Sans moyen d'invalider une clé spécifique, une seule rétrofacturation ou une clé divulguée ne peut pas être proprement annulée.
Traiter les essais comme un minuteur, pas un état
Un essai qui vérifie juste "jours depuis l'installation" se réinitialise à la réinstallation ; la vraie logique d'essai doit vivre côté serveur.
Questions fréquentes
Ai-je besoin d'un système de clés de licence pour une app gratuite ?
Non — les clés de licence existent spécifiquement pour restreindre l'accès payant. Une app gratuite n'a rien à vérifier.
Une clé de licence peut-elle être crackée ?
Toute vérification s'exécutant entièrement sur l'appareil de l'utilisateur peut, tôt ou tard, être contournée par quelqu'un d'assez déterminé — l'objectif réaliste n'est pas de rendre cela impossible, mais d'élever l'effort au-delà de ce que demande le partage occasionnel, tout en offrant aux clients payants une expérience fluide et sans accroc.
Quelle est la différence entre activation et vérification ?
L'activation a lieu une seule fois, quand une clé est utilisée pour la première fois sur un appareil. La vérification a lieu à chaque lancement suivant, confirmant que l'activation est toujours valide.
Les clés de licence peuvent-elles fonctionner sans connexion internet ?
Oui, si le système prend en charge la vérification hors ligne — généralement via un bail signé cryptographiquement et sauvegardé localement après la dernière vérification en ligne réussie, valide pour une fenêtre fixe (des jours, pas indéfiniment).
Une clé de licence est-elle la même chose que le DRM ?
Liés mais pas identiques — le DRM implique généralement une restriction technique plus profonde (chiffrement, verrous matériels). Un système de clé de licence peut être léger (une vérification au lancement) sans le reste de ce que le DRM implique généralement.
About
Patrick Chen — développeur indie derrière Sublimearts.io. A construit SublimeKeys après avoir écrit exactement ce code de vérification de licence pour ReelNox Studio et réalisé que tous les autres développeurs indie vendant du logiciel payant résolvaient le même problème à partir de zéro.