# Template du YAML de configuration du service Meteo Concept (meteoconcept)
# -----------------------------------------------------------------------------------------------
#
# Il est composé de 5 blocs, à savoir :
# - service    : la configuration du service lui-même, son titre, son id, ses caractéristiques...
# - infos      : la configuration du mash-up pour les informations sur le lieu de la météo
# - conditions : la configuration du mash-up pour les conditions temps réel
# - previsions : la configuration du mash-up pour les prévisions
# - erreurs    : la configuration du mash-up pour les erreurs fournies par le service
#
# Si un champ vaut la valeur par défaut il est possible de l'omettre.
# -----------------------------------------------------------------------------------------------

# Bloc service : caractéristiques du service
# ------------------------------------------
service:
  # -- Identification: saisir le nom complet du service
  nom: 'Meteo Concept'
  # -- Version de la configuration du service
  version:
    numero: '7'
    date: '2023-11-26'
  # -- URL de base des requêtes et des icones (éventuellement)
  endpoint_requete: 'https://api.meteo-concept.com/api/'
  endpoint_icone: ''
  lieu_formats: [ 'city_id', 'insee_id', 'latitude_longitude' ]
  # -- Activité: par défaut à true, donc à laisser en commentaire. A mettre à false si on veut déprécier le service
  actif: true
  # -- Liens vers les crédits et titre de la page (pour les affichages / modèles)
  #    Le logo, si il existe, est chargé automatiquement à partir du chemin /services/images/<id>.png
  credits:
    titre: 'Credits'
    lien: 'https://api.meteo-concept.com/'
  # -- Liens vers les termes d'utilisation (pour la page de configuration)
  termes:
    titre: 'Conditions générales de vente'
    lien: 'https://api.meteo-concept.com/cgv'
  # -- Liens la page d'enregistrement (pour la page de configuration)
  enregistrement:
    titre: 'Inscription'
    lien: 'https://api.meteo-concept.com/register/'
    # -- Taille de la clé d'enregistrement en général de 32 caractères (valeur par défaut)
    taille_cle: 64
  # -- Liens vers les offres de service (pour la page de configuration et les rafraichissements)
  offres:
    titre: 'Tarifs'
    lien: 'https://api.meteo-concept.com/pricing'
    # -- Indique si il existe une offre gratuite.
    #gratuite: true
    # -- Les limites sont exprimées via les périodes year, month, day, hour, minute et second dans cet ordre.
    #    Seules les périodes utilisées sont à fournir.
    limites: { day: 500 }
  # -- Liste des langues fournies par le service
  langues:
    # -- langues dont le code est identique à celui de SPIP: par défaut initialisé au singleton 'en' qui est aussi la
    #    valeur par défaut
    codes_spip: [ 'fr' ]
    # -- langues dont le code est différent de celui de SPIP.
    #    Le champ est rempli par la liste des couples (code service, code spip)
    codes_non_spip: {}
    # -- langage par défaut est 'en'.
    defaut: 'fr'
  # -- Configuration des jeux d'icones utilisables
  icones:
    origines: [ 'weather' ]
    transcodages:
      0: { local: [ ], weather: [ '32', '31' ], wmo: [ ] }
      1: { local: [ ], weather: [ '30', '29' ], wmo: [ ] }
      2: { local: [ ], weather: [ '30', '29' ], wmo: [ ] }
      3: { local: [ ], weather: [ '28', '27' ], wmo: [ ] }
      4: { local: [ ], weather: [ '26', '26' ], wmo: [ ] }
      5: { local: [ ], weather: [ '26', '26' ], wmo: [ ] }
      6: { local: [ ], weather: [ '20', '20' ], wmo: [ ] }
      7: { local: [ ], weather: [ '20', '20' ], wmo: [ ] }
      10: { local: [ ], weather: [ '12', '12' ], wmo: [ ] }
      11: { local: [ ], weather: [ '12', '12' ], wmo: [ ] }
      12: { local: [ ], weather: [ '40', '40' ], wmo: [ ] }
      13: { local: [ ], weather: [ '10', '10' ], wmo: [ ] }
      14: { local: [ ], weather: [ '10', '10' ], wmo: [ ] }
      15: { local: [ ], weather: [ '10', '10' ], wmo: [ ] }
      16: { local: [ ], weather: [ '9', '9' ], wmo: [ ] }
      20: { local: [ ], weather: [ '14', '14' ], wmo: [ ] }
      21: { local: [ ], weather: [ '16', '16' ], wmo: [ ] }
      22: { local: [ ], weather: [ '42', '42' ], wmo: [ ] }
      30: { local: [ ], weather: [ '5', '5' ], wmo: [ ] }
      31: { local: [ ], weather: [ '5', '5' ], wmo: [ ] }
      32: { local: [ ], weather: [ '5', '5' ], wmo: [ ] }
      40: { local: [ ], weather: [ '11', '11' ], wmo: [ ] }
      41: { local: [ ], weather: [ '11', '11' ], wmo: [ ] }
      42: { local: [ ], weather: [ '40', '40' ], wmo: [ ] }
      43: { local: [ ], weather: [ '11', '11' ], wmo: [ ] }
      44: { local: [ ], weather: [ '11', '11' ], wmo: [ ] }
      45: { local: [ ], weather: [ '40', '40' ], wmo: [ ] }
      46: { local: [ ], weather: [ '11', '11' ], wmo: [ ] }
      47: { local: [ ], weather: [ '11', '11' ], wmo: [ ] }
      48: { local: [ ], weather: [ '40', '40' ], wmo: [ ] }
      60: { local: [ ], weather: [ '41', '46' ], wmo: [ ] }
      61: { local: [ ], weather: [ '41', '46' ], wmo: [ ] }
      62: { local: [ ], weather: [ '42', '42' ], wmo: [ ] }
      63: { local: [ ], weather: [ '41', '46' ], wmo: [ ] }
      64: { local: [ ], weather: [ '41', '46' ], wmo: [ ] }
      65: { local: [ ], weather: [ '42', '42' ], wmo: [ ] }
      66: { local: [ ], weather: [ '41', '46' ], wmo: [ ] }
      67: { local: [ ], weather: [ '41', '46' ], wmo: [ ] }
      68: { local: [ ], weather: [ '42', '42' ], wmo: [ ] }
      70: { local: [ ], weather: [ '5', '5' ], wmo: [ ] }
      71: { local: [ ], weather: [ '5', '5' ], wmo: [ ] }
      72: { local: [ ], weather: [ '5', '5' ], wmo: [ ] }
      73: { local: [ ], weather: [ '5', '5' ], wmo: [ ] }
      74: { local: [ ], weather: [ '5', '5' ], wmo: [ ] }
      75: { local: [ ], weather: [ '5', '5' ], wmo: [ ] }
      76: { local: [ ], weather: [ '5', '5' ], wmo: [ ] }
      77: { local: [ ], weather: [ '5', '5' ], wmo: [ ] }
      78: { local: [ ], weather: [ '5', '5' ], wmo: [ ] }
      100: { local: [ ], weather: [ '4', '4' ], wmo: [ ] }
      101: { local: [ ], weather: [ '4', '4' ], wmo: [ ] }
      102: { local: [ ], weather: [ '4', '4' ], wmo: [ ] }
      103: { local: [ ], weather: [ '4', '4' ], wmo: [ ] }
      104: { local: [ ], weather: [ '4', '4' ], wmo: [ ] }
      105: { local: [ ], weather: [ '4', '4' ], wmo: [ ] }
      106: { local: [ ], weather: [ '4', '4' ], wmo: [ ] }
      107: { local: [ ], weather: [ '4', '4' ], wmo: [ ] }
      108: { local: [ ], weather: [ '4', '4' ], wmo: [ ] }
      120: { local: [ ], weather: [ '17', '17' ], wmo: [ ] }
      121: { local: [ ], weather: [ '17', '17' ], wmo: [ ] }
      122: { local: [ ], weather: [ '17', '17' ], wmo: [ ] }
      123: { local: [ ], weather: [ '17', '17' ], wmo: [ ] }
      124: { local: [ ], weather: [ '17', '17' ], wmo: [ ] }
      125: { local: [ ], weather: [ '17', '17' ], wmo: [ ] }
      126: { local: [ ], weather: [ '17', '17' ], wmo: [ ] }
      127: { local: [ ], weather: [ '17', '17' ], wmo: [ ] }
      128: { local: [ ], weather: [ '17', '17' ], wmo: [ ] }
      130: { local: [ ], weather: [ '17', '17' ], wmo: [ ] }
      131: { local: [ ], weather: [ '17', '17' ], wmo: [ ] }
      132: { local: [ ], weather: [ '17', '17' ], wmo: [ ] }
      133: { local: [ ], weather: [ '17', '17' ], wmo: [ ] }
      134: { local: [ ], weather: [ '17', '17' ], wmo: [ ] }
      135: { local: [ ], weather: [ '17', '17' ], wmo: [ ] }
      136: { local: [ ], weather: [ '17', '17' ], wmo: [ ] }
      137: { local: [ ], weather: [ '17', '17' ], wmo: [ ] }
      138: { local: [ ], weather: [ '17', '17' ], wmo: [ ] }
      140: { local: [ ], weather: [ '3', '3' ], wmo: [ ] }
      141: { local: [ ], weather: [ '5', '5' ], wmo: [ ] }
      142: { local: [ ], weather: [ '16', '16' ], wmo: [ ] }
      210: { local: [ ], weather: [ '12', '12' ], wmo: [ ] }
      211: { local: [ ], weather: [ '12', '12' ], wmo: [ ] }
      212: { local: [ ], weather: [ '40', '40' ], wmo: [ ] }
      220: { local: [ ], weather: [ '14', '14' ], wmo: [ ] }
      221: { local: [ ], weather: [ '16', '16' ], wmo: [ ] }
      222: { local: [ ], weather: [ '42', '42' ], wmo: [ ] }
      230: { local: [ ], weather: [ '5', '5' ], wmo: [ ] }
      231: { local: [ ], weather: [ '5', '5' ], wmo: [ ] }
      232: { local: [ ], weather: [ '5', '5' ], wmo: [ ] }
      235: { local: [ ], weather: [ '17', '17' ], wmo: [ ] }
  # -- Valeurs par défauts des paramètres modifiables du service (page de configuration)
  #    En général, seuls les champs theme et theme_local sont à remplir, les autres sont initialisés avec le défaut
  defauts:
    # -- Clé d'enregistrement fournie par le service. A remplir avec la valeur dans le formulaire.
    #inscription: ''
    # -- Système métrique par défaut
    #unite: 'm'
    # -- Mode d'affichage des icones méteo. On privilégie par défaut les icones du service si il existent
    #condition: '<id>'
    theme: ''
    theme_local: ''
    # -- Thème Sticker de weather qui est toujours disponible dans Rainette
    theme_weather: 'sticker'

