Catégories
FPL

Mode emploi – Inclure nouvelle session

stocke les fichiers FPL+CSV et met à jour la BDD.
Dernière mise à jour le 01/10/2025

Avertissement

Sélectionner les critères

Cliquer pour voir comment sélectionner les critères et ce qu'ils contiennent

Mode opératoire – Inclure une nouvelle session ePlaneur
Version : 1.1 (outil au 23/08/2025)

  1. Objectif
    L’outil permet d’envoyer au serveur une paire de fichiers décrivant une session de vol en réseau :
  • un fichier .fpl
  • un fichier .csv
    Les deux fichiers doivent porter exactement la même base de nom (hors extension), au format :
    • Race <sessid> on YYYY.MM.DD
    • DSRace <sessid> on YYYY.MM.DD
    Exemples : « Race 20414418 on 2024.11.05.fpl » et « Race 20414418 on 2024.11.05.csv »,
    ou « DSRace 20414418 on 2024.11.05.fpl » et « DSRace 20414418 on 2024.11.05.csv ».

Remarque : <sessid> est une chaîne de longueur variable (on ne la convertit pas en nombre).

  1. Étapes côté page (ce que l’utilisateur doit faire)

Étape 1 – Sélectionner les 2 fichiers
• Cliquer sur le champ « Sélectionner un fichier » et choisir exactement 2 fichiers en une seule fois : 1 .fpl et 1 .csv.
• Ils doivent avoir la même base (même nom hors extension) et respecter le format montré ci-dessus.

Étape 2 – Vérification automatique
• La page contrôle automatiquement qu’il y a bien un .fpl et un .csv au même nom.
• Si le .fpl contient une section [Description] avec Text=…, le champ « Description » peut être prérempli (facultatif pour la suite).

Étape 3 – Choisir la version Condor
• Sélectionner « C2 » ou « C3 ». Cette info détermine le dossier de dépôt et le préfixe attendu du code FPL.

Étape 4 – Vérifier/ajuster le code FPL
• Le champ « fpl » doit respecter strictement le format suivant :

  • 1–2 : « C2 » ou « C3 » (C majuscule)
  • 3 : un tiret « - »
  • 4 : une lettre minuscule parmi c, d ou s
  • 5–7 : trois chiffres entre 001 et 200 (avec zéros obligatoires)
  • 8 (optionnel) : une lettre minuscule entre a et j
    Exemples valides : C2-s036, C3-c115a, C2-d200j.
    Exemples invalides : c2-s036 (C minuscule), C2s036 (manque le tiret), C2-x036 (x non autorisé), C2-s000 (hors borne), C2-s036k (suffixe > j).

Étape 5 – Envoyer
• Le bouton « Envoyer » n’apparaît que lorsque :

  • les deux fichiers sont valides (même base, .fpl + .csv),
  • la version Condor (C2 ou C3) est sélectionnée,
  • le champ « fpl » n’est pas vide et respecte le format.
    • Cliquer sur « Envoyer ». La page passe alors sur un écran de retour serveur qui récapitule l’action réalisée.
  1. Messages d’erreur possibles côté navigateur (pourquoi le bouton n’apparaît pas ou l’envoi est bloqué)

Sélection de fichiers
• « Sélectionnez exactement deux fichiers : un .fpl et un .csv. »
• « Extensions autorisées : .fpl et .csv uniquement. »
• « Les deux fichiers doivent avoir exactement le même nom (hors extension). »
• « Il faut un fichier .fpl et un fichier .csv. »

Code FPL (au clic sur Envoyer)
• « FPL doit commencer par "C2" » ou « "C3". »
• « Le 3e caractère de FPL doit être un tiret "-". »
• « Le 4e caractère de FPL doit être une lettre parmi c, d ou s (minuscule). »
• « Les caractères 5 à 7 doivent être trois chiffres (ex. 001, 057, 200). »
• « Index numérique hors borne (001..200). »
• « La longueur de FPL doit être de 7 ou 8 caractères. »
• « Le 8e caractère (suffixe) doit être une lettre minuscule. »
• « Suffixe hors limite (a..j). »

