← Toute la documentation

Licence et essai

La licence est gérée par le plugin compagnon : sans plugin, le thème est inactif. Une licence payée couvre une instance de production (et une instance de test) sans limite d’utilisateurs ; elle comprend 12 mois de mises à jour et de support. À l’échéance, Filonio continue de fonctionner dans la dernière version reçue : seules les nouvelles versions et le support s’arrêtent ; le renouvellement les rouvre (modèle du marché « perpétuel + 12 mois de mises à jour », décision du 04/10/2026).

L'essai de 14 jours reste un essai : à sa fin (après 7 jours de grâce), Redmine reprend son interface d’origine sans perte de données : demandes, projets, temps passés et préférences restent intacts, et Filonio revient tel quel dès qu’une licence est activée, sans réinstallation. Il en va de même pour une licence révoquée (remboursement) et pour une version de Filonio publiée après la fin des mises à jour d’une licence échue (voir Après l’échéance).

Page de licence

Administration › Licence Filonio (administrateurs, dernière entrée du menu d’administration) :

  • En-tête : état de la licence, Portail client, Vérifier maintenant (interroge le serveur de licences).
  • Résumé : plan (essai gratuit, ou annuel par instance), fin des mises à jour (licence payée), date d’expiration (essai) ou fin de la grâce, jours restants, instance (hôte, version de Redmine, empreinte), dernière vérification, validité hors ligne du jeton, dernier échec, titulaire, ligne Compatibilité (versions du thème, du plugin et de Redmine), clé masquée.
  • Modules : droits inclus dans le jeton (Filonio, Plio, palette de commandes ⌘K, édition inline), affichés « Inclus » ou « Non inclus ».
  • Activer ou changer de clé : collez la clé fournie sur le portail client, puis Activer.
  • Jeton signé (activation hors ligne), dans la même carte : empreinte complète et domaine de l’instance, champ où coller un jeton signé, Activer le jeton (voir Activation hors ligne). Section repliée quand Filonio est actif, ouverte d’office sinon.
  • Historique : début de l’essai, prolongations, activations, activations hors ligne, renouvellements, révocation, changement de clé.

Les dates du jeton

Le serveur de licences délivre un jeton signé (Ed25519), gardé en base et vérifié localement à chaque lecture. Il porte ces dates :

ChampSens
kindtrial (essai) ou paid (licence payée).
updates_untilLicence payée, jeton émis après la fenêtre de remboursement : fin de la période payée, donc des mises à jour et du support (12 mois après l’achat ou le dernier renouvellement).
expires_atEssai : fin de l’essai. Licence payée après la fenêtre : date lointaine (updates_until + 100 ans), la licence ne s’éteint pas. Pendant la fenêtre : fin de la fenêtre.
refund_until · period_endLicence payée, jeton émis pendant la fenêtre de remboursement : fin de la fenêtre (= expires_at) et fin de la période payée (affichage).
valid_untilValidité hors ligne du jeton : jusqu’à cette date, il suffit sans joindre le serveur. Le plugin renouvelle le jeton toutes les 12 heures environ (une heure après un échec), en arrière-plan après l’affichage d’une page.

Compatibilité : un jeton sans updates_until (émis avant ce modèle, ou licence à durée limitée créée exprès par l’éditeur) garde l’ancien comportement : fin à expires_at, 7 jours de grâce, puis interface d’origine.

Fenêtre de remboursement (licence payée)

La fenêtre de remboursement court 60 jours après l’achat (la garantie est de 30 jours ; le revendeur peut rembourser jusqu’à 60 jours). Pendant elle, le serveur ne délivre qu’un jeton borné (sans updates_until, expires_at = fin de la fenêtre) et pas de jeton hors ligne en libre-service : un remboursement reste ainsi effectif (licence révoquée au contact suivant, ou au plus tard à l’expiration du jeton borné, plus 7 jours de grâce). Le premier jeton reçu après la fenêtre porte la perpétuité (updates_until, expires_at lointain) ; un jeton borné expiré ne devient jamais perpétuel.

Serveur de licences injoignablePendant la fenêtreAprès la fenêtre (jeton perpétuel)
Jusqu’à valid_until (7 jours après le dernier contact)actif, état « Hors ligne », sans messageactif, état « Hors ligne », sans message
Au-delà7 jours de grâce, bandeau « Serveur de licences injoignable », puis interface d’origine, boîte « Licence Filonio non confirmée »actif jusqu’à updates_until puis dans les versions couvertes ; bandeau d’avertissement « Serveur de licences injoignable … Filonio reste actif (licence payée) » (pages d’administration)
Coupureà la fin de la grâce, ou sur révocationuniquement sur révocation connue (jeton revoked reçu)

Une panne n’est jamais présentée comme une licence expirée : la boîte « Licence Filonio non confirmée » invite à rétablir l’accès au serveur ou à activer un jeton signé.

Après l’échéance (licence payée)

Chaque version de Filonio porte sa date de publication (thème : fichier RELEASED_ON écrit par le build ; plugin : Filonio::RELEASED_ON ; la page Licence et rake filonio:license:status l’affichent). Quand updates_until est passé, la licence est échue (état « Mises à jour terminées ») :

Version installéeFilonioMessage aux administrateurs
Publiée au plus tard le jour de updates_untilactif, sans limite de duréebandeau discret « Mises à jour Filonio terminées depuis le … » (pages d’administration, masquable)
Publiée après updates_until (mise à jour installée sans renouveler)inactif (interface d’origine, sans perte de données)bandeau « Filonio est désactivé : cette version (…, publiée le …) est postérieure à la fin de vos mises à jour (…). Renouvelez la licence, ou réinstallez une version publiée au plus tard le … », sur toutes les pages, masquable pour la session ; pas de boîte
Date de publication du thème illisible (fichier RELEASED_ON absent, supprimé ou modifié)inactif (refus par défaut, que la licence soit échue ou non)bandeau « Filonio est désactivé : la date de publication du thème est illisible … Réinstallez l’archive officielle du thème »

Le contrôle compare deux dates fixes (publication de la version, fin des mises à jour) : il ne dépend pas de l’horloge du serveur. Une licence payée sortie de sa fenêtre de remboursement n’a plus besoin du serveur de licences pour fonctionner : le plugin continue de le contacter (un renouvellement ou une révocation y sont lus), mais un serveur injoignable n’a plus d’effet que l’avertissement ; le heartbeat planifié n’est pas obligatoire.

Renouvellement : il prolonge updates_until (même clé, rien à ressaisir) ; il est pris en compte à la vérification suivante (ou Vérifier maintenant). Une version installée qui n’était pas couverte le redevient aussitôt.

Essai gratuit de 14 jours

L’essai démarre tout seul à la première page affichée après l’installation et le choix du thème : le plugin contacte le serveur de licences pendant cette requête (2 secondes au plus) et reçoit un jeton d’essai lié à l’instance. Toutes les fonctions de la suite sont actives. Durée : 14 jours (la durée effective est celle du jeton d’essai délivré par le serveur).

Si le serveur n’est pas joint à ce moment, l’état reste « Aucune licence » : Redmine garde son interface d’origine, les administrateurs voient la boîte « Filonio n’est pas encore activé », et le plugin retente une heure plus tard. Sans serveur joignable du tout, la licence s’active par un jeton signé.

Messages aux administrateurs

Bandeaux et boîtes sont réservés aux administrateurs (seuls à pouvoir activer une licence) ; les autres utilisateurs (et les visiteurs anonymes) voient Filonio, ou Redmine d’origine, sans message. Les bandeaux (essai, grâce, cause technique) s’affichent sur toutes les pages d’administration, c’est-à-dire celles des entrées du menu Administration : Projets, Utilisateurs, Groupes, Rôles et permissions, Trackers, Statuts de demande, Workflow, Champs personnalisés, Listes de valeurs, Paramètres (tous les onglets, réglages des plugins compris), Sources LDAP, Applications, Plugins, Informations, Licence Filonio, ainsi que les pages d’administration ajoutées au menu par d’autres plugins. Le travail quotidien d’un administrateur (projets, demandes, Ma page, fiche publique d’un utilisateur) reste sans bandeau, sauf pendant les 3 derniers jours de la période de grâce : le bandeau s’affiche alors sur toutes les pages (« Le thème sera désactivé dans N jours », lien vers la page Licence), toujours aux administrateurs seulement. La boîte de fin d’essai, Filonio éteint, s’affiche sur toutes les pages.

