28
ADOBE ®  INDESIGN ®  CS6 INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT

INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

ADOBE® INDESIGN® CS6

INTRODUCTION AADOBE INDESIGN CS6

SERVER DEVELOPMENT

Page 2: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

© 2012 Adobe Systems Incorporated. All rights reserved.

Introduction à Adobe® InDesign® CS6 Server Development

S’il accompagne un logiciel dont l’utilisation est soumise à un contrat d’utilisateur final, ce manuel, de même que le logiciel dont il traite, est fourni sous licence et ne peut être utilisé ou copié que conformément aux termes de cette licence. Sauf autorisation spécifiée dans la licence, aucune partie de ce manuel ne peut être reproduite, enregistrée ou transmise sous quelque forme ou par quelque moyen que ce soit, électronique, mécanique ou autre, sans l’autorisation écrite préalable d’Adobe Systems Incorporated. Nous attirons votre attention sur le fait que les informations contenues dans ce manuel sont protégées par le droit d’auteur, même si le manuel n’est pas distribué avec un logiciel accompagné d’un contrat de licence pour l’utilisateur final.

Les informations contenues dans ce manuel sont fournies à titre purement indicatif. Elles peuvent être modifiées sans préavis et ne constituent pas un engagement de la part d’Adobe Systems Incorporated. Adobe Systems Incorporated décline toute responsabilité vis-à-vis des erreurs ou imprécisions qui pourraient être relevées dans ce manuel.

Nous attirons votre attention sur le fait que les illustrations ou images que vous pouvez être amené à utiliser dans vos projets peuvent être protégées par le droit d’auteur. Leur exploitation sans autorisation constituerait alors une violation du droit d’auteur. Veillez à obtenir toutes les autorisations nécessaires de la part du titulaire du droit d’auteur.

Les noms de société figurant dans les modèles ne sont utilisés qu’à titre d’exemple et ne font référence à aucune organisation réelle.

Adobe, the Adobe logo, InCopy, and InDesign are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries. Windows is either a registered trademark or a trademark of Microsoft Corporation in the United States and/or other countries. Mac OS is a trademark of Apple Computer, Incorporated, registered in the United States and other countries. All other trademarks are the property of their respective owners.

Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, USA. Notice to U.S. Government End Users. The Software and Documentation are “Commercial Items,” as that term is defined at 48 C.F.R. §2,101, consisting of “Commercial Computer Software” and “Commercial Computer Software Documentation,” as such terms are used in 48 C.F.R. §12,212 or 48 C.F.R. §227,7202, as applicable. Consistent with 48 C.F.R. §12,212 or 48 C.F.R. §§227,7202-1 through 227,7202-4, as applicable, the Commercial Computer Software and Commercial Computer Software Documentation are being licensed to U.S. Government end users (a) only as Commercial Items and (b) with only those rights as are granted to all other end users pursuant to the terms and conditions herein. Unpublished-rights reserved under the copyright laws of the United States. Adobe Systems Incorporated, 345 Park Avenue, San Jose, CA 95110-2704, USA. For U.S. Government End Users, Adobe agrees to comply with all applicable equal opportunity laws including, if appropriate, the provisions of Executive Order 11246, as amended, Section 402 of the Vietnam Era Veterans Readjustment Assistance Act of 1974 (38 USC 4212), and Section 503 of the Rehabilitation Act of 1973, as amended, and the regulations at 41 CFR Parts 60-1 through 60-60, 60-250, and 60-741. The affirmative action clause and regulations contained in the preceding sentence shall be incorporated by reference.

Page 3: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

3

Sommaire

1 Introduction à Adobe InDesign Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5A propos d’Adobe InDesign Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Prise en main . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Terminologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Feuille de route . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6Création de scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7COM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7Service Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Démon launchd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Performances et évolutivité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2 Installation et exécution d’InDesign Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Installation d’InDesign Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Configuration système requise . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Exécution du programme d’installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Ensemble de fonctions CJC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Pare-feu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Installation du service Windows InDesign Server (sous Windows uniquement) . . . . . . . . 10Installation du kit SDK d’InDesign Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

Exécution d’InDesign Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10Arguments de ligne de commande d’InDesign Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11Lancement d’InDesign Server à partir de la ligne de commande . . . . . . . . . . . . . . . . . . . . . . 13Lancement d’InDesign Server pour une utilisation avec la technologie SOAP . . . . . . . . . . 13Lancement d’InDesign Server pour une utilisation avec la technologie CORBA . . . . . . . . 13Lancement à partir d’un autre programme ou d’un autre script . . . . . . . . . . . . . . . . . . . . . . . 14Exécution de plusieurs instances d’InDesign Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Fermeture d’InDesign Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Configuration du service Windows InDesign Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Configuration d’un démon launchd InDesign Server pour Mac OS . . . . . . . . . . . . . . . . . . . . 17

3 Communication avec InDesign Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Communication avec InDesign Server basée sur la technologie SOAP . . . . . . . . . . . . . . . . . . . . . . . . . 20

Utilisation de sampleclient pour exécuter un script InDesign Server . . . . . . . . . . . . . . . . . . 20

Communication avec InDesign Server par le biais d’un module externe . . . . . . . . . . . . . . . . . . . . . . . 23

Communication avec InDesign Server basée sur la technologie COM (Windows uniquement) . . . . . . . 24Visual Basic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24C# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Page 4: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

4

Communication avec InDesign Server basée sur la technologie LBQ . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Gestion des messages d’erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Accès aux erreurs et messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26Redirection des erreurs et messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Forum aux questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Puis-je spécifier un port SOAP et un fichier IOR lors du lancement du serveur ? . . . . . . . . 27Existe-t-il un index de toutes les classes et méthodes figurant dans le modèle DOM de création de scripts d’InDesign Server ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27Puis-je interagir avec InDesign Server si je n’utilise pas SOAP ? . . . . . . . . . . . . . . . . . . . . . . . . 27Comment renvoyer une valeur de mon script à mon application SOAP client ? . . . . . . . . 27

4 Etapes suivantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28Scripts et modules externes d’InDesign Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

SOAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Page 5: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

5

1 Introduction à Adobe InDesign Server

Le présent document fournit une vue d’ensemble d’Adobe® InDesign® Server. Il explique comment installer et exécuter InDesign Server dans un environnement simple et décrit comment communiquer avec InDesign Server à partir de composants externes.

A propos d’Adobe InDesign ServerInDesign Server est utilisé par les intégrateurs système et les développeurs tiers pour créer des solutions de publication serveur. InDesign Server peut être considéré comme une version d’InDesign sans interface utilisateur. InDesign Server utilise les mêmes bases de code que la version de bureau d’InDesign, mais il a été adapté pour être utilisé comme serveur. Ses fonctionnalités incluent la prise en charge de plusieurs instances, la collecte et l’enregistrement des erreurs, ainsi que la communication à l’aide de la technologie SOAP.

A l’instar de la version pour ordinateur de bureau, InDesign Server offre un environnement de développement perfectionné. Outre la prise en charge des standards ouverts tels que XML, InDesign Server se caractérise également par sa prise en charge performante des scripts et son évolutivité. En effet, les API fournies dans le kit SDK (Software Developer’s Kit) du module externe InDesign et le kit SDK de script d’InDesign Server permettent d’étendre facilement les fonctionnalités de ce produit. Ces API peuvent être utilisées pour la création de modules externes C++, de scripts JavaScript, de scripts AppleScript et de scripts VBScript.

Prise en mainConsultez la documentation intitulée Getting Started with the Adobe InDesign Server SDK (Prise en main du kit SDK d’Adobe InDesign Server) pour obtenir plus d’informations et savoir par où commencer, ce que contient le répertoire d’installation du kit SDK d’InDesign Server et comment utiliser les exemples fournis dans le kit.

TerminologieVous trouverez ci-dessous une définition des termes utilisés dans ce document.

Ant : Another Neat Tool, un outil de construction Java.

Client : émetteur d’une demande de services depuis un serveur situé dans un système informatique distribué.

COM : Component Object Model, technologie facilitant l’interopérabilité des applications et des composants.

IDS : InDesign Server.

<IDS> : dossier dans lequel vous avez installé InDesign Server.

<IDS SDK> : dossier dans lequel vous avez installé le kit SDK d’InDesign Server.

Kit SDK d’InDesign Server : ensemble de technologies permettant de travailler avec InDesign Server, comme la technologie SOAP. Ce kit SDK comprend toute la documentation relative à InDesign Server.

DOM de création de scripts InDesign : Document Object Model, modèle objet de documents pour la création de scripts. Cela fait référence aux objets et à leur hiérarchie dans InDesign, tels qu’ils sont accessibles via les scripts.

Kit SDK de script d’InDesign : API permettant d’accéder au DOM de création de scripts InDesign.

Page 6: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

CHAPITRE 1 : Introduction à Adobe InDesign Server Feuille de route 6

Fichier IOR : Interoperable Object Reference, fichier de référence d’objet interopérable. Ce fichier est utilisé par CORBA et ses clients pour identifier un objet dans le modèle d’objet CORBA.

