Rainette v3+, une évolution majeure

Ce plugin est une évolution majeure du plugin Rainette v1 et permet d’afficher les conditions et les prévisions météorologiques d’un lieu donné à partir d’un web service météorologique. Cette version supporte plusieurs services météo fournissant une API pour les conditions temps réel et les prévisions.

Il est clairement conseillé de migrer les versions v1 et v2 vers cette nouvelle version v3, la seule maintenue aujourd’hui.

De la v1 à la v3 ou v4

Les problèmes de la version v1

Depuis quelques années, Weather.com® - qui était le service unique utilisé par Rainette v1 - avait perdu en fiabilité, du moins pour les lieux à « faible popularité ». Il a été récemment arrêté après des années de bons services.

Il a donc été nécessaire de faire évoluer Rainette pour pallier au problème posé par Weather® et permettre à tous de disposer d’une météo locale.

Incompatibilité avec la version v1

La version v3 est un refactoring complet de la version v1 (et aussi v2). Outre l’utilisation transparente de divers services météo elle amène une grande facilité de configuration de nouveaux services, une cohérence plus importante dans l’API et les modèles et des prévisions horaires en plus des prévisions jour.

La version v3 n’assure donc aucune compatibilité avec les versions précédentes mais la migration reste simple comme on le verra plus avant dans l’article.

Caractéristiques minimales

La v3 demande d’avoir au minimum php 5.3.0 et ne fonctionne qu’en spip 3.1 et 3.2 !

La v4 elle est compatible avec spip 4 uniquement.

Extension de la liste des services météo

La principale évolution a donc consisté à acquérir et restituer les données météo fournies par différents services et permettre ainsi à chaque utilisateur de choisir le meilleur flux correspondant à sa localisation.

Suite à une petite étude des flux disponibles, la liste des services proposant une API de récupération des données météo retenus dans la version v3 de Rainette est donnée ci-dessous. Cette liste évolue rapidement, la tension mercantile sur ces services étant forte. Certains deviennent payants et d’autres disparaissent comme notre vieux compagnon Weather®.

  • OpenWeather, toujours gratuit et devenu le service par défaut de Rainette ;
  • Weatherbit.io, propose un plan gratuit ;
  • WeatherAPI, propose un plan gratuit ;
  • World Weather Online, uniquement payant mais toujours aussi performant ;
  • AccuWeather, propose un plan gratuit limité mais ce service historique est l’un des plus performants et complets ;
  • Météo Concept, propose un plan gratuit pour la France et quelques localités limitrophes en Belgique, au Luxembourg et en Andorre ;
  • Open-Meteo, dont le code est open-source (Github) et qui fournit un plan gratuit pour une utilisation non commerciale ou personnelle. Une bonne alternative à OpenWeather qui ne demande aucune inscription ;
  • APIXU, a disparu au profit de WeatherStack ;
  • WeatherStack qui finalement n’a pas été retenu étant donné la pauvreté de son offre gratuite et le prix de ses offres payantes ;
  • Weather Underground, ne fournit plus d’API ;
  • Weather.com®, a fermé définitivement.

Tous les services proposés sauf Open-Meteo, utilisent une clé d’inscription pour repérer les utilisations de leur flux.

Il est aujourd’hui conseillé d’utiliser le service OpenWeather qui est proposé par défaut. Open-Meteo, Weatherbit.io et WeatherAPI sont de bonnes alternatives qui proposent encore des options gratuites satisfaisantes. En version payante, le service World Weather Online est toujours d’excellente qualité et AccuWeather est le plus complet.

Configuration

Contrairement à la version v1, chaque service de Rainette v3 possède une configuration qu’il est impératif de positionner avant utilisation. Cette configuration permet de définir la clé d’inscription, le système d’unité et le type de résumé/icône (fourni par le service ou converti vers celui de Weather.com®).

Les services

Les services proposés dans la version actuelle sont connus du plugin par leur alias qui sont les suivants :

  • OpenWeather : owm ;
  • Weatherbit.io : weatherbit ;
  • WeatherAPI : weatherapi ;
  • World Weather Online : wwo ;
  • AccuWeather : accuweather.
  • Météo Concept : meteoconcept.
  • Open-Meteo : openmeteo.

Les alias permettent d’identifier le service dans l’appel des modèles.

Mise en œuvre du plugin

L’indication du lieu

Chaque service possède sa propre liste de format pour indiquer le lieu. Rainette v3 ne retient pas toutes les possibilités mais uniquement les formes suivantes (l’id Weather® n’est plus utilisé par les services actuellement proposés) :

  • le nom d’une ville complétée éventuellement par le pays ville,pays comme Paris,France ou Paris,FR ;
  • l’ID d’une ville de plus de 1000 habitants qui est un nombre entier (2988507 pour Paris), disponible à partir de la version 3.10.1. Il est possible de trouver la correspondance sur le site d’opendatasoft. Pour le service AccuWeather l’ID est spécifique et peut être récupéré via une requête spécifique de l’API (à lancer sur le site lui-même) ;
  • des coordonnées géographiques sous la forme latitude,longitude sachant que latitude et longitude sont exprimées en nombre réel avec un point pour séparer les décimales (45.7 par exemple) ;
  • le code INSEE d’une commune française ;
  • et une adresse IP.

Le mapping avec les services est le suivant :

