grand_logo

Note sur l’ajout de catalogues distants avec MDweb (PostgreSQL, Z39.50, CSW 2.0)

 

Sommaire

 

Gestion des catalogues distants. 4

Les fichiers de configurations. 6

Fichier de configuration des catalogues z3950 : config.inc.z3950.php. 7

Fichier de configuration des catalogues CSW 2.0 : config.inc.csw.php. 8

Configuration de MDweb pour interroger un catalogue via le protocole Z39.50. 8

Pré requis pour le client d’interrogation Z39.50  MDweb. 8

Sous Windows. 8

Sous Linux. 9

 

 

 

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).

 

Outil

Version

Protocole d’interrogation distante

Profil de métadonnées testé

MDweb

1.5

Postgresql (5432)

ISO 19139 et ISO 19139 FRA

MDweb

1.6

Postgresql (5432)

ISO 19139 et ISO 19139 FRA

Geonetwork

2.1

CSW 2.0.1

Dublin Core

Deegree

2.1

CSW 2.0.1

ISO 19115 Deegree

MDweb avec serveur Z39.50 activé

1.6

Z39.50 (synchrone)

ISO 19139 FRA

 

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 distants

Pour 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 modifier

 

 

Suppression d’une déclaration d’un catalogue distant

 

Pour supprimer la déclaration d’un catalogue distant, utilisez l’icône supprimer. Les paramètres de connexion de ce catalogue seront définitivement supprimés.

 


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");

 

·         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","",""));

 

 

·         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","","");

 

·         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.

 

Sous Windows

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

 

Sous Linux

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-100

 

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/