Monitor Forum | Start New Thread Start New Thread
RE: script php pour lancer une requête de géocodage au serveur JDONREF [ Reply ]
By: Julien Moquet on 2014-10-31 12:26
[forum:482211]
La page de test suivante :
http://plf.jdonrefv4.ppol.minint.fr/_plugin/jdonrefv4-0.2/JDONREFv3Test.html
dispose du code javascript pour appeler JDONREF.

Pour simplifier :

results = document.getElementById('results'),

function getResults(keywords)
{
var xhr = new XMLHttpRequest();
xhr.open('POST', 'http://plf.jdonrefv4.ppol.minint.fr/jdonref/_search');
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
displayResults(xhr.responseText);
}
};

var jdonrefv4 = '"jdonrefv4":{"value":"'+keywords+'"}';
var params = '{"query":{'+jdonrefv4+'}}';

xhr.send(params);
return xhr;
}

function displayResults(response) { // Affiche les résultats d'une requête

res = eval("("+response+")");

var total = res.hits.hits.length;

results.style.display = total>0 ? 'block' : 'none'; // On cache le conteneur si on n'a pas de résultats
if (total>0) { // On ne modifie les résultats que si on en a obtenu
results.innerHTML = ''; // On vide les résultats
for (var i = 0, div ; i < total ; i++) {
div = results.appendChild(document.createElement('div'));
div.innerHTML = res.hits.hits[i]._score + " " + makeString(res.hits.hits[i]._source);
}
}
}

permet, suite à un appel de getResults, d'afficher les résultats dans une div "results".

RE: script php pour lancer une requête de géocodage au serveur JDONREF [ Reply ]
By: Balajee MOUNISSAMY on 2014-10-31 10:47
[forum:482207]
$result est toujours vide.

Peux-tu me donner un exemple de ton script en javascript qui fonctionne ?

Je l'adapterai en PHP.


RE: script php pour lancer une requête de géocodage au serveur JDONREF [ Reply ]
By: Julien Moquet on 2014-10-31 10:39
[forum:482206]
Dans un premier temps, tu peux simplement tester en supprimant 'context'.

Ensuite, tu peux essayer

'content'=>'{ "query":{ "jdonrefv4" : { "value" : "24 BOULEVARD DE L HOPITAL 75 PARIS"}}}'

par contre, je ne l'ai pas testé, je travaille en javascript.

Je te montrerai après pour faire un filtre, car cela reste une bonne idée pour optimiser les performances.

RE: script php pour lancer une requête de géocodage au serveur JDONREF [ Reply ]
By: Balajee MOUNISSAMY on 2014-10-31 10:35
[forum:482205]
J'ai testé par un petit script PHP ci-dessous :

<?php
//création d'un contexte d'appel de type POST
$opts = array(
'http'=>array(
'method'=>"POST",
'header'=>'Content-type: application/x-www-form-urlencoded',
'content'=>'{ "query":{ "jdonrefv4" : { "value" : "24 BOULEVARD DE L HOPITAL 75 PARIS"}}, "filter": {"term" : { "code_departement" : "75" }}}'
)
);

$context = stream_context_create($opts);

//Utilisation du contexte dans l'appel
$result = file_get_contents(
'http://plf.jdonrefv4.ppol.minint.fr/jdonref/_search',
false,
$context);

echo $result;

?>

Mais $result est vide.

Qu'est-ce que je fais comme erreur ?

Merci d'avance.

RE: script php pour lancer une requête de géocodage au serveur JDONREF [ Reply ]
By: Julien Moquet on 2014-10-31 09:34
[forum:482204]
C'est du REST !
Il suffit d'appeler l'url avec les exemples donnés en contenu POST.

Par exemple,

http://plf.jdonrefv4.ppol.minint.fr/jdonref/_search

avec comme donnée POST
{
"query": {
"jdonrefv4" : {
"value" : "24 BOULEVARD DE L HOPITAL 75 PARIS"
}
}
}


Le plus simple est de le faire en javascript avec XHR, mais en PHP cela donne quelque chose comme :

//création d'un contexte d'appel de type POST
$opts = array(
'http'=>array(
'method'=>'POST',
'header'=>'Content-type: application/x-www-form-urlencoded',
'content'=>'{ "query":{ "jdonrefv4" : { "value" : "24 BOULEVARD DE L HOPITAL 75 PARIS"}}}
)
);
$context = stream_context_create($opts);

//Utilisation du contexte dans l'appel
$result = file_get_contents(
'http://plf.jdonrefv4.ppol.minint.fr/jdonref/_search',
false,
$context);

script php pour lancer une requête de géocodage au serveur JDONREF [ Reply ]
By: Balajee MOUNISSAMY on 2014-10-31 08:40
[forum:482203]
Bonjour,

Serait-il possible d'avoir un exemple de script php pour lancer une requête de géocodage au serveur JDONREF ?

Merci d'avance

Balajee

FEDER AQUINETIC Aquitaine Powered By FusionForge Collaborative Development Environment Charte d'utilisation / Nous contacter / Mentions légales Haut de page