Dans tous ces cas, corriger la cause indiquée puis recommencer.

  1. Ce que fait le serveur (partie technique, pour compréhension et support)

Réception
• Le serveur reçoit 2 fichiers (.fpl et .csv) et 2 champs : condor (C2/C3) et fpl (code validé côté navigateur).
• Les fichiers doivent partager la même base de nom au format « Race|DSRace <sessid> on YYYY.MM.DD ».
• Le serveur extrait :

  • orig_sess = Race ou DSRace (le préfixe),
  • sessid = la chaîne située entre le préfixe et « on » (conservée telle quelle, format texte),
  • date_sess = la date « YYYY.MM.DD » convertie en « YYYY-MM-DD ».

Renommage et dépôt des fichiers
• La base de nom est normalisée : espaces et points sont remplacés par des tirets (sans toucher au point de l’extension).
Exemple : « DSRace 20414418 on 2024.11.05 » devient « DSRace-20414418-on-2024-11-05 ».
• Les fichiers sont déposés de façon atomique dans VolsReseau/Depot/C2 ou VolsReseau/Depot/C3 (selon condor). Atomicité = les deux ou aucun.
• En cas de collision sur un nom cible existant, l’opération est refusée avec un message de collision.

Calcul du nombre de participants
• Le serveur lit le .csv pour compter nb_participants = (nombre de lignes non vides) − 1 (pour enlever la ligne d’entête).
• Si le résultat est négatif, il est ramené à 0.

Écriture/maj en base de données (table vols_reseau, référence des noms de colonnes strictement respectée)
• On cherche l’enregistrement par sessid (clé primaire).
• Si aucune ligne n’existe :

  • on dépose les 2 fichiers dans Depot/{C2|C3},
  • on INSERT les champs suivants a minima : sessid, orig_sess, date_sess, condor_sess, fpl_sess, fpl_manuel_sess, nb_participants, session (où session = nom normalisé sans extension, ex. DSRace-20414418-on-2024-11-05).
    • Si une ligne existe déjà :
  • si orig_sess = DSRace en base : on abandonne (aucun changement),
  • si orig_sess = Race en base :
    • si la paire reçue est Race : on abandonne (aucun changement),
    • si la paire reçue est DSRace : on remplace :
    • suppression de l’ancienne paire Race-… (les 2 fichiers .fpl et .csv) dans Depot/{C2|C3},
    • dépôt de la nouvelle paire DSRace-…,
    • UPDATE de la ligne :
      orig_sess = DSRace,
      date_sess = valeur du nom,
      condor_sess = condor,
      fpl_sess = fpl,
      fpl_manuel_sess = fpl,
      nb_participants = calculé depuis le csv,
      session = nom normalisé (sans extension),
      et remise à NULL/DEFAULT de tous les autres champs de la table (hors ceux listés ci-dessus).

Retour affiché
• Le serveur affiche une page de confirmation :

  • Action : INSERT, REPLACE_RACE_BY_DSRACE ou un message d’information « aucun changement »,
  • Récapitulatif : condor_sess, orig_sess, sessid, date_sess, nb_participants, session, dossier de dépôt et noms déposés.
    • En phase de mise au point, les erreurs PHP sont affichées (display_errors activé). En production, elles seront masquées et loguées.

Bonnes pratiques
• Vérifier que les deux fichiers portent exactement le même nom hors extension.
• Choisir la bonne version Condor (C2/C3) avant d’envoyer.
• Respecter le format du code FPL (voir Étape 4).
• Si un message de collision apparaît, c’est qu’un fichier du même nom existe déjà en dépôt. Prendre contact pour investiguer.

  1. En cas de difficulté
    • Noter le sessid, la version Condor choisie, et le message exact affiché.
    • Joindre une capture d’écran du message et le nom complet des fichiers (avec extensions).
    • Contacter l’animateur ePlaneur avec ces éléments pour diagnostic rapide.

Fin du mode opératoire.

Logo ePlaneur de fin de page souhaitant au lecteur de "Bons vols avec Condor"