IPv6 : Internet Protocol version 6, le successeur de l’IPv4. L’IPv6 est pris en charge par InDesign CS4 Server et les versions ultérieures.

Mise en file d’attente des travaux : mécanisme qui place les travaux envoyés dans une file d’attente, les exécute de manière asynchrone et permet de vérifier ultérieurement l’état d’un travail.

Equilibrage des charges : distribution des travaux sur plusieurs instances et serveurs en fonction des disponibilités.

<langue> : dans un chemin, langue de version d’InDesign Server ; par exemple, français.

LBQ : Load Balancing and Queuing, module complémentaire qui permet de mettre les travaux en file d’attente et d’équilibrer les charges de plusieurs instances d’InDesign Server.

Serveur : fournisseur de services dans un système informatique distribué.

Fenêtre d’invite de commande : fenêtre de ligne de commande. Sous Windows®, utilisez Invite de commandes (situé dans le dossier Accessoires du menu Démarrer). Sous Mac OS®, utilisez l’utilitaire Terminal (situé sous /Applications/Utilitaires).

<SDK de script> : répertoire dans lequel vous avez installé le kit SDK de script d’InDesign.

<SDK> : dossier dans lequel vous avez installé le kit SDK du module externe InDesign.

SOAP : Simple Object Access Protocol, protocole de communication basé sur le langage XML permettant l’échange de messages entre les programmes et les plates-formes. InDesign Server prend en charge plusieurs versions de SOAP : les versions standard 1.1 et 1.2 de SOAP (RPC et doc/lit) ainsi que le format WSDL 1.1.

<version> : dans un chemin, numéro de version d’InDesign Server ; par exemple, pour CS6, il s’agit de la version 8.0.

WSDL : Web Service Description Language, ou langage de description de services Web, format reposant sur le langage XML qui permet de décrire comment accéder à un service Web et d’indiquer les opérations restant à effectuer.

Feuille de routeCette section fournit une vue d’ensemble des différentes utilisations et extensions possibles d’InDesign Server et indique comment obtenir plus de détails sur les sujets abordés. L’autre partie de ce document fournit des informations supplémentaires.

Documentation

Le kit SDK du module externe InDesign et le kit SDK de script d’InDesign renferment des documents et exemples de code, qui vous aideront dans l’extension d’InDesign Server. Vous pouvez télécharger ces deux kits SDK sur le site Adobe.com. La documentation citée dans ce document est incluse dans les kits SDK.

Création de scripts

A l’instar d’InDesign, InDesign Server prend en charge l’écriture de scripts JavaScript, AppleScript et VBScript.

Page 7: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

CHAPITRE 1 : Introduction à Adobe InDesign Server Feuille de route 7

Ecriture d’un script

Les documents suivants vous guideront lors de l’écriture de scripts InDesign Server :

Didacticiel de scripts d’Adobe InDesign

Guide des scripts d’Adobe InDesign

Guide des scripts d’Adobe InDesign Server

Vous pouvez également accéder au document intitulé InDesign Object Model Viewer (Afficheur de modèles d’objet d’InDesign) à partir du menu d’aide d’Adobe ExtendScript Toolkit.

Exécution d’un script

InDesign Server propose une méthode SOAP, appelée RunScript, qui permet d’envoyer un script à InDesign Server. Votre version d’InDesign Server comprend un exemple d’application SOAP client, appelé SampleClient, que vous pouvez utiliser pour exécuter un script. Voir la section « Utilisation de sampleclient pour exécuter un script InDesign Server », page 20.

SampleClient a été écrit à l’aide de C++ et son code source est fourni dans le SDK des produits InDesign. Le kit SDK d’InDesign Server contient d’autres exemples de projets client fondés sur plusieurs langages, dont C#, PHP, VB.NET et Flex.

C++

Ecriture d’un module externe C++

InDesign Server repose sur le langage C++ et prend en charge les modules externes C++ développés à l’aide de l’API C++ d’InDesign. Pour plus de détails, voir la section « Communication avec InDesign Server par le biais d’un module externe », page 23, ainsi que les documents intitulés Adobe InDesign Plug-In Programming Guide (Guide de programmation des modules externes Adobe InDesign) et « InDesign Server Plug-in Techniques » (Techniques de création de modules externes pour InDesign Server) dans Getting Started with Adobe InDesign Plug-In Development (Prise en main du développement de modules externes Adobe InDesign).

Accès au module externe à l’aide des scripts

Pour que votre module externe soit accessible à partir d’un script, il doit prendre en charge les scripts. Pour plus de détails, voir le chapitre « Scriptable Plug-in Fundamentals » (Principes fondamentaux du module externe pour scripts) de la documentation intitulée Adobe InDesign Plug-In Programming Guide (Guide de programmation des modules externes Adobe InDesign).

COM

InDesign Server publie une bibliothèque de types à utiliser pour créer des composants COM qui interagissent avec InDesign Server. Les composants COM peuvent être créés dans plusieurs langages. Pour plus de détails sur l’utilisation de Visual Basic et de C#, voir la section « Communication avec InDesign Server basée sur la technologie COM (Windows uniquement) », page 24.

Page 8: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

CHAPITRE 1 : Introduction à Adobe InDesign Server Feuille de route 8

Service Windows

Vous pouvez utiliser un service Windows pour gérer InDesign Server. Pour avoir recours à ce service, commencez par installer InDesignServerService comme décrit à la section « Installation du service Windows InDesign Server (sous Windows uniquement) », page 10. Utilisez ensuite le composant logiciel enfichable Microsoft Management Console d’InDesign Server pour configurer InDesignServerService.

Démon launchd

Utilisez un démon launchd pour gérer InDesign Server sous Mac OS. Pour plus de détails sur la configuration d’un démon, voir la section « Configuration d’un démon launchd InDesign Server pour Mac OS », page 17.

Performances et évolutivité

La documentation et les outils relatifs aux performances et à l’évolutivité d’InDesign Server sont disponibles dans le kit SDK d’InDesign Server. Consultez la documentation intitulée Getting Started with the Adobe InDesign Server SDK (Prise en main du kit SDK d’Adobe InDesign Server).

Page 9: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

9

2 Installation et exécution d’InDesign Server

Ce chapitre explique comment installer, exécuter et configurer Adobe InDesign Server.

Installation d’InDesign ServerAvant d’installer InDesign Server, assurez-vous que votre système est conforme à la configuration requise. Exécutez ensuite le programme d’installation obtenu via le système ESD (Electronic Software Download, distribution électronique de logiciels). Une fois l’installation terminée, exécutez InDesign Server à partir de la ligne de commande comme décrit à la section « Exécution d’InDesign Server », page 10. Veuillez noter que la sérialisation d’InDesign Server intervient sur la ligne de commande au premier lancement, à l’aide de l’argument -serialnumber.

Configuration système requisePour plus de détails sur la configuration système requise pour l’exécution d’InDesign Server, voir le fichier Lisez-moi de l’application.

Pour exécuter le service Windows InDesign Server, vous devez disposer de Microsoft .NET Framework version 2.0 ou ultérieure.

Exécution du programme d’installationAprès avoir téléchargé et décompressé le fichier ESD (Electronic Software Download, distribution électronique de logiciels) pour InDesign Server, cliquez deux fois sur l’icône du programme d’installation pour l’exécuter. Suivez les instructions affichées à l’écran. Pendant l’installation, vous pouvez spécifier le dossier dans lequel installer InDesign Server ou utiliser l’emplacement par défaut.

Sous Windows, InDesign Server CS6 est disponible en version 64 bits uniquement.

Sous Mac, InDesign Server CS6 est disponible en version 32 bits uniquement.

Ensemble de fonctions CJCPour la composition, InDesign Server utilise l’ensemble de fonctions activé Romain (anglais) ou Japonais (CJC). Sous Windows, des paramètres de registre permettent de spécifier l’ensemble de fonctions. Mac OS inclut, quant à lui, deux applications : l’une activant l’ensemble de fonctions Romain et l’autre activant l’ensemble de fonctions CJC.

Lors de l’installation d’InDesign Server sur une version anglaise de Windows, l’ensemble de fonctions par défaut est défini sur Romain. Lors de l’installation sur une version chinoise de Windows (par exemple), l’ensemble de fonctions par défaut est défini sur CJC. Lors de l’installation sur une version anglaise de Windows, si vous choisissez le chinois comme langue d’installation, l’ensemble de fonctions par défaut est défini sur CJC.

Vous pouvez changer l’ensemble de fonctions par défaut en exécutant regedit et en modifiant les clés suivantes (modifiez le numéro de version, le cas échéant) :

Application 64 bits sous Windows 64 bits :

HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\InDesign Server\<version>

Définissez la clé Feature Set Locale Setting sur 400 pour Romain ou sur 401 pour CJC. Le paramètre est appliqué au lancement d’InDesign Server.

Page 10: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

CHAPITRE 2 : Installation et exécution d’InDesign Server Exécution d’InDesign Server 10

