Premium édition
Pour les responsables d'ingénierie
En un coup d’œil
Section intitulée « En un coup d’œil »Tu évalues une dépendance commerciale avec laquelle ton équipe vivra pendant des années. Cette page répond aux questions que les responsables d’ingénierie nous posent avant l’achat : effort d’intégration, politique de mise à niveau, dépendance, distribution, preuves de qualité et surfaces de montée en charge. Chaque affirmation est soit vérifiable dans le code source du produit, soit reliée à la page de documentation qui en est responsable. NextPDF ne détient aucune certification tierce, et rien ici ne constitue une affirmation de conformité ou de certification.
Ce guide couvre les deux éditions commerciales — NextPDF Pro (nextpdf/pro)
et NextPDF Enterprise (nextpdf/enterprise) ; consulte la
matrice des fonctionnalités pour la
disponibilité par édition. Les deux s’activent avec une enveloppe de licence ;
un déploiement sans l’autorisation correspondante ne charge pas les classes premium de cette édition.
Compare les éditions et obtiens une licence.
Les éditions sont cumulatives. NextPDF Pro inclut tout ce que contient le cœur
ouvert, et NextPDF Enterprise inclut tout ce que contient Pro. Plusieurs
surfaces ci-dessous sont livrées dans le palier Pro (nextpdf/pro), donc
Enterprise en dispose également.
Ce que tu achètes
Section intitulée « Ce que tu achètes »La version en 30 secondes. NextPDF est un moteur PDF 2.0 pour le PHP moderne ; le format qu’il produit est celui spécifié par ISO 32000-2. Le moteur central est open source sous la licence Apache License 2.0. NextPDF Pro et NextPDF Enterprise sont les éditions commerciales propriétaires qui viennent s’y ajouter — graphiques, codes-barres avancés, signature, outillage de conformité, opérations sur les documents et les surfaces de montée en charge décrites ci-dessous. Consulte la matrice des fonctionnalités complète pour la répartition par édition.
Pour ton équipe, l’achat apporte trois choses. Premièrement, des capacités qui seraient coûteuses à construire et à maintenir en interne. Deuxièmement, un niveau d’exigence d’ingénierie que tu peux inspecter : PHPStan level 10, des contraintes d’architecture et une très grande suite de tests. Troisièmement, un risque borné — et les trois états de sortie sont distincts. Un déploiement sur le canal ionCube hors ligne au-delà de son bail met en pause les fonctionnalités premium et bascule vers le Core gratuit et open source jusqu’à ce qu’il se reconnecte. Un abonnement expiré traverse une période de grâce pour atteindre le repli perpétuel : la version installée continue de fonctionner avec son autorisation premium, sans autres mises à jour. Et un échec d’application ne rend jamais un déploiement inutilisable — le pire cas est le comportement du Core. Les mécanismes commerciaux sont décrits dans Achat et licence.
Les questions que nous entendons le plus
Section intitulée « Les questions que nous entendons le plus »« Quel effort d’intégration dois-je prévoir ? »
Un paquet Composer et une licence. Les éditions premium s’installent avec
composer require nextpdf/pro ou composer require nextpdf/enterprise selon ton édition (le métapaquet nextpdf/premium installe les deux) depuis un dépôt privé, à l’aide d’identifiants
délivrés après l’achat. Le prérequis d’exécution est PHP >=8.4 <9.0.
L’adoption ne nécessite aucune modification du code applicatif : Premium
s’intègre derrière les mêmes contrats publics que ton application cible déjà,
comme documenté dans Licence et activation.
L’installation est couverte dans
Installer et s’authentifier.
« Qu’est-ce qui casse lorsque nous effectuons une mise à niveau ? »
Des changements incompatibles existent, et nous les documentons au lieu de les
cacher. Le dépôt Premium consigne chaque changement impactant la compatibilité
ascendante dans des notes de mise à niveau par version, accompagnées d’un chemin
de migration, et sa chaîne d’outils inclut
roave/backward-compatibility-check. Certaines ruptures sont délibérées : les
chemins de validation de sécurité sont resserrés en mode fail-closed plutôt que
laissés permissifs, et les notes le disent explicitement. Prévois du temps pour
lire les notes de mise à niveau avant chaque version ; ne prévois pas de dérive
silencieuse du comportement.
« Sommes-nous captifs ? » La sortie est structurelle, et non une bonne volonté contractuelle. Le cœur est sous Apache-2.0, donc ton intégration cible des contrats qui survivent sans abonnement. Lorsqu’un abonnement payant prend fin, il y a une période de grâce, puis un état de repli perpétuel : la version installée continue de fonctionner, et seuls les mises à jour et le support s’arrêtent. Tu n’es jamais privé d’un logiciel que tu as déjà déployé. Les détails figurent dans Licence et activation et le modèle de licence.
« Mon équipe peut-elle lire le code que nous exécutons ? » Oui, sur le bon canal. Premium est distribué de deux manières : encodé ionCube (l’option par défaut, la moins coûteuse) et source en clair signée — du PHP lisible, signé cryptographiquement, à un prix plus élevé. Les deux confèrent des droits de licence identiques, et une source lisible n’est jamais une autorisation de copier ou de redistribuer ; l’EULA régit les deux. La comparaison complète se trouve dans Deux canaux de distribution.
« Quels signaux de qualité puis-je réellement vérifier ? » La base de code Premium est développée avec PHPStan level 10 et l’extension strict-rules sur l’ensemble du code source Pro et Enterprise, ainsi que des contraintes de couches d’architecture Deptrac. Le dépôt comporte plus de 1,500 fichiers de test répartis entre les suites unitaires, d’intégration, de conformité et de compliance, et ses scripts de tests par mutation imposent un score de mutation minimum de 95 %. Ce sont des faits du dépôt de développement que tu peux confirmer sur le canal source signée — et non des audits tiers, ni des certifications.
« Quelles sont les surfaces de performance et de montée en charge ? »
Trois, et toutes sont des couches optionnelles plutôt que des réécritures.
L’accélérateur est un sidecar Rust consommé via des interfaces de contrat
Core. Le pipeline de sortie
(NextPDF\Pro\OutputPipeline\PipelineExecutor) exécute des manifestes de
documents en plusieurs étapes avec résolution des dépendances. Le
moteur de flux rend des lots concurrents de manière déterministe :
public function renderBatch(array $manifests, array $variablesByJobId = []): arrayNextPDF\Pro\Stream\Engine\ConcurrentRenderEngine rétablit l’ordre d’entrée, de
sorte que les octets de sortie correspondent à un rendu séquentiel quelle que
soit la concurrence. Il échoue avec
NextPDF\Pro\Stream\Exception\RenderEngineException en cas d’achèvement
manquant, dupliqué ou inconnu — jamais un abandon silencieux. Nous ne publions
ici aucun chiffre de benchmark ; effectue un benchmark de ta propre charge de
travail pendant l’essai.
« L’accélérateur crée-t-il une dépendance forte au code natif ? » Non. Le sidecar est une connectivité optionnelle, et le fournisseur signale la disponibilité au lieu de lever une exception :
public function isAvailable(): boolpublic function embedding(): EmbeddingServiceInterfacepublic function vectorIndex(string $collectionId = 'default'): VectorIndexInterfaceCes méthodes ne déclarent aucun @throws ; l’accessibilité du sidecar est
indiquée par isAvailable(). Les types retournés sont des interfaces de contrat
Core (NextPDF\Contracts\EmbeddingServiceInterface,
NextPDF\Contracts\VectorIndexInterface), ce qui constitue en pratique la
jointure sans modification de code.
« Que se passe-t-il hors ligne ou en environnement isolé ? » Cela dépend du canal, et c’est généralement le facteur décisif. Le canal ionCube vérifie sa licence en ligne — environ une vérification tous les 7 jours qui renouvelle un bail d’environ 14 jours. Hors ligne au-delà du bail, les fonctionnalités premium se mettent en pause et le moteur bascule vers le Core gratuit, reprenant lorsque la connectivité revient. Le canal source signée vérifie sa licence localement et fonctionne entièrement hors ligne, y compris en environnement isolé. Voir Deux canaux de distribution.
« Qu’envoie la vérification de licence ? » Sur le canal ionCube, une vérification n’envoie qu’un identifiant de licence et un hachage d’empreinte salé — jamais le contenu de tes documents. Un déploiement source signée entièrement hors ligne n’envoie absolument rien. La surface de décision de licence est un unique évaluateur public sur lequel ton équipe plateforme peut raisonner :
public function evaluate(?LicenseKey $license, ?DateTimeImmutable $now = null): EntitlementResultIl ne déclare aucun @throws ; chaque état de licence, y compris l’absence
totale de licence, correspond à un EntitlementResult plutôt qu’à une exception.
« Qui nous accompagne, et comment démarrer ? » L’aide produit et technique provient du support PATEON ; la facturation, les factures et les remboursements sont gérés par notre Merchant of Record — voir qui contacter. Tu peux démarrer un essai gratuit de 14 jours depuis ton compte, ou demander une licence d’évaluation qui exécute l’ensemble des fonctionnalités derrière un filigrane amovible.
Liste de contrôle des exigences
Section intitulée « Liste de contrôle des exigences »Ce qui est possible et ce qui ne l’est pas, en toute honnêteté, avec la page responsable de chaque fait.
| Ton exigence | NextPDF peut-il y répondre ? | Preuve et responsable |
|---|---|---|
| Runtime PHP moderne | Oui — nécessite PHP >=8.4 <9.0. Les versions antérieures de PHP ne sont pas prises en charge. | composer.json du produit ; Installer et s’authentifier |
| Empaquetage standard | Oui — paquets Composer privés : nextpdf/pro ou nextpdf/enterprise selon l’édition (nextpdf/premium installe les deux paliers), avec des identifiants délivrés après l’achat. | Achat et licence |
| Adopter sans réécriture | Oui — aucune modification du code applicatif ; Premium se résout derrière les contrats Core que tu appelles déjà. | Licence et activation |
| Niveau d’analyse statique | Oui — développé avec PHPStan level 10 et des règles strictes sur l’ensemble du code source Pro et Enterprise. | phpstan.neon.dist du produit |
| Rigueur des tests | Oui — 1,500+ fichiers de test ; tests par mutation imposés à un MSI minimum de 95 % dans les scripts du dépôt. | Scripts composer.json et arborescence de tests du produit |
| Gouvernance de la compatibilité ascendante | En partie — des ruptures de compatibilité surviennent et sont délibérées pour les correctifs de sécurité fail-closed ; chacune est documentée avec un chemin de migration. | UPGRADING.md du produit |
| Fonctionnement en environnement isolé | Oui sur source signée ; le canal ionCube est limité par son bail d’environ 14 jours. | Deux canaux de distribution |
| Source lisible | Oui — canal source signée uniquement, à un prix plus élevé ; la lecture ne confère pas de droits de redistribution. | Deux canaux de distribution, EULA |
| Certification formelle | Non. NextPDF ne détient aucune certification et n’en accorde aucune ; la prise en charge d’un standard n’est pas une conformité ni une certification. | Cette page ; modèle de licence |
| Obligation d’accélération native | Non requise — le sidecar Rust est optionnel ; conditionne à ProAcceleratorProvider::isAvailable(). | Code source du produit, montré ci-dessus |
Risque et mitigation
Section intitulée « Risque et mitigation »- Expiration du bail ionCube. Un déploiement sur canal encodé hors ligne au-delà de son bail met en pause les fonctionnalités premium et bascule vers le Core, reprenant à la reconnexion. Si ta posture réseau ne peut garantir une connectivité périodique, choisis plutôt le canal source signée.
- Ruptures de compatibilité délibérées. La validation liée à la sécurité est resserrée en mode fail-closed entre les versions. Épingle les versions, lis les notes de mise à niveau avant chaque montée de version et exécute une vérification de compatibilité en CI. Ne considère pas les mises à niveau comme des remplacements transparents.
- Aucune certification. Nous énonçons des capacités, jamais une certification. Si ton programme exige une conformité certifiée, valide la sortie avec ton propre outillage de recette avant de t’y fier — aucune page de documentation NextPDF ne s’y substitue.
- La performance dépend de la charge de travail. Le ionCube Loader ajoute une surcharge de décodage, généralement faible ; nous ne publions aucun benchmark universel. Effectue un benchmark de tes propres documents pendant l’essai avant de t’engager sur un canal.
- La sortie d’évaluation est filigranée. Les builds d’évaluation exécutent toutes les capacités mais marquent visiblement leur sortie ; ils ne conviennent pas à une livraison en production. Une licence payante supprime le filigrane sans modification de code.
Ce qu’il faut demander ensuite
Section intitulée « Ce qu’il faut demander ensuite »- Démarre un essai. Un essai gratuit de 14 jours est disponible depuis ton compte — un par adresse e-mail, aucun frais aujourd’hui, et il ne se renouvelle pas automatiquement. Prévois le prérequis du ionCube Loader gratuit sur les builds encodés, y compris en CI.
- Mène un pilote délimité. Installe via Composer, intègre un vrai flux documentaire derrière tes contrats existants, exécute ta suite de tests et effectue un benchmark de ta charge de travail. L’évaluation exécute l’ensemble des fonctionnalités derrière le filigrane amovible, de sorte que rien n’est caché de l’évaluation.
- Choisis un canal de distribution. Décide entre encodé ionCube et source signée en fonction de tes exigences de connectivité et d’audit — voir Deux canaux de distribution.
- Demande ton enveloppe de licence. L’achat passe par notre Merchant of Record ; ta licence est accordée par PATEON sous l’EULA. Commence sur le portail de licence.