# YAML de configuration de Rainette
# --------------------------------------------------------------------------------------------------------
#
# Ce YAML contient:
# - les données d'initialisation de la configuration des services
# - les données de description technique du mash-up
#
# Il est composé de 8 blocs, à savoir :
# - blocs               : la liste des blocs de configuration et de leur usage
# - 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
# - periodicite         : la configuration des périodicités compatibles pour les prévisions
# - langues_alternatives: la configuration des langues alternatives à une langue donnée
#
# note: _id_service_ indique l'identifiant du service qui sera inséré lors du chargement
# -------------------------------------------------------------------------------------------------------

# Bloc de description des blocs
# -----------------------------
blocs:
  # Blocs et sous-blocs contenant de la configuration:
  # - usage 'init' : sert à l'initialisation de la configuration d'un service
  # - usage 'tech' : sert à la configuration technique du plugin
  service:
    sousblocs: [ 'credits', 'termes', 'enregistrement', 'offres', 'langues', 'transcodage_weather', 'defauts' ]
    init: true
  infos:
    sousblocs: [ 'donnees' ]
    init: true
  conditions:
    sousblocs: [ 'donnees' ]
    init: true
  previsions:
    sousblocs: [ 'donnees' ]
    init: true
  erreurs:
    sousblocs: [ 'donnees' ]
    init: true
  modele_periodicites:
    sousblocs: [ ]
    init: false
  langues_alternatives:
    sousblocs: [ ]
    init: false

# Bloc service : caractéristiques du service
# ------------------------------------------
service:
  # Sera rempli par défaut avec l'id du service, ne pas inclure dans le YAML du service
  alias: '_id_service_'
  # Sera rempli par défaut avec l'id du service
  nom: '_id_service_'
  # Etat d'activité du service, actif par défaut.
  actif: true
  # -- URL de base des requêtes et des icones (éventuellement)
  endpoint_requete: ''
  endpoint_icone: ''
  # Liens vers les crédits, les termes d'utilisation, l'enregistrement et les offres de service
  # On donne un titre standard en anglais à chaque lien qui peut être modifier par service.
  credits:
    titre: 'Credits'
    # Sera rempli par défaut avec l'id du service si l'image existe, sinon sera mis à chaine vide.
    # Ne pas inclure dans le YAML du service
    logo: 'services/images/_id_service_.png'
    lien: ''
  termes:
    titre: 'Licences'
    lien: ''
  enregistrement:
    titre: 'Sign up'
    lien: ''
    # Pour la plupart des services la clé a une taille de 32 caractères
    taille_cle: 32
  offres:
    titre: 'Pricing'
    lien: ''
    gratuite: true
    limites: { }
  # Liste des langues fournies par le service
  langues:
    # La langue anglaise est toujours supportée en base
    codes_spip: ['en']
    # Couples xx: yy où xx est la valeur du service et yy le code de spip.
    # Pour les xx qui n'ont aucun code spip correspondant mettre yy à ''
    codes_non_spip: { }
    defaut: 'en'
  # Transcodage du code méteo retourné par le service avec ceux de Weather sachant que des nombreux jeux d'icones
  # existent pour Weather.
  transcodage_weather: { }
  # Valeurs par défauts des paramètres modifiables du service (formulaire de configuration)
  defauts:
    # A saisir par l'utilisateur
    inscription: ''
    # Système métrique par défaut
    unite: 'm'
    # Sera rempli par défaut avec l'id du service
    condition: '_id_service_'
    theme: ''
    theme_local: ''
    # Thème Sticker de weather qui est toujours disponible dans Rainette
    theme_weather: 'sticker'

# Bloc Infos (mashup des information géographiques)
# -------------------------------------------------
infos:
  # Inutile de rafraichir ces infos plus qu'une fois par mois (3600 * 24 * 30)
  periode_maj: 2592000
  # Les services utilisent tous le JSON comme format de réponse
  format_flux: 'json'
  # Positionnement des données dans la réponse du service
  cle_base: [ ]
  # Le mashup des données : on initialise uniquement la clé à vide
  donnees:
    ville:
      origine: 'service'
      type_php: 'string'
      type_unite: ''
      groupe: 'donnees_lieu'
    pays:
      origine: 'service'
      type_php: 'string'
      type_unite: ''
      groupe: 'donnees_lieu'
    pays_iso2:
      origine: 'service'
      type_php: 'string'
      type_unite: ''
      groupe: 'donnees_lieu'
    region:
      origine: 'service'
      type_php: 'string'
      type_unite: ''
      groupe: 'donnees_lieu'
    longitude:
      origine: 'service'
      type_php: 'float'
      type_unite: 'angle'
      groupe: 'donnees_coordonnees'
    latitude:
      origine: 'service'
      type_php: 'float'
      type_unite: 'angle'
      groupe: 'donnees_coordonnees'

# Bloc Conditions (mashup des conditions temps réel)
# --------------------------------------------------
conditions:
  # Rafraichissement toutes les 2 heurs (3600 * 2)
  periode_maj: 7200
  # Les services utilisent tous le JSON comme format de réponse
  format_flux: 'json'
  # Positionnement des données dans la réponse du service
  cle_base: [ ]
  # Le mashup des données : on initialise uniquement la clé à vide
  donnees:
    derniere_maj:
      origine: 'service'
      type_php: 'date'
      type_unite: ''
      groupe: 'donnees_observation'
    station:
      origine: 'service'
      type_php: 'string'
      type_unite: ''
      groupe: 'donnees_observation'
    temperature_reelle:
      origine: 'service'
      type_php: 'float'
      type_unite: 'temperature'
      groupe: 'donnees_temperatures'
    temperature_ressentie:
      origine: 'service'
      type_php: 'float'
      type_unite: 'temperature'
      groupe: 'donnees_temperatures'
    vitesse_vent:
      origine: 'service'
      type_php: 'float'
      type_unite: 'vitesse'
      groupe: 'donnees_anemometriques'
    angle_vent:
      origine: 'service'
      type_php: 'int'
      type_unite: 'angle'
      groupe: 'donnees_anemometriques'
    direction_vent:
      origine: 'service'
      type_php: 'string'
      type_unite: ''
      groupe: 'donnees_anemometriques'
    precipitation:
      origine: 'service'
      type_php: 'float'
      type_unite: 'precipitation'
      groupe: 'donnees_atmospheriques'
    humidite:
      origine: 'service'
      type_php: 'float'
      type_unite: 'pourcentage'
      groupe: 'donnees_atmospheriques'
    point_rosee:
      origine: 'service'
      type_php: 'int'
      type_unite: 'temperature'
      groupe: 'donnees_atmospheriques'
    pression:
      origine: 'service'
      type_php: 'float'
      type_unite: 'pression'
      groupe: 'donnees_atmospheriques'
    tendance_pression:
      origine: 'service'
      type_php: 'string'
      type_unite: ''
      groupe: 'donnees_atmospheriques'
    visibilite:
      origine: 'service'
      type_php: 'float'
      type_unite: 'distance'
      groupe: 'donnees_atmospheriques'
    nebulosite:
      origine: 'service'
      type_php: 'float'
      type_unite: 'pourcentage'
      groupe: 'donnees_atmospheriques'
    indice_uv:
      origine: 'service'
      type_php: 'float'
      type_unite: 'indice'
      groupe: 'donnees_atmospheriques'
    risque_uv:
      origine: 'calcul'
      type_php: 'string'
      type_unite: ''
      groupe: 'donnees_atmospheriques'
    code_meteo:
      origine: 'service'
      type_php: 'string'
      type_unite: ''
      groupe: 'donnees_etats_natifs'
    icon_meteo:
      origine: 'service'
      type_php: 'string'
      type_unite: ''
      groupe: 'donnees_etats_natifs'
    desc_meteo:
      origine: 'service'
      type_php: 'string'
      type_unite: ''
      groupe: 'donnees_etats_natifs'
    trad_meteo:
      origine: 'service'
      type_php: 'string'
      type_unite: ''
      groupe: 'donnees_etats_natifs'
    jour_meteo:
      origine: 'service'
      type_php: 'mixed'
      type_unite: ''
      groupe: 'donnees_etats_natifs'
    icone:
      origine: 'calcul'
      type_php: 'mixed'
      type_unite: ''
      groupe: 'donnees_etats_calcules'
    resume:
      origine: 'calcul'
      type_php: 'mixed'
      type_unite: ''
      groupe: 'donnees_etats_calcules'
    periode:
      origine: 'calcul'
      type_php: 'int'
      type_unite: ''
      groupe: 'donnees_etats_calcules'

# Bloc Prévisions (mashup des prévisions)
# ---------------------------------------
previsions:
  # Rafraichissement toutes les 4 heures (3600 * 4)
  periode_maj: 14400
  # Les services utilisent tous le JSON comme format de réponse
  format_flux: 'json'
  # Périodicité standard est 24h pour laquelle on prend un max de 5 jours (minimum constaté)
  periodicites:
    24: { max_jours: 5 }
  periodicite_defaut: 24
  # Positionnement des données dans la réponse du service
  cle_base: [ ]
  cle_heure: [ ]
  structure_heure: false
  # Le mashup des données : on initialise uniquement la clé à vide
  donnees:
    date:
      origine: 'service'
      type_php: 'date'
      type_unite: ''
      rangement: 'jour'
      groupe: 'donnees_observation'
    heure:
      origine: 'service'
      type_php: 'heure'
      type_unite: ''
      rangement: 'heure'
      groupe: 'donnees_observation'
    lever_soleil:
      origine: 'service'
      type_php: 'date'
      type_unite: ''
      rangement: 'jour'
      groupe: 'donnees_astronomiques'
    coucher_soleil:
      origine: 'service'
      type_php: 'date'
      type_unite: ''
      rangement: 'jour'
      groupe: 'donnees_astronomiques'
    temperature:
      origine: 'service'
      type_php: 'float'
      type_unite: 'temperature'
      rangement: 'heure'
      groupe: 'donnees_temperatures'
    temperature_max:
      origine: 'service'
      type_php: 'float'
      type_unite: 'temperature'
      rangement: 'jour'
      groupe: 'donnees_temperatures'
    temperature_min:
      origine: 'service'
      type_php: 'float'
      type_unite: 'temperature'
      rangement: 'jour'
      groupe: 'donnees_temperatures'
    vitesse_vent:
      origine: 'service'
      type_php: 'float'
      type_unite: 'vitesse'
      rangement: 'heure'
      groupe: 'donnees_anemometriques'
    angle_vent:
      origine: 'service'
      type_php: 'int'
      type_unite: 'angle'
      rangement: 'heure'
      groupe: 'donnees_anemometriques'
    direction_vent:
      origine: 'service'
      type_php: 'string'
      type_unite: ''
      rangement: 'heure'
      groupe: 'donnees_anemometriques'
    risque_precipitation:
      origine: 'service'
      type_php: 'int'
      type_unite: 'pourcentage'
      rangement: 'heure'
      groupe: 'donnees_atmospheriques'
    precipitation:
      origine: 'service'
      type_php: 'float'
      type_unite: 'precipitation'
      rangement: 'heure'
      groupe: 'donnees_atmospheriques'
    humidite:
      origine: 'service'
      type_php: 'float'
      type_unite: 'pourcentage'
      rangement: 'heure'
      groupe: 'donnees_atmospheriques'
    point_rosee:
      origine: 'service'
      type_php: 'int'
      type_unite: 'temperature'
      rangement: 'heure'
      groupe: 'donnees_atmospheriques'
    pression:
      origine: 'service'
      type_php: 'float'
      type_unite: 'pression'
      rangement: 'heure'
      groupe: 'donnees_atmospheriques'
    visibilite:
      origine: 'service'
      type_php: 'float'
      type_unite: 'distance'
      rangement: 'heure'
      groupe: 'donnees_atmospheriques'
    nebulosite:
      origine: 'service'
      type_php: 'float'
      type_unite: 'pourcentage'
      rangement: 'heure'
      groupe: 'donnees_atmospheriques'
    indice_uv:
      origine: 'service'
      type_php: 'float'
      type_unite: 'indice'
      rangement: 'heure'
      groupe: 'donnees_atmospheriques'
    risque_uv:
      origine: 'calcul'
      type_php: 'string'
      type_unite: ''
      rangement: 'heure'
      groupe: 'donnees_atmospheriques'
    code_meteo:
      origine: 'service'
      type_php: 'string'
      type_unite: ''
      rangement: 'heure'
      groupe: 'donnees_etats_natifs'
    icon_meteo:
      origine: 'service'
      type_php: 'string'
      type_unite: ''
      rangement: 'heure'
      groupe: 'donnees_etats_natifs'
    desc_meteo:
      origine: 'service'
      type_php: 'string'
      type_unite: ''
      rangement: 'heure'
      groupe: 'donnees_etats_natifs'
    trad_meteo:
      origine: 'service'
      type_php: 'string'
      type_unite: ''
      rangement: 'heure'
      groupe: 'donnees_etats_natifs'
    jour_meteo:
      origine: 'service'
      type_php: 'mixed'
      type_unite: ''
      rangement: 'heure'
      groupe: 'donnees_etats_natifs'
    icone:
      origine: 'calcul'
      type_php: 'mixed'
      type_unite: ''
      rangement: 'heure'
      groupe: 'donnees_etats_calcules'
    resume:
      origine: 'calcul'
      type_php: 'mixed'
      type_unite: ''
      rangement: 'heure'
      groupe: 'donnees_etats_calcules'
    periode:
      origine: 'calcul'
      type_php: 'int'
      type_unite: ''
      rangement: 'heure'
      groupe: 'donnees_etats_calcules'

# Bloc Erreurs (mashup des erreurs du service)
# --------------------------------------------
erreurs:
  # Positionnement des données dans la réponse du service
  cle_base: [ ]
  # Le mashup des données : on initialise uniquement la clé à vide
  donnees:
    code:
      origine: 'service'
      type_php: 'string'
      type_unite: ''
      groupe: 'donnees_erreur'
    message:
      origine: 'service'
      type_php: 'string'
      type_unite: ''
      groupe: 'donnees_erreur'

# Bloc des compatibilités type de modèle / périodicités
# -----------------------------------------------------
modele_periodicites:
  24: [ 24, 12 ]
  12: [ 12 ]
  1: [ 1, 3, 6 ]

# Bloc des langues alternatives
# -----------------------------
# Permet pour un code spip non supporté par le service de trouver éventuellement une langue supportée.
# En dernier recours on prend la langue par défaut.
langues_alternatives:
  aa: [ ]
  ab: [ ]
  af: [ 'en' ]
  am: [ ]
  an: [ 'es' ]
  ar: [ ]
  as: [ ]
  ast: [ 'es' ]
  ay: [ ]
  az: [ 'ru' ]
  ba: [ ]
  be: [ 'ru' ]
  ber_tam: [ 'ar' ]
  ber_tam_tfng: [ 'ar' ]
  bg: [ ]
  bh: [ ]
  bi: [ ]
  bm: [ ]
  bn: [ ]
  bo: [ ]
  br: [ 'fr' ]
  bs: [ ]
  ca: [ 'es' ]
  co: [ 'fr' ]
  cpf: [ 'fr' ]
  cpf_dom: [ 'es' ]
  cpf_hat: [ 'fr' ]
  cs: [ ]
  cy: [ 'en' ]
  da: [ ]
  de: [ ]
  dz: [ ]
  el: [ ]
  en: [ ]
  en_hx: [ 'en' ]
  en_sm: [ 'en' ]
  eo: [ ]
  es: [ ]
  es_co: [ 'es' ]
  es_mx_pop: [ 'es' ]
  et: [ ]
  eu: [ 'fr' ]
  fa: [ ]
  ff: [ ]
  fi: [ 'sv' ]
  fj: [ 'en' ]
  fo: [ 'da' ]
  fon: [ ]
  fr: [ ]
  fr_fem: [ 'fr' ]
  fr_sc: [ 'fr' ]
  fr_lpc: [ 'fr' ]
  fr_lsf: [ 'fr' ]
  fr_spl: [ 'fr' ]
  fr_tu: [ 'fr' ]
  fy: [ 'de' ]
  ga: [ 'en' ]
  gd: [ 'en' ]
  gl: [ 'es' ]
  gn: [ ]
  grc: [ 'el' ]
  gu: [ ]
  ha: [ ]
  hac: [ 'ku' ]
  haz: [ 'fa' ]
  hbo: [ 'il' ]
  he: [ ]
  hi: [ ]
  hr: [ ]
  hu: [ ]
  hy: [ ]
  ia: [ ]
  id: [ ]
  ie: [ ]
  ik: [ ]
  is: [ ]
  it: [ ]
  it_fem: [ 'it' ]
  iu: [ ]
  ja: [ ]
  jv: [ ]
  ka: [ ]
  kk: [ ]
  kl: [ 'da' ]
  km: [ ]
  kn: [ ]
  ko: [ ]
  kok: [ ]
  ks: [ ]
  ku: [ ]
  ky: [ ]
  la: [ 'fr' ]
  lb: [ 'fr' ]
  ln: [ ]
  lo: [ ]
  lt: [ ]
  lu: [ ]
  lv: [ ]
  man: [ ]
  mfv: [ ]
  mg: [ 'fr' ]
  mi: [ ]
  mk: [ ]
  ml: [ ]
  mn: [ 'zh' ]
  mo: [ 'ro' ]
  mos: [ ]
  mr: [ ]
  ms: [ ]
  mt: [ 'en' ]
  my: [ ]
  na: [ ]
  nap: [ 'it' ]
  nb: [ 'no' ]
  ne: [ ]
  nl: [ ]
  nn: [ 'no' ]
  'no': [ ]
  nqo: [ ]
  oc: [ 'fr' ]
  oc_lnc: [ 'oc', 'fr' ]
  oc_ni: [ 'oc', 'fr' ]
  oc_ni_la: [ 'oc', 'fr' ]
  oc_ni_mis: [ 'oc', 'fr' ]
  oc_prv: [ 'oc', 'fr' ]
  oc_gsc: [ 'oc', 'fr' ]
  oc_lms: [ 'oc', 'fr' ]
  oc_auv: [ 'oc', 'fr' ]
  oc_va: [ 'oc', 'fr' ]
  om: [ ]
  or: [ ]
  pa: [ ]
  pbb: [ ]
  pl: [ ]
  prs: [ ]
  ps: [ ]
  pt: [ ]
  pt_br: [ 'pt' ]
  qu: [ 'es' ]
  rm: [ 'fr' ]
  rn: [ ]
  ro: [ ]
  roa: [ 'fr' ]
  ru: [ ]
  rw: [ ]
  sa: [ ]
  sc: [ 'it' ]
  scn: [ 'it' ]
  sd: [ ]
  sg: [ ]
  sh: [ 'sh' ]
  sh_latn: [ 'sh' ]
  sh_cyrl: [ 'sh' ]
  si: [ ]
  sk: [ ]
  sl: [ ]
  sm: [ 'en' ]
  sn: [ ]
  so: [ ]
  sq: [ ]
  sr: [ ]
  src: [ 'it' ]
  sro: [ 'it' ]
  ss: [ ]
  st: [ ]
  su: [ ]
  sv: [ ]
  sw: [ ]
  ta: [ ]
  te: [ ]
  tg: [ ]
  th: [ ]
  ti: [ ]
  tk: [ ]
  tl: [ ]
  tn: [ ]
  to: [ 'en' ]
  tr: [ ]
  ts: [ ]
  tt: [ ]
  tw: [ ]
  ty: [ 'fr' ]
  ug: [ ]
  uk: [ 'ru' ]
  ur: [ ]
  uz: [ ]
  vi: [ ]
  vo: [ ]
  wa: [ 'fr' ]
  wo: [ ]
  xh: [ ]
  yi: [ 'he' ]
  yo: [ ]
  za: [ 'zh' ]
  zh: [ ]
  zh_tw: [ 'zh' ]
  zu: [ ]
