SERVEUR DE LICENCES — INSTALLATION UNIQUE ============================================= C'EST QUOI ----------- Un petit panel séparé, à héberger UNE SEULE FOIS sur ton propre domaine (ex: licences.hosting-quebec.ca), qui te permet de: - créer une clé de licence par client - suspendre/réactiver l'accès à distance, sans toucher à leur cPanel - choisir si la suspension casse complètement leur site, ou affiche juste un message discret Chaque site "sondage" installé chez un client vérifie sa clé auprès de ce serveur périodiquement (voir LISEZMOI.txt du package sondage-FINAL, section "SERVEUR DE LICENCES"). FICHIERS -------- schema_licences.sql → à importer UNE FOIS, dans une base dédiée config.php → identifiants de CETTE base (distincte de toutes les bases de tes clients) admin.php → panel pour créer/gérer les licences check.php → API publique, interrogée par les sites clients INSTALLATION ------------ 1) Choisis où l'héberger. Un sous-domaine dédié est recommandé, ex: licences.hosting-quebec.ca (crée-le dans cPanel > Sous-domaines si besoin, il peut pointer vers un simple dossier public_html/licences/) 2) Crée une base de données MySQL dédiée UNIQUEMENT à ce serveur de licences (jamais partagée avec un site client) 3) phpMyAdmin > cette base > Importer > schema_licences.sql 4) Édite config.php avec les identifiants de cette base 5) Envoie admin.php, check.php et config.php dans le dossier choisi 6) Visite https://licences.hosting-quebec.ca/admin.php — aucun compte n'existe encore, la page te propose d'en créer un UTILISATION QUOTIDIENNE ------------------------ - "Créer une nouvelle licence" pour chaque nouveau client → copie la clé générée dans le config.php de ce client (constante LICENSE_KEY) - Verrouiller au domaine (recommandé): si rempli, la clé ne fonctionne que depuis ce domaine exact — empêche un client de copier son installation ailleurs sans que ça continue de fonctionner - Pour suspendre un client (ex: facture impayée): "Modifier" sa licence → Statut "Suspendue" → Enregistrer. Effet en direct au prochain contrôle du site client (jusqu'à 6h de délai selon le cache) - La liste affiche la dernière fois que chaque licence a été vérifiée, et depuis quel domaine — utile pour repérer une utilisation inattendue SÉCURITÉ -------- - admin.php est protégé par mot de passe (haché). Pas de "mot de passe oublié" — garde tes identifiants en lieu sûr. - check.php est volontairement public (les sites clients doivent pouvoir l'appeler sans authentification) mais ne révèle jamais la liste des clients ou des clés — seulement une réponse valide/invalide pour LA clé fournie dans la requête.