title |
gestion des classes de documents YamlDoc (ydclasses)
|
abstract |
Définition de classes de documents
Une classe de documents correspond à:
- une classe Php implémentant:
- des méthodes de consultation interactive du document,
- une API de consultation en machine to machine,
- une API Php d'utilisation du document en interne à YamlDoc.
- éventuellement un schéma défini par un schéma JSON,
|
spec |
A une classe {yamlClass} correspond:
- un éventuel fichier ~/html/yamldoc/ydclasses/{yamlClass}.sch.yaml définissant le schéma JSON
- une classe Php {yamlClass} définie dans un fichier {yamlClassInt}.inc.php
où {yamlClassInt} est un nom interne utilisé pour le fichier Php
Le fichier {yamlClassInt}.inc.php est inclus dans différent script, notamment le viewer, il doit:
- définir une entrée de la variable globale
$phpDocs pour la valeur {yamlClassInt}.inc.php qui doit comprendre :
- une entrée
file fournissant une documentation texte sur le fichier Php
- une entrée
classes avec une entrée par classe définie fournissant une documentation texte sur la classe Php
La classe Php {yamlClass}:
- doit hériter de la classe YamlDoc, sauf les classes OdtDoc et PdfDoc qui héritent de la classe Doc.
|
uriUrl |
Définition des URI et URL
http://ydclasses.georef.eu/{yamlClass} est l'URI d'une classe de documents YamlDoc,
exemple: http://ydclasses.georef.eu/YData ,
- la résolution de l'URI d'une classe fournit comme doc HTML une documentation de la classe
avec des liens vers le schéma de la classe en Yaml et en JSON,
- les URL suivantes sont déduites de l'URI d'une classe:
http://ydclasses.georef.eu/{yamlClass}/schema fournit le schéma de la classe en JSON,
cet URI est utilisé dans le champ $schema d'un document pour définir sa classe,
http://ydclasses.georef.eu/{yamlClass}/schema.yaml fournit le schéma de la classe en Yaml,
http://ydclasses.georef.eu/{yamlClass}/api décrit l'API REST de la classe en OAI et en Yaml (A FAIRE),
- ces résolutions sont mises en oeuvre par un résolveur exposé sur ~/html/yamldoc/ydclasses.php
|
liste |
Les classes générales définies sont les suivantes:
Les classes spécifiques à la gestion de l'information géographique sont les suivantes:
- Map - description et affichage d'une carte Leaflet,
illustré par la carte des vignes et vergers ;
- MarkerLib - gestion d'une bibliothèque de symboles
ponctuels utilisés dans les cartes,
illustrée par cette bibliothèque ;
- FeatureDataset - document définissant une série de données
géographiques d'objets vecteur,
illustré par Route500 ou la BDTopo de l'IGN.
- OgcServer - classe abstraite implémentant des méthodes
communes aux serveurs OGC ;
- WfsServer - classe abstraite de gestion de requêtes
à un serveur WFS ;
- WfsServerJson - gestion de requêtes à un serveur WFS
capable de générer du GeoJSON,
illustré par le serveur WFS du Géoportail IGN ;
- WfsServerJsonAugmented - gestion de requêtes
à un serveur WFS capable de générer du GeoJSON modifiant les retours des requêtes WFS ;
- WfsServerGml - serveur WFS capable de générer
du GML EPSG:4306 ;
- Geocat - accès au contenu d'un géocatalogue,
illustré par le catalogue de Sextant
- CswServer - gestion de requêtes à un serveur CSW,
illustré par le serveur SigLoire ;
- MetadataDb - base de données de Metadata utilisée par Geocat,
illustrée par la base des MD de Sextant ;
- SubjectList - gestion des mots-clés d'un géocatalogue,
utilisée par Geocat, illustrée par les mots-clés des MD de Sextant ;
- iTileServer n'est pas une classe mais une interface
qui définit l'interface des serveurs WMS, WMTS, TileServer et FeatureViewer utilisés par ViewDataset.
- WmsServer - utilisation d'un serveur WMS,
illustré par le serveur WMS-R du Géoportail ;
- WmtsServer - utilisation d'un serveur WMTS,
illustré par le serveur WMTS du Géoportail ;
- TileServer - utilisation d'un serveur de tuiles
utilisant le protocole XYZ popularisé par OSM,
illustré par le serveur ShomGt ;
- FeatureViewer - dessin des objets d'un FeatureDataset
illustrée par la visualisation des objets de Route500 ;
- TileCache - Cache de tuiles implémentant l'interface
iTileServer ;
- ViewDataset - série de données de consultation constituée
de couches issues de serveurs conformes à l'interface iTileServer
La liste efectivement implémentée est disponible ici.
|