Aller au contenu

Installer NextPDF Connect

Installe nextpdf/server avec Composer. Lance ensuite l’un des trois points d’entrée de transport. L’installation de base requiert uniquement PHP 8.4 et le moteur NextPDF. Redis et Premium restent optionnels.

Fenêtre de terminal
composer require nextpdf/server

Cette commande installe nextpdf/core: ^3.0. Le paquet déclare php: >=8.4 <9.0 : Composer refuse donc de l’installer avec PHP 8.3 ou une version antérieure, ainsi qu’avec PHP 9.

Il s’agit d’un paquet Composer de type library. Son installation ajoute quatre points d’entrée en ligne de commande dans vendor/bin/ :

  • vendor/bin/nextpdf-mcp — le serveur MCP via stdio.
  • vendor/bin/nextpdf-server — le serveur REST (worker HTTP RoadRunner).
  • vendor/bin/nextpdf-grpc — le serveur gRPC (worker gRPC RoadRunner).
  • vendor/bin/generate-skills — exporte le catalogue d’outils sous forme de skills d’agent.

Un cinquième script, bin/nextpdf-prune, est fourni par le dépôt pour les tâches de maintenance. Exécute-le directement plutôt que via vendor/bin/.

Aucun service provider, bundle ni enregistrement de framework n’est requis. Le serveur est un processus autonome. Ce n’est pas une bibliothèque à intégrer dans une application hôte.

Composer installe aussi les dépendances d’exécution du paquet. Ces dépendances transitives couvrent les piles HTTP et gRPC :

  • league/route et nyholm/psr7 — le routage REST et les messages PSR-7.
  • spiral/roadrunner-http et spiral/roadrunner-grpc — le runtime RoadRunner pour les workers des transports REST et gRPC.
  • psr/http-server-middleware et psr/http-server-handler — les contrats de middleware PSR-15 implémentés par le pipeline REST.
  • symfony/yaml — l’analyse des fichiers de configuration.
  • ramsey/uuid — les identifiants de requête et de ressource.

Tu n’as pas à installer ces dépendances directement. Composer les résout pour toi depuis nextpdf/server.

Pour vérifier l’installation, liste le catalogue d’outils sans démarrer de serveur :

Fenêtre de terminal
./vendor/bin/generate-skills --dry-run --list-tools

Cette commande démarre le registre, exécute la détection de niveau et affiche les outils exposés par cette installation. La liste reflète les paquets optionnels présents. Voir /connect/tool-catalog/.

Une installation de production épingle la dépendance et omet l’outillage de développement :

Fenêtre de terminal
composer require nextpdf/server --no-dev
composer install --no-dev --optimize-autoloader --classmap-authoritative

Pour les transports REST et gRPC, installe aussi le binaire RoadRunner. RoadRunner est le superviseur de processus qui gère le pool de workers. Le paquet PHP fournit le worker, pas le superviseur :

Fenêtre de terminal
./vendor/bin/rr get-binary
  • Redis optionnel. L’extension ext-redis est un suggest, pas un require. Sans elle, le serveur REST utilise des stores en mémoire pour la limitation de débit, l’idempotence et les documents. Ces stores en mémoire conviennent à un worker unique, mais ils ne sont pas partagés au sein d’un pool de plusieurs workers. Pour les déploiements multi-workers, installe ext-redis et définis les variables d’environnement Redis. Voir /connect/configuration/.

  • Premium optionnel. nextpdf/premium est un suggest. Lorsqu’il est installé aux côtés du serveur, les sondes de détection de niveau du registre trouvent ses classes de provider. Elles enregistrent alors les outils Pro et Enterprise supplémentaires. Sans lui, seul le catalogue de base est servi. Il s’agit d’une décision de packaging prise au moment du composer require, pas d’un interrupteur d’exécution.

  • Le serveur MCP n’a besoin d’aucun RoadRunner. nextpdf-mcp est un simple processus PHP qui communique en JSON-RPC via stdio. RoadRunner n’est requis que pour les transports REST et gRPC.

La résolution des dépendances par Composer représente l’essentiel du coût à l’installation. Dans les images de production, utilise --prefer-dist et un classmap autoritatif pour réduire le temps d’autoload au démarrage à froid. Le coût propre au démarrage du serveur correspond au scan du registre et à la détection de niveau. Le performance_budget de cette page borne ce coût de démarrage.

Installe uniquement le paquet Packagist officiel nextpdf/server. Épingle la version dans composer.json et committe composer.lock afin que le catalogue d’outils déployé soit reproductible. Les transports réseau exigent une clé d’API avant de servir le moindre endpoint hors health ; voir /connect/security-and-operations/.

Cette page décrit uniquement la mécanique d’installation. Les citations de conformité relatives au protocole et à la sécurité sont épinglées sur /transports/mcp/, /transports/rest/, /transports/grpc/ et /connect/security-and-operations/.

L’installation de base est pleinement fonctionnelle. Elle prend en charge la création, l’inspection et le diagnostic de documents sur les trois transports. Ajouter nextpdf/premium étend le catalogue sans modifier le modèle de transport ni d’authentification.

  • /connect/overview/ — ce que fournit le paquet
  • /connect/quickstart/ — le premier échange exécutable
  • /connect/configuration/ — les variables d’environnement et le fichier de configuration
  • /connect/deployment/ — RoadRunner, Docker et le déploiement multi-transport
  • /connect/tool-catalog/ — les outils que cette installation expose