Pare-feuVous devez configurer de manière appropriée tout pare-feu existant entre un ordinateur (un serveur) exécutant InDesign Server et les clients du serveur, afin que ces derniers puissent établir une connexion avec le serveur. Pour plus de détails, voir la documentation de votre pare-feu ou contacter votre administrateur réseau.

Installation du service Windows InDesign Server (sous Windows uniquement)

Le service Windows InDesign Server surveille des instances données d’InDesign Server et les relance si elles sont interrompues ou si l’ordinateur est redémarré. Il redirige les messages d’InDesign Server vers le journal d’événements Windows et autorise la visualisation locale ou à distance de ces messages. Ce service autorise également la configuration des instances d’InDesign Server avec un nom et un mot de passe utilisateur différents des nom et mot de passe de l’utilisateur actuel.

Vous pouvez installer ce service Windows à l’aide du programme d’installation d’InDesign Server ou à partir d’une ligne de commande. Dans le premier cas, il vous suffit d’exécuter le programme d’installation d’InDesign Server et de sélectionner l’option d’installation des fichiers du service Windows pour InDesign Server. Dans le second cas, définissez le dossier dans lequel vous avez installé InDesign Server comme répertoire actif, puis exécutez la commande suivante :

InDesignServerService /install

Pour désinstaller le service Windows InDesign Server à l’aide de la ligne de commande, définissez le dossier contenant InDesign Server comme répertoire actif, puis exécutez la commande suivante :

InDesignServerService /install /u

Le second composant du service Windows InDesign Server est le composant logiciel enfichable Microsoft Management Console. Si vous avez installé le service à l’aide du programme d’installation d’InDesign Server, le composant logiciel enfichable a également été installé. Si vous avez utilisé la ligne de commande pour installer le service, vous devez également installer le composant logiciel enfichable, comme décrit dans cette section.

Pour installer le snap-in sur un ordinateur 64 bits, exécutez la commande suivante :

regsvr64 InDesignServerMMC64.dll

Pour désinstaller le composant logiciel enfichable Microsoft Management Console d’InDesign Server, utilisez la même procédure, en ajoutant un argument de ligne de commande supplémentaire :

regsvr64 InDesignServerMMC64.dll /u

Pour plus de détails sur la configuration du composant logiciel enfichable, voir la section « Configuration du service Windows InDesign Server », page 16.

Installation du kit SDK d’InDesign Server

Le kit SDK d’InDesign Server contient des exemples, des scripts, ainsi que la documentation d’InDesign Server. Vous pouvez télécharger le kit SDK d’InDesign Server depuis le site Adobe.com. Si vous le souhaitez, vous pouvez déplacer le dossier du kit SDK après l’avoir configuré.

Exécution d’InDesign ServerVous pouvez lancer InDesign Server à partir d’une ligne de commande ou d’un autre programme ou script. Chaque méthode autorise des arguments de ligne de commande qui contrôlent l’exécution et la configuration d’InDesign Server.

Page 11: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

CHAPITRE 2 : Installation et exécution d’InDesign Server Exécution d’InDesign Server 11

Arguments de ligne de commande d’InDesign Server

Les arguments de ligne de commande d’InDesign Server vous permettent de configurer divers aspects d’InDesign Server. La syntaxe de la ligne de commande suit le schéma ci-dessous ; chaque argument est décrit dans le tableau suivant :

InDesignServer [arguments]

Argument Description

-configuration name Facultatif. Cet argument spécifie le nom de configuration de cette instance d’InDesign Server. Utilisé par InDesign Server lors de la création du dossier de configuration dans lequel sont stockées les données privées, le cache et les fichiers de configuration, name doit désigner un nom de dossier valide du système actif. Par défaut, le nom de ce dossier est « configuration_noport » ou « configuration_n », n correspondant au numéro de port (si l’option -port est spécifiée). Le dossier de configuration est créé aux emplacements suivants :

Sous Windows :

C:\Documents and Settings\<nom d’utilisateur>\Application Data\Adobe\InDesign Server\<version>\<langue>\

Sous Windows Vista et Windows Server 2008 :

C:\Users\<nom d’utilisateur>\AppData\Roaming\Adobe\InDesign Server\<version>\<langue>\

Sous Windows avec Service Windows :

C:\Documents and Settings\All Users\Application Data\ Adobe\InDesign Server\<version>\<langue>\

Sous Windows Vista et Windows Server 2008 avec Service Windows :

C:\ProgramData\Adobe\InDesign Server\<version>\<langue>\

Sous Mac OS :

/Users/<nom d’utilisateur>/Library/Preferences/Adobe InDesign Server/<version>/<langue>/

-[no]console Facultatif. Sous Windows uniquement. Cet argument crée une nouvelle fenêtre de console (une interface de commande) et redirige stderr et stdout vers cette fenêtre. Si -noconsole est spécifié, stdout et stderr sont acheminés jusqu’au terminal (ou la fenêtre) qui a lancé InDesign Server. Cet argument se révèle utile lorsque vous utilisez le débogueur de Microsoft Visual Studio pour déboguer un module externe InDesign Server en cours de développement. En effet, les données écrites dans stderr et stdout sont supprimées par défaut par le débogueur. Cet argument peut également se révéler utile lorsque vous lancez InDesign Server depuis une autre application, comme un serveur d’applications. Il n’est disponible qu’avec InDesignServer.exe et non avec InDesignServer.com. L’option par défaut est -noconsole.

Page 12: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

CHAPITRE 2 : Installation et exécution d’InDesign Server Exécution d’InDesign Server 12

-[no]errorlist Facultatif. Cet argument détermine si InDesign Server doit stocker les erreurs de script d’appels SOAP dans la mémoire. La liste d’erreurs n’est pas effacée automatiquement ; si cette liste contient trop d’erreurs, les nouvelles erreurs seront perdues. L’option par défaut est -noerrorlist.

-help Facultatif. Affiche une courte description de tous les arguments.

-iorfile filepath Cet argument est indispensable si vous utilisez la technologie CORBA, requise par le module complémentaire LBQ d’InDesign ; sinon, il est facultatif. Indique à InDesign Server où créer le fichier contenant la référence IOR de l’objet Application. La référence IOR de ce fichier permet à un client de créer une référence à l’objet Application d’InDesign Server. Vous pouvez le considérer comme un cookie que votre code client utilise pour accéder à l’objet Application d’InDesign Server. Chaque instance du serveur requiert un fichier IOR unique. De nombreux clients accèdent à un serveur donné à l’aide du fichier IOR de ce serveur. L’affichage du message « [serveur] Writing IOR to ... » (Ecriture du fichier IOR en cours sur...) confirme l’écriture de la référence IOR dans le fichier spécifié.

-LogToApplicationEventLog Facultatif. Sous Windows, cet argument dirige les sorties de la console d’InDesign Server vers le journal d’événements d’applications de Windows. Vous pouvez les visualiser dans l’Observateur d’événements d’applications par défaut accessible depuis le Panneau de configuration de l’outil Gestion de l’ordinateur. Sous Macintosh, cet argument est conseillé si vous utilisez InDesign Server en tant que démon launchd. Vous pouvez visualiser les sorties dans la console standard de Mac OS.

-maxerrors number Facultatif. L’argument number spécifie le nombre maximum d’erreurs de script des appels SOAP qu’InDesign Server doit stocker en mémoire. Le nombre par défaut est 10 000.

-pluginpath path[,path] Cet argument est indispensable si vous utilisez la technologie CORBA, requise par le module complémentaire LBQ d’InDesign ; sinon, il est facultatif. Il commande au serveur de charger tous les modules externes dans les dossiers et sous-dossiers correspondants spécifiés. Lorsque vous indiquez le sous-répertoire server/corba installé, le module externe de prise en charge de la technologie Corba d’InDesign Server est chargé et activé. path est un chemin relatif basé sur le dossier d’installation d’InDesign Server (par exemple, l’indication « Server/Corba » fait référence au dossier C:\Program Files\Adobe\Adobe InDesign CS6.0 Server\Server\Corba). N’utilisez jamais un chemin absolu. L’affichage du message « [serveur] ApplicationIOR : ... » confirme le bon chargement du module externe de prise en charge de la technologie Corba.

-port number Cet argument est indispensable si vous utilisez le protocole SOAP ; sinon, il est facultatif. Il s’agit du numéro de port du socket utilisé par InDesign Server pour traiter les requêtes SOAP envoyées par les applications clientes. S’il n’est pas spécifié, le système ne peut utiliser aucun port et ne peut donc traiter aucune requête SOAP. Chaque instance d’InDesign Server exécutée sur un même système doit disposer d’un port unique pour activer la technologie SOAP. Le numéro de port doit être une valeur entière positive.

-[no]previews Facultatif. Cet argument précise si une prévisualisation est nécessaire ou non lors de l’importation d’images. L’option par défaut est -nopreviews.

