Pour un thème ou un script vendu à quelqu’un qui n’est pas développeur, couper le site sur une copie non licenciée est le mauvais geste : la personne qui en souffre est en général l’acheteur qui a mal recopié sa clé, et c’est votre boîte de support qui paie. banniere() renvoie à la place une petite mention fixe — rien d’autre ne change sur la page.
require_once __DIR__ . '/Licence.php';
$reglages = @include __DIR__ . '/license.php';
$licence = new Licence(
is_array($reglages) ? $reglages['cle'] : '',
__DIR__ . '/cache'
);
register_shutdown_function(function () use ($licence) {
echo $licence->banniere('My theme');
});
L’acheteur la fait disparaître en mettant sa clé dans un fichier, à côté de la bibliothèque. Ce fichier est la seule chose qu’il ait à toucher.
<?php
return array(
'cle' => '',
);
Elle renvoie une chaîne vide quand la licence est valable, et aussi quand le réseau a échoué — un visiteur ne voit jamais de mention parce que notre serveur a eu une mauvaise nuit. Sur une clé de développement elle le dit, discrètement, ce qui est exactement ce qu’il faut pendant que vous construisez.
Un thème HTML, un fichier Figma, un jeu d’icônes, une police : rien de tout cela ne tourne sur un serveur que vous pouvez interroger. Tout ce que vous livrez est lu, modifié et redistribuable par qui détient les fichiers. Il n’y a pas de contrôle à ajouter, et il n’existe aucune version de cette page où cela change.
Ne faites pas semblant. Un script obscurci qui appelle le serveur depuis une page statique, une empreinte cachée dans un canvas, une version qui se casse au bout de trente jours : tout cela se retire en un après-midi par la seule personne qui allait vous pirater, et tout cela finit en ticket de support chez les cinquante qui ont payé. Vous dépenseriez votre crédibilité pour ne rien protéger.
Ce qui existe à la place agit à la livraison, pas à l’exécution. Chaque téléchargement est reconditionné pour l’acheteur qui l’a demandé, et porte trois choses :
C’est de la traçabilité, pas de la prévention, et nous ne vous la vendrons pas pour autre chose : un acheteur qui supprime le fichier et vide le commentaire repart avec une copie propre. Ce qu’elle vous donne, c’est un nom quand une copie apparaît là où elle ne devrait pas, une raison pour cet acheteur d’y réfléchir à deux fois, et les deux choses qu’une copie piratée n’a jamais — les mises à jour et votre support.
Une distinction compte ici. Si votre thème contient du PHP, ne serait-ce qu’un formulaire de contact, un fichier de configuration ou un include, alors il tourne sur un serveur, le contrôle ci-dessus est réel et la mention fonctionne. Seul le cas entièrement statique, du HTML et du CSS et rien d’autre, n’offre aucun contrôle à l’exécution.
Écrivez-nous depuis votre espace auteur. Une question qu’il a fallu poser signifie en général qu’il manque un paragraphe à cette page.