Interfaçage OpenFlyers et ClickAndTakeoff

From Documentation de la solution web de gestion OpenFlyers
Revision as of 10:22, 7 August 2023 by imported>Claratte (→‎Données récupérés via ClickAndTakeoff)
Jump to navigation Jump to search

Présentation

L'objet de cette page est de présenter :

  • Le produit ClickAndTakeoff
  • La configuration de l'interfaçage OpenFlyers avec ClickAndTakeoff
  • Son utilisation dans OpenFlyers

Click & Take-off est une startup en plein essors qui propose une plateforme d’alerte, de géolocalisation et d’analyse du pilotage pour l’aviation légère. C’est le résultat d’une collaboration étroite entre des pilotes passionnés et des instructeurs expérimentés. Elle aide les clubs à localiser les appareils en temps réel. Les préviens dans le cas d’un événement pouvant mettre en cause la sécurité du pilote et l’intégrité de l’appareil ou en cas de vol dans des zones dites interdites. la plateforme Click & Take-off permet de:

  • Consulter l’historique des vols qui contient les informations suivants:
    • les heures blocs/ horamétres de mouvement:Début du roulage, Décollage, Atterrissage, Fin du roulage.
    • La liste des aerodromes de toucher.

OpenFlyers récupère ces données (voir le chapitre ci-dessous données récupérées via ClickAndTakeoff).

  • Affecter les vol par pilote / élève / instructeur.

Données récupérées via ClickAndTakeoff

En récupérant les vols via ClickAndTakeoff les informations suivantes sont récupérées ou calculées.

  • Aéronef utilisé (donnée deviceName)
  • Horodatage du début du vol (donnée startTime)
  • Durée du vol (par calcul de la différence entre les données startTime et endTime)
  • Temps en l'air (par calcul de la différence entre les données horametreDebutVol et horametreFinVol)
  • Personnes à bord (données pilote et instructeur)
  • Lieu de départ (donnée oaciAeroStart)
  • Lieu d'arrivé (donnée oaciAeroEnd)
  • Nombre d’atterrissage (donnée oaci)

Paramétrage des arrondis

ClickAndTakeoff transmet à OpenFlyers des dates à la seconde. OpenFlyers fonctionne avec des dates à la minute. Il est donc nécessaire de définir des formules d'arrondis dans le paramétrage de ClickAndTakeoff de la plateforme.

Les variables suivantes sont utilisables dans les formules :

  • CLICKANDTAKEOFF_LANDING_DATE : Datetime d’atterrissage
  • CLICKANDTAKEOFF_TAKEOFF_DATE : Datetime de décollage
  • CLICKANDTAKEOFF_ONBLOCK_DATE : Datetime de bloc départ
  • CHARTERWARE_OFFBLOCK_DATE : Datetime de bloc arrivée

Ces variables sont directement transmises par ClickAndTakeOff.

Les fonctions suivantes peuvent être utilisées dans les formules :

  • roundCeil: Arrondit à la minute supérieur la date transmise en paramètre
  • roundFloor: Arrondit à la minute inférieur la date transmise en paramètre
  • formatDate: Permet de formater une date
  • strtotime : Transforme une date en un timestamp

Récupération des vols ClickAndTakeoff

Chaque minute le robot OpenFlyers interroge le serveur ClickAndTakeoff pour savoir si de nouveaux vols ont été enregistrés par ClickAndTakeoff. Si c'est le cas, alors il sont sauvegardés dans OpenFlyers et modifiés les vols récupérés côté Charterware après l'affectation du pilote et de l'instructeur.

ClickAndTakeoff utilise un système d'identifiant pour retrouver les pilotes et les aéronefs il est donc nécessaire de créer les champs métiers nécessaires et de les renseigner dans l'interface d'OpenFlyers.

  • Si l'identifiant d'un aéronef ClickAndTakeoff ne peut être retrouvé dans OpenFlyers alors le robot n'enregistrera pas le vol.

Afin de retrouver un maximum d'informations le robot tente de retrouver une réservation avec la même ressource correspondant au vol communiqué par ClickAndTakeoff:

  • Il cherche s'il existe une réservation dont les horaires comprennent l'heure médiane du vol ClickAndTakeoff. Si c'est le cas, il se base sur les informations de cette réservation.
  • S'il n'y a aucune réservation, il cherche une réservation avec la même ressource dont les horaires sont compris entre le début et la fin du vol remonté par ClickAndTakeoff.
    • S'il y a plusieurs réservations, alors il n'en prend aucune.
    • Une fois qu'une réservation est identifiée comme correspondre au vol remonté par ClickAndTakeoff, les informations de la réservation sont prises en compte par le robot.

Les données suivantes sont alors récupérées :

Statut des pilotes

Pour chaque pilote :

  • Si un vol récupéré dans ClickAndTakeoff peut être associé à une réservation => Les statuts des pilotes sont celles définies dans la réservation.
  • Si le vol ne peut être associé :
    • S'il n'y a qu'un statut autorisé pour la place du pilote et pour l'avion => Le statut du pilote est ce statut.
    • Si le pilote est sur la première place => Le statut du pilote est le statut "pilote" si il n'existe pas le premier statut.
    • Si le pilote est sur la seconde place => Le statut du pilote est le statut "Instructeur" si il n'existe pas le second statut.

Place des pilotes

  • Si un vol récupéré dans ClickAndTakeoff peut être associé à une réservation => Les places des pilotes sont celles définies dans la réservation.
  • Si le vol ne peut être associé :
    • S'il y a un seul pilote => Sa place est celle par défaut (0, Gauche).
    • S'il y a deux pilotes et que un seul à l'autorisation pour être sur la place de droite => Le pilote ayant l'autorisation est à la place de droite et l'autre à la place de gauche.
    • Si les deux pilotes ont les autorisations pour être sur la place de droite => Le pilote 1 est sur la place de gauche le pilote 2 est sur la place de droite.

Type d'activité

  • Si un vol récupéré dans ClickAndTakeoff peut être associé à une réservation => Les types d'activités sont celles définies dans la réservation.
  • Si le vol ne peut être associé :
    • S'il y a deux pilotes et que le type d'activité par défaut pour deux pilotes est défini => Le type d'activité est celle définie par défaut.
    • S'il y a zero ou un pilote et que le type d'activité par défaut pour zero ou un pilote est défini => Le type d'activité est celle définie par défaut.
    • Si les types d'activité par défaut ne sont pas définies => Le type d'activité est le premier type d'activité trouvé.