feat(licence): lier la licence au poste (carte mere + disque)

C'etait la decision prise, et je l'avais mal lue : "pour le moment 1"
repondait a la question 1, pas "une seule licence".

PM.MachineId melange l'UUID de la carte mere (WMI) et la serie du volume
systeme, puis n'en publie que 16 hexa : l'empreinte se recopie dans un
courriel, l'UUID brut n'a pas a circuler. Un UUID nul ou tout a FF est
rejete — VM et images clonees l'annoncent, et deux postes tomberaient
alors sur la meme empreinte.

Le champ m est compare APRES la signature. m absent = licence flottante,
acceptee : seule la cle privee peut en emettre, et le champ ne peut pas
etre retire sans casser la signature. Cote script -Machine est
obligatoire sauf -Floating explicite.

L'ecran d'activation affiche l'Installation ID : une licence liee ne peut
plus etre emise avant l'installation.

Verifie sur ce poste : liee a lui acceptee, liee a un autre refusee,
flottante acceptee.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
r-zakarya
2026-09-05 15:16:35 +01:00
parent 2cb7d29450
commit 405ac7fac4
10 changed files with 287 additions and 8 deletions
+15
View File
@@ -237,6 +237,21 @@ input[type="range"]::-webkit-slider-thumb {
var(--bg);
}
#licenceScreen { z-index: 300; }
/* L'empreinte se recopie a la main dans un courriel : chasse fixe, selectionnable,
et assez grande pour qu'un 8 ne passe pas pour un B. */
.licence-machine {
margin-top: 18px; padding-top: 14px;
border-top: 1px solid var(--border);
text-align: center;
}
.licence-machine span { display: block; color: var(--text-dim); font-size: 11px; margin-bottom: 6px; }
.licence-machine code {
display: inline-block; padding: 6px 10px;
background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius-sm);
font-family: ui-monospace, "Cascadia Mono", Consolas, monospace;
font-size: 14px; letter-spacing: 1px; color: var(--text);
user-select: all;
}
.auth-card {
width: 100%; max-width: 400px;
padding: 32px;