Aller au contenu
getnextpdf.com

Premium édition

Pour les responsables d'ingénierie

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.

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.

« 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 = []): array

NextPDF\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(): bool
public function embedding(): EmbeddingServiceInterface
public function vectorIndex(string $collectionId = 'default'): VectorIndexInterface

Ces 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): EntitlementResult

Il 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.

Ce qui est possible et ce qui ne l’est pas, en toute honnêteté, avec la page responsable de chaque fait.

Ton exigenceNextPDF peut-il y répondre ?Preuve et responsable
Runtime PHP moderneOui — 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 standardOui — 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éécritureOui — 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 statiqueOui — 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 testsOui — 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é ascendanteEn 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 lisibleOui — 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 formelleNon. 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 nativeNon requise — le sidecar Rust est optionnel ; conditionne à ProAcceleratorProvider::isAvailable().Code source du produit, montré ci-dessus
  • 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.
  1. 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.
  2. 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.
  3. 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.
  4. 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.