SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

290 Plugins, 198 contribs sur SPIP-Zone, 83 visiteurs en ce moment

Accueil > Géo, carto, météo > Informations météorologiques > Rainette > Rainette v1, la méteo au quotidien

Rainette v1, la méteo au quotidien

31 juillet 2009 – par _Eric_ – 204 commentaires

48 votes

Ce plugin permet d’afficher les conditions et les prévisions météorologiques d’une ville donnée à partir du flux xml fourni par le site weather.com®.

Description

Synopsis

Le plugin Rainette est destiné à afficher les données météorologiques d’une ville choisie par son code météo standard (FRXX0076 pour Paris, par exemple). Les données météorologiques sont fournies par le site weather.com®.

Le plugin propose d’afficher, d’une part, les conditions courantes, rafraîchies toutes les 30mn, et, d’autre part, les prévisions sur plusieurs jours, rafraîchies toutes les 2h.
L’affichage des données météorologiques se fait au travers de modèles, ce qui permet l’inclusion dans un squelette ou dans un article. Cet affichage est totalement paramétrable (icônes, libellés, unités, présentation...).

Une page « Météo » est aussi disponible pour le squelette ZPIP, voir l’article Rainette et les squelettes Z pour plus de détails.

Il est aussi possible d’afficher des informations sur la ville observée via un modèle spécifique ou une balise.

Exclusions

La recherche du code météo des villes et la gestion des dites villes ne fait pas partie du plugin. Ces fonctions doivent être développées dans les squelettes ou plugins qui utilisent Rainette.

Crédits

Rainette s’inspire dans son principe du plugin Grenouille mais ne stocke aucune information en base de données ni ne gère le choix des villes. Merci donc à Artégo et Touti pour la grenouille originelle.

Installation

Se référer à l’installation d’un plugin sur spip.net. L’ensemble des sources est installé dans plugins/. Rien n’est créé en base de données.
Le plugin est déposé sur la zone et peut être téléchargé en zip ou en SVN.

Désinstallation

Désactiver le plugin dans la page d’administration de l’espace privé. Ensuite supprimer le dossier du plugin Rainette dans plugins/.
Pour enlever toutes traces du plugin il est possible de supprimer aussi le cache du plugin à l’emplacement tmp/cache/rainette/.

Configuration

Le plugin propose des paramètres de configuration, définis dans rainette_options.php, et qui s’appliquent à l’ensemble des villes observées par Rainette (aucune configuration CFG n’est proposée). Ce sont :

Répertoire des icônes personnalisés
variable _RAINETTE_ICONES_PATH
défaut ’rainette/’
valeurs Ce sous-répertoire est à créer dans le dossier squelettes/ ou dans le dossier du plugin utilisateur. Il accueille alors les icônes de temps personnalisés
Intervalle de mise à jour des prévisions météo
variable _RAINETTE_RELOAD_TIME_PREVISIONS
défaut 2*3600 (soit 2 heures)
valeurs Ce que l’on veut mais il n’y a aucun intérêt à choisir une valeur inférieure à 2 heures car c’est la récurrence minimale de weather.com
Intervalle de mise à jour des prévisions météo
variable _RAINETTE_RELOAD_TIME_CONDITIONS
défaut 1800 (soit 30 minutes)
valeurs Ce que l’on veut mais il n’y a aucun intérêt à choisir une valeur inférieure à 30 minutes car c’est la récurrence minimale de weather.com
Nombre de jour de prévisions
variable _RAINETTE_JOURS_PREVISION
défaut 10
valeurs [1..10]
Système de mesure
variable _RAINETTE_SYSTEME_MESURE
défaut ’m’
valeurs ’m’ pour métrique, ’s’ pour standard (impérial US)

Utilisation

Une page de démo demo/rainette.html est fournie avec le plugin et illustre l’ensemble des cas d’utilisation décrit ci-après. La page doit être appelée par l’url http://monsite/spip.php?page=demo/rainette&ville=frxxnnnn, où frxxnnnn représente le code météo de la ville observée (Paris par défaut).