ServicesVille, PaysCoordonnéesID VilleIPINSEE
OpenWeather x (code pays) x x
Weatherbit.io x (code pays) x x
WeatherAPI x x x
World Weather Online x x x
AccuWeather x
Météo Concept x x
Open-Meteo x

Unité

Quelque soit le service utilisé il est possible d’obtenir les données météorologiques dans le système métrique ou impérial US. La plupart du temps le service fournit la conversion mais quand ce n’est pas le cas, Rainette convertit de lui-même la donnée concernée.

Traduction

Certains services proposent une traduction du résumé météorologique dans une liste de langues. Dans ce cas, Rainette propose soit d’utiliser ce résumé (ce qui est conseillé) soit d’utiliser une conversion vers le résumé de Weather.com® qui lui est traduit en quelques langues par le plugin depuis sa création.

Actuellement tous les services proposés fournissent des traductions : il est donc conseillé de les utiliser. Sans précision dans l’appel du modèle, la langue du site est utilisée. Si cette langue n’est pas fournie par le service une configuration permet de choisir une langue alternative « proche ».

Les modèles

Le nom des modèles conditions, prévisions et informations n’ont pas été modifiés entre la v1 et cette v3. Néanmoins, les paramètres ont été modifiés, en particulier pour fournir le service à utiliser. Les appels sont fournis ci-dessus :

Modèle rainette_infos ou rainette_conditions
1. lieu obligatoire, désigne le lieu sous une forme qui dépend du service.
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.
3. service facultatif, désigne le service à utiliser. La valeur par défaut correspond à owm.
Modèle rainette_previsions
1. lieu obligatoire, désigne le lieu sous une forme qui dépend du service.
2. 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
3. premier_jour facultatif, désigne le premier jour de prévision (0 par défaut pour le jour courant).
4. nombre_jours facultatif, indique le nombre de jours de prévision (tous les jours possibles par défaut) à afficher à partir du premier_jour.
5. periodicite facultatif, fournit la périodicité des données de 1h à 24h pour les prévisions (la valeur par défaut dépend du service)
6. service facultatif, désigne le service à utiliser. La valeur par défaut correspond à owm.

Un modèle erreur permet d’afficher un problème de chargement des données mais cela reste transparent pour l’utilisateur. Les tableaux précédents permettent de facilement migrer de la v1 à la v3 pour ceux qui n’ont pas définis de sous-modèles propres.

Les sous-modèles

Les sous-modèles ont été complètement revus même si leur nom a été conservé ainsi que la fonctionnalité de base. Un sous-modèle de prévisions au format tabulaire a aussi été ajouté.

Un bloc de crédits a été inséré systématiquement pour chaque sous-modèle et chaque service. Il est important de respecter ces termes si vous devez définir vos propres sous-modèles.

Les filtres utilisés dans les sous-modèles ont été renommés et les paramètres d’utilisation ont parfois changé. Cela rend donc les modèles v3 incompatibles avec les modèles v1. Néanmoins, si vous utilisez les sous-modèles Rainette de base vous ne verrez pas de différence. Par contre, si vous avez défini vos propres sous-modèles, il est très facile de les adapter en consultant le tableau de correspondance des fonctions de l’API Rainette au paragraphe suivant et en regardant le code des sous-modèles v3 de Rainette.

L’API fonctionnelle

L’API fonctionnelle a évoluée entre la v1 et la v3. Pour que vous puissiez facilement adapter vos propres modèles voici le tableau de correspondance :

Filtre v1Filtre v3Utilisation
rainette_icone_meteo rainette_afficher_icone Affiche l’icone météo correspondant au résumé
rainette_resume_meteo rainette_afficher_resume Affiche le texte du résumé dans la langue choisie
rainette_afficher_tendance rainette_afficher_tendance Affiche la tendance de pression
rainette_afficher_direction rainette_afficher_direction Affiche la direction du vent
rainette_afficher_unite rainette_afficher_unite Affiche l’unité d’une donnée
rainette_croaaaaa_previsions rainette_coasser Appelle le sous-modèle de prévisions, de conditions ou d’informations choisi.
rainette_croaaaaa_conditions
rainette_croaaaaa_infos

Pour comprendre l’utilisation exacte de ces fonctions il est conseillé de lire le code des sous-modèles de Rainette voire de consulter la documentation du code du plugin https://code.plugins.spip.net/rainette/.

La gestion des icônes

Les services actuels peuvent parfois fournir via l’API un icône adapté à chaque résumé météo natif. Dans ce cas, ce mode d’affichage est celui proposé par défaut par Rainette. En outre, certains services proposent un ensemble de thèmes d’icônes directement accessibles via l’API. Le choix d’un thème est disponible dans la page de configuration du service.

Depuis la version 3.5.0, Rainette propose aussi deux autres possibilités pour afficher un icône météo :

  • utiliser un icône d’un thème installé en local et compatible avec le service concerné.
  • utiliser un icône d’un thème weather.com® installé en local. Ceci est particulièrement intéressant car il existe de nombreux jeux d’icônes pour weather.com®.
    Ces thèmes locaux sont installés dans themes/nom_du_service/nom_du_theme.

Rainette embarque un seul thème par service qui en propose. Le plugin Thèmes pour Rainette fournit de nombreux thèmes supplémentaires et une interface de visualisation. Tous ces paramètres sont modifiables dans la configuration de Rainette.

Les crédits

Il est important de respecter les crédits de chaque service lors de l’affichage de vos propres modèles comme cela est fait pour les modèles fournis par Rainette. Pour cela Rainette fournit un modèle de crédits nommé inc-credits.html que vous devez inclure dans vos modèles de la façon suivantes :

