Portail CDS
Un prototype de portail CDS sera développé par Pascal Wassong, encadré par Thomas et Sébastien, dans le cadre de
VOTech. Ce développement prend place dans le cadre de
DS4, et a des liens avec les
DS5 et
DS3.
Pourquoi un portail ?
Commençons par quelques constats :
- L'astronome qui utilise les services CDS pour effectuer une recherche doit choisir au préalable le service (VizieR, Simbad ou Aladin) auquel il adressera sa requête. Il doit avoir une connaissance du contenu et du fonctionnement interne (modèle de métadonnées) des services. On risque également de passer à côté de données intéressantes par manque de connaissance des services.
- Par ailleurs, beaucoup d'utilisateurs de nos services ne connaissent pas vraiment entre Simbad et VizieR, voire confondent ces 2 services
- Enfin, l'utilisateur débutant peut être effrayé par la complexité de certaines de nos interfaces utilisateur (cf. feedback de plusieurs workshops)
De ces constats naissent l'idée du développement d'un portail CDS, permettant un accès unifié aux 3 services principaux.
Ce portail doit fournir une
interface simple d'utilisation, permettant l'interrogation simultanée des 3 services. Le portail permettra également de faciliter l'utilisation croisée des services, par exemple l'utilisation en entrée d'un service Y d'une liste de sources obtenue à partir d'un service X.
On passerait donc d'une approche
service-centric (voir fig.1) à une approche
data-centric (cf. fig.2).
Principe : faire le travail pénible et difficile (interrogation des différents services, interprétation de la requête en métadonnées propres à chaque service) à la place de l'utilisateur, le guider, l'aider à préciser/raffiner sa recherche.
Le portail n'a pas pour objectif de se substituer aux interfaces utilisateur évoluées existantes, mais il fournira des points d'entrée vers les services pertinent par rapport à sa recherche.
![](http://cds.unistra.fr/twiki/pub/Projets/PortailCDS/utilisation-actuelle-services-CDS.png)
Figure 1 : utilisation actuelle des services CDS
![](http://cds.unistra.fr/twiki/pub/Projets/PortailCDS/utilisation-portail.png)
Figure 2 : utilisation du portail
Pourquoi pas Aladin ?
Aladin apparaît déja comme un portail capable d'interroger Simbad, VizieR ainsi que d'autres services, il pourrait paraître adapté en tant que portail d'accès à tous les services CDS.
Mais :
- Aladin est orienté vers la visualisation de données, et n'a pas été développé
- L'utilisation d'Aladin nécessite le lancement d'une machine Java --> lourdeur du lancement de l'applet dans un navigateur, attente de 10-20 secondes avant de pouvoir utiliser Aladin
- La compréhension de l'interface n'est pas immédiate, et la courbe d'apprentissage est plus ou moins raide selon les utilisateurs
- Surtout, l'utilisation d'Aladin nécessite également une connaissance préalable des services à interroger que l'on souhaite éviter dans notre projet de portail
Pour ces raisons, le client Aladin n'est pas la solution optimale pour faire office de portail. Aladin pourra en revanche être utilisé comme visualiseur potentiel des données trouvées via le portail. On peut même envisager des interactions entre le portail et Aladin via
PLASTIC/
SAMP.
Use cases
Une première étape du travail consistera à recueillir les cas d'utilisations croisées des différents services (Simbad, VizieR, Aladin).
La page Wiki
UseCasesPortailCDS listera l'ensemble de ces use cases, et permettra notamment de jauger l'avancement du projet.
API existantes
Simbad
API REST (accès par URL)
L'API REST Simbad est décrite sur la page suivante :
http://simbad.u-strasbg.fr/simbad/sim-help?Page=sim-url
Elle permet d'accéder par URL à l'ensemble des services proposés par Simbad (requête par identificateur, par position, requête par script, par critère, etc), et de récupérer le résultat dans le format de son choix (HTML, ASCII ou VOTable).
VizieR
API REST
Le format est déterminé par l'exécutable appelé : asu-tsv pour du TSV, votable pour du VOTable et asu-xml pour du VOTable avec les données en TSV.
L'ensemble des paramètres disponibles suit le standard
ASU (Astronomical Server URL). VizieR utilise également quelques extensions décrites sur la page suivante :
http://cdsweb.u-strasbg.fr/doc/asu-ext.htx
Un résumé des paramètres acceptés est disponibles sur la page
http://cdsweb.u-strasbg.fr/doc/asu-summary.htx
cdsclient
Le package cdsclient (disponible ici :
http://vizier.u-strasbg.fr/doc/catstd-4.htx ) fournit un ensemble d'exécutables C et csh permettant d'interroger à distance les bases de données du CDS.
qcat
l'exécutable qcat (disponible avec aclient sur cdsarc) retourne une liste de catalogue à partir d'un mot clé, d'un numéro de catalogue, d'un auteur ou d'une bibliographie.
Ex:
aclient cdsarc.u-strasbg.fr 1660 qcat -obsol -s quasar
aclient cdsarc.u-strasbg.fr 1660 qcat -obsol -s specfind
aclient cdsarc.u-strasbg.fr 1660 qcat -obsol -s Jaschek
Aladin
Accès par URL
2MASS H ____ STANDALONE
2MASS J ____ STANDALONE
2MASS K ____ STANDALONE
IRAS-IRIS 12MU ____ STANDALONE
POSSI E STScI FULL,LOW,PLATE
POSSI O DSS2 FULL,PLATE
POSSII F DSS2 FULL,PLATE
POSSII J DSS2 FULL,PLATE
POSSII N DSS2 FULL,PLATE
WENSS 92CM ____ STANDALONE
- Récupération d'une image donnée - Les 3 premiers items de chaque de la liste ci-dessus constituent ce qu'on appelle un 'qualifier' (exemples : 2MASS H __ , POSSI E STScI ). Ce qualifier est utilisé pour récupérer l'image correspondante via l'URL suivante : http://aladin.u-strasbg.fr/alapre.pl?-c=<position>&out=image&qual=<qualifier> . Exemple : récupération de l'image (FITS) 2MASS H pour la position 13 29 52.4 +47 11 41 : http://aladin.u-strasbg.fr/alapre.pl?-c=13+29+52.4+%2b47+11+41&out=image&qual=2MASS+H+____
Sesame
Sesame est le service permettant de résoudre un nom d'objet en une position sur le ciel, en se basant sur les données présentes dans Simbad, NED et VizieR. L'URL d'accès ainsi que les paramètres sont décrits sur cette page :
http://cdsweb.u-strasbg.fr/doc/sesame.htx
Première étape : recherche par position
On débutera par une approche simple se limitant aux requêtes de type 'Cone Search'. Ces requêtes ont l'avantage de ne pas nécessiter de parsing complexe, ni de conversion des métadonnées dans le modèle spécifique à chacun des services.
L'interface consistera en un champ texte dans lequel l'utilisateur pourra entrer une position ou un nom d'objet. Dans le cas d'un nom d'objet, les coordonnées seront résolues en position côté serveur, en interrogeant Sesame. Après requête des services pour cette position, les informations et données disponibles pour chaque service seront mis à jour dans le navigateur dans 3 panels indépendants (voir figure 3).
![](http://cds.unistra.fr/twiki/pub/Projets/PortailCDS/cone-search-like-query.png)
Figure 3 : brouillon de l'interface souhaitée pour l'interrogation par position/nom d'objet
Question : comment multiplexer la réponse, pour mettre à jour indépendamment chaque DIV (
......)
Question : XML versus JSON pour le format retourné.
Développements avancés
Le développement à moyen terme permettra d'interroger non seulement par position (à la Cone Search), mais de façon libre
Modélisation des métadonnées de chaque service
Métadonnées VizieR
- Tables META : L'ensemble des métadonnées relatives aux catalogues de VizieR sont stockées dans le SGBDR dans des tables META. On peut obtenir une liste complète de ces tables en cliquant sur le lien suivant : http://vizier/viz-bin/VizieR?-source=META .
Dans le cadre du développement du portail, les tables qui nous intéressent sont :
Métadonnées Simbad
Métadonnées Aladin
TODO
Autres
VOcabulary, ontologies, ...
Gestion des listes
Plusieurs des use cases
listés ici nécessitent de sauvegarder puis de réutiliser des listes (listes de sources par exemple). La page
GestionListesDansPortail regroupe les idées relatives à la gestion de ces listes.
Architecture
Voici une description de
l'architecture permettant des interactions entre le portail et les autres services du CDS.
TODO
Technologies utilisées
AJAX
AJAX est un ensemble de technologies permettant d'envoyer de façon asynchrone des requêtes au serveur afin de mettre à jour une partie d'une page Web sans avoir à recharger l'ensemble de la page. AJAX permet le développement d'applications Web plus réactives et plus riches que les applis Web traditionnelles.
L'utilisation d'AJAX pour le portail permettra entre autres :
- d'interroger de manière asynchrone les services
- d'affiner la recherche de l'utilisateur de façon interactive, à la manière du Amazon Diamond Search
Liens Ajax
Navigateurs supportés
TODO...
Interface utilisateur
Voici quelques liens vers des interfaces utilisateurs dont on pourra s'inspirer :
Autres idées
Développement d'un système de cache pour les recherches. Si le résultat de l'interrogation existe déja dans le cache, on ne réinterroge pas les services. --> pourrait être intéressant au niveau de la recherche par nom d'objet
Intégration des liens Simbad <--> VizieR sur lesquels Gille travaille actuellement.
Réflexions diverses
Des réflexions plus détaillés, et aussi plus diverses se trouvent sur la page Wiki
ReflexionDiversesPortail.
Réunions
Réunion de démarrage (28 février 2008)
Réunion avec responsables des services (31 mars 2008)
Premier feedback des responsables des services (Juillet 2008)
Réunion feedback avec responsables service (déc 2008)
Réunion Portail/VizieR
URLs d'accès aux prototypes
TODOs
Documentation Technique
Tous les pointeurs vers la documentation technique sont rassemblés sur la page
Documentation technique du portail.
Notes
NotesThomasPortail
Charte Portail
Portal guidelines
--
ThomasBoch - 08 Feb 2008