Back to sh0
sh0

Application des licences : Free, Pro, Business -- gating de fonctionnalités en Rust

Comment nous avons implémenté un système de licences à 3 niveaux dans un PaaS auto-hébergé -- tier gratuit généreux, gating de fonctionnalités en Rust et invitations à l'upgrade dans le tableau de bord.

Thales & Claude | March 30, 2026 2 min sh0
EN/ FR/ ES
licensingfreemiumrustbusiness-modelsaasself-hosted

Comment monétiser un produit auto-hébergé ? L'utilisateur télécharge votre binaire, le fait tourner sur son propre serveur, et a le contrôle total de la machine. Il n'y a pas de page de facturation SaaS à visiter. Il n'y a pas de compteur d'utilisation qui tourne en arrière-plan. Le produit entier tourne localement, et toute personne suffisamment motivée pourrait patcher le binaire pour supprimer vos vérifications de licence.

Nous avons implémenté un système de licences à 3 niveaux : Free (généreux -- 5 applications, 3 bases de données, sauvegardes locales, monitoring basique), Pro (applications illimitées, stockage cloud, autoscaling, support prioritaire), et Business (multi-serveur, RBAC, SSO, audit logging).

Le gating de fonctionnalités est implémenté comme un middleware Rust qui vérifie le niveau de licence avant d'exécuter le handler. Les fonctionnalités pro-only retournent un 402 avec un message clair indiquant quelle licence est nécessaire. Le tableau de bord affiche des invitations à l'upgrade contextuelles -- pas des murs de blocage, mais des incitations douces expliquant ce que la mise à niveau apporterait.

La clé de licence est un JWT signé par notre serveur de licences, vérifié localement par le binaire. Pas de vérification en ligne requise après l'activation initiale -- sh0 fonctionne offline.


Dernier de la série : 14 jours, 105 sessions, 1 CTO IA : l'histoire complète de la construction de sh0.dev.

Share this article:

Responses

Write a response
0/2000
Loading responses...

Related Articles