Insertion de la balise #INSERT_HEAD

Le plugin utilise des CSS pour personnaliser ses affichages. Pour bénéficier de ces styles il est nécessaire d’insérer la balise #INSERT_HEAD dans le header de vos pages. Rainette intégrera alors automatiquement les styles rainette.css dans le header.

Méthodes d’affichage des données météorologiques

Le plugin propose uniquement deux modèles à inclure dans les squelettes ou les articles. Ils permettent d’afficher l’ensemble des données météorologiques prévisionnelles ou temps réel disponibles. Les possibilités de paramétrage de ces modèles font qu’il n’est point besoin de les modifier pour personnaliser la présentation des données (cf. paragraphe Personnalisation).

— rainette_previsions : modèle d’affichage des données prévisionnelles pour une journée ou plusieurs jours
— rainette_conditions : modèle d’affichage des données temps réel

L’intégration de ces modèles dans un squelette se fait, par exemple, de la manière suivante :

  1. [(#MODELE{rainette_previsions, code=FRXX0023, type=1_jour, jour=1, sous_modele=previsions_2x12h})]
  2. [(#MODELE{rainette_previsions, code=FRXX0023, type=x_jours, jour=5, sous_modele=previsions_24h})]
  3. [(#MODELE{rainette_conditions, code=FRXX0023, sous_modele=conditions_tempsreel})]

Télécharger

et dans le texte d’un article :

  1. <rainette_previsions|code=FRXX0023|type=x_jours|jour=3|sous_modele=previsions_2x12h>
  2. <rainette_conditions|code=FRXX0023|sous_modele=conditions_tempsreel>

Télécharger

Méthodes d’affichage des informations d’une ville

Le plugin propose également un modèle paramétrable (cf. paragraphe Personnalisation) et une balise pour afficher les informations générales sur la ville observée.

— rainette_infos : modèle d’affichage des informations sur une ville
— #RAINETTE_INFOS : balise d’affichage des informations sur une ville

L’intégration du modèle ou de la balise dans un squelette se fait, par exemple, de la manière suivante :

  1. [(#MODELE{rainette_infos, code=FRXX0023, sous_modele=infos_ville})]
  2.  
  3. #RAINETTE_INFOS{FRXX0023, ville}
  4. #RAINETTE_INFOS{FRXX0023, longitude}

Télécharger

et dans le texte d’un article :

  1. <rainette_infos|code=FRXX0023|sous_modele=infos_ville>

Affichage des conditions temps réel

Rainette propose en premier lieu d’afficher les données météorologiques de la journée en cours, en utilisant le modèle rainette_conditions. Les données collectées et l’affichage par défaut sont les suivants :

— les températures, mesurées et ressenties,
— le statut météorologique, libellé et icône,
— la pression et sa tendance,
— la vitesse du vent et sa direction,
— le pourcentage d’humidité et le point de rosée,
— la visibilité,
— la station météorologique d’observation (qui peut différer de la ville) et la date de dernière mise à jour des données.

Modèle rainette_conditions
1. code obligatoire, désigne le code météo standard de la ville
2. sous_modele facultatif, détermine la présentation des données temps réel. La valeur par défaut correspond au sous-modèle fourni par Rainette, à savoir, conditions_tempsreel.

Affichage des prévisions sur une journée

Rainette propose, d’autre part, d’afficher les prévisions météorologiques d’une journée, en utilisant le modèle rainette_previsions. Les données sont collectées par demi-journée, à savoir, « jour » et « nuit ». L’affichage par défaut présente donc les informations dans un tableau à deux colonnes, une pour chaque demi-journée.
Dans le cas où l’on observe les prévisions du jour courant, les informations « jour » ne sont accessibles que jusqu’à 14h00. À partir de cette heure, les informations « jour » sont positionnées à N/D (non déterminée). Pour éviter de présenter des informations sans intérêt, le modèle par défaut de Rainette remplace à partir de 14h00, les informations « jour » et « nuit » par les informations « nuit » et « demain matin ».
Les données collectées par demi-journée et les affichages par défaut (jour courant et surlendemain) sont les suivants :

— la température (max. pour le « jour », min. pour la « nuit »),
— le statut météorologique, libellé et icône,
— la vitesse du vent et sa direction,
— le pourcentage d’humidité et le risque de précipitation,
— l’heure de lever (« jour ») ou du coucher (« nuit ») du soleil,
et la date de dernière mise à jour des données.

Modèle rainette_previsions sur une journée
1. code obligatoire, désigne le code météo standard de la ville
2. type obligatoire, détermine le type de prévisions, sur une journée ou sur plusieurs jours. Dans le cas présent, type doit prendre la valeur 1_jour
3. jour facultatif, dans le cas présent (type=1_jour), détermine le jour à observer : 0 pour le jour courant, 1 pour le lendemain... La valeur par défaut est 0, la valeur maximale _RAINETTE_JOURS_PREVISION-1
4. sous_modele facultatif, détermine la présentation des données prévisionnelles d’une journée. La valeur par défaut correspond au sous-modèle fourni par Rainette, à savoir, previsions_2x12h

Affichage des prévisions sur plusieurs jours

Rainette propose, aussi, d’afficher les prévisions météorologiques sur plusieurs jours, en utilisant également le modèle rainette_previsions. Les données sont aussi collectées par demi-journée, à savoir, « jour » et « nuit ». Cependant, l’affichage par défaut présente un résumé des informations « jour » ou « nuit ».

En effet, dans le cas où l’on observe les prévisions du jour courant, les informations « jour » n’étant accessibles que jusqu’à 14h00, le modèle par défaut de Rainette remplace à partir de 14h00, les informations « jour » par les données « nuit ». Par contre, dans le cas où l’on observe les prévisions des jours suivants, seules les informations « jour » sont présentées.

Les données collectées par demi-journée ainsi que l’affichage par défaut sont les suivants :

— la température (max. pour le « jour », min. pour la « nuit »),
— le statut météorologique, libellé et icône,
— la vitesse du vent et sa direction,
— le pourcentage d’humidité et le risque de précipitation,
— l’heure de lever (« jour ») ou du coucher (« nuit ») du soleil,
et la date de dernière mise à jour des données.

Modèle rainette_previsions sur plusieurs jours
1. code obligatoire, désigne le code météo standard de la ville
2. type obligatoire, détermine le type de prévisions, sur une journée ou sur plusieurs jours. Dans le cas présent, type doit prendre la valeur x_jours
3. jour facultatif, dans le cas présent (type=1_jour), détermine le nombre de jours à observer. La valeur par défaut est la valeur maximale, soit _RAINETTE_JOURS_PREVISION
4. sous_modele facultatif, détermine la présentation des données prévisionnelles sur plusieurs jours. La valeur par défaut correspond au sous-modèle fourni par Rainette, à savoir, previsions_24h

Affichage des informations sur la ville observée

Rainette permet d’afficher des informations succinctes sur la ville observée, informations qui sont incluses dans les données transmises par weather.com. Ces informations peuvent être affichées, soit en utilisant le modèle rainette_infos, soit en utilisant la balise #RAINETTE_INFOS.

Les données disponibles pour une ville et l’affichage du modèle par défaut sont les suivantes :

— le code météo et le nom standard de la ville,
— sa longitude et latitude,
— et la zone d’appartenance (celle des DVD).

Modèle rainette_infos
1. code obligatoire, désigne le code météo standard de la ville
2. sous_modele facultatif, détermine la présentation des données de la ville. La valeur par défaut correspond au sous-modèle fourni par Rainette, à savoir, infos_ville

Ces mêmes informations peuvent être manipulées avec la balise #RAINETTE_INFOS. l’intérêt de cette balise est de pouvoir introduire le nom ou les coordonnées de la ville à loisir dans les modèles météorologiques temps réel ou prévisionnels. La description de la balise est la suivante :

Balise #RAINETTE_INFOS
1. code obligatoire, désigne le code météo standard de la ville
2. information facultatif, détermine l’information requise pour la ville choisie. Les valeurs possibles sont :
code_meteo (sans intérêt, correspond déjà à l’argument 1), ville, longitude, latitude et zone
Si cet argument est absent, la balise retourne le tableau sérialisé des données de la ville

Personnalisation

Si l’affichage proposé par défaut par Rainette ne convient pas il existe plusieurs méthodes pour le personnaliser.

Les CSS

Si on ne souhaite pas toucher aux sous-modèles previsions_2x12h, previsions_24h et conditions_tempsreel, il suffit de modifier les CSS associées à ces modèles. En effet, chaque donnée météo est incluse dans une structure HTML associée à un style précis. Il suffit donc de surcharger ces styles pour adapter l’affichage.

Les modèles

Le mode opératoire des modèles rainette_conditions, rainette_previsions et rainette_infos est le suivant :

  1. appeler un filtre unique appliqué à un code météorologique - rainette_croaaaaa_conditions(), rainette_croaaaaa_previsions(), rainette_croaaaaa_infos() - qui enchaînera :
  2. la récupération des données météorologiques pour la période choisie
  3. et l’affichage des données collectées en évaluant le sous-modèle choisi.
  1. [(#REM)<!-- modèle rainette_conditions
  2.         Afficher les données météo temps reel pour le code #ENV{code} avec le sous-modèle #ENV{sous_modele}
  3.  -->]
  4. [(#ENV{code}|rainette_croaaaaa_conditions{#ENV{sous_modele,conditions_tempsreel}})]

Télécharger

Il n’y a donc pas d’intérêt à modifier ces modèles sauf si l’on désire changer le contexte d’évaluation des sous-modèles (cad, la liste des informations météorologiques transmise au sous-modèle). Dans ce cas, il faudra créer un nouveau filtre et un nouveau modèle pour Rainette.

Les sous-modèles

Description des filtres et environnements des sous-modèles

Toutefois, l’affichage étant entièrement géré par les sous-modèles, les personnalisations les plus fréquentes passeront par la surcharge ou la création de sous-modèles à l’instar de previsions_conditions, previsions_24h, previsions_2x12h et infos_ville. Ces sous-modèles gèrent l’affichage des unités, des libellés et icônes, mais aussi le fonctionnement jour/nuit.
Pour créer de nouveaux modèles, il est donc nécessaire de connaître l’environnement exact des données passé au sous-modèle (#ENV) et les filtres nécessaires pour présenter les informations (par exemple, les unités).

Les icônes de temps

Par défaut, Rainette utilise les icônes de temps du pack Sticker provenant du site liquidweather.net. Ces icônes sont stockés dans le répertoire img_meteo/petit/ ou img_meteo/grand/ suivant leur taille, et se nomment nn.png, où nn correspond à un numéro entre 0 et 47 ou à na. Les grands icônes sont utilisés dans les conditions et prévisions d’une journée tandis que les petits icônes sont utilisés dans les prévisions à plusieurs jours.

Il est possible de personnaliser les icônes en stockant un autre jeu d’icônes dans le sous-dossier _RAINETTE_ICONES_PATH d’un squelette ou d’un plugin. Les filtres d’image de SPIP sont applicables (image_reduire() en particulier).

Vous pouvez trouver de multiples jeux d’icônes en 32x32 (petit) et en 110x110 (grand) sur le net ou créer vous même de nouveaux icônes.

Les items de langue

Les libellés des statuts météorolgiques, les unités, les libellés de tendance de pression, les directions du vent... sont tous des items de langue. Il est donc possible de surcharger ces libellés par des libellés personnalisés.

Recherche des codes météo standard

Rainette ne propose pas d’interface pour la détermination de ces codes. Cependant il est très facile de trouver un code en faisant une interrogation au site weather.com® avec une URL du type :

  1. http://wxdata.weather.com/wxdata/weather/search/search?where=paris

On obtient le flux xml suivant :

  1. <search ver="3.0">
  2.     <loc id="FRXX0076" type="1">Paris, 75, France</loc>
  3.     <loc id="USAR0433" type="1">Paris, AR</loc>
  4.     <loc id="USID0192" type="1">Paris, ID</loc>
  5.     <loc id="USIL0920" type="1">Paris, IL</loc>
  6.     <loc id="USKY1218" type="1">Paris, KY</loc>
  7.     <loc id="USME0309" type="1">Paris, ME</loc>
  8.     <loc id="USMI0655" type="1">Paris, MI</loc>
  9.     <loc id="USMO0675" type="1">Paris, MO</loc>
  10.     <loc id="USMS0280" type="1">Paris, MS</loc>
  11.     <loc id="USOH0748" type="1">Paris, OH</loc>
  12. </search>

Télécharger

On sélectionne ensuite le Paris que l’on souhaite, par exemple, la capitale de la France, soit FRXX0076. Les autres villes sont localisées aux États-Unis ;-). On voit donc qu’en parsant le flux XML il est assez simple de renvoyer les informations dans un formulaire de sélection. Une noisette en perspective...

Mises à jour

-  7 Juin 2011 : Mise à jour 1.4.0, avec les modifications suivantes :

  • Rainette devient compatible SPIP 3,
  • les pages Z du plugin sont maintenant utilisables sous Zpip-dist avec SPIP 2 et Z-Dist avec SPIP 3,
  • plugin.xml est revu en prévision de la migration sous paquet.xml (ajout du slogan)
  • réorganisation de la page de démo et des css

Todo...

Plus rien sur cette branche v1 qui est remplacée par la Rainette v3, une évolution majeure.

Voir en ligne : http://plugins.spip.net/rainette

Dernière modification de cette page le 11 décembre 2017

Retour en haut de la page
Chargement en cours...

Ça discute par ici

  • Convertir un site SPIP 3 en utf-8 avec le plugin Grenier

    8 janvier 2014 – 23 commentaires

    SPIP 3 fonctionne nativement avec l’encodage universel unicode utf-8. Sur certains sites (par exemple sur une mise à jour), on peut avoir un site qui est resté en iso-latin ce qui n’est pas conseillé (source de bugs, d’incompatibilité, ...) . (...)

  • ScolaSPIP 4

    19 janvier 2016 – 360 commentaires

    ScolaSPIP est plugin-squelette responsive personnalisable pour sites Web d’établissements scolaires basé sur SPIPr Présentation de ScolaSPIP Ce plugin pour SPIP 3 est développé par la Dane de l’académie de Versailles pour les webmestres de cette (...)

  • SPIP 3.2, Agenda et FullCalendar

    6 juin – 10 commentaires

    Nous avions publié un article sur la manière d’utiliser FullCalendar avec SPIP 3.0 afin d’afficher des évènements sous forme d’Agenda. La version de FullCalendar a changé avec SPIP 3.2. Le présent article est donc un tutoriel adapté à SPIP 3.2. Pour (...)

  • Mailsubscribers

    16 janvier 2013 – 408 commentaires

    Ce plugin permet de gérer les inscriptions (ou abonnements) à la diffusion de contenu par email. Mailsubscribers permet de gérer les inscriptions par Opt-in simple ou double et la désinscription par URL. Ce plugin gère également plusieurs listes de (...)

  • Nouvelle version - Modération de modifications

    29 janvier 2012 – 49 commentaires

    Suite à une migration depuis SPIP-Agora, j’ai développé ce plugin permettant de reprendre la fonctionnalité « Nouvelle version » inexistente sur SPIP2 ni sur SPIP3 Ce plugin permet d’étendre le work-flow de -rédaction-publication d’un article au cas d’un (...)