-[no]seh Facultatif. Sous Windows uniquement. Cet argument spécifie l’utilisation ou non d’un SEH (structured exception handling). L’option par défaut est -seh.

Argument Description

Page 13: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

CHAPITRE 2 : Installation et exécution d’InDesign Server Exécution d’InDesign Server 13

Lancement d’InDesign Server à partir de la ligne de commande1. Ouvrez une nouvelle fenêtre d’invite de commande sur le système sur lequel InDesign Server est

installé. Sous Windows, utilisez Invite de commandes ; sous Mac OS, utilisez l’utilitaire Terminal.

2. Définissez le dossier dans lequel InDesign Server est installé comme répertoire actif. Sous Windows, le dossier contient l’application InDesignServer.com. Sous Mac OS, le dossier contient le package d’applications InDesignServer.app. Par exemple :

Sous Windows 64 bits :

cd "C:\Program Files\Adobe\Adobe InDesign CS6 Server x64\"

Sous Mac OS :

cd '/Applications/Adobe InDesign CS6 Server/'

3. Exécutez la commande ci-dessous. (Sous Windows, InDesignServer.com est exécuté par défaut. L’application configure les chemins et exécute InDesignServer.exe.)

InDesignServer

4. InDesign Server affiche les messages de lancement dans la fenêtre d’invite de commande. Une fois InDesign Server prêt à être utilisé, le message « [serveur] Server Running » (Serveur en cours d’exécution) s’affiche à l’écran. Pendant l’exécution, les messages, de même que les erreurs, sont affichés dans la fenêtre d’invite de commande. Cette fenêtre peut donc servir au suivi d’InDesign Server.

Lancement d’InDesign Server pour une utilisation avec la technologie SOAP

Si votre flux de travail implique l’utilisation de scripts pour pouvoir fonctionner en interaction avec InDesign Server, ce flux envoie très vraisemblablement des scripts à InDesign Server par l’intermédiaire de la technologie SOAP. Pour communiquer avec InDesign Server par l’intermédiaire de cette technologie, vous devez utiliser l’argument -port au lancement d’InDesign Server. Dans l’exemple de ligne de commande suivant, le numéro de port « 12345 » peut être remplacé par celui de votre choix.

InDesignServer -port 12345

Au lancement, InDesign Server doit afficher le message suivant :

"[soap] Servicing SOAP requests on port 12345."

Il indique qu’InDesign Server est prêt à accepter les requêtes SOAP.

Lancement d’InDesign Server pour une utilisation avec la technologie CORBA

Si votre flux de travail implique l’utilisation du module LBQ pour pouvoir fonctionner en interaction avec InDesign Server, vous devez lancer InDesign Server pour une utilisation avec la technologie CORBA. Le module complémentaire LBQ d’InDesign Server fait appel au module externe de prise en charge de la technologie CORBA pour toute communication avec InDesign Server. L’utilisation d’un fichier texte, dans lequel une chaîne représente une référence IOR d’identification unique d’un objet dans CORBA, facilite la communication entre l’API et InDesign Server.

-[no]sendcrashlogs Sous Mac OS uniquement. Cet argument envoie automatiquement des journaux d’incidents à Adobe. L’option par défaut est -nosendcrashlogs.

-serialnumber number Cet argument entre le numéro de série de l’application. Il ne doit être utilisé qu’une seule fois pour déverrouiller l’application.

Argument Description

Page 14: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

CHAPITRE 2 : Installation et exécution d’InDesign Server Exécution d’InDesign Server 14

Une fois l’instance d’InDesign Server initialisée, la référence IOR est écrite pour l’objet Application associé dans le fichier texte spécifié. En utilisant la référence IOR contenue dans le fichier IOR, un client peut instancier un objet de proxy pour l’objet Application d’InDesign Server.

Pour lancer InDesign Server en vue d’une utilisation avec la technologie CORBA, ajoutez les arguments -iorfile et -pluginpath à la ligne de commande. Le chemin spécifié par -pluginpath dépend du chemin de l’application InDesign Server. Au lancement, InDesign Server crée le fichier texte spécifié et écrit la référence IOR pour l’objet Application associé dans le fichier. Vous devez pour cela disposer d’un droit d’accès en écriture au chemin de fichier. Dans l’exemple de ligne de commande suivant, remplacez c:\ior.txt (Windows) ou ~/ior.txt (Mac OS) par le chemin de fichier de votre choix.

Sous Windows :InDesignServer -iorfile c:\ior.txt -pluginpath Server\Corba

Sous Mac OS :InDesignServer -iorfile ~/ior.txt -pluginpath Server/Corba

Au lancement, InDesign Server doit afficher les messages suivants :"[server] ApplicationIOR:...""[server] Writing IOR to ..."

Ils indiquent qu’InDesign Server est prêt à accepter les commandes CORBA et que vous pouvez accéder à la référence IOR de l’objet Application d’InDesign Server à partir du fichier spécifié.

Lancement à partir d’un autre programme ou d’un autre scriptVous pouvez lancer InDesign Server en tant que processus à partir d’un autre programme ou d’un autre script. Sous Windows, InDesign Server est généralement exécuté à l’aide de l’application InDesignServer.com et non d’InDesignServer.exe. La version avec l’extension .com diffère de la version avec l’extension .exe en ce sens qu’elle configure les chemins requis vers le dossier omniorb indispensable à l’implémentation CORBA d’InDesign Server. La version avec l’extension .exe ne configure pas ces chemins. Vous risquez donc de devoir ajouter le dossier omniorb à la variable d’environnement PATH pour pouvoir lancer cette application.

Exécution de plusieurs instances d’InDesign ServerSi votre site traite un volume important de requêtes InDesign Server, vous pouvez augmenter votre débit en exécutant plusieurs instances d’InDesign Server sur un même système. En règle générale, le nombre maximum d’instances d’InDesign Server exécutable sur un même ordinateur correspond au nombre de cœurs de processeur de l’ordinateur plus un. Pour plus de détails, voir la documentation intitulée « InDesign Server Scalability and Performance » (Evolutivité et performances d’Adobe InDesign Server) dans Adobe InDesign Server Solutions (Solutions Adobe InDesign Server).

Pour exécuter plusieurs instances, vous devez attribuer à chacune un nom de configuration unique. Pour ce faire, utilisez l’argument -configuration et indiquez un nom unique pour chaque instance. Lorsque vous exécutez InDesign Server à partir d’une ligne de commande, vous devez utiliser une fenêtre distincte pour chaque instance.

1. A partir d’une fenêtre d’invite de commande, lancez la première instance en exécutant la commande suivante :InDesignServer -configuration myIDS1

2. Ouvrez une nouvelle fenêtre d’invite de commande et exécutez la commande suivante pour la seconde instance :InDesignServer -configuration myIDS2

Page 15: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

CHAPITRE 2 : Installation et exécution d’InDesign Server Exécution d’InDesign Server 15

Exécution de plusieurs instances pour une utilisation avec la technologie SOAPSi plusieurs de vos applications communiquent avec InDesign Server grâce à la technologie SOAP, vous devez affecter à chaque instance d’InDesign Server un numéro de port différent. Dans les exemples ci-dessous, il n’est pas nécessaire de spécifier l’argument -configuration. En effet, InDesign Server crée un nom de configuration à partir du port spécifié (comme décrit à la section « Arguments de ligne de commande d’InDesign Server », page 11). Dans les exemples suivants, les noms de configuration « configuration_18383 » et « configuration_18555 » sont créés.

Vous pouvez exécuter la première instance à l’aide de la ligne de commande suivante :

InDesignServer -port 18383

Vous pouvez ensuite exécuter une seconde instance à l’aide de la ligne de commande suivante :

InDesignServer -port 18555

Vous pouvez choisir d’attribuer ou non à chaque instance un nom de configuration unique. Cependant, l’utilisation de SOAP requiert absolument un numéro de port unique. Par exemple :

InDesignServer -configuration myIDS3 -port 18777

Exécution de plusieurs instances pour une utilisation avec la technologie CORBA

Si vous utilisez le module complémentaire LBQ d’InDesign Server, vous devez attribuer à chaque instance d’InDesign Server un fichier texte IOR et un nom de configuration distincts. Dans les exemples suivants, des fichiers texte IOR et des noms de configuration uniques sont créés pour chaque instance.

Sous Windows, vous pouvez exécuter la première instance à l’aide de la ligne de commande suivante :

InDesignServer -configuration myIDS1 -iorfile c:\IDS\ior_1.txt-pluginpath Server/Corba

Vous pouvez ensuite exécuter une seconde instance à l’aide de la ligne de commande suivante :

InDesignServer -configuration myIDS2 -iorfile c:\IDS\ior_2.txt-pluginpath Server/Corba

Sous Mac OS, vous pouvez exécuter la première instance à l’aide de la ligne de commande suivante :

InDesignServer -configuration myIDS1 -iorfile /IDS/ior_1.txt-pluginpath Server/Corba

Vous pouvez ensuite exécuter une seconde instance à l’aide de la ligne de commande suivante :

