Service+Web

De GIVAV-WIKI
Aller à la navigationAller à la recherche

Service Web : Saisie des vols en piste

ATTENTION ! Ce service Web n'est plus disponible (01/01/2019), il est remplacé par celui-ci.

L'échange entre le terminal de saisie en piste (PDA ou PC) et le serveur du GIVAV s'effectue via un service Web dont l'adresse est https://pda.givav.fr .
Service web 001.jpg
La définition de ce service permet de voir les différents points d'entrée :

  • testCom : Test la communication et l'authentification
  • getAeronef : Récupération de la liste des aéronefs (y compris les remorqueurs)
  • getPilote : Récupération de la liste des pilotes
  • getTreuil : Récupération de la liste des treuils
  • getGeneral : Récupération des paramètres
  • setVol : Envoi d'un ou plusieurs vols

Test de la communication

Les paramètres indiqués sur le terminal permettent de tester la communication et de s'authentifier sur le serveur.
La fonction testCom n'accepte qu'un seul paramètre qui contient la structure XML suivante :

<authentification>
   <assoc>9</assoc>
   <password>demo</password>
   <noPlanche>8</noPlanche>
   <version>1.0</version>
   <jour>1103</jour>
</authentification>

Les différentes balises sont :

  • assoc : Code FFVV de l'association (ici le 9 désigne le club de démonstration du GIVAV)
  • password : Mot de passe du club (ici demo)
  • noPlanche : Numéro de planche pour les vols saisis
  • version : Version du protocole de communication (actuellement 1.0)
  • jour : Jour de la saisie (mois + jour) sur 4 caractères

Si le test réussi, le service Web retourne « OK » sinon, il retourne le texte de l'erreur (ex : authentification : mot de passe erroné).

Liste des aéronefs

La fonction getAeronef est appelée avec le même paramètre que pour l'authentification.
Par contre, le retour est un texte XML dont le contenu est :

<planeurs>
   <planeur>
      <id_aeronef>226</id_aeronef>
      <immat>F-CECJ</immat>
      <no_concours>CJ</no_concours>
      <nbplace>1</nbplace>
      <type>ASW 20F</type>
      <autonome>0</autonome>
      <treuillable>1</treuillable>
      <remorquable>1</remorquable>
      <remorqueur>0</remorqueur>
      <situation>C</situation>
      <actif>1</actif>
   </planeur>
</planeurs>

Bien que chaque entrée se nomme planeur, ce fichier contient aussi le avions.
Les différentes balises sont :

  • id_aeronef : identifiant unique de l'aéronef dans la base de données
  • immat : Immatriculation
  • no_concours : Numéro de concours
  • nbPlace : Nombre de places (1 ou 2)
  • type : Modèle d'aéronef
  • autonome : 1 si l'aéronef peut décoller seul
  • treuillable : 1 si l'aéronef peut décoller au treuil
  • remorquable : 1 si l'aéronef peut décoller derrière un remorqueur
  • remorqueur : 1 si l'aéronef est un remorqueur
  • situation : Situation de l'aéronef (C = club, B = banalisé, P = privé basé, E = extérieur)
  • actif : 1 si l'aéronef est actif

La liste des aéronefs proposés en saisie comporte uniquement les aéronefs actifs, il faut décocher une case pour voir aussi les inactifs.

Liste des pilotes

La fonction getPilote est appelée avec le même paramètre que pour l'authentification.
Par contre, le retour est un texte XML dont le contenu est :

<pilotes>
   <pilote>
      <code>P635</code>
      <nomPrenom>LEBEAU Adam</nomPrenom>
      <trigramInstructeur/>
      <trigramTreuilleur/>
      <trigramRemorqueur/>
      <trigramPiloteVi/>
      <compteGlobal>0</compteGlobal>
      <compteClub>0</compteClub>
      <actif>0</actif>
   </pilote>
</pilotes>

Chaque entrée se nomme pilote alors que nous pouvons aussi trouver les associations et les comptes internes.
Les différentes balises sont :

  • code : Identifiant unique dans la base, débute par P pour les pilotes, A pour les associations et I pour les comptes internes
  • nomPrenom : Nom et prénom
  • trigramInstructeur : Code abrégé du nom (ex ; BGN). S'il est renseigné, le pilote est un instructeur.
  • trigramTreuilleur : Code abrégé du nom (ex ; BGN). S'il est renseigné, le pilote est un treuilleur.
  • trigramRemorqueur : Code abrégé du nom (ex ; BGN). S'il est renseigné, le pilote est un pilote remorqueur.
  • trigramPiloteVi : Code abrégé du nom (ex ; BGN). S'il est renseigné, le pilote peut faire des VI club.
  • compteGlobal : 1 pour les associations (redondant avec le A devant le code)
  • compteClub : 1 pour les comptes internes (redondant avec le I devant le code)

Liste des treuils

La fonction getTreuil est appelée avec le même paramètre que pour l'authentification.
Par contre, le retour est un texte XML dont le contenu est :

<treuils>
   <treuil>
      <id_treuil>3</id_treuil>
      <Nom>Treuil extérieur (autre club)</Nom>
      <exterieur>1</exterieur>
   </treuil>
   <treuil>
      <id_treuil>2</id_treuil>
      <Nom>TOST 1</Nom>
      <exterieur>0</exterieur>
   </treuil>
</treuils>

Les différentes balises sont :

  • id_treuil : Identifiant unique du treuil dans la base
  • Nom : Nom du treuil
  • exterieur : 1 si le treuil n'appartient pas à l'association

Paramètres

La fonction getGeneral est appelée avec le même paramètre que pour l'authentification.
Par contre, le retour est un texte XML dont le contenu est :

<general>
   <aerodrome>Angers Loire Aéroport</aerodrome>
   <remorque id="3" code="500m" saisie_temps="N" temps="00:07:48" defaut="N">Remorqué standard</remorque>
   <remorque id="4" code="Dép LFRM" saisie_temps="N" temps="00:48:00" defaut="N">Forfait dépannage air au Mans</remorque>
   <remorque id="2" code="temps" saisie_temps="O" temps="00:00:00" defaut="O">Remorqué au temps passé</remorque>
   <type_vol id="1" solo="O" instruction="N" vi_club="N" vi_perso="N" passagers="N">1 Vol en solo</type_vol>
   <type_vol id="2" solo="N" instruction="N" vi_club="N" vi_perso="N" passagers="N">2 Vol à deux</type_vol>
   <type_vol id="3" solo="N" instruction="O" vi_club="N" vi_perso="N" passagers="N">3 Vol d'instruction</type_vol>
   <type_vol id="4" solo="N" instruction="N" vi_club="O" vi_perso="N" passagers="O">4 VI club</type_vol>
   <type_vol id="5" solo="N" instruction="N" vi_club="N" vi_perso="O" passagers="O">5 VI perso</type_vol>
   <type_vol id="6" solo="O" instruction="N" vi_club="N" vi_perso="N" passagers="N">6 Vol d'essais</type_vol>
   <type_vol id="7" solo="N" instruction="N" vi_club="O" vi_perso="N" passagers="O">7 Vol cadeau</type_vol>
</general>

Les différentes balises sont :

  • aerodrome : Désigne le lieu d'exploitation
  • remorque : Contient le nom étendu du remorqué et les attributs :
  • id : Identifiant unique du remorqué dans la base
  • code : Nom court du remorqué
  • saisie_temps : O si le remorqué est facturé au temps passé
  • temps : Temps forfaitaire
  • defaut : O pour le type de remorqué par défaut
  • type_vol : Contient le nom du type de vol et les attributs :
  • id : Identifiant unique dans la base
  • solo : O = vol seul, N = vol à deux
  • instruction : O désigne un vol d'instruction
  • vi_club : O désigne un VI club
  • vi_perso : O désigne un VI personnel
  • passagers : O indique qu'un nom de passager doit être saisi

Vols

La fonction setVol est appelée avec deux paramètres, le même que pour l'authentification et un autre texte XML contenant le ou les vols.
Si le transfert du vol est bon, le retour est « OK » sinon il contient le texte de l'erreur.
Le texte XML des vols comporte :

<vols>
   <vol>
      <novol>1</novol>
      <immat>F-CEON</immat>
      <typevol>1</typevol>
      <cdtbord>P92</cdtbord>
      <copilote>0</copilote>
      <passager></passager>
      <miseEnLair>2</miseEnLair>
      <treuil>2</treuil>
      <treuilleur>P184</treuilleur>
      <remorqueur>0</remorqueur>
      <piloteRemorqueur>0</piloteRemorqueur>
      <decollage>13:35:00</decollage>
      <atterrissage>15:43:00</atterrissage>
      <remorque>0</remorque>
      <depart>Angers Loire Aéroport</depart>
      <arrivee>Angers Loire Aéroport</arrivee>
      <commentaire></commentaire>
      <paieVol>0</paieVol>
      <paieTreuil>0</paieTreuil>
      <trans>False</trans>
      <tpsRemo>0</tpsRemo>
   </vol>
</vols>

La saisie en piste transfert un vol à la fois bien qu'elle pourrait les envoyer tous en même temps. Nous avons opter pour cette solution car elle garantie une meilleur fiabilité même sur une connexion Internet assez lente.
Les différentes balises sont :

  • novol : Numéro de vol sur la planche. Les vols sont identifiés par un jour et un numéro. Si le vol pour un jour et un numéro existe déjà, il est écrasé.
  • immat : Immatriculation (voir Aéronefs)
  • typevol : Identifiant unique du type de vol (voir Paramètres)
  • cdtbord : Identifiant unique du pilote ou de l'association occupant la place de commandant de bord ou d'instructeur (voir Pilotes)
  • copilote : Identifiant unique du pilote ou de l'association occupant la place de co-pilote ou d'élève (voir Pilotes). 0 si non concerné.
  • passager : Nom du passager pour les types de vol en nécessitant un (voir Paramètres)
  • miseEnLair : 1 = autonome, 2 = treuil, 3 = remorqueur
  • treuil : Identi fiant unique du treuil utilisé (voir Treuils). 0 si non concerné.
  • treuilleur : Identifiant unique du treuilleur (voir Pilotes). 0 si non concerné.
  • remorqueur : Identifiant unique de l'avion (voir Aeronefs). 0 si non concerné.
  • piloteRemorqueur : Identifiant unique du pilote de l'avion (voir Pilotes). 0 si non concerné.
  • decollage : Heure de décollage sous la forme hh:mm
  • atterrissage : Heure d'atterrissage sous la forme hh:mm
  • remorque : Identifiant unique du type de remorqué (voir Paramètres).0 si non concerné.
  • depart : Lieu de décollage
  • arrivee : Lieu d'atterrissage.
  • commentaire : Texte libre.
  • paieVol : Identifiant unique du pilote, de l'association ou du compte interne qui paie exceptionnellement la partie cellule du vol (voir Pilotes). 0 si non concerné.
  • paieTreuil : Identifiant unique du pilote, de l'association ou du compte interne qui paie exceptionnellement le décollage (voir Pilotes). Sert aussi aux remorqués.0 si non concerné.
  • trans : Champ utilisé en interne par la saisie en piste pour désigner les vols déjà transférés.
  • tpsRemo : temps de remorquage pour les types de remorqués au temps.0 si non concerné.