Interfaçage OpenFlyers et ClickAndTakeoff: Difference between revisions

From Documentation de la solution web de gestion OpenFlyers
Jump to navigation Jump to search
Line 36: Line 36:
*** '''Formule date de début du vol''': Saisir la formule pour calculer la date de début du vol.
*** '''Formule date de début du vol''': Saisir la formule pour calculer la date de début du vol.
**:Exemple de formule : formatDate('yyyy-MM-dd HH:mm:ss', roundFloor(strtotime('%CLICKANDTAKEOFF_OFFBLOCK_DATE'),60))
**:Exemple de formule : formatDate('yyyy-MM-dd HH:mm:ss', roundFloor(strtotime('%CLICKANDTAKEOFF_OFFBLOCK_DATE'),60))
*** '''Formule durée du vol''': Saisir la formule pour calculer la durée du vol. Exemple de formule : roundFloor(strtotime('%CLICKANDTAKEOFF_ONBLOCK_DATE'),60) - roundFloor(strtotime('%CLICKANDTAKEOFF_OFFBLOCK_DATE'),60)
*** '''Formule durée du vol''': Saisir la formule pour calculer la durée du vol.
*** '''Formule temps en l'air''': Saisir la formule pour calculer le temps en l'air. Exemple de formule : roundFloor(strtotime('%CLICKANDTAKEOFF_ONBLOCK_DATE'),60) - roundFloor(strtotime('%CLICKANDTAKEOFF_OFFBLOCK_DATE'),60)
**:Exemple de formule : roundFloor(strtotime('%CLICKANDTAKEOFF_ONBLOCK_DATE'),60) - roundFloor(strtotime('%CLICKANDTAKEOFF_OFFBLOCK_DATE'),60)
*** '''Formule temps en l'air''': Saisir la formule pour calculer le temps en l'air.
**:Exemple de formule : roundFloor(strtotime('%CLICKANDTAKEOFF_ONBLOCK_DATE'),60) - roundFloor(strtotime('%CLICKANDTAKEOFF_OFFBLOCK_DATE'),60)
*** '''Type d'activité par défaut avec zéro ou un pilote dans ClickAndTakeoff''': Choisir le type d'activité par défaut pour un pilote unique ou aucun pilote.
*** '''Type d'activité par défaut avec zéro ou un pilote dans ClickAndTakeoff''': Choisir le type d'activité par défaut pour un pilote unique ou aucun pilote.
*** '''Type d'activité par défaut avec deux pilotes dans ClickAndTakeoff''': Choisir le type d'activité par défaut pour deux pilotes.
*** '''Type d'activité par défaut avec deux pilotes dans ClickAndTakeoff''': Choisir le type d'activité par défaut pour deux pilotes.

Revision as of 14:15, 25 September 2024

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 propose une plateforme d’alerte, de géolocalisation et d’analyse du pilotage pour l’aviation légère.

La plateforme Click & Take-off permet de :

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

OpenFlyers récupère ces données (voir le chapitre ci-dessous données récupérées via ClickAndTakeoff) et affecte l'adresse email des pilotes/instructeurs dans ClickAndTakeOff d'après le planning de réservations. Un vol modifié manuellement à posteriori de sa remontée automatique dans OpenFlyers et mis à jour dans ClickAndTakeoff.

NB: Il y a une tâche cron pour synchroniser automatiquement les données des vols avec ClickAndTakeoff. Le code de cette tâche s'applique uniquement aux serveurs de production et ignore les serveurs de test.

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)

Procédure

Interfacer OpenFlyers avec ClickAndTakeoff

  • Aller dans Admin > Structure > Paramétrage > Activités
    • Activer l'interrupteur ClickAndTakeoff situé dans la 4ème colonne
    • Renseigner les champs suivants :
      • Formule date de début du vol: Saisir la formule pour calculer la date de début du vol.
      Exemple de formule : formatDate('yyyy-MM-dd HH:mm:ss', roundFloor(strtotime('%CLICKANDTAKEOFF_OFFBLOCK_DATE'),60))
      • Formule durée du vol: Saisir la formule pour calculer la durée du vol.
      Exemple de formule : roundFloor(strtotime('%CLICKANDTAKEOFF_ONBLOCK_DATE'),60) - roundFloor(strtotime('%CLICKANDTAKEOFF_OFFBLOCK_DATE'),60)
      • Formule temps en l'air: Saisir la formule pour calculer le temps en l'air.
      Exemple de formule : roundFloor(strtotime('%CLICKANDTAKEOFF_ONBLOCK_DATE'),60) - roundFloor(strtotime('%CLICKANDTAKEOFF_OFFBLOCK_DATE'),60)
      • Type d'activité par défaut avec zéro ou un pilote dans ClickAndTakeoff: Choisir le type d'activité par défaut pour un pilote unique ou aucun pilote.
      • Type d'activité par défaut avec deux pilotes dans ClickAndTakeoff: Choisir le type d'activité par défaut pour deux pilotes.
      • Nom de la plateforme pour ClickAndTakeoff: Saisir le nom de la plateforme pour ClickAndTakeoff.
      • Jeton d'accès pour ClickAndTakeoff: Saisir le jeton d'accès pour ClickAndTakeoff.
    • Cliquer sur le bouton Enregistrer
  • Configurer le numéro de l'API de géolocalisation pour les ressources.

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.
Exemple

Pour un vol qui commence à 16h05 et se termine à 17h00, l'heure médiane est 16h32. La réservation correspondante pour ce vol sera celle qui inclut cette heure médiane.

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é.

Variables pour les formules de calcul

Les variables suivantes sont utilisables dans les formules :

  • CLICKANDTAKEOFF_ENGINE_START : Datetime de démarrage moteur
  • CLICKANDTAKEOFF_OFFBLOCK_DATE : Datetime de départ bloc
  • CLICKANDTAKEOFF_ONBLOCK_DATE : Datetime de bloc arrivée
  • CLICKANDTAKEOFF_ENGINE_STOP : Datetime d'arrêt moteur

Ces variables sont directement transmises par ClickAndTakeOff.

Les fonctions suivantes peuvent être utilisées dans les formules pour le paramétrage de ClickAndTakeoff :

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