InDesignServer -configuration myIDS2 -iorfile /IDS/ior_2.txt-pluginpath Server/Corba

Fermeture d’InDesign Server

Il existe plusieurs façons de quitter InDesign Server :

Appuyez sur Ctrl+C dans la fenêtre Invite de commandes (utilitaire Terminal sous Mac OS) où InDesign Server a été lancé.

Page 16: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

CHAPITRE 2 : Installation et exécution d’InDesign Server Exécution d’InDesign Server 16

Envoyez un script à InDesign Server lui commandant de s’arrêter à l’aide de l’événement de fermeture de l’application. Par exemple, le script JavaScript suivant commande à InDesign Server de s’arrêter sans enregistrer les documents ouverts :app.quit(SaveOptions.no);

Si l’instance d’InDesign Server a été lancée à partir du service Windows InDesign Server, vous pouvez interrompre le service et mettre ainsi fin à toutes les instances d’InDesign Server lancées par le service.

Configuration du service Windows InDesign ServerPour lancer, arrêter et configurer le service Windows InDesign Server, sélectionnez la catégorie Services de la console de gestion standard de Microsoft. Pour lancer cette console, cliquez avec le bouton droit de la souris sur Poste de travail > Gérer ou cliquez sur le menu Démarrer et sélectionnez Outils d’administration > Gestion de l’ordinateur. Dans la fenêtre de gestion de l’ordinateur, sélectionnez Services et applications, puis Services. Dans la liste de services, cliquez deux fois sur InDesignServerService ou InDesignServerService x64. La boîte de dialogue Propriétés s’affiche alors à l’écran. Elle vous permet de lancer, d’arrêter ou d’interrompre momentanément le service, de modifier l’ouverture de session ou le mode de démarrage du service.

Dans l’onglet Connexion, Microsoft recommande l’utilisation du paramètre le moins privilégié permettant au service d’accomplir ses tâches. Dans ce cas, ces tâches incluent la lecture et l’écriture dans le dossier Documents and Settings ainsi qu’à l’emplacement des documents utilisés par le serveur, l’ouverture d’un port et la lecture des paramètres de registre. L’option Compte système local est plus privilégiée que LocalService ; vous devez donc d’abord essayer de définir l’option Ce compte sur LocalService (par exemple, NT AUTHORITY\LocalService).

Dans l’onglet Récupération, il est conseillé de laisser les paramètres définis sur Ne rien faire. Le service est ainsi relancé en cas de défaillance. Si le service fonctionne correctement, les instances d’InDesign Server associées à des ports/configurations spécifiés ont déjà été lancées. En cas de défaillance du service, et si les instances d’InDesign Server continuent de fonctionner, la nouvelle instance du service n’en sera pas informée et tentera de lancer de nouvelles instances d’InDesign Server ; le lancement échouera, les ports/configurations étant déjà utilisés. Ces paramètres n’affectent pas le traitement des instances d’InDesign Server par le service en cas de défaillance ; cette tâche est configurée par l’intermédiaire des paramètres de registre MaximumFailureCount, MaximumFailureIntervalInMinutes et TrackFailures dans HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InDesignCS55ServerWinService. Des entrées pour ces trois paramètres de registre sont créées pour chaque nouvelle instance que vous ajoutez au service. Le programme d’installation n’ajoute aucune instance automatiquement. Lorsque vous ajoutez une instance au service, vous voyez ces entrées de registre.

Composant logiciel enfichable Management Console d’InDesign ServerLe second composant du service Windows est le composant logiciel enfichable Management Console d’InDesign Server Pour ajouter le composant à une console de gestion, cliquez deux fois sur le ficher InDesignServerService.msc de votre installation InDesign Server. Vous pouvez également l’ajouter manuellement en exécutant l’application Windows mmc.exe et en sélectionnant Fichier > Ajouter/Supprimer un composant logiciel enfichable. Une liste de tous les composants logiciels enfichables MMC disponibles s’affiche alors. Si ce n’est pas le cas, cliquez sur Ajouter. Sélectionnez InDesignServerService dans la liste pour l’ajouter à la console active. Fermez la boîte de dialogue Ajouter/Supprimer un composant logiciel enfichable.

Pour ajouter une instance InDesign Server à la console, cliquez avec le bouton droit de la souris sur InDesignServerService dans le volet gauche de la console et sélectionnez Nouveau > Nouvelle instance InDesign Server. La nouvelle instance hérite des paramètres d’échec de la dernière instance. Un numéro de port lui est attribué, correspondant au numéro de port le plus élevé des instances InDesignServerService existantes plus un. La ligne de commande par défaut est vide. Pour modifier la configuration d’une instance (numéro de port ou ligne de commande), cliquez deux fois sur l’instance dans le volet droit. La ligne de commande doit suivre le schéma indiqué à la section « Lancement d’InDesign Server à partir de la ligne de commande », page 13, à l’exception de l’argument -port qui est défini par l’entrée de port et qui ne doit donc pas être utilisé.

Page 17: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

CHAPITRE 2 : Installation et exécution d’InDesign Server Exécution d’InDesign Server 17

Pour que plusieurs instances d’InDesign Server puissent coexister sur un même ordinateur, chacune doit être associée à un port ou à un nom de configuration unique ; vous devez pour cela modifier les paramètres du service relatifs au port et à la ligne de commande. Bien que d’ordinaire seuls le port et les paramètres de ligne de commande aient besoin d’être modifiés, d’autres paramètres peuvent être modifiés à partir des paramètres de registre de l’instance du service. Ces paramètres sont les suivants :

MaximumFailureCount : nombre de tentatives de redémarrage d’une instance en cas d’échec.

MaximumFailureIntervalInMinutes : temps alloué à MaximumFailureCount, en minutes. InDesign Server doit échouer plus de MaximumFailureCount fois en MaximumFailureIntervalInMinutes pour que le service interrompe les tentatives de redémarrage.

TrackFailures : il s’agit d’une valeur booléenne. Si cette valeur est égale à 1 (valeur par défaut), le service tente de relancer InDesign Server ; si elle est égale à 0, le service ne fait rien.

Pour modifier les paramètres, exécutez regedit et passez en revue les clés dans HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\InDesignCS55ServerWinService. Un ensemble de clés (par exemple, 065c361a-0cbe-4917-bf15-5276b1815769) doit être associé à chaque instance configurée à l’aide d’InDesignServerService.msc ou du composant logiciel enfichable Console Management.

Configuration d’un démon launchd InDesign Server pour Mac OS

InDesign Server peut être lancé en tâche de fond (démon) sous Mac OS, sans devoir être contrôlé directement par l’utilisateur final. L’exécution d’InDesign Server en tant que démon vous permet de configurer le lancement de l’application au démarrage du système d’exploitation et de définir des options de redémarrage en cas de défaillance.

Pour configurer le démon, créez un fichier de configuration de liste de propriétés (plist) contenant les paramètres souhaités et installez-le dans le dossier LaunchAgents ou LaunchDaemons, selon votre choix.

Fichier de configuration launchd

Pour créer un fichier de configuration launchd, saisissez le contenu XML dans un éditeur de texte, comme spécifié ci-dessous. Enregistrez le fichier en utilisant le nom du démon comme nom de fichier et .plist comme extension (par exemple, com.adobe.ids.launchd.12345.plist). Vous pouvez également modifier un fichier plist dans l’utilitaire XCode Property List Editor, situé sous Développeur/Applications/Utilitaires.

Le tableau suivant présente les paramètres requis pour un démon launchd InDesign Server. Pour obtenir la liste complète des options launchd, voir la page du manuel sur launchd.

Option Description

Label Identifiant unique de votre démon (par exemple, com.adobe.ids.launchd.12345).

OnDemand Ce paramètre doit être défini sur false pour qu’InDesign Server redémarre après une fermeture ou une défaillance.

Page 18: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

CHAPITRE 2 : Installation et exécution d’InDesign Server Exécution d’InDesign Server 18

L’exemple suivant représente le contenu XML d’un fichier de configuration plist qui exécute InDesign Server avec le port SOAP 12345 :

<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"<plist version="1.0"><dict>

<key>Label</key><string>com.adobe.ids.launchd.12345</string><key>OnDemand</key><false/><key>ProgramArguments</key><array>    <string>/Applications/Adobe InDesign CS5.5 Server/InDesignServer</string>    <string>-port</string>    <string>12345</string>    <string>-LogToApplicationEventLog</string></array><key>RunAtLoad</key><true/>

</dict></plist>

Installation du fichier de configuration

Pour installer un fichier de configuration launchd, il vous suffit de le copier dans le dossier approprié de l’ordinateur où InDesign Server sera exécuté. Vous pouvez disposer de plusieurs fichiers de configuration de démon, un pour chaque instance d’InDesign Server à exécuter. Pour une installation type d’InDesign Server, exécutez Mac OS X Server sans comptes utilisateur. Dans ce cas, copiez le fichier de configuration à l’emplacement suivant :

/Library/LauchDaemons

