> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lekalao.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Licence

> Activer la clé d'une installation achetée, et, côté vendeur, en émettre.

Une installation vendue porte une **clé signée**. Elle se vérifie **hors ligne** : Lekalao n'a jamais besoin d'internet pour savoir qu'il est sous licence.

## Activer une clé

```dotenv .env theme={null}
LEKALAO_LICENCE_REQUIRED=true
LEKALAO_LICENCE_PUBLIC_KEY=<la clé publique livrée avec votre version>
LEKALAO_LICENCE_SERVER=https://lekalao.app
```

```bash theme={null}
php artisan config:cache
php artisan lekalao:licence:activate lekalao_…
```

La commande vérifie la signature et enregistre la clé. Une clé mal copiée ou signée par quelqu'un d'autre est refusée.

## Ce que dit la clé

| Donnée                |                                               |
| --------------------- | --------------------------------------------- |
| Client                | Le nom de l'acheteur.                         |
| Formule               | `self-hosted` par défaut.                     |
| Abonnés               | Une limite, si la formule en a une.           |
| Mises à jour jusqu'au | La fin des mises à jour et du support.        |
| Installations         | Combien d'installations peuvent tourner avec. |

## Vérification en ligne

Chaque mardi, `lekalao:licence:check` dit au serveur de licences que l'installation tourne, et lui demande si la clé a été révoquée. Il envoie la clé, un identifiant d'installation dérivé de `APP_KEY` (qui ne dit rien du client), le domaine et la version.

* **Serveur injoignable** : rien ne change, la clé se prouve toute seule.
* **Clé révoquée** : la commande le signale en erreur.

## À l'échéance

Quand la période de mises à jour se termine, **Lekalao continue d'envoyer**. Seules les nouvelles versions et le support s'arrêtent. Renouvelez pour les retrouver.

## Côté vendeur

Pour vendre des installations, un serveur Lekalao sert de serveur de licences.

<Steps>
  <Step title="Générer la paire de clés, une fois">
    ```bash theme={null}
    php artisan lekalao:licence:keys
    ```

    Gardez la clé de signature secrète (`LEKALAO_LICENCE_SIGNING_KEY`) ; livrez la clé publique avec vos versions.
  </Step>

  <Step title="Émettre une clé">
    Depuis **Plateforme → Licences → Émettre une licence**, ou :

    ```bash theme={null}
    php artisan lekalao:licence:issue --name="Boulangerie Lacombe" --email=it@lacombe.cm --months=12 --installations=1
    ```

    La clé ne s'affiche qu'une fois. Envoyez-la au client.
  </Step>

  <Step title="Suivre et révoquer">
    **Plateforme → Licences** liste les clés, leurs installations actives, leur échéance, et permet de **Révoquer** une clé.
  </Step>
</Steps>
