ServiceWeb vols : Différence entre versions
(v3.3) |
m (v3.3) |
||
Ligne 60 : | Ligne 60 : | ||
== Liste des aéronefs == | == Liste des aéronefs == | ||
+ | Cette fonction permet de récupérer la liste des aéronefs.<br /> | ||
+ | |||
+ | <code> | ||
+ | // Liste des aéronefs | ||
+ | $aeronefs = sendGivav('getAeronef',array('actif' => true,'planeur' => true,'avion' => true,'ulm' => true,'tmg' => true,'simulateur' => false)); | ||
+ | print_r($aeronefs); | ||
+ | </code> | ||
+ | Ce code PHP demande au serveur de lui retourner les aéronefs actifs sauf les simulateurs.<br /> | ||
+ | La variable ''$fonction'' a comme valeur '''getAeronef''', le tableau ''$params'' contient : | ||
+ | * actif : (booléen) '''true''' pour retourner uniquement les aéronefs actifs. | ||
+ | * planeur : (booléen) '''true''' pour retourner les planeurs. | ||
+ | * avion : (booléen) '''true''' pour retourner les avions. | ||
+ | * ulm : (booléen) '''true''' pour retourner les ULM. | ||
+ | * tmg : (booléen) '''true''' pour retourner les TMG. | ||
+ | * simulateur : (booléen) '''true''' pour retourner les simulateurs. | ||
+ | <br /> | ||
+ | |||
+ | <code> | ||
+ | [0] => stdClass Object | ||
+ | ( | ||
+ | [id_aeronef] => 23 | ||
+ | [immatriculation] => F-BRKD | ||
+ | [nom_type] => MS 893 | ||
+ | [no_concours] => | ||
+ | [categorie] => A | ||
+ | [nb_places] => 4 | ||
+ | [treuillable] => | ||
+ | [remorquable] => | ||
+ | [turbo] => | ||
+ | [autonome] => 1 | ||
+ | [saisie_moteur] => C | ||
+ | [remorqueur] => 1 | ||
+ | [saisie_remorque] => C | ||
+ | [flarm_id] => | ||
+ | [actif] => 1 | ||
+ | [situation] => B | ||
+ | ) | ||
+ | |||
+ | [1] => stdClass Object | ||
+ | ( | ||
+ | [id_aeronef] => 444 | ||
+ | [immatriculation] => F-CCDF | ||
+ | [nom_type] => ASK 21 | ||
+ | [no_concours] => DF | ||
+ | [categorie] => P | ||
+ | [nb_places] => 2 | ||
+ | [treuillable] => 1 | ||
+ | [remorquable] => 1 | ||
+ | [turbo] => | ||
+ | [autonome] => | ||
+ | [saisie_moteur] => | ||
+ | [remorqueur] => | ||
+ | [saisie_remorque] => | ||
+ | [flarm_id] => DDDCBF | ||
+ | [actif] => 1 | ||
+ | [situation] => C | ||
+ | ) | ||
+ | </code> | ||
+ | Voici deux aéronefs retournés par le serveur.<br /><br /> | ||
+ | |||
+ | <code> | ||
+ | // Aéronef | ||
+ | class Aeronef | ||
+ | { | ||
+ | /** | ||
+ | * Identifiant unique de l'aéronef | ||
+ | * | ||
+ | * @var integer | ||
+ | */ | ||
+ | public $id_aeronef; | ||
+ | /** | ||
+ | * Immatriculation | ||
+ | * | ||
+ | * @var string | ||
+ | */ | ||
+ | public $immatriculation; | ||
+ | /** | ||
+ | * Type de l'aéronef | ||
+ | * | ||
+ | * @var string | ||
+ | */ | ||
+ | public $nom_type; | ||
+ | /** | ||
+ | * Numéro de concours | ||
+ | * | ||
+ | * @var string | ||
+ | */ | ||
+ | public $no_concours; | ||
+ | /** | ||
+ | * Catégorie d'aéronef P = planeur, A = avion, U = UML, T = TMG, S = simulateur | ||
+ | * | ||
+ | * @var string | ||
+ | */ | ||
+ | public $categorie; | ||
+ | /** | ||
+ | * Nombre de places | ||
+ | * | ||
+ | * @var integer | ||
+ | */ | ||
+ | public $nb_places; | ||
+ | /** | ||
+ | * Est-il treuillable ? (Planeur, ULM) | ||
+ | * | ||
+ | * @var boolean | ||
+ | */ | ||
+ | public $treuillable; | ||
+ | /** | ||
+ | * Est-il remorquable ? (Planeur, ULM) | ||
+ | * | ||
+ | * @var boolean | ||
+ | */ | ||
+ | public $remorquable; | ||
+ | /** | ||
+ | * Le planeur est-il équipé d'un turbo ? (Planeur) | ||
+ | * | ||
+ | * @var boolean | ||
+ | */ | ||
+ | public $turbo; | ||
+ | /** | ||
+ | * L'aéronef décolle-t-il seul ? (Planeur, ULM) | ||
+ | * | ||
+ | * @var boolean | ||
+ | */ | ||
+ | public $autonome; | ||
+ | /** | ||
+ | * Mode de saisie du temps moteur (autonome ou turbo) T = Heures, minutes et secondes, C = Centièmes, H = Horamètre début et fin | ||
+ | * | ||
+ | * @var string | ||
+ | */ | ||
+ | public $saisie_moteur; | ||
+ | /** | ||
+ | * Cet aéronef est-il un remorqueur ? (Avion, ULM, TMG) | ||
+ | * | ||
+ | * @var boolean | ||
+ | */ | ||
+ | public $remorqueur; | ||
+ | /** | ||
+ | * Mode de saisie du temps de remorquage (remorqueur) T = Heures, minutes et secondes, C = Centièmes, H = Horamètre début et fin | ||
+ | * | ||
+ | * @var string | ||
+ | */ | ||
+ | public $saisie_remorque; | ||
+ | /** | ||
+ | * Identifiant unique du FLARM | ||
+ | * | ||
+ | * @var string | ||
+ | */ | ||
+ | public $flarm_id; | ||
+ | /** | ||
+ | * Est-il actif ? | ||
+ | * | ||
+ | * @var boolean | ||
+ | */ | ||
+ | public $actif; | ||
+ | /** | ||
+ | * Situation par rapport au club : C = club, P = privé, B = banalisé, E = extérieur | ||
+ | * | ||
+ | * @var string | ||
+ | */ | ||
+ | public $situation; | ||
+ | } | ||
+ | </code> | ||
+ | Ci-dessus, la description de l'objet retourné pour un aéronef.<br /><br /> | ||
+ | |||
+ | == Liste des treuils == | ||
Cette fonction permet de récupérer la liste des aéronefs.<br /> | Cette fonction permet de récupérer la liste des aéronefs.<br /> | ||
Version du 7 mars 2018 à 07:55
Attention ! Cette fonctionnalité apparaîtra en mars 2018 avec la version 3.3.
Ce service Web remplace l'ancienne version qui utilisait SOAP. Maintenant, il utilise l'envoi d'objets encodé en JSON sur une liaison cryptée (HTTPS).
L'ancienne version pourra encore être utilisée en 2018, pour ceci, vous devez mettre en place l'utilisateur décrit ci-dessous, le mot de passe étant celui du club (utilisé par le module PDA ou PC).
Authentification
Pour accéder au service Web, il faut créer un utilisateur dédié.
Cet utilisateur se voit affecter un rôle limité à l'accès au service Web des vols.
/**
* Exécution d'un requête vers le serveur
*
* @param string $fonction Action à exécuter
* @param array $params Tableau des variables à transmettre
* @return object
*/
function sendGivav($fonction,$params)
{
// Données de connexion
$post = array(
'assoc' => '524901'
,'utilisateur' => 'sw.vol'
,'mot_de_passe' => 'mon mot de passe'
);
$post = array_merge($post,$params);
$post_string = ;
foreach ($post as $key => $value) {
$post_string .= $key . '=' . $value . '&';
}
$post_string = rtrim($post_string,'&');
// Requête
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://localhost:10095/givav.php/gvsw/vol/' . $fonction);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT ,3);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
curl_setopt($ch, CURLOPT_SSLVERSION,3);
$response = curl_exec($ch);
if ($response === false) {
if (is_numeric(curl_errno($ch)) and function_exists('curl_strerror')) {
throw new Exception('Curl error : ' . curl_strerror(curl_errno($ch)));
} else {
throw new Exception('Curl error : ' . curl_errno($ch));
}
}
curl_close($ch);
return json_decode($response);
}
Cette fonction montre comment envoyer une requête en PHP au service Web des vols.
Les variables $fontion et $params sont expliquées plus loin.
Liste des aéronefs
Cette fonction permet de récupérer la liste des aéronefs.
// Liste des aéronefs
$aeronefs = sendGivav('getAeronef',array('actif' => true,'planeur' => true,'avion' => true,'ulm' => true,'tmg' => true,'simulateur' => false));
print_r($aeronefs);
Ce code PHP demande au serveur de lui retourner les aéronefs actifs sauf les simulateurs.
La variable $fonction a comme valeur getAeronef, le tableau $params contient :
- actif : (booléen) true pour retourner uniquement les aéronefs actifs.
- planeur : (booléen) true pour retourner les planeurs.
- avion : (booléen) true pour retourner les avions.
- ulm : (booléen) true pour retourner les ULM.
- tmg : (booléen) true pour retourner les TMG.
- simulateur : (booléen) true pour retourner les simulateurs.
[0] => stdClass Object
(
[id_aeronef] => 23
[immatriculation] => F-BRKD
[nom_type] => MS 893
[no_concours] =>
[categorie] => A
[nb_places] => 4
[treuillable] =>
[remorquable] =>
[turbo] =>
[autonome] => 1
[saisie_moteur] => C
[remorqueur] => 1
[saisie_remorque] => C
[flarm_id] =>
[actif] => 1
[situation] => B
)
[1] => stdClass Object
(
[id_aeronef] => 444
[immatriculation] => F-CCDF
[nom_type] => ASK 21
[no_concours] => DF
[categorie] => P
[nb_places] => 2
[treuillable] => 1
[remorquable] => 1
[turbo] =>
[autonome] =>
[saisie_moteur] =>
[remorqueur] =>
[saisie_remorque] =>
[flarm_id] => DDDCBF
[actif] => 1
[situation] => C
)
Voici deux aéronefs retournés par le serveur.
// Aéronef
class Aeronef
{
/**
* Identifiant unique de l'aéronef
*
* @var integer
*/
public $id_aeronef;
/**
* Immatriculation
*
* @var string
*/
public $immatriculation;
/**
* Type de l'aéronef
*
* @var string
*/
public $nom_type;
/**
* Numéro de concours
*
* @var string
*/
public $no_concours;
/**
* Catégorie d'aéronef P = planeur, A = avion, U = UML, T = TMG, S = simulateur
*
* @var string
*/
public $categorie;
/**
* Nombre de places
*
* @var integer
*/
public $nb_places;
/**
* Est-il treuillable ? (Planeur, ULM)
*
* @var boolean
*/
public $treuillable;
/**
* Est-il remorquable ? (Planeur, ULM)
*
* @var boolean
*/
public $remorquable;
/**
* Le planeur est-il équipé d'un turbo ? (Planeur)
*
* @var boolean
*/
public $turbo;
/**
* L'aéronef décolle-t-il seul ? (Planeur, ULM)
*
* @var boolean
*/
public $autonome;
/**
* Mode de saisie du temps moteur (autonome ou turbo) T = Heures, minutes et secondes, C = Centièmes, H = Horamètre début et fin
*
* @var string
*/
public $saisie_moteur;
/**
* Cet aéronef est-il un remorqueur ? (Avion, ULM, TMG)
*
* @var boolean
*/
public $remorqueur;
/**
* Mode de saisie du temps de remorquage (remorqueur) T = Heures, minutes et secondes, C = Centièmes, H = Horamètre début et fin
*
* @var string
*/
public $saisie_remorque;
/**
* Identifiant unique du FLARM
*
* @var string
*/
public $flarm_id;
/**
* Est-il actif ?
*
* @var boolean
*/
public $actif;
/**
* Situation par rapport au club : C = club, P = privé, B = banalisé, E = extérieur
*
* @var string
*/
public $situation;
}
Ci-dessus, la description de l'objet retourné pour un aéronef.
Liste des treuils
Cette fonction permet de récupérer la liste des aéronefs.
// Liste des aéronefs
$aeronefs = sendGivav('getAeronef',array('actif' => true,'planeur' => true,'avion' => true,'ulm' => true,'tmg' => true,'simulateur' => false));
print_r($aeronefs);
Ce code PHP demande au serveur de lui retourner les aéronefs actifs sauf les simulateurs.
La variable $fonction a comme valeur getAeronef, le tableau $params contient :
- actif : (booléen) true pour retourner uniquement les aéronefs actifs.
- planeur : (booléen) true pour retourner les planeurs.
- avion : (booléen) true pour retourner les avions.
- ulm : (booléen) true pour retourner les ULM.
- tmg : (booléen) true pour retourner les TMG.
- simulateur : (booléen) true pour retourner les simulateurs.
[0] => stdClass Object
(
[id_aeronef] => 23
[immatriculation] => F-BRKD
[nom_type] => MS 893
[no_concours] =>
[categorie] => A
[nb_places] => 4
[treuillable] =>
[remorquable] =>
[turbo] =>
[autonome] => 1
[saisie_moteur] => C
[remorqueur] => 1
[saisie_remorque] => C
[flarm_id] =>
[actif] => 1
[situation] => B
)
[1] => stdClass Object
(
[id_aeronef] => 444
[immatriculation] => F-CCDF
[nom_type] => ASK 21
[no_concours] => DF
[categorie] => P
[nb_places] => 2
[treuillable] => 1
[remorquable] => 1
[turbo] =>
[autonome] =>
[saisie_moteur] =>
[remorqueur] =>
[saisie_remorque] =>
[flarm_id] => DDDCBF
[actif] => 1
[situation] => C
)
Voici deux aéronefs retournés par le serveur.
// Aéronef
class Aeronef
{
/**
* Identifiant unique de l'aéronef
*
* @var integer
*/
public $id_aeronef;
/**
* Immatriculation
*
* @var string
*/
public $immatriculation;
/**
* Type de l'aéronef
*
* @var string
*/
public $nom_type;
/**
* Numéro de concours
*
* @var string
*/
public $no_concours;
/**
* Catégorie d'aéronef P = planeur, A = avion, U = UML, T = TMG, S = simulateur
*
* @var string
*/
public $categorie;
/**
* Nombre de places
*
* @var integer
*/
public $nb_places;
/**
* Est-il treuillable ? (Planeur, ULM)
*
* @var boolean
*/
public $treuillable;
/**
* Est-il remorquable ? (Planeur, ULM)
*
* @var boolean
*/
public $remorquable;
/**
* Le planeur est-il équipé d'un turbo ? (Planeur)
*
* @var boolean
*/
public $turbo;
/**
* L'aéronef décolle-t-il seul ? (Planeur, ULM)
*
* @var boolean
*/
public $autonome;
/**
* Mode de saisie du temps moteur (autonome ou turbo) T = Heures, minutes et secondes, C = Centièmes, H = Horamètre début et fin
*
* @var string
*/
public $saisie_moteur;
/**
* Cet aéronef est-il un remorqueur ? (Avion, ULM, TMG)
*
* @var boolean
*/
public $remorqueur;
/**
* Mode de saisie du temps de remorquage (remorqueur) T = Heures, minutes et secondes, C = Centièmes, H = Horamètre début et fin
*
* @var string
*/
public $saisie_remorque;
/**
* Identifiant unique du FLARM
*
* @var string
*/
public $flarm_id;
/**
* Est-il actif ?
*
* @var boolean
*/
public $actif;
/**
* Situation par rapport au club : C = club, P = privé, B = banalisé, E = extérieur
*
* @var string
*/
public $situation;
}
Ci-dessus, la description de l'objet retourné pour un aéronef.