SituationMessageFilonio
Essai en coursBandeau « Essai Filonio : N jours restants sur 14 » et Activer une licenceactif
Grâce après la fin de l’essaiBandeau « Essai Filonio terminé le … : encore N jours de grâce » et Activer une licenceactif
Licence payée : fin des mises à jour dans 30 jours ou moinsBandeau discret « Mises à jour Filonio jusqu’au … : encore N jours » et Renouveler (portail client), à 30 jours, à 7 jours et pendant les 3 derniers jours (une clé de masquage par palier) ; aucun rappel pour un abonnement à renouvellement automatiqueactif
Licence payée échue, version couverteBandeau discret « Mises à jour Filonio terminées depuis le … » et Renouveleractif
Licence payée échue, version publiée après la fin des mises à jourBandeau « Filonio est désactivé : cette version … est postérieure à la fin de vos mises à jour » (toutes les pages, pas de boîte), Renouveler, Voir la licence, Masquerinactif
Grâce après la fin d’une licence à durée limitée (jeton sans updates_until)Bandeau « Licence Filonio expirée le … : encore N jours de grâce » et Activer une licenceactif
Grâce, serveur injoignableBandeau « Serveur de licences injoignable depuis le … » et Voir la licenceactif
3 derniers jours de la grâce (l’un des trois cas de grâce)Même bandeau sur toutes les pages : « … Le thème sera désactivé dans N jours » (« aujourd’hui » le dernier jour)actif
Cause techniqueBandeau « Licence Filonio non vérifiable » avec le motif et la marche à suivre (voir plus bas), et Voir la licenceactif
Essai terminé, licence expirée ou révoquée, aucune licence, jeton refuséBoîte sur l’interface d’origine : Activer une licence, Voir les tarifs, Continuer sans Filonioinactif

Les rappels et le bandeau « Mises à jour terminées » restent sur les pages d’administration (rien n’est coupé) ; le bandeau de version non couverte s’affiche sur toutes les pages, aux administrateurs seulement.

Le bouton de fermeture d’un bandeau (« Masquer ce message pour la session ») et Continuer sans Filonio masquent le message pour la session ; il réapparaît si l’état change (par exemple de l’essai à la grâce, à l’entrée dans les 3 derniers jours de la grâce, ou au palier suivant du rappel de fin des mises à jour). La boîte ne s’affiche jamais sur la page de licence elle-même. L’état « Hors ligne » (avant valid_until) n’affiche pas de bandeau : rien n’est coupé, la page de licence l’indique.

Annonce des nouvelles versions

Le serveur de licences annonce la dernière version publiée de Filonio (et de Plio pour le package et l’essai) dans la réponse à la vérification périodique, signée avec la licence : aucune requête réseau de plus, l’information est gardée avec l’état de licence. Quand une version plus récente que celle installée est publiée :

  • chaque administrateur voit une seule fois une annonce discrète en bas à droite, sur la première page qu’il ouvre (page d’administration ou page ordinaire, sauf la page Licence) : « Filonio 0.2.0 est disponible », Nouveautés, Télécharger, bouton de fermeture (ou Échap ; le focus revient où il était). Elle ne disparaît pas d’elle-même, mais ne revient plus : la version vue est enregistrée dans son compte dès l’affichage (préférence update_seen, voir Préférences), même sans clic, et vaut sur tous ses appareils. Une version encore plus récente est annoncée à son tour, une fois. Les autres utilisateurs ne voient jamais rien ;
  • si la version a été publiée après la fin de vos mises à jour (licence payée), le texte le dit : « Filonio 0.2.0 est disponible, incluse si vous renouvelez votre licence », avec Renouveler (portail client) à la place du téléchargement ;
  • la page Administration › Licence Filonio porte en permanence la ligne Dernière version : « Filonio 0.2.0, publiée le …, votre version : 0.1.0 », suivie de « à jour » ou « incluse si vous renouvelez » et des liens.

Jamais de bandeau ni de téléchargement automatique : la mise à jour reste manuelle (Installation › Mise à jour). Serveur injoignable depuis l’installation, activation hors ligne sans contact ou annonce absente du serveur : rien ne s’affiche. Plio n’est annoncé que si son plugin est installé sur la même instance, avec la fin des mises à jour de la licence Filonio.

États

ÉtatSignificationFilonio
Essaiessai gratuit en cours (avant expires_at)actif
Activelicence payée en cours (avant updates_until)actif
Mises à jour terminéeslicence payée échue (updates_until passé) : version installée publiée au plus tard ce jour-là, ou postérieureactif sans limite de durée, ni serveur requis ; inactif si la version est postérieure (bandeau aux administrateurs)
Hors lignele dernier échange avec le serveur a échoué ; le jeton en cache reste valide jusqu’à valid_untilactif
Période de grâce7 jours après expires_at (fin d’essai, licence à durée limitée non renouvelée) ou 7 jours après valid_until si le serveur est resté injoignable (pendant l’essai ou la période payée)actif, bandeau aux administrateurs
Expiréefin de la période de grâce, ou licence révoquée (immédiat)inactif (interface d’origine)
Aucune licenceaucun jeton : essai pas encore obtenu, serveur jamais jointinactif
Jeton invalidejeton en cache refusé (signature, clé de signature inconnue, format, jeton lié à une autre instance)inactif (sauf causes techniques, voir ci-dessous)

Causes techniques (décision du 02/10/2026) : une anomalie de l’installation, et non de la licence, n’éteint pas le thème. Les administrateurs voient le bandeau « Licence Filonio non vérifiable » avec le motif et la marche à suivre ; la page de licence affiche le même motif.

MotifCauseMarche à suivre
storagetables du plugin absentes ou base illisiblebundle exec rake redmine:plugins:migrate RAILS_ENV=production, puis redémarrer Redmine
token_unsupportedsignature Ed25519 invérifiable avec le Ruby de l’instanceRuby 2.7 à 3.0 : bundle install (gemme ed25519), ou passer à Ruby 3.1 ou plus ; voir Installation
clockhorloge du serveur antérieure à la dernière vérificationcorriger la date et l’heure du système (NTP), puis Vérifier maintenant

Une horloge reculée ne prolonge pas une licence : si la licence était déjà terminée à la dernière heure attestée par le serveur, c’est cet état commercial qui s’applique.

Seules les causes commerciales éteignent le thème : fin d’essai (après la grâce), révocation, aucune licence, jeton refusé, version installée publiée après la fin des mises à jour d’une licence échue.

Un thème et un plugin de versions majeures différentes éteignent aussi Filonio, sans boîte de licence : c’est l’avertissement de version qui s’affiche (voir Installation).

Fonctionnement hors ligne

Si le serveur de licences est injoignable, le jeton en cache reste valide jusqu’à valid_until : un incident côté serveur ne coupe pas l’interface. Ensuite commence une grâce de 7 jours (bandeau « Serveur de licences injoignable »), puis l’état « Expirée ». Dès que le serveur répond, un nouveau jeton remet la licence dans son état normal. Cette règle vaut pour l’essai et pour les 60 jours qui suivent l’achat d’une licence (fenêtre de remboursement) ; ensuite, une panne du serveur de licences ne coupe plus une licence payée : un bandeau avertit les administrateurs, seule une révocation connue l’éteint.

Pour vérifier régulièrement la licence sans attendre une visite, planifiez la commande suivante (par exemple toutes les 6 heures avec cron ; facultatif pour une licence échue) ; elle sort en code 1 si l’échange échoue :

bundle exec rake filonio:license:heartbeat RAILS_ENV=production

Diagnostic : bundle exec rake filonio:license:status RAILS_ENV=production affiche l’état, le motif, la date de fin, l’instance, le serveur interrogé et la dernière erreur.

Activation hors ligne (jeton signé)

Une instance sans accès sortant vers le serveur de licences s’active par un jeton signé, vérifié sur place, sans appel réseau :

  1. Relevez l'empreinte de l’instance dans Administration › Licence Filonio › Jeton signé (activation hors ligne).
  2. Envoyez-la à [email protected] avec votre référence de commande : vous recevez un jeton signé, lié à cette instance. Le jeton hors ligne est délivré à partir du 61e jour après l’achat (fin de la période de remboursement).
  3. Collez le jeton (retours à la ligne tolérés) puis Activer le jeton : état Active, événement « Licence … activée hors ligne, mises à jour jusqu’au … » dans l’historique.
RefusMessage
Jeton modifié ou signé par une autre clésignature du jeton invalide, ou clé de signature inconnue
Jeton d’une autre instancejeton lié à une autre instance
Date de fin dépasséejeton expiré
Texte qui n’est pas un jetonjeton illisible
Jeton plus ancien que la licence enregistréejeton plus ancien que celui en cache

Le jeton suffit seul, sans limite de durée : à la fin des mises à jour, Filonio continue de fonctionner dans les versions publiées avant cette date (voir « Après l’échéance »). Pour renouveler les mises à jour, demandez un nouveau jeton. Si l’instance joint plus tard le serveur de licences, une licence connue du serveur remplace le jeton hors ligne.

Flux réseau

Le plugin contacte le serveur de licences Filonio en HTTPS, toutes les 12 heures environ : c’est le seul flux sortant à autoriser depuis le serveur Redmine. Il transmet la clé, l’empreinte et le nom d’hôte de l’instance, les versions de Redmine et du plugin et le nombre d’utilisateurs actifs ; aucune demande, aucun projet. Laissez vides la variable FILONIO_LICENSE_SERVER et le champ « Serveur de licences » des réglages du plugin pour utiliser le serveur Filonio.

Copie de la base de production (instance de test) : l’empreinte est gardée dans la table filonio_license_states ; supprimez cette ligne sur la copie avant son premier démarrage, pour qu’elle reçoive sa propre empreinte :

bundle exec rails runner -e production 'FilonioLicenseState.delete_all'

Questions fréquentes

  • Que se passe-t-il après 12 mois sans renouvellement ? Filonio continue de fonctionner dans la dernière version reçue ; seules les nouvelles versions et le support s’arrêtent. Le renouvellement les rouvre, sans rien ressaisir. N’installez pas une version publiée après la fin de vos mises à jour : elle se désactive (bandeau aux administrateurs) jusqu’au renouvellement ou à la réinstallation de la version précédente.
  • Que se passe-t-il pour les données à la fin de l’essai ? Rien : Filonio ne modifie ni les demandes ni les projets. Seule l’interface change ; les préférences des utilisateurs sont gardées pour le retour de Filonio.
  • Les utilisateurs voient-ils le bandeau d’essai ? Non : bandeaux et boîte de fin d’essai sont réservés aux administrateurs, et les bandeaux n’apparaissent que sur les pages d’administration (entrées du menu Administration, Paramètres, Licence Filonio), sauf pendant les 3 derniers jours de la grâce (toutes les pages, administrateurs seulement).
  • La page de licence affiche « dernier échec : serveur de licences injoignable ». Vérifiez le flux sortant HTTPS du serveur Redmine vers le serveur de licences et l’adresse configurée ; l’état « Hors ligne » garde le thème actif jusqu’à valid_until, puis 7 jours de grâce. rake filonio:license:status donne la dernière erreur.

Copie de la documentation livrée avec Filonio (dossier docs/ des archives).