IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

IGN API Géoportail Discussion :

Connaitre l'état des services du GéoPortail : accès par requête


Sujet :

IGN API Géoportail

  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Connaitre l'état des services du GéoPortail : accès par requête
    Bonjour.
    Si - actuellement - il est possible de "Connaitre l'état des services du GéoPortail " via la consultation du site https://stats.uptimerobot.com/28xBxu6Q9, je ne connais pas de possibilité d'appel d'un quelconque état via une requête émise d'un autre site (CORS protections : un "fetch" ne peut pas renvoyer les informations du site).

    Je "bidouille" une application [html + javascript voir PHP si besoin] qui se base principalement sur les "produits IGN" mais je souhaite ne pas la bloquer si IGN est en vrac !
    Outre l'accès aux cartes, j'utilise le routage et le calcul d'élévation. Est-il possible de pouvoir faire appel (existe-t-il une API) à chacun des 18 (??) services indépendants regroupés dans le site "états des services" ?

    Objectifs : 1/ pouvoir afficher dans mon site - au sein de mon application - un voyant "rouge / vert" sur la disponibilité de 3 "fonctions" seulement d'IGN (que je compte réactualiser toutes les 5 minutes par exemple) et 2/ basculer sur des services autres de manière automatique si le voyant passe au rouge (HERE et OpenRouteService pour ne pas les citer) ?

  2. #2
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Après avoir un peu réfléchi, il semble que le flux RSS pourrait répondre au problème 😉. Pas chez moi et pas moyen de tester encore mais repasserai après test avant la nouvelle année 😁

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Retour maison (E.T.) : niet !! même souci à savoir bloqué par une requête CORS !!
    Du coup, ma question reste d'actualité : comment récupérer - via javascript (ou par PHP ?) - la disponibilité des services d'IGN soit l'équivalent de https://stats.uptimerobot.com/28xBxu6Q9

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 154
    Points : 230
    Points
    230
    Par défaut Essai de réponse
    Bonjour, j'ai eu les mêmes interrogations que toi concernant le géocodage. Mon approche est différente, j'ai voulu tester les réponses des serveurs de l'IGN, et trouver des réponses en fonction de celles-ci. Mes solutions sont basées sur l'utilisation des anciens services de géocodage, ce qui est peu satisfaisant, je l'admets.
    Je surveille l'évolution de cette discussion avec intérêt.
    Fichiers attachés Fichiers attachés

  5. #5
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Bon ... j'ai un peu progressé A savoir : j'ai remarqué que le fameux lien annoncé comme disponibilité ( soit : https://stats.uptimerobot.com/28xBxu6Q9 ) "attaquait" différents services. Or je n'avais besoin que de 3 d'entre eux :
    élévation (altimétrie) : https://stats.uptimerobot.com/28xBxu6Q9/778877633,
    images tuilées (WMTS) : https://stats.uptimerobot.com/28xBxu6Q9/778877453 et
    itinéraire piéton : https://stats.uptimerobot.com/28xBxu6Q9/778877632

    Du coup, je suis passé par 3 scripts PHP (un pour chacun ! oui, je sais, je pourrais en faire un seul mais, pour le moment, cela me permet de valider chaque script PHP ) :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php
    header("Access-Control-Allow-Origin: *");
    header("Access-Control-Allow-Methods: POST,GET,OPTIONS");
    header('Access-Control-Allow-Credentials: true');
    header('Access-Control-Allow-Headers: Origin,Access-Control-Allow-Headers,Content-Type,Access-Control-Allow-Methods, Authorization, X-Requested-With,Access-Control-Allow-Credentials');
      $url='https://stats.uptimerobot.com/api/getMonitor/28xBxu6Q9?m=778877453';  //remplacer en fonction de l'url voulue
      $method = 'GET';
        //initiate CURL request
        $curl = curl_init();
        curl_setopt_array($curl, array(
          CURLOPT_URL            => $url, 
          CURLOPT_RETURNTRANSFER => true
        ));
    $response = curl_exec($curl);
    $err      = curl_error($curl);
    curl_close($curl);
    if ($err) {
      echo json_encode($err);
    } else {
      $rep = json_decode($response, true, 512, 0);
      echo $rep["status"];
    }

    Simple PHP me retournant 'Ok' si tout va bien ! C'était tout ce que je souhaitais et je peux appeler le script toutes les 5 minutes puisqu'à priori, c'est la période de mise à jour !

    Ceci dit, il faut espérer que IGN / GéoServices et/ou uptimerobot ne change pas souvent leur interface ! car, si tel est le cas, ne pouvant accéder à la liste des 18 services avec leurs correspondants ( url ), il faudra modifier à chaque fois mes scripts PHP !
    En espérant que cela puisse être utile et en attendant une éventuelle API de IGN / GéoServices nous permettant d'interroger directement chacun de ces 18 services / états sans devoir fouiller le source de https://stats.uptimerobot.com/28xBxu6Q9

  6. #6
    Membre actif Avatar de azarzelli
    Homme Profil pro
    Analyse système
    Inscrit en
    Septembre 2020
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Septembre 2020
    Messages : 136
    Points : 269
    Points
    269
    Par défaut
    Bonjour,

    Pour information, le fonctionnement des sondes uptime robot est assez simple à reproduire. Afin de déterminer si le service est "up" ou "down", la sonde envoie simplement toutes les 5 minutes une requête sur le service (par exemple, https://wxs.ign.fr/calcul/itineraire...&srs=EPSG:4326 pour "Itinéraire piéton"). Si la réponse a pour code 200, le service est vert, et sinon il est rouge.

    Cela étant dit, je pense que la page sur laquelle vous vous basez n'est pas amenée à évoluer prochainement.

    Cordialement,

  7. #7
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 6
    Points : 4
    Points
    4
    Par défaut
    Merci de l'information ... J'ai cru lire quelque part (j'ai fouillé où j'ai pu) qu'une réponse 200 ne signifie pas nécessairement que la réponse est bonne ... Si je fais ça (j'y ai pensé), je testerai plutôt le retour pour le vérifier. Ceci dit, je ne suis pas un professionnel. Et pour tout dire, j'ai quelque peu amélioré mon script de la manière suivante :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <?php
    header("Access-Control-Allow-Origin: *");
    header("Access-Control-Allow-Methods: POST,GET,OPTIONS");
    header('Access-Control-Allow-Credentials: true');
    header('Access-Control-Allow-Headers: Origin,Access-Control-Allow-Headers,Content-Type,Access-Control-Allow-Methods, Authorization, X-Requested-With,Access-Control-Allow-Credentials');
     
      $url='https://stats.uptimerobot.com/api/getMonitor/28xBxu6Q9?m=778877453';
      $method = 'GET';
        //initiate CURL request
        $curl = curl_init();
        curl_setopt_array($curl, array(
          CURLOPT_URL            => $url, 
          CURLOPT_RETURNTRANSFER => true
        ));
    $timedeb = microtime(true);
    $response = curl_exec($curl);
    $err      = curl_error($curl);
    curl_close($curl);
    if ($err) {
      $duree = 1000*(microtime(true) - $timedeb);
      $return = json_encode($err);
    } else {
      $duree = 1000*(microtime(true) - $timedeb);
      $rep = json_decode($response, true, 512, 0);
      //file_ecrit('debug.txt',$rep["monitor"]["logs"][0]["class"]);
      // echo $rep["status"]; => OK !
      $return = $rep["monitor"]["logs"][0]["class"];
      $retour = [round($duree,0), $return];
      echo json_encode($retour);
    }
    ?>

    afin qu'il me réponde le dernier "success" (ou pas !) et une indication du temps de réponse ...
    Après, j'ai cru lire des logs ou le service se désactivait pour des raisons de TimeOut. Pas toujours évident de savoir s'il existe d'autre retour de $rep["monitor"]["logs"][0]["class"] différent de "success" qui permette de se dire : ça peut marcher mais en version dégradée !?!?

  8. #8
    Membre actif
    Homme Profil pro
    Architecte progiciel et développeur informatique
    Inscrit en
    Février 2011
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte progiciel et développeur informatique

    Informations forums :
    Inscription : Février 2011
    Messages : 233
    Points : 294
    Points
    294
    Par défaut
    Bonjour,

    avec le problème, ça remet en cause la vérification du bon fonctionnement des services WEB. https://geoservices.ign.fr/actualite...-actu-incident
    Car ils sont opérationnelles sur le portail https://stats.uptimerobot.com/28xBxu6Q9, et portant certains services sont non fonctionnels.

    Quelques soient la clé (decouverte, essentiels...) cela retourne une erreur 400 avec une erreur sur la clé 'La clé est invalide ou ne dispose d'aucun droit'
    wxs.ign.fr/essentiels/autoconf?output=json

    A réfléchir

    Bonne année à tous

    Xav

  9. #9
    Membre actif Avatar de azarzelli
    Homme Profil pro
    Analyse système
    Inscrit en
    Septembre 2020
    Messages
    136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Septembre 2020
    Messages : 136
    Points : 269
    Points
    269
    Par défaut
    Bonjour,

    En fait les services étaient fonctionnels, mais pas avec les clefs génériques... Je vais voir s'il est possible de modifier l'interface pour remplacer les sondes (qui ont actuellement une clef spécifique) par des sondes avec les clefs génériques, ce qui serait plus représentatif en cas d'incident sur les droit d'accès des clefs génériques.

    Cordialement,

  10. #10
    Membre actif
    Homme Profil pro
    Architecte progiciel et développeur informatique
    Inscrit en
    Février 2011
    Messages
    233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte progiciel et développeur informatique

    Informations forums :
    Inscription : Février 2011
    Messages : 233
    Points : 294
    Points
    294
    Par défaut
    Super, ce serait top.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Un lien qui affiche l'état des services IGN
    Par saxrub dans le forum IGN API Géoportail
    Réponses: 1
    Dernier message: 14/12/2021, 23h05
  2. Connaitre l'état des services du GéoPortail
    Par NJNDEV dans le forum IGN API Géoportail
    Réponses: 0
    Dernier message: 25/03/2021, 19h11
  3. Réponses: 0
    Dernier message: 17/11/2020, 12h58
  4. Réponses: 0
    Dernier message: 03/12/2015, 09h55
  5. connaitre l'état des ports de mon pc
    Par edzodzinam dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 14/03/2008, 21h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo