Attention ! Gitlab fournissant maintenant nativement des certificats Let’s Encrypt aux domaines personnalisés des Gitlab Pages, nous avons coupé notre service qui le faisait automatiquement pour vous.

Il est impératif, pour que votre domaine personnalisé continue à avoir un certificat Let’s Encrypt à jour, d’activer la fonctionnalité native dans les paramètres de votre projet. Cette activation remplacera votre certificat actuel par un nouveau certificat Let’s Encrypt géré par Gitlab.

Voir les détails sur https://docs.framasoft.org/fr/gitlab/gitlab-pages-le.html

Commit 9052a766 authored by Blaise de Carné 's avatar Blaise de Carné

Merge branch 'corrections'

# Conflicts:
#	docs/api/arguments.md
#	docs/api/fields.md
#	docs/api/filters/filters.md
#	docs/start/getting_started.md
#	docs/start/principles.md
#	docs/start/project.md
parents 0e7b281d bbfc3107
Pipeline #49256 passed with stage
in 19 seconds
......@@ -18,7 +18,7 @@ Voici la liste des arguments disponibles :
{
poi(
uri: "http://...", # <- Spécifie un identifiant de POI
size: 10, # <- Limite le nombre de résultat par page
size: 10, # <- Limite le nombre de résultats par page
from: 0, # <- Précise le début de page
filters: [
# ... <- Liste des filtres à appliquer pour sélectionner les POI
......@@ -78,7 +78,7 @@ Cette requête extrait tous les identifiants des **POI** dont l'URI est "https:/
Les arguments **limit** et **from** permettent de gérer la pagination de la requête en limitant le nombre de résultats renvoyés par la requête et en se positionnant dans ces résultats.
?> Par défaut, si le champs size n'est pas précisé, **le nombre de résultats renvoyés est de 10**.
?> Par défaut, si le champ **size** n'est pas spécifié, **le nombre de résultats renvoyés est de 10**.
```graphql
{
......@@ -135,7 +135,7 @@ Cette requête extrait `2` identifiants de **POI** à partir du `cinquième` ré
## filters
L'argument **filters** permet de préciser une liste des filtres permettant de limiter le résultat en fonction des critères.
L'argument **filters** permet de préciser une liste des filtres destinés à limiter les résultats en fonction de critères.
** Exemple **
......@@ -158,7 +158,7 @@ L'argument **filters** permet de préciser une liste des filtres permettant de l
}
```
La requête est ici limitée aux POIs dont le nombre de personnes autorisées est égal à 30.
La requête est ici limitée aux POI dont le nombre de personnes autorisées est égal à 30.
Le fonctionnement et la liste des filtres sont détaillés sur [la page dédiée aux filtres](api/filters/filters.md).
......@@ -241,7 +241,7 @@ Les tris peuvent être cumulés simplement :
}
```
Cette requête extrait tous les identifiants des **POI** par ordre décroissant du nombre de personnes autorisés.
Cette requête extrait tous les identifiants des **POI** par ordre décroissant du nombre de personnes autorisées.
** Résultat **
......
......@@ -25,15 +25,15 @@ Voici la liste des champs disponibles :
}
```
C'est dans le champs **results** que l'utilisateur décrit précisément la structure des POI qu'il souhaite récupérer.
C'est dans le champ **results** que l'utilisateur décrit précisément la structure des POI qu'il souhaite récupérer.
Cette structure doit respecter le format de l'ontologie.
L'[introspection GraphQL](http://graphql.org/learn/introspection/) vous permet de connaître précisément les champs et
sous-champs disponibles. Vous pouvez également consulter la [référence GraphQL](api/reference.md) de l'API, notemment
sous-champs disponibles. Vous pouvez également consulter la [référence GraphQL](api/reference.md) de l'API, notamment
pour connaître la liste des champs d'un POI : [PointOfInterest](api/reference.md#pointofinterest).
?> **Note sur les namespaces RDF :** Les conventions RDF imposent le `:` entre le prefix du namespace et sa propriété,
le langage GraphQL ne permettant pas cette notation, l'API DATAtourisme le remplace par un `_`.
?> **Note sur les namespaces RDF :** Les conventions RDF imposent le signe `:` entre le *prefix* du namespace et sa propriété ;
la spécification GraphQL n'autorisant pas cette notation, l'API DATAtourisme remplace le double point par un `_`.
Exemple: `rdfs:label` devient `rdfs_label`.
......
......@@ -18,11 +18,11 @@ Détermine une condition d'égalité. L'opérateur **_eq** extrait les POI dont
```
### Comportement ###
- Egalité valeur de type scalaire
L'égalité peut porter sur une valeur de type entier, réel, chaîne, booléen...
- Egalité valeur de type scalaire :
l'égalité peut porter sur une valeur de type entier, réel, chaîne, booléen...
- Egalité valeur de type ressource
L'égalité peut porter sur un **POI**, une personne, une adresse...
- Egalité valeur de type ressource :
l'égalité peut porter sur un **POI**, une personne, une adresse...
### Exemples ###
......
# _geo_distance
**_geo_distance** réalise une requête géographique sur la base de coordonnées et de distance.
La requête renverra donc les POI situés autours d'un point central donné en paramètre.
La requête renverra donc les POI situés autours d'un point central donné en paramètres.
```graphql
{
......
......@@ -18,11 +18,11 @@ Détermine une condition d'égalité sur un tableau. L'opérateur **_in** extrai
```
### Comportement ###
- Egalité valeur de type scalaire
L'égalité peut porter sur une valeur de type entier, réel, chaîne, booléen...
- Egalité valeur de type scalaire :
l'égalité peut porter sur une valeur de type entier, réel, chaîne, booléen...
- Egalité valeur de type ressource
L'égalité peut porter sur un **POI**, une personne, une adresse...
- Egalité valeur de type ressource :
l'égalité peut porter sur un **POI**, une personne, une adresse...
### Exemples ###
......
# Filtres
DATAtourisme permet de filtrer les résultat en utilisant des fonctions telles que `gt` *(plus grand que)*
DATAtourisme permet de filtrer les résultats en utilisant des fonctions telles que `gt` *(plus grand que)*
ou `eq` *(égal)*.
Dans le but d'être clairement identifiés, tous les filtres sont préfixés par un underscore: `_gte`, `_not`, etc.
Afin d'être facilement distinguables, tous les filtres sont préfixés par un underscore: `_gte`, `_not`, etc.
Les **filtres** permettent donc de sélectionner des résultats en fonction de critères passés en paramètres.
......@@ -36,7 +36,7 @@ Les propriétés hiérarchiques peuvent être atteintes en intégrant la hiérar
}
```
Par défaut, l'ensemble des filtres sont cumulatifs : le POI doit répondre à tous les filtres pour être retourné.
Les filtres sont cumulatifs par défaut : le POI doit répondre à tous l'ensemble des conditions pour être retourné.
L'utilisateur peut utiliser les opérateurs logiques pour modifier ce comportement :
```graphql
......@@ -79,7 +79,7 @@ Les opérateurs logiques sont cumulatifs hiérarchiquement :
}
```
Un filtre peut être de plusieurs formes :
Un filtre peut se présenter sous plusieurs formes :
```graphql
{
......@@ -106,14 +106,14 @@ Un filtre peut être de plusieurs formes :
| [_gt](api/filters/_gt.md) | La propriété est plus grande que la valeur |
| [_gte](api/filters/_gte.md) | La propriété est plus grande ou égale à la valeur |
| [_lt](api/filters/_lt.md) | La propriété est plus petite que la valeur |
| [_lte](api/filters/_lte.md) | La propriété est plus petit ou égale à la valeur |
| [_lte](api/filters/_lte.md) | La propriété est plus petite ou égale à la valeur |
| [_ne](api/filters/_ne.md) | La propriété n'est pas égale à la valeur |
| [_in](api/filters/_in.md) | La propriété est incluse dans le tableau de valeur |
| [_nin](api/filters/_nin.md) | La propriété n'est pas incluse dans le tableau de valeur |
| [_in](api/filters/_in.md) | La propriété est incluse dans le tableau de valeur(s) |
| [_nin](api/filters/_nin.md) | La propriété n'est pas incluse dans le tableau de valeur(s) |
| [_text](api/filters/_text.md) | Effectue une recherche full-text |
| **Geospatial** ||
| [_geo_distance](api/filters/_geo_distance.md) | Effectue une recherche geospatiale sur la base de coordonnées et d'une distance |
| [_geo_bounding](api/filters/_geo_bounding.md) | Effectue une recherche geospatiale sur la base d'une zone délimitée |
| [_geo_distance](api/filters/_geo_distance.md) | Effectue une recherche géospatiale sur la base de coordonnées et d'une distance |
| [_geo_bounding](api/filters/_geo_bounding.md) | Effectue une recherche géospatiale sur la base d'une zone délimitée |
## Opérateurs logiques {docsify-ignore}
......
# Resolver
Datatourisme API peut s'interfacer avec différentes sources de données.
Par défaut, celle-ci interroge le système de gestion de base de données graphe Blazegraph mais
il est tout à fait possible de configurer Datatourisme API pour interroger des endpoints de type
Virtuoso ou encore HDT et plus généralement, sur tout type de endpoint [SPARQL](https://fr.wikipedia.org/wiki/SPARQL).
Par défaut, celle-ci interroge le système de gestion de base de données graphe Blazegraph.
Il est cependant tout à fait possible de configurer Datatourisme API pour interroger des endpoints de type
Virtuoso ou encore HDT et, plus généralement, tout type d'endpoint [SPARQL](https://fr.wikipedia.org/wiki/SPARQL).
## Blazegraph
......@@ -16,7 +16,7 @@ $api = DatatourismeApi::create($resolver);
var_dump($api->send('{poi(filters:[{allowedPersons:{_eq:30}}]) {results{dc_identifier}}}'));
```
La connexion à Blazegraph étant celle établie par défaut, il suffit de préciser
l'url du endpoint de blazegraph pour requêter directement celui-ci, le code suivant est donc équivalent au précédent :
l'url de l'endpoint de Blazegraph pour requêter directement celui-ci ; le code suivant est donc équivalent au précédent :
```php
$api = DatatourismeApi::create('http://localhost:9999/blazegraph/namespace/kb/sparql');
......@@ -30,18 +30,18 @@ Virtuoso est donc compatible avec la Datatourisme API
$resolver = new VirtuosoResolver('http://localhost:8890/sparql/');
$api = DatatourismeApi::create($resolver);
// On peut immédiatement requêter le endpoint avec GraphQL:
// On peut immédiatement requêter l'endpoint avec GraphQL :
var_dump($api->send('{poi(filters:[{allowedPersons:{_eq:30}}]) {results{dc_identifier}}}'));
```
## HDT
[HDT](http://www.rdfhdt.org/) est une structure de fichier au format RDF.
La base de données se résume donc à un fichier possédant une extension .HDT.
Pour l'api Datatourisme, le endpoint sera donc dans ce cas le chemin vers le fichier HDT
Pour l'api Datatourisme, le endpoint sera dans ce cas le chemin vers le fichier HDT.
```php
$resolver = new HdtResolver('/chemin/vers/le/fichier.hdt');
$api = DatatourismeApi::create($resolver);
// On peut immédiatement requêter le endpoint avec GraphQL:
// On peut immédiatement requêter l'endpoint avec GraphQL :
var_dump($api->send('{poi(filters:[{allowedPersons:{_eq:30}}]) {results{dc_identifier}}}'));
```
\ No newline at end of file
......@@ -15,18 +15,18 @@ toutes les étapes nécessaires :
- [Curl](https://curl.haxx.se/download.html)
- [Java 8](http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html)
## Récupération d'un fichier données
## Récupération d'un fichier de données
Pour vous servir de l'API DATAtourisme, vous devez d'abord récupérer des données touristiques :
1. Connectez-vous à la [plateforme diffuseur](https://diffuseur.datatourisme.gouv.fr). Il sera nécessaire de
créer un compte s'il s'agit de votre première connexion.
2. Créez et configurez un flux de données à l'aide de l'éditeur visuel de requête
3. Configurer le flux pour utiliser un format **compatible avec l'API** :
2. Créez et configurez un flux de données à l'aide de l'éditeur visuel de requête.
3. Configurez le flux pour utiliser un format **compatible avec l'API** :
* RDF-XML
* Turtle
* NT
4. Téléchargez le fichier du flux une fois celui-ci disponible
4. Téléchargez le fichier du flux une fois celui-ci disponible.
Le fichier ainsi obtenu constitue votre source de données : il devra être chargé dans une base de données sémantique.
......@@ -52,7 +52,7 @@ Le serveur blazegraph est alors lancé et son interface d'administration est acc
## Chargement des données
Le fichier téléchargé à l'étape précédente pouvant être de plusieurs types, la commande pour charger les données dans Blazegraph peut varier :
Le fichier téléchargé lors de l'étape précédente pouvant être de différents formats, la commande pour charger les données dans Blazegraph peut varier :
```bash
# format RDF-XML (extension RDF)
......
......@@ -3,10 +3,10 @@
## Comment ça fonctionne ?
L'API Datatourisme est une librairie PHP permettant à l'utilisateur d'interroger facilement une base de données
sémantiques contenant des données touristiques issues de la plateforme DATAtourisme. Elle s'appuie sur un language de
requête [GraphQL](https://graphql.org) dont le schéma de données est basé sur l'ontologie DATAtourisme.
sémantiques contenant des données touristiques issues de la plateforme DATAtourisme. Elle s'appuie sur un langage de
requête [GraphQL](https://graphql.org) dont le schéma de données est fondé sur l'ontologie DATAtourisme.
Afin de mettre en oeuvre l'API, l'utilisateur doit donc :
Afin de mettre en œuvre l'API, l'utilisateur doit donc :
1. Récupérer les données DATAtourisme au format sémantique sur la [plateforme diffuseur](https://diffuseur.datatourisme.gouv.fr)
2. Charger les données sémantiques dans une base de données sémantiques (triplestore) disposant d'un point d'accès SPARQL
......@@ -27,10 +27,10 @@ et chargées dans une base de données sémantiques locale.
## Utilisation de graphQL
Comme évoqué, l'API DATAtourisme s'appuie sur le language [GraphQL](http://graphql.org/) pour interroger les données
Comme évoqué, l'API DATAtourisme s'appuie sur le langage [GraphQL](http://graphql.org/) pour interroger les données
touristiques. Les données sont renvoyées par l'API au format JSON.
Il s'agit d'un language de requête **par l'exemple** : la structure retournée correspond à celle formulée dans la
Il s'agit d'un langage de requête **par l'exemple** : la structure retournée correspond à celle formulée dans la
requête. Ainsi, la quantité de données interrogées et transférées est réduite au strict nécessaire.
** Exemple de requête simple :**
......@@ -49,7 +49,7 @@ requête. Ainsi, la quantité de données interrogées et transférées est réd
}
```
Avec cette requête, la base de données sémantiques est interrogée pour extraire l'URI, le nom et la description de
l'ensemble des POI q'elle contient. Le résultat au format JSON doit ressembler à :
l'ensemble des POI qu'elle contient. Le résultat au format JSON doit ressembler à :
```json
{
......@@ -92,5 +92,5 @@ l'ensemble des POI q'elle contient. Le résultat au format JSON doit ressembler
Pour en savoir plus sur les champs disponibles, les options de filtres et de pagination, vous pouvez consulter la
rubrique associée : [Utilisation de l'API](api/fields.md).
Pour en savoir plus sur le language GraphQL, la documentation en ligne est disponible sur le site de
Pour en savoir plus sur le langage GraphQL, la documentation en ligne est disponible sur le site de
[GraphQL](http://graphql.org/)
......@@ -7,12 +7,12 @@
</p>
DATAtourisme est un projet de R&D lauréat du Programme d’Investissements d’Avenir (PIA). Il vise à rassembler au sein
d’une plateforme nationale, les données d’information touristique produites par les Offices de Tourisme,
d’une plateforme nationale les données d’information touristique produites par les Offices de Tourisme,
Agences Départementales et Comités Régionaux du Tourisme, afin de les diffuser en open-data et ainsi faciliter la
création de services touristiques innovants par des start-ups, agences digitales, médias et autres acteurs publics ou
privés.
Le projet DATAtourisme à pour mission de :
Le projet DATAtourisme a pour mission de :
* **Agréger** les données touristiques à partir des systèmes d'information touristique
* **Normaliser** les données par l'utilisation d'un vocabulaire touristique commun
......@@ -30,30 +30,30 @@ Consortium W3C dans la perspective du Web sémantique ou Web de données (Linked
[En savoir plus sur le web sémantique](https://fr.wikipedia.org/wiki/Web_s%C3%A9mantique)
Il s'agit de structurer les points d'intérêt touristiques pour que les services tiers puissent mieux les exploiter.
Les données aggrégées par DATAtourisme sont ainsi restructurées , regroupées et enrichies par des traitements
automatiques et publiées selon le format descriptif du web sémantique : **RDF**.
Les données aggrégées par DATAtourisme sont ainsi restructurées, regroupées, enrichies par des traitements
automatiques, puis publiées selon le format descriptif du web sémantique : **RDF**.
[En savoir plus sur RDF](https://fr.wikipedia.org/wiki/Resource_Description_Framework)
Les données sont disponibles sur [la plateforme diffuseur](https://diffuseur.datatourisme.gouv.fr), selon plusieurs
syntaxes RDF : RDF/XML, NTriple, Turtle, JSON-LD...
syntaxes RDF : RDF/XML, N-Triples, Turtle, JSON-LD...
** Ce que les données contiennent :**
* **Une URI pour chaque point d'intérêt** : tous les points d'intérêt disposent d’identifiants pérennes, attribués
selon leur producteur.
* **Pour chaque point d'intérêt, un ensemble de propriétés** : associées à l’URI de la ressource et des sous-ressources
* **Une URI pour chaque point d'intérêt** : tout point d'intérêt dispose d’un identifiant pérenne, attribué
selon son producteur respectif.
* **Pour chaque point d'intérêt, un ensemble de propriétés** associées à l’URI de la ressource et des sous-ressources
sous forme de **triplets RDF**, selon les technologies du web sémantique et du linked open data.
## Ontologie
Pour normaliser l'ensemble des points d'intérêts stockés, DATAtourisme s'appuie sur une ontologie nationale de
description de l'offre touristiques. Cette ontologie est publiée au format OWL, selon les principes du web sémantique.
Pour normaliser l'ensemble des points d'intérêt stockés, DATAtourisme s'appuie sur une ontologie nationale de
description de l'offre touristique. Cette ontologie est publiée au format OWL, selon les principes du web sémantique.
Cette ontologie se compose :
* D'une ontologie "tourisme", décrivant l'ensemble des objets/priopriétés d'une offre touristique
* D'une base de connaissance constituant un référentiel unique pour les données nationales.
* d'une ontologie "tourisme", décrivant l'ensemble des objets/priopriétés d'une offre touristique ;
* d'une base de connaissances constituant un référentiel unique pour les données nationales.
[En savoir plus sur l'ontologie](http://www.datatourisme.fr/ontologie/)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment