DATAtourisme

Mise en place d'un environnement de test


#1

Bonjour et merci pour ce projet très prometteur.

Je demande un peu d’aide aux lecteurs de ce forum qui semblent tous avoir réussi à mettre en place un environnement de test de l’API.

Je suis sous mac, j’ai installé docker desktop et docker compose.
J’ai téléchargé dans le repertoire /Downloads à la fois le répertoire docker-stack-master et le répertoire api-master

via un terminal je me place sur le répertoire docker-stack-master et je lance la commande docker-compose-up
J’ai pris soin de déposer mon fichier ttl au bon endroit dans le répertoire /dataset/kb/data

Le terminal semble faire son boulot et me créer correctement l’environnement docker.
l’ URLs http://localhost:8080/voyager fonctionne parfaitement.
l’URL http://localhost:8080/graphiql fonctionne aussi mais semble ne pas parvenir à se connecter à la BDD.

Quand je lance une requete simple du genre
{
poi(filters: [{allowedPersons: {_eq: 30}}]) {
results {
dc_identifier
}
}
}
j’ai en retour :
{
“data”: {
“poi”: null
},
“errors”: [
{
“message”: “sparql endpoint unreachable”
}
]
}

je coince là dessus depuis 3 jours ! Help …

je ne vois aucune trace de l’API dans ce répertoire.

Je vois par contre des fichiers semblant correspondre à l’API dans le repoertoire api-master.
Si je lance un docker-compose up dans ce répertoire, la base de données blazegraph tourne bien. Je peux meme requeter dessus en sparkle via l’interface d’admin.
Mais là je ne parviens pas à lancer l’API en php.

Pourriez vous m’aider dans ma quête ?

Un grand merci.
Je souhaiterai juste pouvoir avoir un fichier php qui charge l’API et me permette de lancer une requete sur Blazegraph.


#2

Bonjour,

L’Api propose à la création de votre “processor” de définir l’URL du point d’entrée SPARQL (dans votre cas localhost:9999).

$processor = \Datatourisme\Api\DatatourismeApi::create('http://localhost:9999/blazegraph/namespace/kb/sparql');

Mais le plus simple, vu que vous avez installé la version docker-stack (https://framagit.org/datatourisme/docker-stack) est de supprimer le dossier provenant du clone de l’API (https://framagit.org/datatourisme/api) puis de lancer docker-compose up.
En effet le docker-compose du docker-stack contient une API pré-configurée. (configuration qui n’a pas été prise en compte car vous avez “manuellement” cloné l’API).

En espérant vous aider.

Cordialement.


#3

Merci Conjecto.

Ça fonctionne maintenant :slight_smile:
Par contre ça buggait avec le premier fichier TTL que j’avais importé.
J’ai refais un export bien plus light et ça fonctionne maintenant.
Je vais continuer de me familiariser avec tous ces nouveaux concepts.
J’en profite pour saluer votre travail !

Je ne parviens pas encore à requeter via l’API que je n’arrive pas à instancier
via la commande “require DIR . ‘/vendor/autoload.php’;”

Je ne trouve pas de répertoire /vendor/ dans les fichiers de docker-stack-master.
(je n’ai pas encore tout saisi du fonctionnement de docker.)
Une petite piste à suivre pour créer des fichiers php au bon endroit ?

Merci.


#4

Bonsoir,

La version docker-stack propose principalement le service suivant :

  • Point d’accès HTTP GraphQL : http://localhost:8080
    Utilisable avec les libraires GraphQL dans le langage qui vous conviens.

En plus de cela, elle fournie les outils suivants :

Si vous préférez utiliser l’API Php fournie à la place du point d’entrée GraphQL, vous devez vous positionner dans votre projet et utiliser le gestionnaire de dépendance “composer”.

composer require datatourisme/api

La documentation ce trouve ici -> https://datatourisme.frama.io/api/#/start/getting_started

Cordialement.