Récupération des vols par un logiciel tiers: Difference between revisions

From Documentation de la solution web de gestion OpenFlyers
Jump to navigation Jump to search
imported>Jcheng
imported>Claratte
 
(19 intermediate revisions by 3 users not shown)
Line 1: Line 1:
__TOC__
=Présentation=
=Présentation=
L'objet de cette page est de décrire la récupération des [[Introduction#saisie-de-l'activité|vols]] par un logiciel tiers. La récupération est réalisée à l'aide d'un [[Wikipedia-fr:Service web|service web]].


L'objet de cette page est de décrire la récupération des vols par un logiciel tiers. La récupération est réalisée à l'aide d'un [[Wikipedia-fr:Service web|service web]].
C'est, par exemple, grâce à cette fonctionnalité que les livrets de progression électroniques [https://iflyinnovation.com/ iFly innovation] et [https://www.f-prog.com/ Flight Progress] s'interfacent avec OpenFlyers.
 
=Documentation pour les développeurs d'interfaçage avec OpenFlyers=
''La récupération des X derniers vols est ouverte pour n'importe quel logiciel. La documentation de ce chapitre est destinée aux éditeurs logiciels qui souhaitent s'interfacer avec OpenFlyers.''


=Interfaçage avec OpenFlyers=


La récupération des X derniers vols se fait à l'aide du webservice '''getActivityList'''.
La récupération des X derniers vols se fait à l'aide du webservice '''getActivityList'''.
Prérequis : [[#Paramétrer-la-clé-de-sécurité|initialiser la clé de sécurité]] à une valeur non vide. Il s'agit d'une phrase qui doit être la même dans la configuration d'OpenFlyers et dans le logiciel tiers récupérant les vols.


Pour accéder à ce webservice, il faut :
Pour accéder à ce webservice, il faut :
* Utiliser le protocole de communication HTTPS
* Utiliser le protocole de communication HTTPS
* Appeler l'URL ci-dessous en remplaçant "maplateforme" par le nom de la plateforme concernée :
* Appeler l'URL ci-dessous en remplaçant "maplateforme" par le nom de la plateforme concernée :
<pre>https://maplateforme.openflyers.fr/actionOnDemand.php</pre>
<pre>https://openflyers.com/maplateforme/actionOnDemand.php</pre>
* Transmettre les paramètres suivantes par méthode POST :
* Transmettre les paramètres suivantes par méthode POST :
** '''arguments[0]''' : getActivityList
** '''arguments[0]''' : getActivityList
** '''key''' : La clé de sécurité du service web.
** '''key''' : La clé de sécurité du service web.
** '''maxNumber''' : Le nombre de vols à récupérer
** '''maxNumber''' : Le nombre de vols à récupérer (paramètre optionnel)
** '''startDate''' : La date de début en UTC des vols à récupérer. Ce paramètre est optionnel et doit être au format AAAA-MM-JJ hh:mm:ss
** '''startDate''' : La date de début en UTC des vols à récupérer. Ce paramètre est optionnel et doit être au format AAAA-MM-JJ hh:mm:ss
** '''endDate''' : La date de fin des en UTC vols à récupérer. Ce paramètre est optionnel et doit être au format AAAA-MM-JJ hh:mm:ss
** '''endDate''' : La date de fin des en UTC vols à récupérer. Ce paramètre est optionnel et doit être au format AAAA-MM-JJ hh:mm:ss


Le service web va renvoyer soit :
Le service web renvoie une réponse au format JSON si :
* Un message d'interdiction d'accès lorsque l'un de ces conditions est rencontrée :
* le protocole de communication HTTPS est employé
** le protocole de communication HTTP est employé  
* la clé de sécurité est correcte
** la clé de sécurité n'est pas bonne
*'''startDate''' et '''endDate''' sont renseignés. Une date de début/fin qui n'est pas au bon format sera remplacée par la date courante
** La date de début est renseignée et la date de fin de l'est pas. Une date de début/fin qui n'est pas au bon format sera remplacée par la date courante
*L'écart entre '''startDate''' et '''endDate''' est '''inférieur à 32 jours'''
** La date de fin est renseignée et la date de début ne l'est pas. Une date de début/fin qui n'est pas au bon format sera remplacée par la date courante
Sinon, un message d'interdiction d'accès est renvoyé.
** La date de début et de fin sont toutes les deux renseignées et il y a un écart de plus de 32 jours entre ces dates
* Au format JSON :
** Lorsque '''startDate''' et '''endDate''' sont renseignés, la liste des vols entre ces périodes, ordonnés du plus récent au plus vieux
** Le cas échéant, la liste des '''maxNumber''' derniers vols ordonnés du plus récent au plus vieux


La liste des vols renvoyée entre ces périodes est ordonnée du plus récent au plus vieux.


Exemple de formulaire pour récupérer les derniers vols sur la plateforme demo-fr.openflyers.fr où on demande la clé et le nombre de vols :
Si le paramètre '''maxNumber''' est transmis, seuls les '''maxNumber''' derniers vols sont renvoyés en commençant par le plus récent
<html4Strict><form action="https://demo-fr.openflyers.fr/actionOnDemand.php" method="post">
 
 
 
Exemple de formulaire pour récupérer les derniers vols sur la plateforme openflyers.com/demo-fr où on demande la clé et le nombre de vols. Il est recommandé de remplacer les dates par le 1er jour du mois courant et le 1er jour du mois suivant :
<html4Strict><?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head><title>Test récupération des vols</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<body><form action="https://openflyers.com/demo-aero-club/actionOnDemand.php" method="post">
     <input type="hidden" name="arguments[0]" value="getActivityList" />
     <input type="hidden" name="arguments[0]" value="getActivityList" />
     <label>Clé :</label>
     <label>Clé :</label>
     <br/>
     <br/>
     <input type="text" name="key" value="" />
     <input type="text" name="key" value="cleopenflyers" />
     <br/>
     <br/>
     <label>Limite :</label>
     <label>Limite :</label>
Line 43: Line 55:
     <label>Date de début (AAAA-MM-JJ hh:mm:ss) :</label>
     <label>Date de début (AAAA-MM-JJ hh:mm:ss) :</label>
     <br/>
     <br/>
     <input type="text" name="startDate" value="" />
     <input type="text" name="startDate" value="2020-04-01 00:00:00" />
     <br/>
     <br/>
     <label>Date de fin (AAAA-MM-JJ hh:mm:ss) :</label>
     <label>Date de fin (AAAA-MM-JJ hh:mm:ss) :</label>
     <br/>
     <br/>
     <input type="text" name="endDate" value="" />
     <input type="text" name="endDate" value="2020-05-01 00:00:00" />
     <br/>
     <br/>
     <input type="submit" value="Test" />
     <input type="submit" value="Test" />
</form></html4Strict>
</form>
</body>
</html></html4Strict>


Exemple de de retour :
Exemple de retour :
<javascript>[
<javascript>[
     {
     {
         "first_person":"MUZIKA Joseph",
        "flight_id":"41134",
         "first_person":"DURAND Jacques",
         "start_date":"2016-10-19 08:30:00",
         "start_date":"2016-10-19 08:30:00",
         "second_person":"",
         "second_person":"",
         "departure_location_name":"LFRB",
         "departure_location_name":"LFPG",
         "end_date":"2016-10-19 09:30:00",
         "end_date":"2016-10-19 09:30:00",
         "arrival_location_name":"LFRB",
         "arrival_location_name":"LFPG",
         "duration":"1:00",
         "duration":"1:00",
         "landing_number":"2",
         "landing_number":"2",
         "resource_name":"F-HIAE"
         "resource_name":"F-HABC"
     },
     },
     {
     {
         "first_person":"OLLIVIER Gabriel",
        "flight_id":"41035",
         "first_person":"DUPONT Jean",
         "start_date":"2016-10-18 15:16:00",
         "start_date":"2016-10-18 15:16:00",
         "second_person":"",
         "second_person":"",
Line 74: Line 90:
         "duration":"1:30",
         "duration":"1:30",
         "landing_number":"1",
         "landing_number":"1",
         "resource_name":"Simu F-DSIM"
         "resource_name":"F-HDEF"
     }
     }
]</javascript>
]</javascript>


=Paramétrer la clé de sécurité=
=[[Configuration#Clé-de-service-web-(lorsque-requis)|Paramétrer la clé de sécurité]]=
 
* Menu '''Admin > Configuration > Paramétrage'''
* Aller dans le bloc '''Gestion générale'''
* Saisir le champ '''Clé de service web (lorsque requis)'''

Latest revision as of 08:11, 4 October 2021

Présentation

L'objet de cette page est de décrire la récupération des vols par un logiciel tiers. La récupération est réalisée à l'aide d'un service web.

C'est, par exemple, grâce à cette fonctionnalité que les livrets de progression électroniques iFly innovation et Flight Progress s'interfacent avec OpenFlyers.

Documentation pour les développeurs d'interfaçage avec OpenFlyers

La récupération des X derniers vols est ouverte pour n'importe quel logiciel. La documentation de ce chapitre est destinée aux éditeurs logiciels qui souhaitent s'interfacer avec OpenFlyers.


La récupération des X derniers vols se fait à l'aide du webservice getActivityList.


Prérequis : initialiser la clé de sécurité à une valeur non vide. Il s'agit d'une phrase qui doit être la même dans la configuration d'OpenFlyers et dans le logiciel tiers récupérant les vols.

Pour accéder à ce webservice, il faut :

  • Utiliser le protocole de communication HTTPS
  • Appeler l'URL ci-dessous en remplaçant "maplateforme" par le nom de la plateforme concernée :
https://openflyers.com/maplateforme/actionOnDemand.php
  • Transmettre les paramètres suivantes par méthode POST :
    • arguments[0] : getActivityList
    • key : La clé de sécurité du service web.
    • maxNumber : Le nombre de vols à récupérer (paramètre optionnel)
    • startDate : La date de début en UTC des vols à récupérer. Ce paramètre est optionnel et doit être au format AAAA-MM-JJ hh:mm:ss
    • endDate : La date de fin des en UTC vols à récupérer. Ce paramètre est optionnel et doit être au format AAAA-MM-JJ hh:mm:ss

Le service web renvoie une réponse au format JSON si :

  • le protocole de communication HTTPS est employé
  • la clé de sécurité est correcte
  • startDate et endDate sont renseignés. Une date de début/fin qui n'est pas au bon format sera remplacée par la date courante
  • L'écart entre startDate et endDate est inférieur à 32 jours

Sinon, un message d'interdiction d'accès est renvoyé.

La liste des vols renvoyée entre ces périodes est ordonnée du plus récent au plus vieux.

Si le paramètre maxNumber est transmis, seuls les maxNumber derniers vols sont renvoyés en commençant par le plus récent


Exemple de formulaire pour récupérer les derniers vols sur la plateforme openflyers.com/demo-fr où on demande la clé et le nombre de vols. Il est recommandé de remplacer les dates par le 1er jour du mois courant et le 1er jour du mois suivant : <html4Strict><?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head><title>Test récupération des vols</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <body><form action="https://openflyers.com/demo-aero-club/actionOnDemand.php" method="post">

   <input type="hidden" name="arguments[0]" value="getActivityList" />
   <label>Clé :</label>
   
<input type="text" name="key" value="cleopenflyers" />
<label>Limite :</label>
<input type="text" name="maxNumber" value="1" />
<label>Date de début (AAAA-MM-JJ hh:mm:ss) :</label>
<input type="text" name="startDate" value="2020-04-01 00:00:00" />
<label>Date de fin (AAAA-MM-JJ hh:mm:ss) :</label>
<input type="text" name="endDate" value="2020-05-01 00:00:00" />
<input type="submit" value="Test" />

</form> </body> </html></html4Strict>

Exemple de retour : <javascript>[

   {
       "flight_id":"41134",
       "first_person":"DURAND Jacques",
       "start_date":"2016-10-19 08:30:00",
       "second_person":"",
       "departure_location_name":"LFPG",
       "end_date":"2016-10-19 09:30:00",
       "arrival_location_name":"LFPG",
       "duration":"1:00",
       "landing_number":"2",
       "resource_name":"F-HABC"
   },
   {
       "flight_id":"41035",
       "first_person":"DUPONT Jean",
       "start_date":"2016-10-18 15:16:00",
       "second_person":"",
       "departure_location_name":null,
       "end_date":"2016-10-18 16:46:00",
       "arrival_location_name":null,
       "duration":"1:30",
       "landing_number":"1",
       "resource_name":"F-HDEF"
   }

]</javascript>

Paramétrer la clé de sécurité