# Bloc infos : mash-up des informations géographiques
# ---------------------------------------------------
infos:
  # -- Période de rafraichissement: par défaut à un mois, inutile de le modifier pour chaque service
  #periode_maj: 2592000
  # -- Format des réponse: par défaut le JSON, inutile de le modifier pour chaque service sauf si pas supporté
  #format_flux: 'json'
  # -- Index de base dans le tableau de réponse: peut-être une liste d'index éventuellement vide
  cle_base: [ 'city' ]
  donnees:
    ville:
      cle: [ 'name' ]
    pays:
      cle: [ 'country' ]
    pays_iso2:
      cle: [ ]
      calcul: true
    region:
      cle: [ ]
    longitude:
      cle: [ 'longitude' ]
    latitude:
      cle: [ 'latitude' ]

# Bloc conditions : mash-up des conditions temps réel
# ---------------------------------------------------
conditions:
  # -- Période de rafraichissement: par défaut à 2 heures, inutile de le modifier pour chaque service
  #periode_maj: 7200
  # -- Format des réponse: par défaut le JSON, inutile de le modifier pour chaque service sauf si pas supporté
  #format_flux: 'json'
  # -- Index de base dans le tableau de réponse: peut-être une liste d'index éventuellement vide
  cle_base: [ 'forecast', 0 ]
  donnees:
    derniere_maj:
      cle: [ 'datetime' ]
    station:
      cle: [ ]
    temperature_reelle:
      cle: [ 'temp2m' ]
    temperature_ressentie:
      cle: [ ]
      calcul: true
    vitesse_vent:
      cle: [ 'wind10m' ]
    rafale_vent:
      cle: [ 'gust10m' ]
    angle_vent:
      cle: [ 'dirwind10m' ]
    direction_vent:
      cle: [ ]
      calcul: true
    precipitation:
      cle: [ 'rr10' ]
    humidite:
      cle: [ 'rh2m' ]
    point_rosee:
      cle: [ ]
      calcul: true
    pression:
      cle: [ ]
    tendance_pression:
      cle: [ ]
    visibilite:
      cle: [ ]
    nebulosite:
      cle: [ ]
    indice_uv:
      cle: [ ]
    risque_uv:
      cle: [ ]
    code_meteo:
      cle: [ 'weather' ]
    icon_meteo:
      cle: [ ]
    desc_meteo:
      cle: [ ]
    trad_meteo:
      cle: [ ]
    jour_meteo:
      cle: [ ]
    code:
      cle: [ ]
      calcul: true
    icone:
      cle: [ ]
      calcul: true
    resume:
      cle: [ ]
      calcul: true
    periode:
      cle: [ ]
      calcul: true

# Bloc previsions : mash-up des prévisions
# ----------------------------------------
previsions:
  # -- Période de rafraichissement: par défaut à 4 heures, inutile de le modifier pour chaque service
  #periode_maj: 14400
  # -- Format des réponse: par défaut le JSON, inutile de le modifier pour chaque service sauf si pas supporté
  #format_flux: 'json'
  # -- Périodicités disponibles pour les prévisions: peut prendre les valeurs 1, 3, 6, 12, 24. Pour chacune
  #    il faut préciser le nombre de jours de prévisions miximum disponibles
  periodicites:
    24: { max_jours: 14 }
  # -- Périodicité par défaut à 24h. A conserver ainsi sauf si le service ne propose par cette périodicité
  #periodicite_defaut: 24
  # -- Index de base dans le tableau de réponse: peut-être une liste d'index éventuellement vide
  cle_base: [ 'forecast' ]
  # -- Index des données heure si le service possède une structure par heure
  cle_heure: [ ]
  structure_heure: false
  donnees:
    date:
      cle: [ 'datetime' ]
    heure:
      cle: [ ]
    lever_soleil:
      cle: [ ]
    coucher_soleil:
      cle: [ ]
    temperature:
      cle: [ ]
    temperature_max:
      cle: [ 'tmax' ]
    temperature_min:
      cle: [ 'tmin' ]
    vitesse_vent:
      cle: [ 'wind10m' ]
    rafale_vent:
      cle: [ 'gust10m' ]
    angle_vent:
      cle: [ 'dirwind10m' ]
    direction_vent:
      cle: [ ]
      calcul: true
    risque_precipitation:
      cle: [ 'probarain' ]
    precipitation:
      cle: [ 'rr10' ]
    humidite:
      cle: [ ]
    point_rosee:
      cle: [ ]
    pression:
      cle: [ ]
    visibilite:
      cle: [ ]
    nebulosite:
      cle: [ ]
    indice_uv:
      cle: [ ]
    risque_uv:
      cle: [ ]
    code_meteo:
      cle: [ 'weather' ]
    icon_meteo:
      cle: [ ]
    desc_meteo:
      cle: [ ]
    trad_meteo:
      cle: [ ]
    jour_meteo:
      cle: [ ]
    code:
      cle: [ ]
      calcul: true
    icone:
      cle: [ ]
      calcul: true
    resume:
      cle: [ ]
      calcul: true
    periode:
      cle: [ ]
      calcul: true

# Bloc erreurs : mash-up des erreurs remontées par le service
# -----------------------------------------------------------
erreurs:
  cle_base: [ ]
  donnees:
    code:
      cle: [ ]
    message:
      cle: [ 'message' ]
