CHOUETTE Maintenance, accompagnement et recette de logiciels pour les échanges de données multimodales Guide d'installation et d'utilisation de l'application «client de test SIRI-Validator» Auteurs : Relecteurs Michel ETIENNE (CityWay) Patrick GENDRE (CEREMA), Jean SENG (AFIMB) Résumé : IRYS est un logiciel libre développé à l'initiative du ministère français chargé des transports (et du développement durable) dans le but de faciliter l'échange de données d'offre Temps Réel de transport collectif (TC), en s'appuyant pour cela sur la norme SIRI, qui spécifie un profil d'échange XML SOAP. Les utilisateurs visés sont les collectivités locales Autorités Organisatrices de Transport (AOT), les exploitants des réseaux TC, ainsi que leurs prestataires (bureaux d'étude ou société de services) et d'autres acteurs tels que services de l'état, éditeurs de logiciels, opérateurs de services d'information, chercheurs... Le présent document décrit l'utilisation de l'application de test SIRI-validator Agence française pour l'information multimodale et la billettique 1/10
Informations sur ce document : Organisme commanditaire : AFIMB Titre : de l'application IRYS-CLIENT (V3.0) Sous-titre : Organismes auteurs CITYWAY CEREMA DTer Med. Rédacteurs Michel ETIENNE, CITYWAY Participants Patrick GENDRE, CEREMA Delphine DALENS, AFIMB Maitre d'ouvrage AFIMB Mots clés : Diffusion : profil d'échange SIRI IDF, information multimodale, application IRYS, Nombre de pages : 10 pages Date Décembre 2015 publique (licence Creative Commons CC-by-nd ) Confidentialité : Bibliographie : Non Oui Historique des versions / révisions : Version Date d application Description des changements Auteur 1.0 Décembre 2015 Première édition M. ETIENNE 2/10
Table des matières 1Introduction...4 1.1.A qui s adresse ce manuel?...4 1.2.Ce que vous trouverez dans ce manuel...4 1.3.Le client de test SIRI...4 2Installation...5 2.1.Prérequis...5 2.2.Installation...5 2.3.Paramétrage...5 3Utilisation...7 3.1.Modes de fonctionnement...7 3.2.Mode commande unitaire...7 3.3.Mode console...8 3.4.Mode graphique...8 4Syntaxe des commandes...9 4.1.Aide...9 4.2.Commandes SIRI...9 5Rapport de validation...10 3/10
1 INTRODUCTION 1.1.A qui s adresse ce manuel? Ce manuel s adresse aux équipes de validation d'un serveur SIRI conforme au profil 2.0:FR-IDF-2.4 Les utilisateurs visés sont les collectivités locales Autorités Organisatrices de Transport (AOT), les exploitants des réseaux TC et leurs prestataires (bureaux d étude ou société de services), les industriels fournisseurs de systèmes et de logiciels. D autres utilisateurs potentiels sont également les services de l état, opérateurs de services d information, chercheurs 1.2.Ce que vous trouverez dans ce manuel Vous trouverez dans ce document toutes les informations nécessaires à la mise en œuvre et l'utilisation du client de test SIRI. Le manuel couvre la version 1.0.0 1.3.Le client de test SIRI Le client de test SIRI est un programme destiné à tester les services d'un serveur SIRI. Ce client contrôle la validité des échanges SIRI entre le serveur SIRI à tester et cette application «client SIRI». La validation s'appuie sur les spécifications XML du W3C et des XSD SIRI V2.0 et SIRI-IDF V2.4.
2 INSTALLATION 2.1.Prérequis L application fonctionne dans une machine virtuelle JAVA ; celle-ci est disponible dans les environnements Linux, MacOsX et Windows Les machines virtuelles possibles sont : Oracle JRE 7+ OpenJdk 7+ 2.2.Installation L'application est disponible depuis sur le site www.chouette.mobi/irys dans le repository maven http://maven.chouette.mobi/irys/siri.client.france/1.0.0/siri.client.france-1.0.0.zip L'archive est autonome et peut être décompressée dans un répertoire quelconque de l'ordinateur servant de client de tests. 2.3.Paramétrage Avant de lancer l'application, il est nécessaire de la paramétrer en modifiant le fichier de configuration [répertoireclient]/irys-client.properties : paramètres client SIRI nom valeur à l'installation signification siri.requestorref Client_test identifiant du client pour le serveur interrogé siri.authuser siri.authpass proxy.name proxy.port proxy.domain proxy.user proxy.pass non initialisé non initialisés paramètres d authentification http si nécessaire (en commentaire sinon) paramètres pour passer un proxy sortant siri.server http://localhost:10180/siri adresse http du serveur SIRI siri.version 2.0:FR-IDF-2.4 Version du profil siri.requestcompression False Compression des requêtes 5/10
siri.responsecompression True Demander la compression des réponses siri.timeout 90000 TimeOut SOAP siri.verbose True Mode verbeux siri.notifyaddress http://localhost:9091/siriclient Adresse publique du client en mode abonné siri.notifylog true Log des notifications 6/10
3 UTILISATION 3.1.Modes de fonctionnement Le client fonctionne selon 3 modes différents : Commande immédiate Console Graphique Chacun des trois modes est activé dans une console windows ou linux par une même commande : client.sh pour linux client.bat pour windows Dans la suite du document, seul client.sh sera utilisé dans les exemples. Commande immédiate Dans ce mode, l'utilisateur peut effectuer une requête SIRI unitaire et en visualiser la réponse ; ce mode est disponible pour les commandes de type Requête/Réponse ; il est impossible de réaliser un abonnement. Console Dans ce mode, l'utilisateur active une console dans laquelle il peut effectuer une série de requêtes SIRI ainsi que des demandes d'abonnement et d'annulation d'abonnement. Graphique Dans ce mode, l'utilisateur peut réaliser des abonnements de type StopMonitoring sur les arrêts disponibles dans le serveur. Cela implique que le serveur implémente le service StopDiscovery, afin de permettre à l'ihm du client de s'initialiser et de proposer les paramètres des abonnements 3.2.Mode commande unitaire En mode commande unitaire, les paramètres de la commande sont passés en argument du client, un argument '-help' permet de disposer des commandes et arguments disponibles. Exemples : /client.sh -help pour avoir la syntaxe générale d'appel (liste des services disponibles)./client.sh GMClient -help pour avoir la syntaxe d'appel détaillée pour un service (GeneralMessage dans le cas présent)./client.sh SMClient -help pour avoir la syntaxe d'appel détaillée pour un service (StopMonitoring- Message dans le cas présent) Dans tous les cas, la requête et la réponse sont sauvegardées sous les noms du service sollicité complété de l'horodate d'exécution. 7/10
La réponse est accompagnée d'un fichier.report contenant le résultat de validation XML-XSD de celle-ci. 3.3.Mode console Le mode console est activé par l'argument console :./client.sh console une invite de commande apparaît alors, et permet comme en mode commande unitaire d'effectuer des commandes SIRI ; en plus des requêtes SIRI, les commandes suivantes sont disponibles : help : permet d'avoir l'aide en interactif execute [file] :exécute la suite des commandes inscrites dans un fichier exit ou quit : arrête le client (note : ces commandes n'annulent pas les abonnements auprès du serveur) Un historique des commandes est disponible par les flèches et ; cet historique est conservé entre 2 exécutions de l'application. Comme en mode commande unitaire, la requête et la réponse sont sauvegardées sous les noms du service sollicité complété de l'horodate d'exécution. La réponse est accompagnée d'un fichier.report contenant le résultat de validation XML-XSD de celle-ci. Les notifications suite à un abonnement sont aussi sauvegardées et validées selon les mêmes règles 3.4.Mode graphique Le mode graphique est activé par l'argument graphic:./client.sh graphic Il affiche alors une fenêtre de sélection pour activer un ou plusieurs abonnement StopMonitoring. Le choix d'un arrêt limitera l'abonnement à l'arrêt sélectionné, éventuellement filtré sur une ligne ; Le choix d'une ligne sans choix d'arrêt créera un abonnement pour chaque arrêt de la ligne. Chaque abonnement crée une fenêtre de suivi de l'abonnement simulant un afficheur ; les abonnements sont annulés à la fermeture d'une fenêtre de suivi ou à la fermeture de la fenêtre de sélection, cette dernière action terminant aussi l'application. 8/10
4 SYNTAXE DES COMMANDES 4.1.Aide Syntaxe en mode commande : help : fournit la liste des services ainsi que les commandes générales [servicename] -help : fournit la liste des arguments du service ; voir 4.2 pour les noms des services 4.2.Commandes SIRI Service Commande Mode abonnement CheckStatus CSClient non Discovery DSClient non StopMonitoring SMClient oui VehicleMonitoring VMClient oui EstimatedTimetable ETClient oui GeneralMessage GMClient oui PruductionTimetable PTClient oui Abonnement Subscribe ou Unsubscribe non 9/10
5 RAPPORT DE VALIDATION Chaque réponse ou notification reçue du serveur SIRI est validée, le rapport contient la liste des erreurs et alertes XML ou XSD constaté. Les erreurs sont codifiées selon le W3C : (http://www.w3.org/tr/xmlschema11-1/#outcomes) Les messages d'erreurs se présente sous la forme suivante : wsdl or xsd errors : cvc-complex-type.2.4.a: Invalid content was found starting with element 'LinesDiscoveryAnswerInfo'. One of '{Answer}' is expected. no wsdl or xsd warnings Dans le cas d'un fichier valide, le rapport sera le suivant : no wsdl or xsd errors no wsdl or xsd warnings 10/10