Publier ou remplacer des outils Web et des services de géotraitement dans ArcGIS Pro
Pour partager un résultat d’analyse en tant qu’outil Web ou service de géotraitement, vérifiez que vous disposez des autorisations de publication suffisantes et que les versions d’ArcGIS Pro et d’ArcGIS Enterprise sont compatibles.
Le rôle du compte de connexion au portail doit être Administration ou un rôle personnalisé. Si le rôle est personnalisé, la configuration minimale requise est un rôle Publication par défaut existant avec l’option Publish web tools (Publier des outils Web) des privilèges d’administration.
Pour publier sur un serveur autonome exécutant ArcGIS Server, vous devez être un administrateur ou un éditeur avec des propriétés système spéciales. Vous devez ajouter une connexion administrateur à votre serveur. Pour mettre à jour les propriétés système afin de permettre aux éditeurs de publier des services de géotraitement, utilisez l’API ArcGIS Enterprise Administrator et ajoutez la propriété allowGPAndExtensionPublishingToPublishers.
Présentation rapide de la création et du partage des outils Web
Un outil Web ou un service de géotraitement peut être partagé en tant que nouvel outil Web ou remplacer un outil Web existant. Pour partager un outil Web ou service de géotraitement avec l’une ou l’autre de ces options, reportez-vous à la rubrique Présentation rapide de la création et du partage.
Étapes facultatives courantes pour la publication ou le remplacement
Qu’il s’agisse de publier ou de remplacer un outil Web ou un service de géotraitement, des étapes facultatives vous permettent de mieux contrôler le comportement de l’outil publié et de garantir la réussite de la publication. Même si vous pouvez toujours publier de nombreux outils avec les paramètres par défaut, configurer ces paramètres permet de personnaliser davantage l’outil publié et de répondre aux différents besoins des utilisateurs de l’outil Web.
Paramètres de base et avancés
Dans la plupart des cas, vous voulez ajuster les paramètres de base de l’outil Web dans la fenêtre Sharing (Partage). Ces paramètres contrôlent les parties les plus importantes de votre outil publié, comme le mode d’exécution, le niveau des messages affichés pendant l’exécution de l’outil, les personnes habilitées à accéder à l’outil et le mode d’accès à l’outil publié par les utilisateurs de vos outils Web. Le comportement par défaut n’est dans certains cas pas souhaitable, par exemple le mode de saisie d’un paramètre. Vous devez ainsi utiliser un autre mode au moment de la publication.
Certains besoins administratifs peuvent également être imposés pour un petit ensemble d’outils que vous essayez de publier. Avec l’accès administratif, vous pouvez ajuster les propriétés de service avancées pour votre service de géotraitement.
Analyser
Analysez votre outil avant publication. Ce processus identifie les problèmes susceptibles d’empêcher la publication de l’outil. Des informations sur les données et outils qui composent le service, ainsi que des solutions potentielles, sont proposées. Certaines erreurs de l’analyseur peuvent uniquement être résolues en modifiant les outils ou les données qui les composent. D’autres messages et avertissements fournissent des directives et des pratiques conseillées. Vous pouvez publier l’outil une fois que vous avez corrigé les erreurs critiques et configuré les paramètres du service.
Pour lancer l’analyse, cliquez sur le bouton Analyze (Analyser) en bas de la fenêtre Sharing (Partage).
Même si vous n’analysez pas l’outil vous-même, la publication et le remplacement exécuteront automatiquement l’analyse, que vous l’ayez déjà lancée ou non.
En savoir plus sur les messages de l’analyseur
Ajouter un outil
Si vous partagez un outil Web ou un service de géotraitement, commencez par le résultat correct d’un modèle, d’un script ou d’un outil de la boîte à outils Python. Vous pouvez construire un outil Web ou un service de géotraitement à l’aide de plusieurs résultats. Seul peut être inclus un élément réussi de l’historique du géotraitement, ou les éléments avec des messages d’avertissement, mais le processus de publication doit être exempt de tout message d’erreur de l’analyseur pour que la publication aboutisse. L’ajout de plusieurs outils est une approche conseillée lors du regroupement d’outils similaires ou d’outils faisant partie d’un processus.
Remarque :
Il n’est pas possible d’ajouter un nouvel outil à outil Web ou un service de géotraitement existant. Vous devez republier l’outil existant et inclure le nouvel outil dans un nouveau service de géotraitement ou outil Web unique, ou remplacer l’outil à mettre à jour.
À partir d’ArcGIS Pro 3.6, vous pouvez sélectionner une ou plusieurs boîtes à outils, ou tâches dans une boîte à outils, en plus de tout élément d’historique exempt d’erreurs. Consultez les options de consolidation pour connaître les limitations du partage à partir des tâches ou des boîtes à outils.
Utiliser un serveur fédéré dans ArcGIS Enterprise
Lorsque vous partagez un outil Web sur votre portail, le serveur d’hébergement est le serveur par défaut du service de géotraitement sous-jacent. Le partage de nombreux outils Web sur un serveur d’hébergement risque d’entraîner une dégradation des performances en raison d’un manque potentiel de ressources système et notamment de mémoire système. Si vous disposez de plusieurs serveurs et que ceux-ci sont fédérés à votre portail, il peut être intéressant de séparer les services de géotraitement du serveur d’hébergement par défaut pour leur propre serveur fédéré. En l’absence de plusieurs serveurs fédérés, les services de géotraitement peuvent être partagés sur le serveur d’hébergement à condition que les administrateurs et éditeurs assurent une bonne gestion des services et ressources.
Différents environnements de déploiement
En plus d’effectuer le partage sur l’instance ArcGIS Enterprise à laquelle votre session ArcGIS Pro est actuellement connectée, ou sur un serveur autonome avec un fichier de connexion serveur, vous pouvez également partager votre outil Web avec d’autres déploiements, en utilisant un fichier de définition de service, en ajoutant un élément à ArcGIS Online ou en le partageant avec ArcGIS Enterprise on Kubernetes.
Enregistrer en tant que fichier de définition de service
Enregistrez le résultat d’analyse en tant que fichier de définition de service (.sd) et publiez-le dans ArcGIS Enterprise ultérieurement. Vous pouvez également utiliser le fichier de définition de service pour publier sur une autre instance ArcGIS Enterprise ou un serveur autonome dans un environnement différent, en utilisant l’outil upload-service-definition après avoir créé votre fichier de définition de service.
Consultez Enregistrer une définition de service pour un outil Web ou un service de géotraitement pour plus d’informations sur les étapes de création d’un fichier de définition de service connecté ou hors connexion.
ArcGIS Online
Vous ne pouvez pas partager directement un outil Web ou un service de géotraitement à ArcGIS Online, mais vous pouvez ajouter l’URL du service de votre outil Web ou service de géotraitement publié dans ArcGIS Enterprise en tant qu’élément de service de géotraitement dans ArcGIS Online.
En savoir plus sur l’ajout d’éléments depuis le Web
ArcGIS Enterprise on Kubernetes
À partir d’ArcGIS Pro 2.9 et d’ArcGIS Enterprise 10.9.1, vous pouvez publier des outils Web sur ArcGIS Enterprise on Kubernetes.
Scénarios de partage avancés
Dans la plupart des cas, comme dans l’exemple Présentation rapide de la création et du partage, le fait de lancer d’abord votre outil et de le publier en utilisant un élément d’historique offre l’expérience de publication la plus fiable et prévisible grâce à la validation du comportement, de l’accès aux données et de la configuration des paramètres.
À partir d’ArcGIS Pro 3.7, selon votre environnement de déploiement, l’accessibilité des données ou la complexité du projet, vous pouvez choisir de configurer des options de consolidation spécifiques ainsi que l’option Include data, scripts, and toolboxes (Inclure les données, les boîtes à outils et les scripts) pour contrôler le degré de préparation de votre outil, de votre boîte à outils et des ressources connexes pour ArcGIS Server. Comprendre les options de consolidation vous aide à rationaliser la publication, à éviter la duplication inutile des données et à garantir le bon fonctionnement de vos services de géotraitement dans leur environnement serveur. Vous pouvez configurer ces paramètres d’outils Web dans l’onglet Général de la fenêtre de partage. Les cas suivants illustrent les scénarios qui peuvent bénéficier de l’utilisation de ces nouvelles options de paramétrage des outils Web.
Publier sans exécution préalable
Exécuter votre outil avant la publication permet de garantir qu’il fonctionne comme prévu. L’exécution de l’outil vous permet d’identifier des erreurs qui n’ont peut-être pas été détectées au moment de la création, de détecter d’éventuels problèmes de performance et de vérifier que vos données ne sont pas modifiées de manière inattendue. L’exécution de l’outil permet également certains comportements, comme renseigner la liste des couches valides pour un paramètre d’entrée lorsque vous utilisez le mode en entrée Liste de choix.
Si votre outil ne définit pas de valeurs par défaut pour ses paramètres en entrée, exécuter l’outil avant la publication garantit que les valeurs par défaut peuvent être configurées ou supprimées au cours du processus de publication.
Cependant, si votre outil utilise des chemins d’accès aux données codés accessibles uniquement à ArcGIS Server, l’exécution en local échouera en raison des limitations d’accès aux données. Dans ces cas, les options de consolidation vous permettent de publier sans exécuter l’outil au préalable. Vous pouvez effectuer le partage directement depuis une tâche dans une boîte à outils, une boîte à outils entière, ou une combinaison de tâches et de boîtes à outils. Pour prendre en charge ce processus, partagez directement la boîte à outils ou la tâche et sélectionnez l’option Update paths relative to the server (Mettre à jour les chemins relatifs d’accès au serveur).
Vous pouvez partager une boîte à outils entière ou des tâches individuelles dans ArcGIS Pro comme les suivantes, ou publier avec Python en spécifiant la boîte à outils ou la tâche.