#INCLURE{fond=modeles/inc-credits,
	classe_div=condtr,
	env}

Le paramètre classe_div prend des valeurs différentes suivant le modèle Rainette utilisé et permet d’affecter une classe CSS au bloc englobant les crédits.

La standardisation des données

Rainette compile les données issues des différents service dans un tableau qui possède pour chaque mode une structure standard afin d’utiliser les modèles d’affichage de la même manière quelque soit le service.

Chaque tableau est propre à un mode mais possède un agencement commun sous la forme d’un tableau associatif et arborescent dont le premier niveau est composé des deux index suivants :

  • [’donnees’] : tableau associatif des données météorologiques pour les modes « conditions », « infos » ou « previsions »..
  • [’extras’] : tableau associatif qui contient les crédits, la configuration statique et dynamique positionnée par l’utilisateur et le code d’erreur éventuel.

Pour les modes conditions et infos, l’ensemble des données météorologiques sont directement incluses sous l’index [’donnees’].

Pour le mode prévisions, la structure est plus complexe. Tout d’abord , le premier niveau sous l’index [’donnees’] correspond au jour de la prévision, soit de 0 pour le jour courant à n pour le dernier jour proposé (varie suivant le service). Pour chaque jour, la structure distingue :

  • les données commune du jour comme la date, les heures de lever et coucher du soleil, les températures minimale et maximale de la journée ;
  • les données heure incluses dans l’index [’heure’]. Ces données sont indexées numériquement de 0 à n suivant la périodicité choisie. Pour une périodicité de 24h il n’existe qu’un index [0], pour une périodicité de 12h il existe deux index [0] et [1] etc. Sous chacun de ces index on retrouve une liste standard de données météorologiques.

L’article de la Taverne https://blog.smellup.net/spip.php?a... décrit la structure de données exacte pour chaque mode.

Démo de Rainette

Une page de démo complète est disponible à l’adresse ?page=demo/rainette. N’hésitez pas à l’utiliser pour comparer les services sur votre lieu préféré (les clés d’enregistrement doivent avoir été saisies pour les services concernés).

Historique des modifications majeures

  • 4.1.10 : Ajout du service Open-Meteo et de la donnée « rafales de vent »
  • 4.1.8 : Robustifier le code pour PHP 8.2 et passage des caches en JSON
  • 4.1.2 : Version spip 4 et ajout du service Météo Concept
  • 3.2.1 : Déplacement du cache de tmp/cache vers local/cache-rainette/ afin d’éviter de supprimer les caches Rainette lors d’un vidage du cache SPIP. Cette fonction est utile pour limiter les appels aux services qui sont de plus en plus réglementés.
  • 3.3.2 : Ajout du traitement et de l’affichage des erreurs renvoyées par les services eux-mêmes.
  • 3.3.3 : Introduction d’un filtre sur l’envoi des requêtes afin de ne jamais dépasser les seuils autorisés par les services pour une unité de temps donnée.
  • 3.4.4 : Ajout du service Weatherbit.io et amélioration de la configuration des services .
  • 3.5.0 : Ajout de la gestion des thèmes d’icônes pour tous les services.
  • 3.6.0 : Passage à Cache Factory pour la gestion des caches Rainette.
  • 3.7.0 : Ajout du service WeatherStack censé remplacer APIXU mais qui sera finalement supprimé.
  • 3.8.0 : Nettoyage dans les services ; Weather®, APIXU sont désactivés, OpenWeatherMap devient le service par défaut et beaucoup de corrections dans les services (versions successives 3.8.z)
  • 3.8.7 : Ajout de la nébulosité utilisable dans les modèles
  • 3.9.0 : Suppression du service WeatherStack qui est un vrai foutage de gueule !
  • 3.10.0 : Ajout du service WeatherAPI
  • 3.10.1 : Ajout du city id pour identifier le lieu des services OpenWeather et Weatherbit.io
  • 3.11.0 : Mise en conformité avec la version multi-config de Cache Factory
  • 3.11.1 : Correction des limites de requêtes pour certains services
  • 3.12.0 : Passage de la configuration des services en YAML. Rainette nécessite maintenant le plugin YAML 2.0.11 au minimum.
  • 3.12.1 : Ajout d’un bouton pour recharger la configuration YAML des services si besoin et ajout du service AccuWeather.

Discussion