Pour exécuter InDesign Server à l’aide d’un compte utilisateur, copiez le fichier plist dans le dossier LaunchAgents, lui même placé dans le dossier système ou utilisateur Bibliothèque (vous devrez peut-être créer le dossier utilisateur LaunchAgents) :

/Library/LaunchAgents/Users/<nom d’utilisateur>/Library/LaunchAgents

ProgramArguments Série de chaînes représentant les arguments utilisés au lancement de l’application. Le chemin complet vers l’application constitue le premier élément de la série. Les arguments utilisés au lancement d’InDesign Server à partir de la ligne de commande constituent le reste des éléments.

Pour recevoir les sorties de la console à partir d’InDesign Server, vous devez utiliser l’argument -LogToApplicationEventLog.

RunAtLoad Ce paramètre est défini sur true. InDesign Server est lancé une fois le démon chargé, au démarrage du système ou manuellement à l’aide de launchctl.

Option Description

Page 19: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

CHAPITRE 2 : Installation et exécution d’InDesign Server Exécution d’InDesign Server 19

Chargement du démon

Une fois le fichier plist copié dans le dossier de lancement, redémarrez le système pour qu’il charge le démon automatiquement. Une fois le démon chargé, InDesign Server est lancé à l’aide des paramètres spécifiés dans le fichier plist. Pour confirmer le chargement du démon, utilisez la commande suivante dans la fenêtre de l’utilitaire Terminal :

launchctl list

Si l’identifiant apparaît, cela signifie que le démon a été chargé correctement.

Pour confirmer qu’InDesign Server est en cours d’exécution, vous pouvez utiliser le Moniteur d’activité, qui affiche tous les processus actifs.

Vous pouvez charger manuellement le démon à l’aide de la commande launchctl :

launchctl load /Library/LaunchDaemons/com.adobe.ids.launchd.12345.plist

Déchargement du démon

Vous pouvez décharger le démon manuellement à l’aide de launchctl ; cette action n’entraîne cependant pas la fermeture de l’instance d’InDesign Server :

launchctl unload /Library/LaunchDaemons/com.adobe.ids.launchd.12345.plist

Pour quitter l’instance d’InDesign Server, envoyez à InDesign Server un script lui commandant de s’arrêter ou utilisez le Moniteur d’activité pour fermer le processus.

Page 20: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

20

3 Communication avec InDesign Server

Ce chapitre décrit les différentes façons de communiquer avec InDesign Server :

« Communication avec InDesign Server basée sur la technologie SOAP », page 20

« Communication avec InDesign Server par le biais d’un module externe », page 23

« Communication avec InDesign Server basée sur la technologie COM (Windows uniquement) », page 24

« Communication avec InDesign Server basée sur la technologie LBQ », page 25

Ce chapitre explique également les éléments suivants :

« Gestion des messages d’erreur », page 26

« Forum aux questions », page 27

Communication avec InDesign Server basée sur la technologie SOAP

InDesign Server prend en charge RunScript, une commande SOAP qui vous permet d’exécuter un script InDesign Server. Vous pouvez écrire votre script en JavaScript, en VBScript (Windows uniquement) ou en AppleScript (Mac OS uniquement). Lorsque vous appelez la commande RunScript, celle-ci transfère votre fichier de script dans InDesign Server, qui exécute ensuite le script de manière interne.

La commande RunScript est définie par le WSDL d’InDesign Server. Vous pouvez l’utiliser avec des outils SOAP standard pour générer automatiquement des paquets de messages. Il existe deux façons d’afficher le WSDL :

Ouvrez le fichier IDSP.wsdl dans le kit SDK d’InDesign Server.