ArcGIS Pro et ArcGIS Server déployés ensemble
Si ArcGIS Pro et ArcGIS Server sont installés sur la même machine, ou si votre boîte à outils est stockée dans un emplacement partagé accessible aux deux, il peut être préférable de ne pas créer de copies dupliquées de la boîte à outils sur le serveur. Même si le partage à partir d’un élément d’historique reste recommandé, vous pouvez décocher l’option Include custom toolboxes (Inclure les boîtes à outils personnalisées) pour conserver une seule copie. Si vous apportez des modifications à votre boîte à outils (notamment des modifications concernant des paramètres), vous devez remplacer ou republier le service. Pour des mises à jour mineures, vous pouvez arrêter le service de géotraitement, mettre à jour votre boîte à outils et démarrer le service.
Gestion de la structure complexe de dossiers de projet
La gestion de projets volumineux et complexes avec de nombreuses sources de données est courante dans de nombreuses organisations, et l’outil Web que vous publiez n’utilise peut-être qu’une petite partie de ces ressources. Si votre projet comprend des structures de dossiers étendues ou de nombreux ensembles de données interdépendants, le fait de décocher l’option Entire local Python package (Totalité du paquetage Python local) lors de la publication d’un outil de script ou d’une boîte à outils Python peut considérablement réduire le temps de consolidation, éviter la copie inutile des données et éviter les échecs de consolidation.
Publication à partir d’éléments d’historique avec des données temporaires ou indisponibles
Lorsque vous publiez à partir d’éléments d’historique, en particulier ceux créés en exécutant un outil avant d’ouvrir votre session ArcGIS Pro actuelle, il est possible que certains jeux de données utilisés lors de la précédente exécution ne soient plus disponibles. Cela est fréquent lors de l’utilisation de l’espace de travail en mémoire, qui est effacé à la fermeture d’ArcGIS Pro. Dans ces situations, vous pouvez décocher l’option Run tool validation before sharing (Exécuter la validation de l’outil avant le partage) pour éviter les erreurs de validation provoquées par des données temporaires manquantes.
Options prenant en charge des scénarios de partage avancés
Pour les scénarios de partage courants, il n’est pas nécessaire de configurer ces options. Les options par défaut s’appliqueront. Pour prendre en charge des scénarios de partage avancés, vous devez toutefois configurer les options suivantes selon votre cas d’usage à partir d’ArcGIS Pro 3.7.
Inclure les données, les boîtes à outils et les scripts
Pour la plupart des processus de partage, vous aurez besoin de tous les scripts, données et boîtes à outils pour que votre outil publié fonctionne. Cependant, avec certains scénarios de partage avancés, vous pouvez personnaliser ce qui sera copié par le processus de publication et ce qui sera omis.
Lorsque cette option est sélectionnée, les options Include custom toolboxes (Inclure les boîtes à outils personnalisées) et Include local Python packages (Inclure les paquetages Python locaux) sont verrouillées dans le statut Activé.
Lorsque cette option n’est pas sélectionnée, ces deux options sont déverrouillées et vous pouvez les configurer. Une fois cette option désélectionnée, il sera impossible de copier des données ou de convertir des données d’URL en une entité ou une table copiée sur le serveur. Seule la source de données inscrite est possible. De plus, comme aucune donnée n’est copiée et ne nécessite une vérification de validation, l’option Run tool validation before sharing (Exécuter la validation de l’outil avant le partage) est verrouillée dans le statut Désactivé.
Cette option est activée par défaut.
Options de consolidation
La consolidation pour la publication d’un outil Web est un processus obligatoire lorsque vous partagez vos analyses. Ce processus rassemble tout ce dont un outil a besoin pour s’exécuter une fois publié, comme les modèles, scripts ou boîtes à outils Python utilisés, les jeux de données qui doivent être copiés, ainsi que la configuration du service et du partage. Selon vos paramètres de partage de données, certains chemins de jeu de données sont automatiquement mis à jour pour garantir que le serveur peut accéder aux données requises à l’exécution de l’outil. À la fin du processus de consolidation, tout ce qui est requis est compressé dans un fichier de définition de service, puis chargé sur un serveur le cas échéant. La seule façon d’éviter la consolidation est d’utiliser l’API REST de création de service et de spécifier vous-même toutes les configurations de service, y compris la gestion de toutes les sources de données dont votre service a besoin.
À partir d’ArcGIS Pro 3.7, des options de consolidation supplémentaires sont disponibles lors de la publication ou du remplacement d’un outil Web ou d’un service de géotraitement, ainsi que lors de la création de définitions de service connecté ou hors connexion. Dans les processus de publication classiques, vous pouvez ignorer ces paramètres, car ils ne sont pas obligatoires et les paramètres par défaut fonctionneront correctement. Ces options sont destinées aux scénarios avancés et aux déploiements spécialisés où une configuration manuelle moindre côté serveur est utile.
Inclure les boîtes à outils personnalisées
Les boîtes à outils personnalisées (.atbx ou .pyt) sont considérées comme des boîtes à outils définies par l’utilisateur, contrairement aux boîtes à outils système installées avec ArcGIS Pro. De même, sur votre machine ArcGIS Server autonome ou fédérée, les boîtes à outils système sont incluses dans l’installation d’ArcGIS Server, par exemple la boîte à outils Analyse qui contient des outils comme Zone tampon deux par deux.
Si vous souhaitez déployer manuellement votre propre boîte à outils personnalisée sur le serveur, vous pouvez décocher l’option de consolidation. Lorsque les boîtes à outils sont décochées, elles ne sont pas copiées sur le serveur lors de la publication. Cependant, si vous ne mettez pas à jour les propriétés du service pour pointer vers la boîte à outils déployée manuellement, ou si vous ne déployez aucune boîte à outils, votre outil publié ne fonctionnera pas, car chaque service de géotraitement nécessite une boîte à outils associée pour s’exécuter. Pour mettre à jour l’emplacement de votre propriété de service dans la boîte à outils, accédez au point de terminaison Edit the service properties (Mettre à jour les propriétés du service) du service de géotraitement à modifier. En général, ce sera https://organization.example.com/serverwebadaptor/admin/services/servicename.GPServer/edit. Dans la configuration du service, mettez à jour le chemin de toolbox dans la properties section dans le JSON des propriétés du service.
Décocher cette option désactive également l’option Include local Python packages (Inclure les packages paquetages Python locaux) et la verrouille dans le statut Désactivé.
Cette option est activée par défaut, ce qui garantit que votre boîte à outils personnalisée est copiée sur le serveur au cours de la publication.
Inclure les paquetages Python locaux
Pour les outils de script Python ou les boîtes à outils Python, vous pouvez inclure certains paquetages Python pour mieux organiser votre code, séparer certaines fonctions Python dans différents dossiers, ou bien mieux gérer ou faire évoluer votre code Python.
Si vous décidez de déployer manuellement vos paquetages Python, vous pouvez désactiver cette option de consolidation. Si vous désactivez cette option, aucun paquetage Python ne sera copié sur le serveur. Cependant, si votre script publié ne peut pas accéder à vos paquetages déployés, ou si vous ne déployez pas manuellement les paquetages nécessaires, votre outil publié ne s’exécutera pas sans ces paquetages.
Il n’est jamais nécessaire de déployer des paquetages Python dans l’environnement conda standard fourni avec ArcGIS Pro ou ArcGIS Server. Si vous utilisez des paquetages Python tiers dans votre script, consultez Déployer des paquetages Python personnalisés pour les déployer dans l’environnement conda du serveur.
Décocher cette option désactive également l’option Entire local Python package (Totalité du paquetage Python local) et la laisse décochée, car aucun paquetage Python n’est copié entièrement.
Cette option est activée par défaut, ce qui garantit que vos paquetages Python locaux sont copiés sur le serveur au cours de la publication.
Cette option ne peut pas être configurée et sera décochée si l’option Include custom toolboxes (Inclure les boîtes à outils personnalisées) est désactivée.
Totalité du paquetage Python local
Si votre paquetage Python local a une structure de dossiers complexe, ou si vos paquetages Python locaux comportent un grand nombre de fichiers, la consolidation peut copier tous les fichiers, y compris toutes les sources de données sur le serveur, que vous ayez l’intention de les utiliser ou non. Si vous disposez d’un fichier de projet ou d’un fichier de couche par exemple, la consolidation copie toutes les données utilisées sur le serveur.
La désactivation de cette option permettra au processus de consolidation de ne copier que les fichiers utilisés par vos outils copiés sur le serveur.
Cette option est activée par défaut, ce qui copie la totalité du paquetage sur le serveur.
Cette option ne peut pas être configurée et sera décochée si l’option Include local Python packages (Inclure les paquetages Python locaux) est désactivée.
Mettre à jour les chemins relatifs d’accès au serveur
Si votre outil nécessite l’exécution de données et que vous décidez de copier les données sur le serveur, ou de référencer ces données sur le serveur, les chemins d’accès aux données peuvent varier selon leur emplacement. L’activation de cette option permet à l’outil publié de trouver les données copiées sur le serveur.
Par exemple, si votre outil utilise une classe d’entités sur un lecteur de données local en tant que données de projet, une fois votre outil Web publié, le chemin d’accès à votre classe d’entités n’est plus accessible depuis votre machine serveur dans de nombreux cas. Au cours du processus de publication, les données sont copiées dans un emplacement spécifique sur votre serveur et votre outil est automatiquement mis à jour pour que cette classe d’entités pointe vers cet emplacement serveur spécifique. Exemple de chemin d’accès pour vos données serveur : C:\arcgisserver\directories\arcgissystem\arcgisinput\servicename.GPServer\extracted\cd\elevation.gdb.
Lorsque vous utilisez des données référencées, le fait que cette option soit cochée garantit que l’outil publié utilise le chemin côté serveur tel que spécifié lors de l’inscription de votre source de données. Par exemple, si vous spécifiez que le chemin d’accès au dossier de l’éditeur et le chemin d’accès sur le serveur sont identiques lorsque vous inscrivez le chemin d’accès aux données (chemin UNC, par exemple), l’activation de cette option garantit que vos chemins continuent de pointer vers le chemin UNC dans votre outil publié.
Désactivez cette option pour que la manière dont vous référencez vos données dans votre outil ne change pas. Que vous décidiez d’utiliser des données copiées ou référencées, vous devez toutefois faire en sorte que les chemins d’accès aux données utilisés par votre outil publié soient accessibles.
En savoir plus sur le référencement des données inscrites et la copie de toutes les données.
Cette option est activée par défaut, ce qui modifie les chemins d’accès aux données si nécessaire.
Cette option ne peut être configurée que si vous essayez d’effectuer le partage sur un serveur dans ArcGIS Enterprise 12.1 ou une version ultérieure.
Exécuter la validation de l’outil avant le partage
Lorsque vous effectuez le partage à partir d’un élément d’historique, l’outil est à nouveau validé à l’aide des entrées de l’exécution initiale. C’est la même validation qui se produit lorsque vous ouvrez à nouveau un élément d’historique pour réexécuter l’outil. La revalidation garantit que l’outil est toujours valide, par exemple, que toutes les données restent valides et que le script source de l’outil reste accessible.
La désactivation de cette option permet d’ignorer ces vérifications de validation. Vous devez vous assurer que toutes les données utilisées par votre outil publié sont accessibles.
Cette option est activée par défaut.
Si vous effectuez le partage directement depuis une boîte à outils ou une tâche, en l’absence d’historique avec lequel exécuter la validation, cette option ne peut pas être configurée et est désactivée. Cela est le cas aussi lorsque vous décochez l’option Include data, scripts, and toolboxes (Inclure les données, les boîtes à outils et les scripts).