31 discussions

  • 2

    Bonjour, Bravo et merci pour ce travail sur ce plugin que j’utilise depuis de nombreuses années !
    Le problème de cache est assez fréquent (j’utilise OpenWeatherMap) et je n’ai malheureusement pas le temps de contrôler le comportement du widget météo sur le site de mon client tous les jours.
    Pensez-vous qu’il serait possible de proposer un lien « rafraichir » côté public pour les visiteurs ?
    Merci

    • Bonjour,

      En fait Rainette utilise par définition deux niveaux de cache.

      Le premier est le cache des données météo elles-mêmes qui est géré par le plugin et dont la période de péremption est définie par configuration. Ce cache est utile pour ne pas faire des appels inutiles à l’API météo car toutes les API définissent un quota max par unité de temps (minute, heure, jour). Rainette évite de dépasser ce seuil, ce qui peut avoir comme conséquence un allongement de la période de rafraichissement mais ça me parait assez peu probable.
      Le second c’est le cache SPIP de la page qui contient le widget météo et qui peut être réglé par la balise #CACHE.

      Déjà je pense qu’il faudrait vérifier la valeur de chacune des périodes afin que celles-ci soient cohérentes, à savoir, que la durée du cache de la page SPIP soit inférieure à celle du cache Rainette.

      Si tout cela est cohérent, alors faut investiguer, il y a peut-être un bug. Quel est exactement le problème dont tu parles ?

    • Bonjour Eric,
      Je te remercie pour tes explications.
      Mon problème concerne le site https://www.evenos.fr/.
      Le service utilisé est OpenWeatherMap.
      Le widget météo est présent sur la page d’accueil et sur la page Météo (https://www.evenos.fr/spip.php?page=meteo).
      Sur aucune des deux pages je n’ai de balise #CACHE mais je note que le problème de rafraichissement concerne uniquement la page Sommaire (je dois passer par l’espace privé pour vider le cache via Cache Factory).
      Voici comment sont appelés les modules météo :
      Pour la page d’accueil :
      [(#MODELE{rainette_conditions,lieu=Evenos,France,sous_modele=conditions_tempsreel, service=owm})]
      Pour la page Météo : [(#MODELE{rainette_previsions,lieu=Evenos,France,premier_jour=1,nombre_jours=5,sous_modele=previsions_24h, service=owm})]

      J’ignore en revanche comment je dois m’y prendre pour vérifier la durée des caches actuelle et pour les modifier :(
      Peux-tu m’aider ? je te remercie

    Répondre à ce message

  • 7
    Bernard

    Bonjour,

    Tout fraichement installé sur un SPIP tout neuf en local et en distant j’ai un problème avec les icônes.
    Sur l’installation en local, ceux-ci apparaissent bien à 16h00 et des poussières.
    Installé en distant depuis une petite heure je n’ai pas d’icône pour la ville de Buenos Aires.
    J’ai bien de tous les côtés le même code, la même config.
    J’ai bien vidé tous les caches mais non ! rien
    Ça fonctionne pour le Canada.
    Voir pour l’Argentine : https://www.amiouestu.com/?-Argentine-
    Pour le Canada : https://www.amiouestu.com/?-Canada-

    A noter cependant que dans la page démo sur le distant l’icône n’est pas là non plus pour l’Argentine.
    J’utilise le modèle suivant : [(#MODELE{rainette_conditions, lieu=Buenos Aires,Argentine, sous_modele=conditions_tempsreel, service=weatherbit})]

    Auriez-vous une idée de ce qui peut m’arriver ?

    En attendant merci pour cette version de Rainette qui est superbe !

    • Bernard

      Plus du tout d’images ce matin et un message d’erreur :
      plugins/auto/rainette/v3.10.0/rainette_fonctions.php, /var/www/vhosts/amiouestu.com/httpdocs/plugins/auto/rainette/v3.10.0/rainette_pipelines.php

    • Hello,

      Tu dis :

      J’utilise le modèle suivant : [(#MODELErainette_conditions, lieu=Buenos Aires,Argentine, sous_modele=conditions_tempsreel, service=weatherbit)]

      Je ne sais pas si c’est le cas dans ton code mais si tu ne mets pas entre «  » le lieu la balise va comprendre qu’il y a deux arguments, Buenos Aires et Argentine. Donc si c’est pas le cas mets ça :

      [(#MODELE{rainette_conditions, lieu="Buenos Aires,Argentine", sous_modele=conditions_tempsreel, service=weatherbit})]

      Si ça ne fait rien ou que ce n’est pas le cas, il me faudrait d’autres informations. Mais comme il n’y a eu aucune évolution sur Rainette ces derniers mois je penche d’abord pour une mauvaise utilisation ou un problème du service.

    • Bernard

      Bonjour,

      Merci pour ta réponse. C’est toujours sympa et agréable d’avoir un suivi maintenu sur nos « petits problèmes » !
      Alors voilà, ce matin pas de nuages ni soleil sur les deux villes seuls des 408 ou autres se baladent sur la météo..
      Je te rappelle que j’utilise le même code sur wamp et sur mon serveur distant. Sur Wamp pas de souci. Sur le distant ça ne fonctionnait pas. Pour finir j’ai opté pour le choix d’icônes issus du thème Weather puis vidé les caches SPIP et Factory.
      Maintenant ça fonctionne bien. Je vais tout de même essayer ta solution qui me semble bien pertinente.
      Je reviendrais vers toi pour t’informer des changements.
      Un grand merci !

    • Je viens de rajouter dans la version 3.10.1 la possibilité d’indiquer le lieu via son « city ID ». C’est la façon la plus précise pour une ville quand le service l’autorise. J’ai pas mal mi à jour aussi l’article et j’indique justement comment trouver cet ID.

      En espérant que ça simplifie aussi l’indication du lieu.

    • Bernard

      Bonsoir,
      Merci pour ces précisions. Elles sont très utiles.
      J’ai vu une API intéressante et française (?) que l’on doit pouvoir intégrer et avec une formule gratuite (500 appels/jour) ..
      Par contre je ne sais pas faire ça !
      C’est :https://api.meteo-concept.com/documentation
      J’ai vu que plus bas tu dis :
      Avec Rainette v3 c’est assez simple maintenant de rajouter un service, le plus compliqué c’est de le trouver :p !
      Avec quelques pistes peut-être pourrais-je apporter une pierre à ton édifice ?

    • Ah oui intéressant ce service. Je le note car il a l’air d’être très complet et 500 par jour avec le cache ça doit être suffisant pour la plupart des utilsations.

      Pour ajouter un nouveau service il faut créer toute la configuration et un peu de code dans un fichier PHP au format standard. C’est pas hyper compliqué mais comme c’est pas documenté ça demande un peu d’habitude. Mais en tout cas je vais regarder à l’intégrer et d’ailleurs on pourra leur dire de rajouter SPIP dans la liste des CMS qui supporte le service.

    • Bernard

      Ah Chouette !
      SPIP a sa notoriété en France et donc je pense que ça devrait leur plaire.. Celui-ci a un éphéméride avec les phases de lune ce qui est un plus à mon avis. Je ne sais pas si les autres avaient cette option.
      J’ai un peu regardé ton code « services ».php, c’est du haut niveau pour moi, je préfère ne rien toucher ;)

    Répondre à ce message

  • 2
    Prévisions à 3 jours ne marche pas erreur 401 Invalid API key

    J’aime beaucoup ce plugin, qui donne du peps aux sites !
    Il fonctionne bien pour le quotidien, mais la ligne « Prévisions à 3 jours » ne marche pas, j’ai le message :

    Le service OpenWeatherMap ne fournit actuellement aucune prévision météorologique sur le lieu xxxxxx, FR.
    Veuillez consulter le message du service ci-dessous.
    (401 - Invalid API key. Please see http://openweathermap.org/faq#error401 for more info.)


    De quelle API parlent-ils sachant que la mienne est bonne, puisqu’il y a le temps du jour.
    Je ne vois pas que la prévision à 3 jours soit payante (celle à 16 si). D’autant plus qu’on peut avoir directement un widget à 7 jours.
    Si c’est une question de compte payant, pourrait-il y avoir un paramètre qui permette de ne pas faire apparaître les options payantes, ça fait toujours mal de tomber sur une erreur, quelle qu’elle soit dans un site web ?
    Sinon, avez-vous une idée ?
    Merci de votre aide :)

    • Hello,

      Ben je ne sais pas trop avec les informations que tu me donnes. On va reprendre donc :

      • Je ne sais pas ce qu’est la ligne « prévisions à 3 jours » ?
      • Quel lieu utilises tu ?
      • Comment utilises-tu l’affichage des prévisions (dans un article, dans du code, si oui quel est l’appel ?

      Merci de me donner ces informations mais c’est vrai que le message est étrange.

    • Merci.
      Il y a une ligne « prévisions à trois jours » en bas en dessous de « plus d’infos ».
      La ville est Kerlouan, et toutes les informations sont correctes, ça marche très bien.
      Je l’utilise dans Escal. Je n’ai pas regardé ni demandé comment il fait, mais c’est intégré. Tu paramètres que tu veux un bloc « Rainette ».

      Par ailleurs, tant que j’y suis :) est-il envisagé de compléter ou faire un plugin parallèle pour les marées ?
      Merci beaucoup de ton aide.

    Répondre à ce message

  • 2
    Teenoo

    Bonjour,

    j’essaie avec grand mal à réinstaller Rainette avec un service gratuit. J’ai mis un code API de WeatherAPI mais je ne trouve pas quel code lieu utiliser pour celui-ci ni le « service ».

    [(#MODELE{rainette_previsions, lieu=FR798380,France, nombre_jours=1, premier_jour=1, sous_modele=previsions_24h, service=})]

    J’ai besoin d’aide ^^

    • Le service weatherAPI n’accepte pas l’id de Weather.com. Il faut lui passer le lieu comme Paris,France. Et tu dois passer l’id du service dans ton modèle et ça va marcher :

      [(#MODELE{rainette_previsions, lieu=Paris,France, nombre_jours=1, premier_jour=1, sous_modele=previsions_24h, service=weatherapi})]
    • Teenoo

      Ahhhh merci beaucoup ça marche enfin :)

    Répondre à ce message

  • 10
    minicircul

    Utilisateur depuis longtemps de Rainette.
    2 soucis
    -  weather ne fonctionne plus (plus d’info et message d’erreur y compris la page de test)
    -  lorsque je cherche à changer de fournisseur en entrant API etc ... il revient toujours sur weather
    J’ai desintallé le plugin et reinstallé mais rien à faire.
    je souis sous SPIP 3.2.7 [24473]

    • Hello,

      Oui je crois que le flux Weather s’est définitivement tari. C’était d’ailleurs assez étonnant qu’il ait fonctionné autant de temps après le passage à l’API Wunderground. Pour autant il existe d’autres services possibles même si chaque année les gratuits s’amenuisent.

      Déjà quelle est ta version de Rainette ? Si tu utilises la branche 3 alors je te conseille de mettre à jour avec la dernière version de ce week-end.

      Tu dis « lorsque je cherche à changer de fournisseur en entrant API etc... ». Peux-tu être plus précis. Que fais-tu exactement et dans quelle page de la configuration de Rainette ? Après, si tu ne précises pas dans tes modèles le service autre que Weather cela ne se fera pas tout seul.

    • Bonjour,
      j’ai le même problème. J’ai beau supprimer Rainette, vider les caches /local et /cache plus cache plugins, et plein de fichier, attendre 48 heures, etc., à la réinstallation weather réapparait par défaut et je ne peux valider Weatherbit.io dont la clé réapparait pourtant par miracle.
      Dès que je reviens sur le plugin, c’est weather qui est configuré, de même en public. La validation de Weatherbit.io est ineffective.
      pourtant https://hortical.com/?page=demo/rainette&ville=Lille&service=weatherbit

      J’avais testé les autres il y a un ou deux mois et c’était pareil.

    • Weather est toujours le service par défaut, je n’ai pas encore fait la modification dans le plugin car c’est un peu compliqué à faire. Maintenant, c’est pas parce qu’il est par défaut que tu ne peux pas le changer. Il suffit de préciser dans le modèle que tu utilises le service que tu veux utiliser, c’est possible depuis toujours.

      Donc je ne sais pas si j’ai compris ta question mais si tu penses que configurer la clé de weatherbi.io suffit à ce que les modèles utilisent ce service c’est non. Il faut préciser le service que tu veux utiliser.

      Dis-moi si ça résout ton problème.

    • J’ai choisi (Current Plan : Free) sur weatherbit.io mais
      1/ je ne comprends pas comment la clé peut être gardée en mémoire malgré avoir tout effacer plusieurs fois : les deux plugins (Rainette et Cache Factory) et tous les caches depuis plusieurs ordis de deux pays différents
      2/ chez moi (chez lautre.net) Rainette ne conserve pas les services choisis (Weatherbit.io comme OpenWheaterMap qui a aussi en clé en mémoire mais peut-être fournie par le plugin ?) et se rebranche aussitôt sur Wheather

      et donc, j’ai toujours :
      L’analyse du flux XML renvoyé par le weather.com® a échoué.
      Veuillez contacter l’équipe de développement du plugin.

    • bon, je suis repassé sur tous les fichiers changer weather par weatherbit, il en manquait.
      le nouveau message est mieux :
      L’URL utilisée pour le service Weatherbit.io semble erronée.
      Veuillez contacter l’équipe de développement du plugin

      je regarde ça ce soir

    • Mais je t’ai dit qu’il ne fallait pas faire ça. Tu ne dois pas modifier la valeur par défaut dans le code, il suffit d’appeler le modèle de météo avec le nom du service que tu veux.

      Sinon, j’ai envoyé une évolution avec la version 2.8.1 qui choisit owm comme service par défaut et on peut le surcharger si besoin.

    • rassure-toi je parlais du code de mes modèles, pas celui du plugin :)

    • Ah ok ! :-)

      Avec la nouvelle version 2.8.1 le service par défaut n’est plus weather mais openweathermap (owm) donc ça règle le souci d’indisponibilité. Ca reste aussi le service gratuit le plus performant. Le seul souci c’est qu’aujourd’hui il n’existe plus de service sans clé d’inscription.

    • Hello,

      J’ai fait pas mal de mises à jour sur Rainette ces derniers jours :

      • désactivation des services Weather, Wunderground et APIXU qui ne fournissent plus de données aujourd’hui. Une petite pensée pour Weather qui nous a accompagné depuis le début il y a déjà pas mal d’années mais qui a été rattrapé par le grand Capital : merci IBM ! Il n’y a donc plus de service utilisable sans clé d’inscription.
      • Mise au point du service OpenWeatherMap qui s’appelle d’ailleurs OpenWeather maintenant et qui devient le service par défaut de Rainette. Il y avait quelques erreurs de conversion d’unité qui sont corrigées et j’ai amélioré l’utilisation des thèmes fournis. C’est un bon service qui offre un plan gratuit digne de ce nom.
      • Ajout du service Dark Sky qui fournit aussi un service gratuit correct. C’est aussi une bonne alternative et donc une bonne surprise. Espérons que ça va durer. Le transcodage vers Weather est opérationnel ce qui permet d’utiliser les jeux d’icones de Weather qui sont fort nombreux et souvent très sympas.
      • Mise au point du service Weatherbit.io : il y avait quelques erreurs de conversion d’unité qui sont corrigées. C’est aussi une alternative à tester suivant sa localisation.

      Il me reste à vérifier le transcodage Weather pour OWM et WWO et de voir si l’implémentation de WeatherStack, le remplaçant d’APIXU a un intérêt (c’est assez mal parti...).

      Je ferais un article prochainement pour détailler tout cela.

    • claudeD

      bravo pour le boulot, je regarde ce qui fonctionne le mieux pour Lille

    Répondre à ce message

  • 18

    Bonjour

    J’utilise depuis longtemps ce plugin en affichant les prévisions dans une noisette du plugin Escal.
    Depuis quelques temps, je n’ai plus de résultats et dans la noisette s’affiche ce message :

    Aucune donnée n’a été renvoyée par le service Weather Underground mais le service n’a pas monté d’erreur.
    Veuillez contacter l’équipe de développement du plugin.

    Ce que je fais donc ...
    J’ai essayé plusieurs services de météo en ayant bien créé un compte pour récupérer un APIkey. D’ailleurs pour WeatherUnderground, la clé obtenue ne se copie pas en entier, elle est coupée à 16 caractères. Peut-être est-ce le problème ?

    A noter que j’utilise des sous-modeles infos_ville et conditions_tempsreel modifiés mais celle-ci dérivent des sous-modèles d’origine.

    Bref, je cherche d’où peut venir le problème.

    • Hello,

      Pour Weather Underground le problème est plus critique car ils ne proposent à priori plus de pack gratuit. Ils ont peut-être changé aussi la taille de la clé mais c’est pas le problème principal qui sinon serait facilement corrigé.

      Il faut faire un point des services qui proposent encore des options gratuites mais ils sont de moins en moins nombreux. Si tu as le temps de faire un tour ça serait cool, j’ai pas trop de disponibilité en ce moment entre la forge Git et la refonte de Contrib. J’avais noté qu’il fallait que je rajoute Dark Sky un nouveau service qui a une option gratuite.

      Tiens moi au courant si tu fais des découvertes, ajouter un service est devenu très simple avec cette version.

    • ok j’essaie de faire le point et je te tiens au courant.
      Là je teste Open Weather Map mais j’attends que la clé soit valide.

    • Oui il marche bien lui même si les informations ne sont pas les plus complètes. Essaye la page de démo aussi tu as une comparaison des données pour tous les services que tu as activé.

    • Un petit point mais attention, je ne suis pas du tout spécialiste, même carrément néophyte !
      Finalement, j’ai choisi Weatherbit.io pour mon site.

      Apixu
      Ne fonctionne plus car devenu weatherstack https://weatherstack.com/
      Plus de prévisions gratuite donc à oublier

      Open weather Map https://openweathermap.org/
      Procédure : http://blog.onlinux.fr/comment-obtenir-une-cle-api-openweathermap/
      l’activation de la clé n’est pas instantanée (délai de 1 à 2h)
      Pas de point de rosée
      Prévisions à 3 jours ne fonctionne pas (limitation de la version gratuite ?)

      weather.com
      devenu Weather Underground https://www.wunderground.com
      clé tronquée au 16e caractère dans la config de Rainette
      je ne suis pas arrivé à le faire fonctionner

      World Weather Online
      Fonctionne bien mais payant après un essai de 60 jours

      Weatherbit.io
      l’activation de la clé n’est pas instantanée (délai de 1 à 2h)
      Difficile de trouver la ville que l’on souhaite
      « Saint-Etienne,France » renvoie vers Saint-Étienne-sur-Chalaronne dans l’Ain au lieu de la patrie des verts dans la Loire !
      Il fallait indiquer « St Etienne »

      A étudier

      Dark Sky
      https://darksky.net/dev
      ne semble pas gratuit

      Infoclimat
      https://www.infoclimat.fr/api-previsions-meteo.html?id=2988507&cntry=FR

      OpenMeteoData
      http://meteo-data.com/

    • Hello

      Petit souci avec Weatherbit.io : le rafraichissement des infos ne se fait que si on vide les caches de spip. Le service en version Free indique pourtant un délai de 1h.

    • Même souci que Jean-Christophe concernant les caches. J’utilise le service weatherbit.io mais afin d’avoir la météo du jour il me faut vider les caches du plugin sinon la météo ne se rafraîchit pas.
      Le problème viendrait-il du fait que mon affichage météo est dans un inclure ? Je fais plusieurs tentatives en indiquant #CACHE0 à l’inclure, jusqu’ici infructueux...

    • Suite à différents tests, en version gratuite seuls weatherbit et open weather map semblent opérationnels.
      Par contre seul Weatherbit permet d’avoir les prévisions. Open weather map fonctionne uniquement sur la météo du jour.
      Par contre bien que Rainette envoie des requêtes à Weatherbit comme indiqué dans l’interface privé, elle ne rafraîchit pas l’affichage. Problème de cache qui ne se vide pas ?
      https://www.marseille-cruise.com/?page=demo/rainette&ville=Marseille&service=weatherbit

    • Je confirme à l’usage et même en essayant de changer les paramètres de conservation du cache, (dans cache/rainette.php)
      les données météo ne se rafraichissent pas ici avec le service Weatherbit pour Marseille
      https://www.marseille-cruise.com
      Le problème viendrait-il de cache factory ? Ou bien du service Weatherbit ?
      Sur les versions précédentes du plugin on avait pas ce problème de cache.
      Je vois la même problématique ici https://laccreteil.fr/spip.php?article102
      Merci d’avance !

    • Hello,

      C’est surement du au plugin Cache Factory ou à une mauvaise configuration de celui-ci dans Rainette. Est ce que cela se produit sur Weatherbit uniquement ou sur d’autres services ?

    • Il semble que Open weather map n’a pas ce problème de cache pour afficher la météo du jour.

    • Ah ok.
      En regardant le code je ne vois pas de raison due à Cache Factory ni à son utilisation. Le problème pourrait être dans la configuration de Weatherbit mais là non plus je ne vois pas ce qui est erroné. Est-tu sur que OWM fonctionne car tu dis « semble » ?

    • Effectivement puisque c’est à l’usage sur plusieurs jours que je m’aperçois que la météo ne se rafraîchit pas, il me faudra retourner sur la page démo afin que je te confirme d’ici 24 ou 48H si OWM fonctionne ou pas avec certitude.

    • En fait y a plus simple à faire. Il ne faut surtout pas toucher la configuration générale des caches dans cache/rainette.php. La valeur conservation ne sert que pour les infos de la ville. Cette valeur est écrasée pour les conditions et les prévisions.

      Pour les conditions et les prévisions, il faut aller dans services/owm.php ou un autre service et modifier le champ periode_maj qui sert à la conservation du cache. En général c’est une valeur autour de 10000 secondes (3 ou 4 heures). Il suffit d’accélérer en choisissant quelques minutes pour faire des tests mais ensuite de bien remettre la valeur sinon on va bloquer la protection de dépassement.

      Si là on ne voit pas le cache se rafraichir c’est qu’il y a un vrai problème.

    • Hello

      Je confirme qu’il n’y a aucun rafraîchissement de cache au moins pour Weatherbit.
      Mis en place le 30 janvier à 10h46 et toujours pas de rafraîchissement.

    • Ok, je regarde ça dès que je peux. As-tu une idée de la date à laquelle ce phénomène s’est produit que je puisse repérer le commit qui a provoqué cette erreur.

    • Non désolé, c’est un utilisateur d’Escal qui m’a signalé que weather.com ne fonctionnait plus. J’ai donc fait un tour des autres services (voir plus haut dans la discussion) et c’est weatherbit qui me paraissait le plus intéressant à l’heure actuelle. J’ai donc fait mes tests avec ce service.

    • Ok, c’est corrigé je pense. C’était bien une erreur vicieuse dans Cache Factory. Il faut donc attendre le zip et mettre à jour Cache Factory uniquement, Rainette n’est pas modifié.

    • Ouiii !
      Les infos se mettent bien à jour.
      Merci !

    Répondre à ce message

  • 2

    Bonjour,

    J’ai un doute sur l’inclusion et le cache, car je me retrouve avec des « N/A » en cours de journée avec une inclusion standard :
    [(#MODELE{rainette_previsions, lieu=FRXX0023, premier_jour=0, nombre_jours=1, sous_modele=previsions_24h})]

    Ne faudrait-il pas plutôt utiliser :
    <INCLURE{fond=modeles/rainette_previsions, lieu=FRXX0023, premier_jour=0, nombre_jours=1, sous_modele=previsions_24h}>

    Merci de vos éclairages.

    • Hello,

      Non ça ne vient pas de là mais de l’API de Weather. J’ai aussi remarqué qu’à partir d’une heure dans la journée Weather ne renvoie plus l’ensemble des informations pour la journée en cours. Pour éviter cela il est plus adapté d’utiliser les conditions temps réelles pour la journée et les prévisions à partir du jour suivant, à savoir remplacer premier_jour=0 par premier_jour=1.

    • Merci bcp, je vais tester.

    Répondre à ce message

  • 4

    Bonjour,
    Prévoyez-vous une adaptation du plugin liée à l’arrêt du service APIXU, remplacé par Weatherstack à compter du 14 octobre ?
    Je vous remercie

    • Oui, je vais regarder ça rapidement pour voir si on peut utiliser cette nouvelle API. Il faudra suivre l’évolution du plugin pour savoir quand cela sera disponible. Je ferais aussi une communication sur ce forum.

    • Bonjour, depuis quelques jours l’affichage des données ne fonctionne plus :
      « Aucune donnée n’a été renvoyée par le service APIXU mais le service n’a pas monté d’erreur.
      Veuillez contacter l’équipe de développement du plugin. »

      Est-qu’il faut remplacer APIXU par un autre fournisseur ?

      Merci

    • Oui c’est exact, il faut se rabattre sur un autre service.

      APIXU est apparu il y a pas très longtemps comme l’API gratuite du service World Weather Online qui après des années de gratuité était devenu entièrement payant. APIXU laisse la place maintenant à Weatherstack qui comme dit la publicité est vachement mieux !
      Ce nouveau service a toujours une option gratuite mais réduite aux conditions temps réel ; donc plus de prévisions gratuites. Effectivement c’est beaucoup mieux surtout quand la première offre avec prévisions est à 49,99$ par mois !

      L’API a aussi changé, je l’adapterais à l’occasion pour ne pas perdre l’existant mais ce service a dès lors plus trop d’intérêt. Je vais rajouter aussi Dark Sky qui offre une option gratuite ce qui étoffera un peu les services encore gratuits.

      Mais ce que l’on peut constater depuis des années c’est la multiplication de ces services météo et en même temps l’appauvrissement de l’offre gratuite. Ça doit être un effet de la bienveillance capitaliste...

    Répondre à ce message

  • 3
    Michel du lac de Créteil

    FYI =>
    -  End of Service for the Weather Underground API https://apicommunity.wunderground.com/weatherapi/topics/end-of-service-for-the-weather-underground-api
    -  https://www.wunderground.com/weather/api/ => plus d’info depuis le 6 mars 2019 Attention : The Weather Underground API has reached the end of service. To purchase access to the replacement API, please see our Weather Data Packages. If you are a contracted, paying customer and feel you have been shut off in error, please email feedback.wunderground@weather.com ; be sure to include your name and API key.

    • Ouais,

      Ca nous pendait au nez et ça commence à vraiment me gonfler ces API météo. Encore un qui nous claque dans les mains et je mets fin à Rainette.

    • Yo tonton, ça vaudrait pit-être le coup de te brancher sur http://wttr.in ou sur l’API que le site utiliser en arrière plan cf https://github.com/chubin/wttr.in

    • Je viens de regarder, il semble utiliser WorldWeatherOnline (wwo) que j’utilise aussi mais qui ne fournit plus d’API gratuite. Ils sont créés APIXU pour le gratuit que j’ai bien intégré. ce qui est chiant c’est que les services deviennent payants les uns après les autres et c’est dommage pour Wunderground car c’était le plus complet.

      Va falloir que je refasse un tour des services. Avec Rainette v3 c’est assez simple maintenant de rajouter un service, le plus compliqué c’est de le trouver :p !

    Répondre à ce message

  • 1
    Michel du lac de Créteil

    Passés avec https://www.weatherbit.io c’est maintenant OK pour 16 jours.
    https://laccreteil.fr/spip.php?article102

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom