Documentation du code de SPIP et de ses plugins

Rainette

rainette_normaliser.php

Ce fichier contient les fonctions internes destinées à standardiser les données météorologiques.

Table of Contents

Constants

_RAINETTE_REGEXP_LIEU_COORDONNEES  = '#([\\-\\+]?\\d+(?:\\.\\d+)?)\\s*,\\s*([\\-\\+]?\\d+(?:\\.\\d+)?)#'
Regexp permettant de reconnaître un lieu au format coordonnées géographiques latitude,longitude.
_RAINETTE_REGEXP_LIEU_INSEE_ID  = '#[0-9ABab]{5}#i'
Regexp permettant de reconnaître un lieu au format Weather ID.
_RAINETTE_REGEXP_LIEU_IP  = '#(?:\\d{1,3}\\.){3}\\d{1,3}#'
Regexp permettant de reconnaître un lieu au format adresse IP.
_RAINETTE_REGEXP_LIEU_PWSID  = '#PWS_[\\w]+#'
Regexp permettant de reconnaître un lieu au format coordonnées géographiques latitude,longitude.
_RAINETTE_REGEXP_LIEU_WEATHER_ID  = '#[a-zA-Z]{4}\\d{4}#i'
Regexp permettant de reconnaître un lieu au format Weather ID.

Functions

meteo_normaliser()  : array<string|int, mixed>
Normalise les données issues du service dans un tableau standard aux index prédéfinis pour chaque mode.
donnee_typer()  : string
Détermine, en fonction du type PHP configuré, la fonction à appliquer à la valeur d'une donnée.
donnee_formater_int_string()  : int|string
Formate une donnée qui peut soit être une chaine soit un nombre.
donnee_formater_date()  : string
Formate une date numérique ou sous une autre forme en une date au format `Y-m-d H:i:s`.
donnee_formater_heure()  : string
Formate une heure numérique ou sous une autre forme en une heure au format `H:i`.
donnee_verifier_indice_uv()  : bool
Vérifie que la valeur de l'indice UV est acceptable.
erreur_normaliser_extras()  : array<string|int, mixed>
Complète et normalise la partie additionnelle du bloc d'erreur.
erreur_formater_texte()  : array<string|int, mixed>
Formate le texte d'erreur affiché dans la boite d'alerte.
periodicite_determiner()  : int
Détermine la périodicité par défaut d'un type de modèle pour un service donné.
periodicite_est_compatible()  : bool
Vérifie, pour un type de modèle, si la périodicité proposée est compatible.
cache_normaliser()  : array<string|int, mixed>
Construit le tableau du cache en fonction du service, du lieu, du type de données, de la langue utilisée par le site et de l'unité des données.
lieu_normaliser()  : array<string|int, mixed>
Normalise la chaine représentant le lieu et renvoie son format d'expression (lat/lon, adresse IP, etc.).
lieu_format_verifier_compatibilite()  : bool
Vérifie que le format du lieu est bien supporté par l'API du service.
langue_service_determiner()  : string
Détermine la langue d'acquisition du résumé météorologique via l'API du service.
langue_spip_determiner()  : string
Détermine la langue utilisée par spip, à savoir, soit celle de la page qui affiche la météo, soit celle du site.
langue_spip_lister_modules()  : array<string|int, mixed>
Collectionne les langues traduites par des modules de langues spip.
configuration_service_lire()  : array<string|int, mixed>
Renvoie pour un service, la configuration du bloc général du service et d'un éventuel autre bloc correspondant en général à un mode météo ou toute la configuration.
configuration_donnees_normaliser()  : array<string|int, mixed>
Normalise le bloc de configuration des données de service d'un mode donné.
parametrage_service_lire()  : array<string|int, mixed>
Renvoie pour un service, le paramétrage utilisateur ou vide si le service n'a pas encore été paramétré.
parametrage_service_est_valide()  : bool
Vérifie pour un service, si le paramétrage utilisateur est valide afin d'utiliser le service.
parametrage_service_normaliser()  : array<string|int, mixed>
Renvoie la configuration utilisateur d'un service après l'avoir complétée par la configuration par défaut quand cela est nécessaire.
icone_normaliser_chemin()  : string
Construit le chemin complet d'un icone disponible localement dans un thème donné.

Constants

_RAINETTE_REGEXP_LIEU_COORDONNEES

Regexp permettant de reconnaître un lieu au format coordonnées géographiques latitude,longitude.

public mixed _RAINETTE_REGEXP_LIEU_COORDONNEES = '#([\\-\\+]?\\d+(?:\\.\\d+)?)\\s*,\\s*([\\-\\+]?\\d+(?:\\.\\d+)?)#'

_RAINETTE_REGEXP_LIEU_INSEE_ID

Regexp permettant de reconnaître un lieu au format Weather ID.

public mixed _RAINETTE_REGEXP_LIEU_INSEE_ID = '#[0-9ABab]{5}#i'

_RAINETTE_REGEXP_LIEU_IP

Regexp permettant de reconnaître un lieu au format adresse IP.

public mixed _RAINETTE_REGEXP_LIEU_IP = '#(?:\\d{1,3}\\.){3}\\d{1,3}#'

_RAINETTE_REGEXP_LIEU_PWSID

Regexp permettant de reconnaître un lieu au format coordonnées géographiques latitude,longitude.

public mixed _RAINETTE_REGEXP_LIEU_PWSID = '#PWS_[\\w]+#'

_RAINETTE_REGEXP_LIEU_WEATHER_ID

Regexp permettant de reconnaître un lieu au format Weather ID.

public mixed _RAINETTE_REGEXP_LIEU_WEATHER_ID = '#[a-zA-Z]{4}\\d{4}#i'

Functions

meteo_normaliser()

Normalise les données issues du service dans un tableau standard aux index prédéfinis pour chaque mode.

meteo_normaliser(array<string|int, mixed> $flux, string $langue, array<string|int, mixed> $configuration_mode, array<string|int, mixed> $configuration_service[, null|int $periode = -1 ]) : array<string|int, mixed>
Parameters
$flux : array<string|int, mixed>

Le tableau brut des données météorologiques issu de l'appel au service.

$langue : string

Code de langue spip indiquant langue choisie pour afficher les données météo. Suivant le service il est possible que cette langue ne soit pas disponible nativement.

$configuration_mode : array<string|int, mixed>

Configuration technique des données pour le mode concerné

$configuration_service : array<string|int, mixed>

Configuration statique et utilisateur du service ayant retourné le flux de données.

$periode : null|int = -1

Valeur de 0 à n pour indiquer qu'on traite les données de prévisions d'une période horaire donnée ou -1 pour indiquer que l'on traite les données jour. La valeur maximale n dépend de la périodicité des prévisions, par exemple, elle vaut 0 pour une périodicité de 24h, 1 pour 12h...

Tags
used-by
inc_meteo_charger_dist()
Return values
array<string|int, mixed>

Le tableau standardisé des données météorologiques du service pour la période spécifiée.

donnee_typer()

Détermine, en fonction du type PHP configuré, la fonction à appliquer à la valeur d'une donnée.

donnee_typer(string $type_php) : string
Parameters
$type_php : string

Le type PHP ou chaine vide sinon

Return values
string

La fonction PHP (floatval, intval...) ou spécifique à appliquer à la valeur de la donnée.

donnee_formater_int_string()

Formate une donnée qui peut soit être une chaine soit un nombre.

donnee_formater_int_string(string $donnee) : int|string

C'est le cas du code méteo.

Parameters
$donnee : string

Correspond à un index du tableau associatif standardisé à formater en date standard.

Return values
int|string

Donnée nombre ou chaine.

donnee_formater_date()

Formate une date numérique ou sous une autre forme en une date au format `Y-m-d H:i:s`.

donnee_formater_date(string $donnee) : string
Parameters
$donnee : string

Correspond à un index du tableau associatif standardisé à formater en date standard.

Return values
string

Date au format Y-m-d H:i:s.

donnee_formater_heure()

Formate une heure numérique ou sous une autre forme en une heure au format `H:i`.

donnee_formater_heure(string $donnee) : string
Parameters
$donnee : string

Correspond à un index du tableau associatif standardisé à formater en heure standard.

Return values
string

Heure au format H:i.

donnee_verifier_indice_uv()

Vérifie que la valeur de l'indice UV est acceptable.

donnee_verifier_indice_uv(float $donnee) : bool
Parameters
$donnee : float

Valeur de l'indice UV à vérifier. Un indice UV est toujours compris entre 0 et 16, bornes comprises.

Return values
bool

true si la valeur est acceptable, false sinon.

erreur_normaliser_extras()

Complète et normalise la partie additionnelle du bloc d'erreur.

erreur_normaliser_extras(array<string|int, mixed> $erreur, string $lieu_id, string $mode, string $service, int $periodicite[, null|array<string|int, mixed> $configuration = [] ]) : array<string|int, mixed>
Parameters
$erreur : array<string|int, mixed>

Bloc d'erreur brut fourni par la fonction de chargement

$lieu_id : string

L'id normalisé du lieu concerné par la méteo exprimé selon les critères requis par le service.

$mode : string

Le type de données météorologiques demandé.

$service : string

Le nom abrégé du service.

$periodicite : int

La périodicité horaire des prévisions uniquement (0 si le mode est différent).

$configuration : null|array<string|int, mixed> = []

Configuration du service

Tags
used-by
inc_meteo_charger_dist()
Return values
array<string|int, mixed>

Bloc d'erreur complété

erreur_formater_texte()

Formate le texte d'erreur affiché dans la boite d'alerte.

erreur_formater_texte(array<string|int, mixed> $erreur, string $lieu_id, string $mode, string $service, string $modele, string $nom_service) : array<string|int, mixed>
Parameters
$erreur : array<string|int, mixed>

Bloc d'erreur brut fourni par la fonction de chargement

$lieu_id : string

L'id normalisé du lieu concerné par la méteo exprimé selon les critères requis par le service.

$mode : string

Le type de données météorologiques demandé.

$service : string

Le nom abrégé du service.

$modele : string

Le modèle utilisé pour afficher la météo.

$nom_service : string

Nom littéral du service

Return values
array<string|int, mixed>

Texte de l'erreur pour affichage sous la forme d'un tableau à 3 index, service, principal et conseil.

periodicite_determiner()

Détermine la périodicité par défaut d'un type de modèle pour un service donné.

periodicite_determiner(string $type_modele, string $service) : int
Parameters
$type_modele : string

Type de modèle.

$service : string

Le nom abrégé du service.

Return values
int

Périodicité calculée.

periodicite_est_compatible()

Vérifie, pour un type de modèle, si la périodicité proposée est compatible.

periodicite_est_compatible(string $type_modele, int $periodicite) : bool
Parameters
$type_modele : string

Type de modèle.

$periodicite : int

La périodicité horaire des prévisions uniquement (0 si le ode est différent).

Return values
bool

true si compatible, false sinon.

cache_normaliser()

Construit le tableau du cache en fonction du service, du lieu, du type de données, de la langue utilisée par le site et de l'unité des données.

cache_normaliser(string $lieu_id, string $mode, int $periodicite, string $langue, array<string|int, mixed> $configuration_service) : array<string|int, mixed>
Parameters
$lieu_id : string

Id normalisé du lieu pour lequel on requiert le nom du cache.

$mode : string

Type de données météorologiques. Les valeurs possibles sont infos, conditions ou previsions.

$periodicite : int

La périodicité horaire des prévisions :

  • 24, 12, 6, 3 ou 1, pour le mode previsions
  • 0, pour les modes conditions et infos
$langue : string

Code de langue spip représentant la langue dans laquelle le résumé calculé sera fournit.

$configuration_service : array<string|int, mixed>

Configuration complète du service, statique et utilisateur.

Tags
used-by
inc_meteo_charger_dist()
Return values
array<string|int, mixed>

Chemin complet du fichier cache.

lieu_normaliser()

Normalise la chaine représentant le lieu et renvoie son format d'expression (lat/lon, adresse IP, etc.).

lieu_normaliser(string $lieu) : array<string|int, mixed>
Parameters
$lieu : string

Le lieu concerné par la méteo exprimé selon les critères requis par le service.

Return values
array<string|int, mixed>

La chaine du lieu prête à être utilisée dans une requête et le format du lieu

lieu_format_verifier_compatibilite()

Vérifie que le format du lieu est bien supporté par l'API du service.

lieu_format_verifier_compatibilite(string $format, string $service) : bool
Parameters
$format : string

Identifiant du format de lieu.

$service : string

Identifiant du service.

Return values
bool

true si la format est supporté, false sinon.

langue_service_determiner()

Détermine la langue d'acquisition du résumé météorologique via l'API du service.

langue_service_determiner(string $langue, array<string|int, mixed> $configuration_service) : string

Ce n'est pas forcément la langue d'affichage du résumé si le service ne fournit pas la traduction demandée.

Parameters
$langue : string

Code de langue spip indiquant langue choisie pour afficher les données météo. Suivant le service il est possible que cette langue ne soit pas disponible nativement, la fonction se rabat alors sur un backup.

$configuration_service : array<string|int, mixed>

Configuration complète du service, statique et utilisateur.

Return values
string

Code de langue spip

langue_spip_determiner()

Détermine la langue utilisée par spip, à savoir, soit celle de la page qui affiche la météo, soit celle du site.

langue_spip_determiner() : string
Return values
string

Code de langue spip

langue_spip_lister_modules()

Collectionne les langues traduites par des modules de langues spip.

langue_spip_lister_modules(string $service) : array<string|int, mixed>

Pour un service donné, le module de langue coincide avec l'identifiant du service.

Parameters
$service : string

Identifiant du service.

Return values
array<string|int, mixed>

Liste des codes de langue spip

configuration_service_lire()

Renvoie pour un service, la configuration du bloc général du service et d'un éventuel autre bloc correspondant en général à un mode météo ou toute la configuration.

configuration_service_lire(string $service[, null|string $bloc = '' ]) : array<string|int, mixed>
Parameters
$service : string

Le nom abrégé du service.

$bloc : null|string = ''

Index désignant le bloc de configuration à retourner. Si infos, conditions, prévisions ou erreurs, on retourne ce bloc en plus du bloc service. Si service, seul le bloc service est retourné. Si vide ou incorrect toute la configuration est retournée.

Tags
used-by
inc_meteo_charger_dist()
Return values
array<string|int, mixed>

Extrait de la configuration demandé.

configuration_donnees_normaliser()

Normalise le bloc de configuration des données de service d'un mode donné.

configuration_donnees_normaliser(string $mode, array<string|int, mixed> $configuration_service) : array<string|int, mixed>
Parameters
$mode : string

Le type de données météorologiques demandé.

$configuration_service : array<string|int, mixed>

Configuration de la source des données.

Return values
array<string|int, mixed>

Bloc de configuration normalisé.

parametrage_service_lire()

Renvoie pour un service, le paramétrage utilisateur ou vide si le service n'a pas encore été paramétré.

parametrage_service_lire(string $service) : array<string|int, mixed>
Parameters
$service : string

Le nom abrégé du service.

Return values
array<string|int, mixed>

Paramétrage utilisateur d'un service.

parametrage_service_est_valide()

Vérifie pour un service, si le paramétrage utilisateur est valide afin d'utiliser le service.

parametrage_service_est_valide(string $service) : bool
Parameters
$service : string

Le nom abrégé du service.

Return values
bool

true si valide, false sinon.

parametrage_service_normaliser()

Renvoie la configuration utilisateur d'un service après l'avoir complétée par la configuration par défaut quand cela est nécessaire.

parametrage_service_normaliser(string $service, array<string|int, mixed> $configuration_defaut) : array<string|int, mixed>
Parameters
$service : string

Le nom abrégé du service.

$configuration_defaut : array<string|int, mixed>

La configuration par défaut du service.

Tags
used-by
inc_meteo_charger_dist()
Return values
array<string|int, mixed>

Configuration utilisateur d'un service normalisée.

icone_normaliser_chemin()

Construit le chemin complet d'un icone disponible localement dans un thème donné.

icone_normaliser_chemin(string $icone[, null|string $service = '' ][, null|string $theme = '' ]) : string
Parameters
$icone : string

nom de l'icone

$service : null|string = ''

Le nom abrégé du service.

$theme : null|string = ''

Le nom d'un thème d'icones : sert aussi de sous-dossier

Return values
string

        
On this page

Search results