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 ; -
WeatherStackqui 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 :
Services | Ville, Pays | Coordonnées | ID Ville | IP | INSEE |
---|---|---|---|---|---|
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 :
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. |
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 v1 | Filtre v3 | Utilisation |
---|---|---|
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
verslocal/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.
Discussions par date d’activité
31 discussions
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
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 !
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 :
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 :
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.
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.
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.
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
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 :
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 :
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
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 ».
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 :
Ahhhh merci beaucoup ça marche enfin :)
Répondre à ce message
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 :
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.
bravo pour le boulot, je regarde ce qui fonctionne le mieux pour Lille
Répondre à ce message
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 :
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
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
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.
Merci Eric
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
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
Passés avec https://www.weatherbit.io c’est maintenant OK pour 16 jours.
https://laccreteil.fr/spip.php?article102
Oui, il y a APIXU aussi.
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 :
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.
Suivre les commentaires : |