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

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éristique minimale de la v3

Ce plugin demande d’avoir au minimum php 5.3.0 !

Extension de la liste des services météo en v3

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;
  • 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 aujourd’hui 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. 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.

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);
  • et une adresse IP.

Le mapping avec les services est le suivant:

ServicesVille, PaysCoordonnéesID VilleIP
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

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

  • 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

26 discussions

  • Bonjour,
    je suis en SPIP 3,2 - Habillage ESCAL 4.5.9 (free n’a que du php5.6.34 ; pas de php7 donc pas de SPIP 4.0)
    j’ai installé le plugin Rainette 3.12.3 - stable
    J’ai configuré le plugin en entrant mon API Key obtenue chez OpenWeather et donné les unités métriques.

    Je l’active à partir du plugin Escal sous forme de “noisette” je donne juste le nom de la ville.
    visible en test sur une sur une de mes pages : http://agvdignelesbains.free.fr/spip.php?page=contact
    et j’obtiens "L’identifiant de service own est erroné.
    Veuillez consulter la documentation pour choisir un identifiant de service valide. "

    J’ai fait un test http://agvdignelesbains.free.fr/spip.php?page=demo/rainette
    la page de test renvoie la même erreur et ne reconnait pas la ville ...
    Voici une partie du retour

    Utilisation de la balise RAINETTE_INFOS

    Ville observée:
    Longitude, appel sans filtre unité:
    Latitude, appel avec filtre unité: N/D
    Appel sans type d’info précisée, on renvoie le tableau sérialisé: a:2:s:7:“donnees”;a:0:{}s:6:“extras”;a:7:s:7:“credits”;a:3:s:5:“titre”;s:7:“Credits”;s:4:“logo”;s:0:“”;s:4:“lien”;s:26:"http://openweathermap.org/“;s:6:”config“;a:8:s:11:”inscription“;s:32:”d0b9c850282c4c223bee6da6dd42d4c9“;s:5:”unite“;s:1:”m“;s:9:”condition“;s:3:”owm“;s:5:”theme“;s:3:”n2x“;s:11:”theme_local“;s:3:”n2x“;s:13:”theme_weather“;s:7:”sticker“;s:6:”source“;a:6:s:5:”ville“;b:1;s:4:”pays“;b:0;s:9:”pays_iso2“;b:1;s:6:”region“;b:0;s:9:”longitude“;b:1;s:8:”latitude“;b:1;s:11:”nom_service“;s:11:”OpenWeather“;s:4:”lieu“;s:12:”Paris,France“;s:4:”mode“;s:5:”infos“;s:17:”periodicite_cache“;i:0;s:7:”service“;s:3:”owm“;s:6:”erreur“;a:2:s:4:”type“;s:16:”url_indisponible“;s:7:”service“;a:2:s:4:”code“;s:0:”“;s:7:”message“;s:0:”";

    Appel sans argument, on renvoie une chaine vide:

    Reply to this message

  • 16

    Bonjour,

    que se passe t-il avec cette version 3.12.0 ? Plus rien ne fonctionne et on nous demande une version YAML qui n’existe pas !

    Yann

    • Hello,

      Oui je viens de changer toute la configuration du plugin qui était en globale et qui est passée en meta. Donc normalement, quand tu mets à jour le plugin tu dois avoir un message qui te dit que la mise à jour a réussi (il y a un schéma maintenant).

      Donc suivant la façon dont tu fais la mise à jour il faut absolument passer par la page d’admin des plugins pour lancer l’upgrade.

    • Ah oui j’ai oublié, désolé, il faut le plugin YAML pour cette nouvelle version. Ca doit être ça ton message. Donc le mieux est :

      • désinstaller Rainette
      • installer YAML
      • réinstaller Rainette
      • Remettre les paramètres initiaux pour le service utilisés (config)
    • Et bien non. Voici ce que j’obtiens.

    • Sauf que la version YAML demandée n’existe pas !

    • La version YAML 2.0.11 n’existe pas !

    • Oui depuis mon premier message j’en ai envoyé un second : l’admin te dit qu’il faut rajouter le plugin YAML c’est ça le souci. Ensuite, tu suis la procédure que je viens d’envoyer et tout reviendra dans l’ordre. Fais un snapshot d’abord de tes paramètres de configuration pour les réintroduire ensuite.

    • mais la version YAML 2.0.11 n’existe pas !!!

    • sauf que cette version est en test et non stable !

    • Elle est stable depuis des années, je te le certifie. Tu peux l’utiliser sans problème, d’ailleurs il faudrait que je la passe à stable, tu fais bien de me le faire penser.

    • J’ai tout fait dans l’ordre y compris la version YAML et je n’ai pas les services météo !

    • J’imagine qu’il y a un bug quelque part dans SVP qui bloque la mise à jour entre une version stable et une version test.

      Mais puisque la version marquée test et en fait stable, je viens sortir une version 2.0.12 marquée comme stable, ce qui devrait permettre effectivement la mise à jour de YAML via svp.

    • J’ai tout fait dans l’ordre y compris la MAJ YAML mais les services météo ne s’affichent pas.

    • Euh, là je ne peux rien dire à distance. Il est clair que la configuration des services n’est pas active mais je ne vois pas pourquoi. Est-il possible d’avoir un accès admin à ton site stp. Envoie-moi le login sur mon mail perso stp.

    • Merci ! C’est bon ! Je suis reparti de zéro en réinstallant complètement YAML et Rainette en ayant eu soin de copier ma clé API pour le service et tout fonctionne.
      Encore merci !

    • C’est cool !
      Encore désolé pour le dérangement, je n’avais pas pensé au plugin YAML manquant car je l’ai toujours sur mes sites de tests. Je vais faire une explication sur la page.

    Reply to this message

  • 4

    Bonjour,

    Quand je teste la page

    • /spip.php?page=demo%2Frainette&service=weatherbit
    • /spip.php?page=demo%2Frainette&service=owm

    Les bulles d’aides sur les pictos affichent des n° (804, 502, 616...).
    Ça n’a pas l’air normal ;-)
    En tout cas, ça n’est pas informatif ;-)

    • Yop,

      C’est le code météo qui permet de trouver le bon icone à afficher. Ca permet plus le debug qu’autre chose. Est-ce un problème ?

    • Ben oui, c’est un vrai problème d’accessibilité : aucun moyen de savoir le temps qu’il fait si on ne voit pas (ou ne comprend pas) le picto.

      Il faudrait que le alt et le title contienne le texte correspondant au temps décrit par le picto pour que ce soit accessible à tout le monde.

    • Oui pour les prévisions, non pour les conditions car on affiche déjà le résumé météo justement. C’est pas grave on peut facilement mettre à la place “Résumé (code)”.

    • Ben non j’ai dit une bêtise. Même les prévisions ont le résumé donc tout est bien accessible.

    Reply to this message

  • 8

    Bonjour,

    Avec le service Weatherbit.io, j’ai parfois ce message d’erreur : (Rate limit exceeded, please try again in few seconds.)

    Pour info, j’affiche en même temps la météo de 6 villes :

    <BOUCLE_li(DATA){liste #GET{localisation},'Evry,France','Washington','Kourou,GF','Baikonur,KZ','Singapore,Singapore','Tokyo,Japan'}>			
    			[<div class="section" id="section#COMPTEUR_BOUCLE">
    				(#VALEUR|unique|oui)[(#MODELE{rainette_conditions, lieu=#VALEUR, sous_modele=ae_rainette_aujourdhui,service=#GET{service}})]
    			</div>]
    </BOUCLE_li>

    Et ae_rainette_aujourdhui affiche la météo du jour et des 6 jours suivants.

    • Hello,

      Oui, il y a des limitations suivant le plan utilisés. Rainette a une configuration pour coller aux limitations du plan gratuit ou le moins cher mais dans le cas de weatherbit.io je viens de remarquer que les limites ont changé et donc que la configuration est inadapté. En particulier, dans ton cas tu dois tomber parfois sur la limite de 1 call par seconde ou celle de 500 calls par jour.

      Je vais corriger le plugin dans la journée.

    • La version 3.11.1 qui devrait être disponible corrige la configuration du service et de certains autres aussi. Normalement, c’est Rainette qui contrôle les limites avant d’autoriser ou pas la requête. Cela permet de ne pas avoir d’erreur mais à contrario ça ne rafraichit pas. Il faudra attendre le prochain call qui passera.

    • Bonjour,
      J’utilisais la version 3.11.0 du plugin sur 2 sites sans aucun problème avec weatherbit.io. J’ai mis à jour vers la version 3.11.1 et j’obtiens les erreurs (dépassement de calls). J’ai vidé les caches mais ça ne change rien. Je suis donc repassé en version 3.11.0 et tout est rentré dans l’ordre.

      Cordialement.

      Yann

    • Hum,

      Je n’ai pas ce comportement de mon coté. Peux tu me montrer les erreurs sur une image stp ?

    • Voici ce que j’obtiens !

    • Je viens de pousser une version 3.11.2 qui devrait corriger ce problème d’autorisation. C’est possible de tester et de me faire un retour stp ?

      Merci d’avance.

    • Nickel ! Cela fonctionne très bien !
      Merci pour ta réactivité.
      Yann

    • C’est bon pour moi aussi, merci !

    Reply to this message

  • 2

    Bonjour,

    Alors qu’il marchait encore la semaine dernière, il semblerait que weatherbit.io ne marche plus aujourd’hui.

    Je n’ai que ce message : “Aucune donnée n’a été renvoyée par le service Weatherbit.io mais le service n’a pas monté d’erreur.
    Veuillez contacter l’équipe de développement du plugin.”

    Et la page de demo/rainette n’obtient pas plus de résultat.

    • Je viens de me connecter au site de Weatherbit.io et aucune information d’arrêt ou de changement de plan. J’ai essayé Paris comme lieu et j’ai eu les conditions temps réel.

      Est-ce que tu as réessayé ce matin ? Quel lieu utilises-tu ?

    • J’ai réessayé ce matin, et c’est bon.

      Une panne transitoire hier donc.

      ==> [Résolu]

    Reply to this message

  • 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

    Reply to this 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 ;)

    Reply to this 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.

    Reply to this 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 :)

    Reply to this 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

    Reply to this message

Add a comment

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 / PostgreSQL
  • 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 apparait.

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.

Who are you?
[Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom