Premium édition
Deux canaux de livraison : ionCube et source signée
En un coup d’œil
Section intitulée « En un coup d’œil »NextPDF Pro et Enterprise sont livrés sous deux formes, et vous pouvez les voir comme deux canaux d’un même produit :
- Encodé par ionCube — du PHP installable dont la source est encodée, puis exécutée via l’ionCube Loader au runtime.
- Source en clair signée — de la source PHP lisible, signée cryptographiquement afin que vous puissiez vérifier qu’elle est authentique et non modifiée.
Les deux canaux portent la même licence et les mêmes droits (le NextPDF Commercial License Agreement régit les deux, et l’accès à une source lisible n’est jamais l’autorisation de la copier ou de la redistribuer). Ils existent parce que deux types de clients ont deux problèmes différents à résoudre, et nous fixons le prix de chaque canal en fonction du compromis qu’il porte — non parce que l’un offrirait plus de fonctionnalités que l’autre. Cette page expose le raisonnement, afin que vous puissiez choisir en toute connaissance de cause. Pour la mise en place pratique de la version encodée, voir Configurer l’ionCube Loader.
Pourquoi protéger la source est un vrai problème en PHP
Section intitulée « Pourquoi protéger la source est un vrai problème en PHP »PHP est distribué et exécuté en tant que source. Contrairement aux langages qui compilent vers un binaire opaque ou vers du bytecode avant d’être distribués, la source de travail d’un paquet PHP est la chose que vous installez — le runtime la lit directement. C’est l’une des grandes forces de PHP : il est transparent, facile à inspecter, facile à corriger, et c’est en grande partie ce qui rend son écosystème open source si dynamique.
C’est aussi pourquoi un projet PHP commercial fait face à un problème de protection plus ardu que ses homologues sur d’autres plateformes. L’investissement que représente un moteur profond et spécialisé — les années de travail sur les normes, les cas limites, les suites de tests — réside dans une source qui, par défaut, circule en clair. Cet investissement est un secret de fabrique : le savoir-faire pratique qui finance le développement continu, et un actif que la loi reconnaît et protège. Le protéger ne consiste pas à se cacher des utilisateurs ; il s’agit de préserver la capacité à financer ce travail.
C’est aussi pourquoi la protection de la source est tout simplement plus aisée dans les écosystèmes qui livrent des artefacts compilés ou en bytecode — Java est l’exemple courant : la forme distribuée est déjà à un pas de la source de travail, de sorte qu’un éditeur commercial a moins à protéger. Cela a rendu plus simple, dans ces écosystèmes, le financement d’un outillage commercial profond et spécialisé, alors qu’une grande partie du travail sérieux en PHP s’est plutôt appuyée sur la bonne volonté de la communauté open source. Nous ne pensons pas que ce soit une loi de la nature. PHP mérite, lui aussi, des outils professionnels, activement maintenus, à la hauteur des normes — et rendre la source défendable est ce qui rend le financement de ce travail durable.
Cœur ouvert, premium payant
Section intitulée « Cœur ouvert, premium payant »La réponse de NextPDF est un cœur ouvert avec un premium payant. Le moteur sur
lequel vous bâtissez — nextpdf/core — est sous Apache-2.0 et reste ouvert ; vous
pouvez le lire, le forker et le livrer commercialement. NextPDF Pro et
Enterprise sont les éditions privées, et leurs revenus financent la
maintenance active, la conformité aux normes et les prochaines fonctionnalités.
Cette séparation est délibérée : elle nous permet de servir les équipes qui ont
besoin de capacités professionnelles, de niveau B2B, tout en restant
accueillants envers les développeurs individuels, car nous avons nous-mêmes débuté
comme des développeurs indépendants épris de logiciel libre. Le raisonnement
derrière la moitié ouverte est couvert dans
Cœur ouvert, sans verrouillage ; cette page
porte sur la façon dont la moitié payante vous parvient.
Le canal ionCube — une protection qui maintient le prix bas
Section intitulée « Le canal ionCube — une protection qui maintient le prix bas »Pour la plupart des clients, le canal encodé par ionCube est l’option par défaut. Encoder la source — une manière reconnue d’augmenter le coût de l’altération et de l’appropriation indue — nous permet de protéger le code premium avec bien moins de frais généraux : moins de gestion de source sur mesure, moins d’administration de la distribution et des accès, et une charge juridique et de mise en application plus légère que celle de protéger de la source en clair à grande échelle. Ces économies sont réelles, et nous vous les répercutons.
Le compromis est un modeste coût au runtime : le Loader décode les fichiers encodés à mesure que PHP s’exécute, ce qui ajoute un certain surcoût. Nous reflétons ce compromis dans le prix, afin que vous puissiez l’évaluer honnêtement plutôt que de le découvrir plus tard. En pratique, le surcoût est généralement faible et souvent négligeable dans les déploiements typiques — et concrètement un non-problème sur un hôte qui exécute déjà l’ionCube Loader pour d’autres logiciels. Les charges de travail sensibles à la performance devraient le mesurer par rapport à leur propre profil ; pour la grande majorité des déploiements, le canal encodé est simplement l’option la moins coûteuse, ce qui correspond à l’équilibre de l’offre et de la demande que nous souhaitons. La mise en place du Loader est une étape unique, documentée dans Configurer l’ionCube Loader.
Le canal source signée — pour la réglementation, l’audit et l’assurance de la chaîne d’approvisionnement
Section intitulée « Le canal source signée — pour la réglementation, l’audit et l’assurance de la chaîne d’approvisionnement »Certains clients ne peuvent pas accepter de code encodé dans leur runtime. Les organisations soumises à une réglementation forte, ou ayant des exigences strictes de sécurité de la chaîne d’approvisionnement et d’audit, ont besoin de lire, examiner et vérifier ce qu’elles exécutent — et elles disposent généralement du budget que ces exigences impliquent. Pour elles, nous proposons le canal source en clair signée : les mêmes éditions livrées sous forme de source lisible, signée cryptographiquement afin que son origine et son intégrité puissent être vérifiées.
Cela correspond directement à la manière dont la sécurité moderne de la chaîne d’approvisionnement attend que le logiciel soit traité : une source livrée dans un paquet signé numériquement, des signatures vérifiées avant usage, et une source consultable préférée à un artefact opaque pour l’assurance et l’audit (NIST SP 800-204D). Ici, le code n’est pas protégé par l’encodage — il est protégé par la loi et le contrat : il demeure le secret de fabrique confidentiel de PATEON, l’entreprise derrière NextPDF, et ce que vous pouvez et ne pouvez pas en faire est fixé par le NextPDF Commercial License Agreement. Pouvoir lire la source n’est jamais l’autorisation de la copier, de la redistribuer ou de la re-licencier.
Ce canal coûte plus cher, et la raison est l’inverse de celle d’ionCube : il supprime le surcoût au runtime, mais il reporte la charge de protection sur le contrat, la confiance et l’administration — ce qui est le coût que nous assumons pour que les clients tenus à la conformité puissent satisfaire à leurs obligations.
Connectivité et application de la licence
Section intitulée « Connectivité et application de la licence »Les canaux diffèrent aussi par la manière dont la licence est vérifiée pendant que votre application s’exécute, et pour les déploiements hors ligne ou air-gapped, c’est généralement le facteur décisif.
Le canal ionCube vérifie sa licence périodiquement en ligne. Une version premium livrée par le canal encodé se signale au service de licences NextPDF à une cadence régulière — grosso modo un contrôle tous les 7 jours qui renouvelle un bail d’environ 14 jours. Tant que le déploiement peut joindre le service dans cette fenêtre, tout fonctionne normalement. S’il reste hors ligne au-delà du bail, les fonctionnalités premium se mettent en pause et le moteur revient au Core gratuit — il ne s’arrête pas, ne renvoie pas d’erreur et ne plante pas — et elles reprennent automatiquement dès que la connectivité revient. Ce bail en ligne est aussi ce qui rend le nombre de postes applicable et permet à une révocation de prendre effet dans la fenêtre du bail (environ 14 jours, plus un court délai de grâce). Un contrôle n’envoie qu’un identifiant de licence et une empreinte hachée et salée — jamais le contenu de vos documents, et jamais une empreinte brute ni une adresse IP.
Le canal source signée peut fonctionner entièrement hors ligne. Comme sa licence signée est un artefact autonome que le moteur vérifie localement, le canal source signée ne nécessite aucune connectivité périodique et convient aux déploiements air-gapped, borné seulement par la validité propre de la licence. Ici, le nombre de postes est une limite contractuelle fixée par votre accord plutôt que quelque chose d’appliqué au runtime, une révocation s’applique au prochain contrôle en ligne ou via une mise à jour du produit, et un déploiement purement hors ligne n’envoie rien du tout.
Deux horloges distinctes — ne les confondez pas. Le bail d’environ 14 jours du canal ionCube concerne la connectivité — combien de temps un déploiement tolère d’être hors ligne. Il est indépendant du délai de grâce d’environ 30 jours que l’un ou l’autre canal accorde après la date de fin d’un abonnement, pendant lequel les fonctionnalités premium continuent de fonctionner le temps de renouveler, avant que le moteur ne revienne au Core. Une expiration de bail et une expiration d’abonnement sont des événements différents sur des minuteurs différents.
Quel que soit le canal que vous exécutez, le mode de défaillance est le même et toujours sûr : NextPDF rétrograde vers le Core gratuit et open source. Il ne se bloque jamais, ne vous verrouille jamais hors d’un logiciel que vous avez déjà déployé, et ne s’arrête jamais en cours d’exécution.
Mêmes droits, votre choix
Section intitulée « Mêmes droits, votre choix »Les deux canaux ne sont pas deux produits. Ils confèrent des droits de licence identiques et le même logiciel ; la différence porte sur la manière dont la source est protégée, la manière dont la licence est vérifiée au runtime et ce que cela coûte :
| Encodé par ionCube | Source en clair signée | |
|---|---|---|
| Ce que vous exécutez | Du PHP encodé, via l’ionCube Loader | De la source PHP lisible et signée |
| Comment la source est protégée | L’encodage (une mesure technologique) plus la licence | La licence et le droit du secret de fabrique (sans encodage) |
| Idéal pour | La plupart des déploiements ; coût le plus bas | Besoins de réglementation / audit / sécurité de la chaîne d’approvisionnement |
| Coût au runtime | Un léger surcoût du Loader (souvent négligeable ; à mesurer si sensible à la performance) | Aucun ajouté par nous |
| Contrôle de licence en ligne | Périodique (~contrôle tous les 7 jours, bail de ~14 jours) | Facultatif ; vérifie localement et fonctionne hors ligne |
| Hors ligne / air-gapped | Jusqu’à la fenêtre du bail, puis les fonctionnalités premium se mettent en pause et reviennent au Core (reprise automatique à la reconnexion) | Entièrement pris en charge ; aucune connectivité périodique |
| Nombre de postes | Appliqué via le bail en ligne | Contractuel (selon votre accord) ; non appliqué au runtime |
| Prise d’effet de la révocation | Dans la fenêtre du bail (~14 jours + court délai de grâce) | Au prochain contrôle en ligne, ou via une mise à jour du produit |
| Données de licence envoyées | Uniquement l’identifiant de licence + une empreinte hachée et salée (jamais le contenu, l’IP ni l’empreinte brute) | Rien lorsqu’entièrement hors ligne |
| Droits | Identiques — voir l’EULA | Identiques — voir l’EULA |
Le tarif reflète ce compromis protection-contre-runtime, non un écart de fonctionnalités. Pour les prix et éditions à jour, voir Achat et licences et la page de tarifs qui y est liée ; cette page de documentation s’abstient délibérément de répéter les prix ou les termes de licence.
Pourquoi nous procédons ainsi
Section intitulée « Pourquoi nous procédons ainsi »Nous préférerions que l’écosystème PHP compte davantage d’outils sérieux, bien financés et professionnellement maintenus — et moins de projets qui s’épuisent discrètement faute d’une façon durable de financer la profondeur dont ils avaient besoin. Protéger la source est ce qui nous permet d’investir dans cette profondeur tout en gardant le cœur ouvert et le canal encodé abordable. Et parce que la confiance se gagne, nous essayons d’être transparents sur précisément cela : ce que chaque canal protège, ce qu’il vous coûte, et pourquoi — afin que ce compromis soit à vous de le peser, et non à nous de le dissimuler.