Note sur l’ajout de catalogues distants avec MDweb (PostgreSQL, Z39.50, CSW 2.0)
Sommaire
Gestion des catalogues distants Les fichiers de configurations Fichier de configuration des catalogues z3950 : config.inc.z3950.php Fichier de configuration des catalogues CSW 2.0 : config.inc.csw.php Configuration de MDweb pour interroger un catalogue via le protocole Z39.50 Pré requis pour le client d’interrogation Z39.50 MDweb
Introduction
A partir de la version 1.6, MDweb via son client de recherche (cartographique ou multi-critères) peut interroger simultanément et en temps réel des catalogues distants hébergés par MDweb, Geonetwork 2.1 et Deegree si ces derniers ont un protocole ou un service web standard qui permet de poser des interrogations soient en Z39.50 conforme OGC ou en utilisant le web service de catalogage CSW 2.0.1. De manière plus détaillée, le tableau suivant donne les interrogations distantes possibles selon les versions des outils testés et ouverts pour répondre à ces interrogations. Il est possible aussi d’interroger de manière distante des catalogues MDweb 1.5 via le port d’écoute PostgreSQL (5432).
Le client d’interrogation MDweb 1.6 supporte des interrogations sur un catalogue MDweb local ou distant et sur des catalogues distants implémentant les spécifications de l’OGC : Specifications for catalogue Service for the Web 2.0.1. Ces interrogations distantes des différents outils sont testées sur le site http://demo16.mdweb-project.org/ . Les tests sont réalisés, en interrogations distantes, sur Geonetwork 2.1, Deegree 2.1, Géosource 1.1, MDweb 1.6.
Gestion des catalogues distantsPour pouvoir gérer un catalogue distant, vous devez vous connectez en tant qu’administrateur au module d’administration Catalogues > Catalogues distants
Vous accédez à la page Gestion de catalogues distants - (PostgreSQL, Z39.50 OGC, CSW 2.0)
Déclaration d’un catalogue distant Pour ajouter un catalogue, vous devez compléter avec le tableau en donnant les informations suivantes :
- Type de service : correspond au nom du service d'accès au catalogue distant. actuellement, deux valeurs possibles : SGBD, Z3950 ou CSW 2.0 - Nom du Catalogue : Libellé du catalogue distant qui apparaît dans les pages de recherche de MDweb. - Nom du serveur : IP ou adresse du serveur sur lequel le service de catalogage est invoqué - Port : Port sur lequel les requêtes au serveur distant seront réalisées (ex : 5432 pour SGBD, 2100 pour z3950 ; 80 ou 8080, 8045, etc pour CSW 2.0) - Adresse du service de catalogage distant (non utilisé pour une connexion à un catalogue Z3950) : chemin du service de catalogage distant qui complète l'adresse du serveur (ex : /geonetwork/srv/en/csw pour un service CSW de Geonetwork) - Profil de métadonnées servis : Profil de métadonnées servis par le service de catalogage distant invoqué. Les valeurs peuvent être : iso19115, iso191139, iso19139fra, dublincore, fgdc, isoDeegree - Compte utilisateur : : compte utilisateur pour accéder au service (activé sur la connexion sgbd). Il s’agit du compte utilisateur postgres pour accéder à la base MDweb - Mot de passe : mot de passe de l’utilisateur postgres
L’ajout du catalogue est effectif lorsque vous aurez soumis les informations saisis en cliquant sur le bouton Ajouter
Attention, Les modifications, ajout ou suppression doivent être faites en ayant tous les éléments nécessaires à la configuration. Cette action modifie les fichiers config.inc.z3950.php et config.inc.csw.php.
Modification des paramètres de connexion d’un catalogue distant
Si vous souhaitez modifier les paramètres de connexion à un catalogue distant déjà déclaré, modifiez ses valeurs dans le tableau.
Pour
que la modification soit effective vous devez la soumettre en cliquant sur
l’icône
Suppression d’une déclaration d’un catalogue distant
Pour
supprimer la déclaration d’un catalogue distant, utilisez l’icône
Les fichiers de configurations
L’ajout, la modification ou la suppression de catalogues distants via le module d’administration affecte trois fichiers de configuration de MDweb dans lequels sont stockés les informations permettant la connexion aux catalogues définis avec les interfaces utilisateurs. Ces trois fichiers sont : - config/config.inc.sgbd.php - config/config.inc.z3950.php - config/config.inc.csw.php Nous donnons dessous l’explication des variables écrites dans ces fichiers et les informations permettant de les modifier si besoin.
Fichier de configuration des catalogues MDweb (1.5 et 1.6) : config.inc.sgbd.php Le fichier config/config.inc.sgbd.php contient le paramétrage pour interroger des catalogues distants MDweb via adodb (couche d’abstraction) via le port 5432 (par défaut) TCP/IP de postgreSQL. La déclaration d’un catalogue se fait en instanciant un objet Serveur comme dans l’exemple suivant :
$s1=new serveur("193.48.189.28","5432","cat_test","mdweb_test","iso19139fra","sgbd","postgres","postgres"); Où
· paramètre 1 : "193.48.189.28" : est l’IP ou le nom de la machine qui héberge le catalogue distant · paramètre 2 : "5432" : est le port d’écoute du SGBD postgresql · paramètre 3 : "cat_test" : est le libellé que l’on veut donner au catalogue auquel on se connecte · paramètre 4 : "mdweb_test" : le nom de la base de donnée MDweb distante · paramètre 5 : "iso19139fra" : profil de métadonnées utilisé. Six valeurs acceptées : - "fgdc" : métadonnées au format FGDC - " dublincore" : métadonnées au format Dublin Core - "iso19139" : métadonnées au format ISO 19139 - "iso19115" : métadonnées au format ISO 19115 - " iso19139fra" : métadonnées au format ISO 19139, profil français - " isoDeegree" : métadonnées au format ISO 19139 Deegree
· paramètre 6 : "sgbd" est le protocole de connexion au catalogue distant. trois valeurs sont possibles : - "sgbd" pour une connexion via le postgresql sur un catalogue distant 1.5 ou 1.6 - "z3950" pour une connexion via le protocole Z3950 spécifié selon le document de l’OGC Catalog service for the Web version 2.0.1 - "csw" pour une connexion via le protocole Z3950 spécifié selon le document de l’OGC Catalog service for the Web version 2.0.1 · paramètre 7 : "postgres" : compte utilisateur postgres pour se connecter à la base de données MDweb distante · paramètre 8 : " postgres": mot de passe de l’utilisateur postgres
Puis à l’ajoutant à la liste de serveur $config_s
$config_s->add_serveur($s1);
Attention :
Dans le cas de l’activation du module de consultation à distante vers d’autres catalogues MDweb ($sgbd_serveur = true), vous devez déclarer la base de données géographiques du catalogue distant déclaré dans le fichier config.inc.sgbd.php. Cette déclaration permet de réaliser des recherches cartographiques sur les catalogues MDweb distants. Par défaut, la dernière ligne du fichier config.inc.carto.php déclare la base de données locale (mdweb-demo16-fra) avec la base de données spatiale locale geo-demo16 dans cette ligne :
$config_s_geo->add_serveur(new Serveur($server_carto_host,$server_carto_port,"mdweb-demo16-fra",$db_nom_sig,$type_norme,"sgbdgeo",$server_carto_user,$server_carto_pwd));
Vous devez ajouter autant de déclarations de base de données spatiales que de catalogues distants. Dans l’exemple ci-dessous, un nouveau serveur déclare une base de données spatiale distante rattachée à la base de données MDweb distante appelée : mdweb_distant :
$config_s_geo->add_serveur(new Serveur("193.48.189.22","5432","mdweb_distant","geo-mdweb_dist","iso19139fra","sgbdgeo","mdweb_geo_dist", "pwd_geo_dist"));
Avec 193.48.189.22 : IP du serveur hébergeant la base de données MDweb, 5432 : port d’écoute postgresql mdweb_distant : nom base de données MDweb distante geo-mdweb_dist : nom de la base de données spatiale distante donnant les emprises des jeux de données stockés dans mdweb_distant iso19139fra : profil de métadonnées servis par la base mdweb_distant mdweb_geo_dist : nom utilisateur de la base de données spatiale distante pwd_geo_dist: mot de passe
Fichier de configuration des catalogues z3950 : config.inc.z3950.php Le fichier config/config.inc.z3950.php contient le paramétrage des catalogues distants atteignables via z3950. La déclaration d’un catalogue se fait en instanciant un objet Serveur comme dans l’exemple suivant :
$config_s->add_serveur(new Serveur("193.48.189.28","9999","z3950_syscolag151","","iso19139fra","z3950","",""));
Où
· paramètre 1 : "193.48.189.28" : est l’IP ou le nom de la machine qui héberge le catalogue distant · paramètre 2 : "9999" : est le port du protocole z3950 · paramètre 3 : " z3950_syscolag151" : est le libellé que l’on veut donner au catalogue auquel on se connecte · paramètre 4 : "" : non utilisé · paramètre 5 : "iso19139fra" : profil de métadonnées utilisé. Six valeurs acceptées : - "fgdc" : métadonnées au format FGDC - " dublincore" : métadonnées au format Dublin Core - "iso19139" : métadonnées au format ISO 19139 - "iso19115" : métadonnées au format ISO 19115 - " iso19139fra" : métadonnées au format ISO 19139, profil français - " isoDeegree" : métadonnées au format ISO 19139 Deegree
· paramètre 6 : "z3950" est le protocole de connexion au catalogue distant. trois valeurs sont possibles : - "sgbd" pour une connexion via le postgresql sur un catalogue distant 1.5 ou 1.6 - "z3950" pour une connexion via le protocole Z3950 spécifié selon le document de l’OGC Catalog service for the Web version 2.0.1 - "csw" pour une connexion via le protocole Z3950 spécifié selon le document de l’OGC Catalog service for the Web version 2.0.1 · paramètre 7 : "" : non utilisé · paramètre 8 : "" : non utilisé
Fichier de configuration des catalogues CSW 2.0 : config.inc.csw.php Le fichier config/config.inc.csw.php contient le paramétrage des catalogues distants atteignables via CSW. La déclaration d’un catalogue se fait de la manière suivante :
$s3=new Serveur("demo.deegree.org","8080","csw-deegree","/deegree-csw/services","isoDeegree","csw","",""); Où
· paramètre 1 : " demo.deegree.org" : est l’IP ou le nom de la machine qui héberge le catalogue distant · paramètre 2 : "8080" : est le port du service web · paramètre 3 : "csw-deegree" : est le libellé que l’on veut donner au catalogue auquel on se connecte · paramètre 4 : "/deegree-csw/services" : chemin d’accès au service web · paramètre 5 : "iso19139fra" : profil de métadonnées utilisé. six valeurs acceptées : - "fgdc" : métadonnées au format FGDC - " dublincore" : métadonnées au format Dublin Core - "iso19139" : métadonnées au format ISO 19139 - "iso19115" : métadonnées au format ISO 19115 - " iso19139fra" : métadonnées au format ISO 19139, profil français - " isoDeegree" : métadonnées au format ISO 19139 Deegree
· paramètre 6 : "csw" est le protocole de connexion au catalogue distant. trois valeurs sont possibles : - "sgbd" pour une connexion via le postgresql sur un catalogue distant 1.5 ou 1.6 - "z3950" pour une connexion via le protocole Z3950 spécifié selon le document de l’OGC Catalog service for the Web version 2.0.1 - "csw" pour une connexion via le protocole Z3950 spécifié selon le document de l’OGC Catalog service for the Web version 2.0.1 · paramètre 7 : "" : non utilisé · paramètre 8 : "" : non utilisé
Puis à l’ajoutant à la liste de serveur $config_s
$config_s->add_serveur($s3);
Configuration de MDweb pour interroger un catalogue via le protocole Z39.50
Pré requis pour le client d’interrogation Z39.50 MDweb L’interrogation d’un catalogue distant z39.50 nécessite un client d’interrogation z39.50, c'est-à-dire des pages et des bibliothèques qui permettent d’adresser une demande au serveur z39.50. Pour cela, les extensions PHP et bibliothèques YAZ ( http://www.indexdata.dk/software/ ) sont requises.
Avec MS4W Pour une installation de MDweb via l’installeur (installation de MS4W : Apache/PHP/Mapserver), l’extension php_yaz.dll est copiée dans le répertoire php/ext/ et déclarer dans le php.ini :
extension=php_yaz.dll
De même, l’installeur copie la bibliothèque yaz.dll dans le répertoire Apache/cgi-bin/ Les versions de ces fichiers sont les suivantes : • php_yaz.dll : 5.2.1.1 YAZ • yaz.dll : 2.1.8.1 Yaz Toolkit • Veillez à ce que les bibliothèques suivantes soient présentes et compatibles avec yaz.dll, voici les versions qui testées et compatibles. Ce qui n’exclut pas d’autres versions.
• iconv.dll : 1.9.0.0 LGPLed libiconv for Windows NT/2000/XP • libxml2.dll (non connue) • msvcr71.dll : 7.10.3052.4 Microsoft® C Runtime Library • zlib1.dll : 1.2.2.0 zlib data compression library
Pour des installations sous Wamp ou EasyPHP ou autre. Il sera nécessaire de procéder manuellement à la déclaration de l’extension php_yaz.dll et sa présence dans le répertoire des extensions de php, de veiller à la présence et à la compatibilité des bibliothèques suivantes avec l’extension php_yaz : • yaz.dll • iconv.dll • libxml2.dll • msvcr71.dll • zlib1.dll
Les extensions php_yar pour PHP 5.2.1 et 5.1.2 et les dll sont disponibles à l’adresse suivante : http://www.mdweb-project.org/15/z3950/client/
Le téléchargement du Toolkit YAZ (http://www.indexdata.dk/software/) pour Windows permet de trouver toutes ces bibliothèques. Il est disponible à l’adresse http://www.mdweb-project.org/15/z3950/client/yaz_2.1.8.exe
De la même manière que sous Windows, il est nécessaire d’installer l’extension php5_yaz pour php. La modification du php.ini est normalement réalisée à l’installation de l’extension .so
Il est aussi nécessaire mettre les librairies libyaz2, yaz et yaz-dev si vous avez besoin de compiler la extension php_yaz. Vous pouvez trouver des ressources, informations et forum utilisateurs : http://www.indexdata.dk/phpyaz/
Contacts
IRD / US ESPACE (US 140) 500, rue Jean François Breton, 34093 Montpellier Cedex 05 TEL : +33 (0)4 67 54 87 02 J.C Desconnets jcd@teledetection.fr
Site du projet MDweb : www.mdweb-project.org Démonstrateur en ligne : demo16.mdweb-project.org/
|