Accédez au WSDL en utilisant le protocole HTTP après avoir lancé InDesign Server à l’aide de l’argument -port (par exemple, http://localhost:12345/service?wsdl).

Pour plus de détails sur l’écriture d’une application SOAP client fonctionnant en interaction avec InDesign Server, voir la documentation intitulée « Working with Adobe InDesign Server SOAP » (Utilisation de la technologie SOAP d’Adobe InDesign Server) dans Adobe InDesign Server Solutions (Solutions Adobe InDesign Server) ou l’un des exemples sampleclient du kit SDK.

Utilisation de sampleclient pour exécuter un script InDesign ServerInDesign Server comprend un exemple d’application SOAP client, sampleclient. Il s’agit d’une application de ligne de commande qui envoie un script à InDesign Server par l’intermédiaire de RunScript, la commande SOAP d’InDesign Server. Le script peut être écrit dans les langages JavaScript, AppleScript ou VBScript. Pour SampleClient, l’extension AppleScript est .applescript et l’extension VBScript, .vbs. Toute autre extension est associée à JavaScript.

Le kit SDK des produits InDesign contient les composants nécessaires à l’élaboration de sampleclient :

Le code source se trouve dans <IDS SDK>/samples/sampleclient-cplusplus-soap/.

Page 21: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

CHAPITRE 3 : Communication avec InDesign Server Communication avec InDesign Server basée sur la technologie SOAP 21

Arguments de ligne de commande de sampleclient

Les arguments de sampleclient permettent d’identifier le système sous lequel InDesign Server est en cours d’exécution, le port configuré pour accepter une communication SOAP, le nom du fichier de script que vous voulez exécuter, ainsi que des arguments destinés au script. La syntaxe de sampleclient respecte le schéma suivant ; chaque argument est décrit dans le tableau suivant :

sampleclient [-host ID_de_l'hôte:port] [-server] chemin_du_script [arguments][-repeat nombre_de_répétitions] [-h]

Argument Description

arguments Facultatif. Cet argument désigne un ou plusieurs couples nom-valeur utilisés lors du transfert des arguments au script. Ces couples se présentent sous la forme nom_argument=valeur, nom_argument correspondant au nom de l’argument lu par le script et valeur étant sa valeur. Il convient de séparer différents arguments par des espaces. Par exemple :

sampleclient -host localhost:18383 /myScript.jsx myArg="hello world"

Les scripts peuvent lire la valeur de l’argument en utilisant la méthode GET de l’objet scriptArgs figurant dans l’objet Application. Par exemple, la commande suivante récupère l’argument appelé myArg :

myArg = app.scriptArgs.get("myArg");

-h Facultatif. Cet argument affiche une courte description de ces arguments.

-host ID_de_l'hôte:port

Facultatif. Cet argument identifie l’hôte sur lequel InDesign Server est en cours d’exécution. ID_de_l'hôte peut être l’un des identifiants suivants : l’adresse IP du système, le nom d’hôte du système (par exemple, notrehôte.corp.entreprise.com) ou le mot clé « localhost » si InDesign Server est en cours d’exécution sur le même ordinateur que l’application sampleclient. Les adresses IPv4 et IPv6 sont toutes deux acceptées. port désigne le numéro de port de l’hôte configuré pour accepter des messages SOAP. Par exemple :

-host 10.0.0.1:18383-host [fe80::405:2345:fe56:8901]:18383

Sur un système local :

-host localhost:18300

-repeat Facultatif. Cet argument indique le nombre d’exécutions du script.

Page 22: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

CHAPITRE 3 : Communication avec InDesign Server Communication avec InDesign Server basée sur la technologie SOAP 22

chemin_du_script

Obligatoire. Si l’argument -server n’est pas utilisé, chemin_du_script est le chemin conduisant au fichier de script du système de fichiers local. Il peut s’agir d’un chemin absolu ou relatif, selon le répertoire de travail actif. Si l’argument -server est utilisé, chemin_du_script peut prendre l’une des deux formes. Tout d’abord, chemin_du_script peut être un chemin absolu vers le script basé sur le système de fichiers de l’instance d’InDesign Server ciblée.     

Sous Windows :

C:\<mon_dossier_de_scripts>\myScript.jsx

Sous Mac OS :

~/<mon_dossier_de_scripts>/myScript.jsx

Ensuite, chemin_du_script peut reposer sur une constante de chemin prédéfinie. InDesign Server définit deux constantes de chemin, Scripts:Application et Script:User. Scripts:Application représente le dossier de scripts de l’application. Il se trouve à l’emplacement suivant :     

Sous Windows :

C:\Program Files\Adobe\Adobe InDesign CS6 Server\Scripts\

Sous Mac OS :

/Applications/Adobe InDesign CS6 Server/Scripts/

Scripts:User représente le dossier de scripts de l’utilisateur. Il se trouve à l’emplacement suivant :     

Sous Windows :

C:\Documents and Settings\<nom d’utilisateur>\Application Data\Adobe\InDesign Server\<version>\<langue>\configuration_12345\Scripts\

Sous Windows Vista et Windows Server 2008 :

C:\Users\<nom d’utilisateur>\AppData\Roaming\Adobe\<version>\<langue>\configuration_12345\Scripts\

Sous Mac OS :

/Users/<nom d’utilisateur>/Library/Preferences/Adobe InDesign Server/<version>/<langue>/configuration_12345/Scripts

Placez votre fichier dans l’un des dossiers de scripts de l’ordinateur sur lequel InDesign Server est exécuté, puis transférez le chemin correspondant à sampleclient. Par exemple (notez que vous devez utiliser le séparateur deux-points (:) sous Windows et Mac OS) :

Scripts:Application:myScript.jsxScripts:User:myScript.jsx

-server Facultatif. Si ce mot clé est spécifié, chemin_du_script représente un fichier situé sur l’ordinateur sur lequel est exécuté InDesign Server. Si tel n’est pas le cas, chemin_du_script représente un fichier situé sur l’ordinateur local, sur lequel est exécutée l’application SampleClient.

Argument Description

Page 23: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

CHAPITRE 3 : Communication avec InDesign Server Communication avec InDesign Server par le biais d’un module externe 23

Lancement de SampleClient

1. Pour lancer SampleClient, un fichier de script exécutable par InDesign Server est requis. Vous pouvez utiliser l’un des exemples de scripts du kit SDK d’InDesign Server ou écrire votre propre script à l’aide de l’API fournie à cet effet avec InDesign. Si vous choisissez d’écrire votre script, gardez à l’esprit qu’InDesign Server n’est doté d’aucune interface utilisateur. Assurez-vous bien que votre script ne repose pas sur des composants d’interface utilisateur.

2. Lancez InDesign Server pour une utilisation avec la technologie SOAP. Pour plus de détails, voir la section « Lancement d’InDesign Server pour une utilisation avec la technologie SOAP », page 13. Notez l’hôte ainsi que le port sur lesquels InDesign Server est lancé.

3. Ouvrez une nouvelle fenêtre de ligne de commande (sous Windows, utilisez l’Invite de commandes ; sous Mac OS, utilisez l’utilitaire Terminal).

4. Spécifiez les répertoires contenant SampleClient :

Sous Windows 64 bits :cd "C:\Program Files\Adobe\Adobe InDesign CS6 Server x64"

Sous Mac OS :cd '/Applications/Adobe/Adobe InDesign CS6 Server'

5. Exécutez la commande SampleClient contenant l’hôte, le port et le chemin d’accès au script appropriés. Reportez-vous aux exemples suivants :

Si InDesign Server est exécuté localement :sampleclient -host localhost:18383 VotreCheminDeScript

Si InDesign Server est exécuté sur un autre système :sampleclient -host 192.168.1.100:18383 VotreCheminDeScript

6. SampleClient affiche les messages et la valeur renvoyée pour le script dans la fenêtre de ligne de commande, que vous pouvez utiliser à des fins de suivi.

Communication avec InDesign Server par le biais d’un module externe

Le développement d’un module externe pour InDesign requiert certaines compétences fondamentales en matière de conception et de programmation en langage C++ orientée objet. Ces compétences sont également nécessaires au développement d’un module externe pour InDesign Server. InDesign Server ne disposant d’aucune interface utilisateur, contrairement à la version pour ordinateur de bureau, bon nombre de points spécifiques sont à prendre en compte lors de la création d’un nouveau module externe ou lors de l’adaptation d’un module externe existant pour une utilisation sous InDesign Server.

La documentation intitulée « InDesign Server Plug-in Techniques » (Techniques de création de modules externes pour InDesign Server) dans Getting Started with Adobe InDesign Plug-In Development (Prise en main du développement de modules externes Adobe InDesign) explique comment écrire des modules externes pour une exécution en toute sécurité dans l’environnement d’InDesign Server. Ce document explique également comment créer des modules externes de 64 bits.

Pour charger et exécuter votre module externe sous InDesign Server 64 bits, vous devez le convertir à la version 64 bits.

Pour permettre l’interaction entre InDesign Server et votre module externe par le biais de scripts, ce dernier doit prendre en charge les scripts. Pour plus de détails, voir le chapitre « Scriptable Plug-in Fundamentals » (Principes fondamentaux du module externe pour scripts) de la documentation Adobe InDesign Plug-In Programming Guide (Guide de programmation de modules externes Adobe InDesign) ; vous y trouverez la méthode à suivre pour exposer l’API de votre module externe à l’aide du modèle DOM de création de scripts.

Page 24: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

CHAPITRE 3 : Communication avec InDesign Server Communication avec InDesign Server basée sur la technologie COM (Windows uniquement) 24

Communication avec InDesign Server basée sur la technologie COM (Windows uniquement)

InDesign Server publie une bibliothèque de types à utiliser pour créer des composants COM qui interagissent avec InDesign Server. La bibliothèque de types contient des définitions des classes, méthodes et constantes du modèle DOM de création de scripts d’InDesign Server.

Le fonctionnement d’InDesign Server repose sur l’utilisation de modules externes ; son modèle DOM de création de scripts change donc selon les modules externes disponibles au démarrage. La bibliothèque de types d’InDesign Server est créée ou mise à jour au démarrage, et stockée sur le disque dur local. Le fichier .tlb alors généré est enregistré dans le dossier Application Data :

C:\Documents and Settings\All Users\Application Data\Adobe\InDesign Server\<version>\<langue>\configuration_12345\Scripting Support\<version>\Resources for Visual Basic.tlb

(ou sous Windows Vista et Windows Server 2008) :

C:\ProgramData\Adobe\InDesign Server\<version>\<langue>\configuration_12345\Scripting Support\<version>\Resources for Visual Basic.tlb

Dans le chemin ci-dessus, « configuration_12345 » est le nom de configuration de l’instance d’InDesign Server à l’origine du fichier table.

La bibliothèque de types COM d’InDesign Server est faiblement typée, à l’instar du modèle de création de scripts d’InDesign Server sur lequel elle repose. Lorsque vous choisissez un langage pour développer votre composant COM, n’oubliez pas que moins le langage est typé, plus il est compatible avec la bibliothèque de types COM d’InDesign Server.

Visual BasicVisual Basic 6 est la solution optimale pour créer un composant COM InDesign Server. La dernière version de Visual Basic inclut des constructions fortement typées, qui la rendent moins compatible avec le modèle DOM faiblement typé d’InDesign.

Si vous utilisez Visual Basic .NET, vous devez désactiver les options de compilation de projet « Option explicit » et « Option strict ». Ces paramètres vous permettent de réduire les règles de typage fort de VB.NET. Vous devez également éviter de déclarer des variables à l’aide de Dim, qui force le type de la variable. La complétion de code ne fonctionnant que si une variable est déclarée à l’aide de Dim, vous pouvez le plus souvent déclarer votre variable en haut de la méthode à l’aide de Dim, puis remplacer les instructions Dim par des instructions REM avant l’exécution de votre code.

Pour intégrer la bibliothèque de types COM d’InDesign Server à votre projet, vous devez avoir accès à la DLL interop d’InDesign Server. Sous .NET, vous devez créer une référence au fichier .tlb. Cliquez avec le bouton droit de la souris sur votre projet et sélectionnez Ajouter une référence. Choisissez ensuite l’onglet COM et localisez la bibliothèque de types d’Adobe InDesign CS6 Server. Si elle n’apparaît pas dans la boîte de dialogue, vous devez d’abord lancer InDesign Server, qui crée alors la bibliothèque de types.

Pour créer une référence à une instance d’InDesign Server dans votre code, utilisez la méthode CreateObject. Notez que cette méthode ne vous permet pas de déterminer l’instance d’InDesign Server ciblée par le script.

Set myApp = CreateObject("InDesignServer.Application")

Pour créer une référence à une instance spécifique d’InDesign Server dans votre code, utilisez la méthode GetObject, en indiquant le nom de configuration de l’instance d’InDesign Server que vous souhaitez cibler :

Set myApp = GetObject("configuration_12345")

Vous trouverez des détails et des exemples supplémentaires dans le dossier <IDS SDK>/samples/ ainsi que dans la documentation intitulée « Adobe InDesign Scripting Guide » (Guide des scripts d’Adobe InDesign).

Page 25: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

CHAPITRE 3 : Communication avec InDesign Server Communication avec InDesign Server basée sur la technologie LBQ 25

C#L’utilisation du langage C# pour créer des composants COM InDesign Server est déconseillée. C# est un langage fortement typé et, à ce titre, il entraîne de nombreux conflits avec le modèle DOM de création de scripts d’InDesign Server faiblement typé. Il est néanmoins possible de créer des composants COM InDesign Server simples au moyen d’une conversion de type et d’un paramétrage minutieux.

Vous pouvez notamment créer un code C# qui invoque la méthode doScript d’InDesign Server, en indiquant un fichier de script ou le texte d’un script. Voir l’exemple sampleclient-csharp-com du kit SDK d’InDesign Server.

En essayant de créer un composant plus impliqué à l’aide de C#, vous risquez d’être confronté aux difficultés suivantes :

C# est un langage fortement typé, qui doit toujours connaître le type d’un objet. Vous devez donc convertir le type de presque tous les objets récupérés à partir du modèle DOM de création de scripts. Cela ne pose pas de problème si vous êtes sûr du type de votre objet ; cependant, de nombreuses méthodes du modèle DOM de création de scripts acceptent ou renvoient des types de variable, et il n’est pas toujours possible de savoir quel type sera renvoyé.

Vous devez spécifier tous les paramètres des méthodes, même s’ils sont facultatifs dans le modèle DOM de création de scripts. Le paramètre null n’est pas accepté ; les paramètres doivent être des objets entièrement formés.

Les paramètres facultatifs sont parfois impossibles à traiter. Par exemple, il se peut qu’une méthode du modèle DOM de création de scripts ne vous permette pas de transférer le premier paramètre d’une méthode, auquel cas InDesign Server tient compte du deuxième paramètre, ce qui est impossible sous C#.

Pour créer une référence à une instance d’InDesign Server à l’aide du langage C#, utilisez la méthode InteropServices Marshal.BindToMoniker :

myApp = (InDesignServer.Application)(System.Runtime.InteropServices.Marshal.BindToMoniker("configuration_12345"));

Vous trouverez des détails et des exemples supplémentaires dans le dossier Samples du kit SDK d’InDesign Server.

Communication avec InDesign Server basée sur la technologie LBQInDesign Server est doté d’un composant appelé LBQ qui permet de mettre les travaux en file d’attente et d’équilibrer les charges dans InDesign Server. Ce composant est totalement optionnel et secondaire pour l’exécution d’InDesign Server. Ce composant regroupe dans une solution unique des fonctions d’équilibrage des charges et de mise en attente des travaux.

L’équilibrage des charges peut s’opérer sur plusieurs instances d’InDesign Server exécutées sur un ou plusieurs ordinateurs. Pour communiquer avec les instances d’InDesign Server, LBQ utilise CORBA. Il est donc impératif que chaque instance soit démarrée comme indiqué à la section « Lancement d’InDesign Server pour une utilisation avec la technologie CORBA », page 13.

Outre l’équilibrage des charges et la mise en file d’attente, LBQ prend en charge les fonctions suivantes :

Traitement des priorités dans les files d’attente

Affichage de l’état

Journalisation

Création de plusieurs files d’attente

Modification des travaux placés dans une file d’attente

Page 26: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

CHAPITRE 3 : Communication avec InDesign Server Gestion des messages d’erreur 26

Les clients interagissent avec LBQ à l’aide de l’API RESTful. Les appels de l’API RESTful sont passés via une requête URL. Lors de l’exécution d’une requête, une réponse XML est renvoyée.

LBQ prend en charge les opérations suivantes :

EnqueueJob

ModifyJob

CancelJob

StartQueue

StopQueue

ReinitializeQueue

GetVersion

JobStatus

QueueStatus

IDSStatus

Ping

Kill

Pour obtenir de plus amples informations sur l’utilisation de LBQ, voir la documentation intitulée « Working With Load Balancing and Queueing » (Utilisation des fonctions d’équilibrage des charges et de mise en file d’attente) dans Adobe InDesign Server Solutions (Solutions Adobe InDesign Server).

Gestion des messages d’erreurInDesign Server consigne les messages et erreurs dans stderr et stdout. Ces messages et erreurs peuvent être capturés ou redirigés.

Accès aux erreurs et messagesPour accéder aux erreurs et aux messages à partir d’un module externe, utilisez les classes MessageLog et/ou ErrorList des API C++. Pour plus de détails, voir la documentation intitulée « InDesign Server Plug-in Techniques » (Techniques de création de modules externes pour InDesign Server) dans Getting Started with Adobe InDesign Plug-In Development (Prise en main du développement de modules externes Adobe InDesign).

Redirection des erreurs et messagesLors de l’exécution d’InDesign Server à partir d’une application, vous pouvez configurer stdout et stderr pour qu’ils redirigent les messages depuis InDesign Server vers votre application.

Sous Windows, il est possible de rediriger les messages InDesign Server vers le journal d’événements d’applications de Windows. Pour ce faire, il suffit de lancer InDesign Server avec l’argument -LogToApplicationEventLog. Lors de l’exécution d’InDesign Server à partir du service Windows InDesign Server, les messages consignés sont automatiquement redirigés vers le journal d’événements. Pour le visualiser, vous pouvez utiliser l’observateur d’événements standard, accessible depuis le Panneau de configuration de l’outil Gestion de l’ordinateur.

Page 27: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

CHAPITRE 3 : Communication avec InDesign Server Forum aux questions 27

Sous Mac OS, vous pouvez rediriger les messages vers la console système en lançant InDesign Server à l’aide de l’argument -LogToApplicationEventLog. Le journal peut être consulté dans l’utilitaire Console.

Forum aux questionsPuis-je spécifier un port SOAP et un fichier IOR lors du lancement du serveur ?

Oui. InDesign Server peut gérer les commandes SOAP et CORBA simultanément ; vous risquez cependant de constater une baisse des performances.

Existe-t-il un index de toutes les classes et méthodes figurant dans le modèle DOM de création de scripts d’InDesign Server ?

Oui. Une référence de modèles d’objet pour InDesign Server est accessible à partir du menu d’aide d’Adobe ExtendScript Toolkit.

Puis-je interagir avec InDesign Server si je n’utilise pas SOAP ?Oui. Il n’est pas indispensable d’utiliser SOAP. Vous pouvez utiliser des scripts JavaScript, des scripts AppleScript, des scripts VBScript ou la technologie COM pour communiquer avec InDesign Server.

Comment renvoyer une valeur de mon script à mon application SOAP client ?

Dans les langages JavaScript et AppleScript, la valeur renvoyée est la dernière rencontrée dans le script. Dans le langage VBScript, pour définir cette valeur pour le script, vous devez définir une variable appelée returnValue. Chacun des exemples suivants renvoie le nom du document au premier index.

JavaScript :

var documentName = app.documents.item(0).name;documentName;

AppleScript :

tell application "InDesignServer"set documentName to name of document 1

end telldocumentName

VBScript :

Set myApp = CreateObject("InDesignServer.Application")documentName = myApp.Documents.Item(1).NamereturnValue = documentName

Page 28: INTRODUCTION A ADOBE INDESIGN CS6 SERVER DEVELOPMENT · 2020-05-19 · Introduction à Adobe® InDesign® CS6 Server Development S’il accompagne un logiciel dont l’utilisation

28

4 Etapes suivantes

Maintenant que vous savez comment exécuter InDesign Server et utiliser l’application SOAP pour exécuter un exemple fourni dans le kit SDK, nous allons aborder la question de l’extension des fonctionnalités d’InDesign Server. Pour étendre les fonctionnalités d’InDesign Server, plusieurs possibilités s’offrent à vous : écrire des scripts, programmer des modules externes ou des applications qui permettent d’intégrer InDesign à un flux de travail éditorial.

Ce chapitre propose des ressources pour vous aider à écrire ces scripts et programmer ces modules externes ou applications.

Scripts et modules externes d’InDesign ServerPour plus d’informations sur l’écriture de scripts et de modules externes InDesign et InDesign Server, installez le kit SDK des produits InDesign, puis reportez-vous à la documentation suivante :

Adobe InDesign Plug-In Programming Guide (Guide de programmation des modules externes Adobe InDesign) : vous trouverez dans ce document des informations sur la création de modules externes C++ pour InDesign Server.

Adobe InDesign Scripting Guide (Guide des scripts d’Adobe InDesign) : vous trouverez dans ce document des informations de base sur la création de scripts pour InDesign, ainsi que de nombreux exemples. Il existe trois versions de ce document : une version consacrée à AppleScript, une autre consacrée à JavaScript et une troisième consacrée à VBScript.

Getting Started with Adobe InDesign Plug-In Development (Prise en main du développement de modules externes Adobe InDesign), notamment le chapitre « InDesign Server Plug-in Techniques » (Techniques de création de modules externes pour InDesign Server).

Adobe InDesign Server Solutions (Solutions Adobe InDesign Server), notamment les chapitres :

« Working with InDesign Server SOAP » (Utilisation de la technologie SOAP d’InDesign Server)

« InDesign Server Scalability and Performance » (Evolutivité et performances d’Adobe InDesign Server) : vous trouverez dans ce document des références et informations sur la configuration de votre système ainsi que sur l’optimisation des performances et de l’évolutivité d’InDesign Server.

Adobe Scripting, McWilliams Chandler. New York: Wiley Publishing Inc., 2003. ISBN 0-7645-2455-0.

JavaScriptPour plus d’informations sur le langage JavaScript et une description de son utilisation, voir les documents suivants :

JavaScript: The Definitive Guide, 4th Edition, Flanagan, David. O’Reilly, 2001. ISBN 0-596-00048-0.

JavaScript Bible. 5th Edition, Danny Goodman & Michael Morrison. John Wiley and Sons, 1998. ISBN 0-7645-57432.

JavaScript Programmer’s Reference, Cliff Wooton. Wrox, 2001. ISBN 1-861004-59-1.

SOAPPour plus de détails sur le protocole de communication SOAP, voir l’initiation SOAP de W3C, disponible à l’adresse suivante : http://www.w3.org/TR/soap12-part0/ (en anglais).