Licence et support
L'écran Licence et support permet de lire l'état de la licence de la plateforme, d'activer un jeton de licence
signé, de lire l'historique de licence et de savoir quoi joindre à une demande de support. L'expiration n'arrête jamais
la plateforme. Chemin dans le portail : /admin/license. Tout utilisateur connecté lit l'état et l'onglet de support ;
les administrateurs de la plateforme (platform_admin) activent une licence et lisent l'historique.
Ce que montre l'écran
Quatre onglets ; Activation et Historique de licence ne s'affichent qu'à platform_admin
(ROLES.licenseAdmins).
- État de la licence : un badge avec l'état (vert pour
valid, orange pourexpiring_soonougrace, rouge pourexpired), un badge avec l'édition, la ligne N jours restants, le message de bandeau de la licence dans votre langue s'il existe, la ligne Actions restreintes avec la liste des actions refusées, et la réponse complète de l'API en JSON. - Activation : le formulaire Activer une licence, « Collez le jeton de licence signé. Il est vérifié localement. », avec un champ Jeton et une zone Résultat.
- Historique de licence : tableau Historique de licence, décrit ci-dessous.
- Support : ce qu'il faut joindre à une demande de support : le guide des licences
(
docs/operations/en/licensing.md), « L'identifiant de requête affiché avec chaque erreur de l'API. » et « Après la période de grâce, seules les mises à niveau et les installations de la marketplace sont refusées. »
Colonnes de Historique de licence :
| Colonne | Contenu |
|---|---|
| Type | Type d'événement (activation, refus, avertissement). |
| Licence | Identifiant de la licence. |
| Acteur | Auteur de l'événement. |
| Détails | Détails de l'événement, en JSON. |
| Le | Date de l'événement. |
Un clic sur une ligne d'historique l'affiche dans un panneau latéral ; la liste est paginée. État vide : Aucun événement de licence.
Actions
| Bouton ou action | Ce qu'il fait | Appel d'API | Rôles |
|---|---|---|---|
| Onglet État de la licence | Lit l'état courant de la licence. | GET /v1/license | Utilisateur connecté (décision license.read de la politique) |
| Onglet Activation, Jeton puis Exécuter | Confirmation du navigateur « Activer une licence ? Cette action sensible est consignée dans le journal d'audit. », puis le jeton (20 à 16384 caractères, JWS signé) est vérifié et activé ; le résultat montre le nouvel état. Un jeton refusé est inscrit dans l'historique. | POST /v1/license/activations | platform_admin |
| Onglet Historique de licence, Actualiser | Lit l'historique page par page. | GET /v1/license/history | platform_admin |
| Clic sur une ligne d'historique | Affiche la ligne dans un panneau latéral. | aucun | platform_admin |
| Onglet Support | Affiche la liste de contrôle du support. | aucun | Utilisateur connecté |
Rôles
D'après services/control-plane/src/eai/domains/licensing/routes.py : GET /v1/license exige un principal connecté et
la décision de politique license.read ; POST /v1/license/activations et GET /v1/license/history exigent
platform_admin et les décisions license.activate et license.history.read. Un utilisateur sans platform_admin qui
ouvre le formulaire Activation voit « Nécessite l'un de ces rôles : ... » à la place du formulaire.
Tâches courantes
Activer une licence renouvelée
- Ouvrir l'onglet d'activation. Portail : Administration > Licence et support > Activation. Résultat
attendu : le champ Jeton. En cas d'échec : l'onglet manque si vous n'êtes pas
platform_admin. - Coller le jeton et exécuter. Collez le jeton signé reçu avec la licence, cliquez Exécuter et acceptez la
confirmation. La plateforme vérifie la signature hors ligne. Résultat attendu : le résultat JSON avec le nouvel
état. En cas d'échec : lisez le code de l'erreur (par exemple
license_expired,license_group_mismatch) et le tableau ci-dessous. - Vérifier l'état. Onglet État de la licence. Résultat attendu : le badge
validet le nombre de jours restants. En cas d'échec : rechargez la page ; l'historique montre le refus et sa raison.
Préparer une demande de support
- Lire l'onglet de support. Il liste ce qu'il faut joindre. Résultat attendu : les trois points de la liste. En cas d'échec : aucun.
- Copier l'identifiant de requête. Chaque erreur de l'API affiche un identifiant de requête sous son message. Résultat attendu : un identifiant à joindre à la demande. En cas d'échec : reproduisez l'erreur et copiez l'identifiant affiché.
Dépannage
| Symptôme | Cause | Correction |
|---|---|---|
license_expired (HTTP 403) à l'activation | Le jeton a dépassé sa validité. | Demandez une licence renouvelée. |
license_group_mismatch (HTTP 409) | Le jeton appartient à un autre groupe d'installation. | Utilisez le jeton émis pour cette installation. |
license_conflict (HTTP 409) | L'activation entre en conflit avec la licence en place. | Lisez Historique de licence, puis recommencez avec le bon jeton. |
license_environment_not_included (HTTP 422) | La licence ne couvre pas cet environnement. | Demandez une licence qui inclut l'environnement. |
license_offline_not_allowed (HTTP 422) | La licence n'autorise pas l'activation hors ligne. | Demandez une licence qui autorise l'activation hors ligne. |
license_invalid_token, license_signature_invalid | Le jeton est endommagé, tronqué ou non signé par la clé attendue. | Collez de nouveau le jeton entier, sans espaces. |
forbidden (HTTP 403) sur Activation ou Historique de licence | Seul platform_admin active ou lit l'historique. | Connectez-vous en administrateur de la plateforme. |
| Actions restreintes n'est pas vide | La période de grâce est finie : mises à niveau et installations de la marketplace sont refusées, la plateforme continue de fonctionner. | Activez une licence renouvelée. |