Vue d'ensemble Overview

SmartStack CLI necessite une licence valide pour fonctionner. Vous avez deux options : demarrer avec un essai gratuit de 14 jours sans engagement, ou activer une licence achetee obtenue via votre compte administrateur ou votre organisation.

SmartStack CLI requires a valid license to operate. You have two options: start with a free 14-day trial with no commitment, or activate a purchased license obtained from your admin account or organization.

💡
Comment fonctionnent les licences
How licenses work

Les licences sont basees sur JWT (JSON Web Tokens) signes cryptographiquement. Le CLI verifie localement la signature et l'expiration. Tous les 7 jours, le CLI effectue un heartbeat securise avec le serveur de licences pour verifier la validite et recevoir les mises a jour.

Licenses are based on JWT (JSON Web Tokens) cryptographically signed. The CLI verifies the signature and expiration locally. Every 7 days, the CLI performs a secure heartbeat with the license server to verify validity and receive updates.

Essai gratuit Free Trial

Lancez un essai gratuit de 14 jours sans avoir besoin d'une licence achetee. L'essai est enregistre avec votre nom, email et informations d'organisation.

Start a 14-day free trial without needing a purchased license. The trial is registered with your name, email and organization information.

Commande

Command

smartstack license trial

Processus

Process

  1. Le CLI vous demande votre nom, email, entreprise et taille d'equipe
  2. The CLI asks for your name, email, company and team size
  3. Les informations sont envoyees au serveur de licences
  4. Information is sent to the license server
  5. Une licence d'essai JWT valide pour 14 jours est generee et activee localement
  6. A trial JWT license valid for 14 days is generated and activated locally
  7. Le CLI confirme : essai actif jusqu'au [date d'expiration]
  8. The CLI confirms: trial active until [expiration date]
💡

Apres 14 jours, vous devrez soit acheter une licence, soit relancer un nouvel essai (une seule fois par email).

After 14 days, you'll need to either purchase a license or start a new trial (once per email).

Activer une licence Activate a License

Quand vous achetez ou recevez une licence, vous obtenez un JWT token unique. Ce token est votre clé d'activation. Vous ne devez jamais le partager.

When you purchase or receive a license, you get a unique JWT token. This token is your activation key. Never share it.

Commande

Command

smartstack license activate <jwt-token>

Exemple

Example

smartstack license activate eyJhbGciOiJSUzUxMiIsInR5cCI6IkpXVCJ9...

Flux d'activation

Activation Flow

  1. Dev reçoit le token : Par email, depuis le portail d'achat ou par l'admin
  2. Dev receives the token: By email, from the purchase portal or from the admin
  3. Lance l'activation : smartstack license activate <token>
  4. Launch activation: smartstack license activate <token>
  5. CLI verifie le token : Signature RS512, date d'expiration, validite
  6. CLI verifies token: RS512 signature, expiration date, validity
  7. CLI stocke le JWT : En cache local (~/.smartstack/license.jwt)
  8. CLI stores JWT: In local cache (~/.smartstack/license.jwt)
  9. Premier heartbeat : POST /machine/activate avec fingerprint + instanceId
  10. First heartbeat: POST /machine/activate with fingerprint + instanceId
  11. Confirmation : Licence activee pour [edition], expire le [date]
  12. Confirmation: License activated for [edition], expires on [date]
💡

La licence est liee a votre machine via un fingerprint (empreinte hardware). Une licence ne peut etre active que sur une seule machine a la fois.

The license is tied to your machine via a fingerprint (hardware signature). A license can only be active on one machine at a time.

Verifier le statut Check Status

Verifiez a tout moment l'etat de votre licence : edition, date d'expiration, environnement (en ligne ou offline).

Check your license status at any time: edition, expiration date, environment (online or offline).

Commande

Command

smartstack license status

Exemple de sortie

Example output

License Status
==============
Edition:     Professional
Status:      Active
Expires:     2026-12-15
Fingerprint: abc123def456...
Source:      Online (last heartbeat 2 hours ago)

Valid until: 287 days

Sources possibles

Possible sources

  • Online : Licence verifiee aupres du serveur. Informations a jour.
  • Online: License verified with the server. Information up to date.
  • Cache : Derniere verification < 7 jours. Utilisation offline possible.
  • Cache: Last verification < 7 days. Offline usage possible.
  • Offline : Pas de connexion au serveur depuis 7+ jours. Mode offline limite.
  • Offline: No server connection for 7+ days. Limited offline mode.

Fonctionnement au quotidien Daily Operation

Vous n'avez rien a faire. Le CLI gere la licence automatiquement a chaque lancement. Voici ce qui se passe en coulisses :

You don't need to do anything. The CLI manages the license automatically on each launch. Here's what happens behind the scenes:

Au lancement du CLI

On CLI launch

  1. Verification locale : Le CLI verifie la signature RS512 du JWT stocke localement
  2. Local verification: The CLI verifies the RS512 signature of the locally stored JWT
  3. Verifier l'expiration : Si le JWT est expire → licence refusee, CLI s'arrete
  4. Check expiration: If the JWT is expired → license denied, CLI stops
  5. Verifier le heartbeat : Y a-t-il un heartbeat a faire ? (tous les 7 jours par defaut)
  6. Check heartbeat: Is a heartbeat due? (every 7 days by default)
  7. Si heartbeat requis : POST /machine/heartbeat avec fingerprint + instanceId
  8. If heartbeat needed: POST /machine/heartbeat with fingerprint + instanceId
  9. Mise a jour du token : Si le serveur retourne un newJwtToken → remplacer le local
  10. Token update: If the server returns a newJwtToken → replace the local one
  11. Continuer : CLI autorise, votre projet continue normalement
  12. Continue: CLI authorized, your project continues normally
💡

Si la licence expire ou est revoquee, vous recevez un message d'erreur clair et le CLI s'arrete. Vous devez mettre a jour ou reactiver votre licence.

If the license expires or is revoked, you receive a clear error message and the CLI stops. You must update or reactivate your license.

Desactiver une licence Deactivate a License

Supprimez la licence de votre machine locale. Vous aurez besoin de reactiver une licence pour utiliser le CLI a nouveau.

Remove the license from your local machine. You'll need to reactivate a license to use the CLI again.

Commande

Command

smartstack license deactivate

Processus

Process

  1. Le CLI vous demande une confirmation
  2. The CLI asks for confirmation
  3. La licence JWT locale est supprimee
  4. The local JWT license is deleted
  5. POST /machine/deactivate est envoye au serveur (si possible)
  6. POST /machine/deactivate is sent to the server (if possible)
  7. Confirmation : licence desactivee sur cette machine
  8. Confirmation: license deactivated on this machine
💡

Apres desactivation, vous pouvez reactiver la meme licence sur une autre machine, ou en lancer un nouvel essai.

After deactivation, you can reactivate the same license on another machine, or start a new trial.

Résumé des commandes Command Summary

Voici un apercu rapide de toutes les commandes de licence disponibles :

Here's a quick overview of all available license commands:

Commande Command Description Description
smartstack license trial Enregistrer pour un essai gratuit de 14 jours Register for a free 14-day trial
smartstack license activate <token> Activer une licence achetee sur cette machine Activate a purchased license on this machine
smartstack license status Afficher le statut actuel de la licence Show current license status
smartstack license verify <token> Verifier la validite d'un token sans l'activer Verify a token's validity without activating it
smartstack license deactivate Supprimer la licence de cette machine Remove the license from this machine