Module Météo

fred
fred Messages 2,481Administrateur
28 août modifié dans Projets de modules

Bonsoir,

Quand une IA a compris le fonctionnement de Zwii, elle est capable d'écrire un module opérationnel.

Je vous présente un module Météo & prévisions (weather), ce module a été écrit à l'aide d'un éditeur spécialisé (Windsurf) en liaison directe avec des IA (GPT-5 ou SWE-1).

L'IA est capable de comprendre les méthodes, le fonctionnement des templates, etc…

Ce module a été créé en une soirée, soit en quelques heures, il permet d'afficher les conditions météo sur une page, les alertes et la qualité de l'air et les prévisions.

Pour fonctionner, il faut disposer d'une clé d'API que l'on obtient sur le site https://www.weatherapi.com/pricing.aspx en cliquant sur Free. Il y a une période d'essai de la totalité des options pendant 15 jours, il me semble, ensuite la prévision est limitée à 3 jours.

La clé se copie dans la configuration du module. Un bouton permet de suivre les stats du compte.

J'ajouterai peut-être la géolocalisation plutôt que la ville, à voir. Ce module est surtout un exercice de style.

Bonne découverte.


Post edited by fred on
The f....g boss
«1

Commentaires

  • mulanee
    mulanee Messages 338Membre
    28 août modifié

    Bonjour,

    Installé,

    Le module s'appelle weather (nom du répertoire)

    API key récupérée chez https://www.weatherapi.com, à rentrer dans la ligne 'apiKey' de weather.php

    Rentrer la ville à la ligne 'city', je n'ai pas trouvé comment mettre plusieurs lignes

    Nombre de prévisions changé à 10 dans 'days'

    Fait le job 👍️ merci

  • fred
    fred Messages 2,481Administrateur

    Bonjour @mulanee

    Avec plaisir !

    The f....g boss
  • lemimi
    lemimi Messages 470Moderateur

    Hello,

    Installé aussi sans problème, j'avais une clef Api depuis quelques années.

    Sur leur site, il apprécieraient que l'on fournisse un lien vers leur service si nous utilisons la version gratuite : https://www.weatherapi.com/docs/#credit

    Ce que j'ai fait ici, en pied de page. Tout comme je le pratique pour les sites développés sous ZwiiCMS.

    Au plaisir... Michel

  • lemimi
    lemimi Messages 470Moderateur

    Bonjour vous tous,

    Je me suis amusé à faire évoluer un peu ce module météo.

    La version 0.1 d'origine de Fred.

    La version 0.3 avec un peu d'évolution.

    Et la version 1.2 qui tourne sur un site de modélisme. Changement de fournisseur d'API : OpenWeatherMap.

    Le module est accessible sur la page d'accueil de ce site via un widget créé pour l'occasion. Je pense en faire un module, ce qui permettra de ne pas lancer le module weather via une iframe comme actuellement. Il lit et pointe vers les données qui sont en cache sur site/data/weather/weather.json.

    Chargement de weather en Version 1.2, en Version 0.3 et du widget pour Weatherapi et OpenWeatherMap.

    Bonne fin de week-end et au plaisir... Michel

  • fred
    fred Messages 2,481Administrateur

    Bonjour @lemimi ,

    Je teste dès que possible.

    Bonne semaine,

    Fred

    The f....g boss
  • fred
    fred Messages 2,481Administrateur

    Très intéressant,

    Peux-tu mettre à jour le store vers 0.3 et publier ta version 1.2 ?

    Il faudra changer le nom de la classe pour éviter les doublons.

    Bonne semaine.

    Free

    The f....g boss
  • lemimi
    lemimi Messages 470Moderateur

    Hello,

    J'ai changé le nom de la classe weather de la version 1.2 en zwiiweather.

    Ça tourne ici sous ZwiiCampus et le chargement et descriptifs sont ici chez Codeberg.

    On peut trouver un autre nom, si quelqu'un a une idée...


    Au plaisir... Michel

  • fred
    fred Messages 2,481Administrateur

    Hello,

    Forecast peut le faire.

    J'aime beaucoup le graphe d'évolution sur 5 jours de la 1.2.

    Perso, c'est le genre de widget que j'ai sur mon smartphone.

    The f....g boss
  • lemimi
    lemimi Messages 470Moderateur

    Hello @fred ,

    J'ai changé la classe en forecast, c'est en test ici et ici sur le site de modélisme.

    • J'ai ajouté la direction du vent et les rafales dans la météo actuelle.
    • Et aussi ajout de la vitesse du vent et rafales dans les prévisions et le graphique d'évolution.

    Vais essayé d'améliorer le graphique d'évolution avant de proposer sur le store. Je devrais faire cela demain.

    Au plaisir et bonne soirée... Michel

  • fred
    fred Messages 2,481Administrateur

    Hello @lemimi

    Très bien, les graphiques sont plus beaux que ceux de weatherapi.

    Des graphes comme ceux-là https://content.meteoblue.com/fr/clients-prives/aide-pour-les-sites-web/prevision/meteogrammes sont très sympa.

    Ajouter un sélecteur de lieux depuis une liste de choix pourrait étendre les usages. Qu'en penses-tu ?

    Bonne soirée,

    Fred

    The f....g boss
  • lemimi
    lemimi Messages 470Moderateur

    Bonjour Fred,

    Les graphes sont en effet jolis, mais ils sont fait par des personnes dont c'est le métier. Et là, cela doit demander pas mal de travail.

    Donc, pas par quelqu'un qui teste un truc qui passe par ici, par là... ce doit être moi ;-)

    J'ai une clé API MeteoBlue gratuite depuis plusieurs années qui donne seulement 5000 appels/an maintenant. Ce qui fait à peine 14 appels/jour.

    Ce petit mot aussi pour signaler que les modules weather et forecast sont sur le store !

    Au plaisir et bonne journée... Michel

  • fred
    fred Messages 2,481Administrateur

    Merci @lemimi

    Bonne semaine.

    The f....g boss
  • lemimi
    lemimi Messages 470Moderateur

    Hello,

    En cherchant, j'ai trouvé un autre fournisseur d'API.

    Module Météo Open-Meteo pour ZwiiCMS : c'est en test ici.

    Ce module intègre une météo complète, grâce à l’API gratuite et performante Open-Meteo.

    Fonctionnalités clés :

    • Prévisions précises : Températures, vent, direction du vent, rafales, précipitations, et conditions météo détaillées.
    • Affichage clair : Graphiques interactifs (ce n'est pas encore ceux de MeteoBlue, mais ça s'améliore;-), prévisions horaires et quotidiennes, avec un design épuré et responsive.
    • Personnalisation et configuration : Choix de la ville dans un menu déroulant, des unités (métrique/impérial), et du nombre de jours (maxi 16) de prévisions.
    • Gratuit et sans limite : Aucune clé API requise, pas d'inscription, données fiables et mises à jour régulièrement.

    S'il donne satisfaction, il pourrait remplacer le module Forecast que j'ai reconfiguré partiellement pour ce nouveau modèle.

    A suivre... Michel

  • Thispy
    Thispy Messages 233Membre

    Bonjour @lemimi

    Il n'y a rien sur ta page ?

    https://test.lemimi.fr/zwiicms-13.7.00-c/openmeteo

    Contenu de votre nouvelle page.

    Cordialement,


  • lemimi
    lemimi Messages 470Moderateur

    Bonjour @Thispy ,

    En effet, j'ai fait un peu de ménage ce matin parmi mes différents fichiers de test, et j'avais, par mégarde, effacé view/index/index.php.

    Je viens de tester, c'est en ligne.

    Au plaisir et bon week-end... Michel

  • Thispy
    Thispy Messages 233Membre

    Bonjour,

    Excellent travail, et un grand merci au nom des passionnés de météo !

    Cordialement,


  • lemimi
    lemimi Messages 470Moderateur

    Hello,

    Je pense être arrivé au bout :-)

    C'est toujours en test ici : https://test.lemimi.fr/zwiicms-13.7.00-c/openmeteo

    Vous pouvez tester vous-même avec les identifiants de la page d'accueil.

    J'avais oublié de mettre public chez Codeberg... c'est donc ici : https://codeberg.org/Lemimi/Forecast_OpenMeteo

    Bonne soirée à tous... Michel

  • fred
    fred Messages 2,481Administrateur

    Hello,

    Ah ! Joli !!

    Bonne soirée,

    Fred

    The f....g boss
  • lemimi
    lemimi Messages 470Moderateur

    Coucou,

    C'est en production ici : https://www.mac27.com/ avec un beau widget cliquable dédié.

    La mise à jour de celui-ci se fait via une tâche CRON qui rafraichit l'historique du module forecast_openmeteo deux fois par heure.

    C'est aussi ici https://test.lemimi.fr/zwiicms-13.7.00-c/, sans tâche CRON.

    Bonne journée... Michel

  • fred
    fred Messages 2,481Administrateur

    Hello,

    Très beau module !

    Bon week-end,

    Fred

    The f....g boss
  • lemimi
    lemimi Messages 470Moderateur

    Bonjour vous tous,

    Je viens de mettre le module forecast_openmeteo sur le Store.

    En téléchargement, j'y ai inclus en bonus le widget OpenMeteo ( lire son readme pour son installation).

    Ça tourne aussi son ma page de rando ici.

    Bonne soirée... Michel

    • Pour @fred : sur le store j'ai gardé l'ancien module Forecast en brouillon.
  • mulanee
    mulanee Messages 338Membre
    27 oct. modifié

    Bonjour,

    @lemimi Sur la page d'installation, je lis

    <quote>## 📦 Installation

    1. **Télécharger le module**

      - Placez le dossier du module dans `/site/module/forecast_openmeteo/` de votre installation ZwiiCMS.

    2. **Activer le module**

      - Connectez-vous à l'administration de ZwiiCMS.

      - Allez dans **Modules** > **Gestion des modules**.

      - Activez le module **Météo Open-Meteo**.</quote>


    -Le répertoire /site/module/forecast_openmeteo/ ne fonctionne pas, il faut mettre le module dans /

    -Je ne comprends pas le terme d'activation du module; on le met dans le bon répertoire et c'est tout non?

    • edit je ne comprends pas comment modifier la localisation par exemple, j'ai changé dans weather.json, ça change le titre mais pas la prévision, ça ne doit pas être là donc.
  • lemimi
    lemimi Messages 470Moderateur
    27 oct. modifié

    Bonjour @mulanee ,

    Je viens de corriger sur le Store : (votre_site.com/ et non pas site/)

    ## 📦 Installation

    1. **Télécharger le module**

      - Placez le dossier du module dans `votre_site.com/module/forecast_openmeteo/` de votre installation ZwiiCMS.

    2. **Vérifier les permissions**

      - Assurez-vous que le dossier `votre_site.com/site/data/weather_openmeteo/` est accessible en écriture par le serveur web (permissions `0755`).

    **************************************************************************************************************************

    Je viens de télécharger la version 2.7 sur le Store et je viens de l'installer ici :

    Pour aider les personnes novices sous ZwiiCMS, voici comment j'ai fait...

    • J'ai décompressé forecast_openmeteo.zip, ce qui me donne un dossier forecast_openmeteo que je place directement dans le dossier module du site web (par FTP).
    • En mode admin du site web, je choisis de créer une Nouvelle page, je clique ensuite Extension et choisis le module forecast_openmeteo. Si on appuie de suite sur Enregistrer, la ville de Paris est choisie par défaut, et le dossier weather_openmeteo et le fichier weather.json sont automatiquement créés dans votre_site.com/site/data/

    Au plaisir et bonne journée... Michel

  • lemimi
    lemimi Messages 470Moderateur

    Voici les changements effectués dans ce module depuis qu'il tourne avec l'API OpenMeteo :

    • Version 2.7 - Ajout du jour de la semaine dans 'Prévisions horaires sur X jours'.
              Exportation du javascript de index.php, vers index.js.php.
    
    • Version 2.6 - Ajout de notifications d'alertes météo.
    • Version 2.5 - Icônes jour/nuit qui s'adaptent automatiquement.
              La "météo actuelle" affiche les données de l'heure en cours.
    
    • Version 2.4 - Harmonisation des échelles pour le graphique vent moyen et rafales.
              (La courbe des rafales passait parfois sous celle du vent moyen !).
              Optimisation dans la section SVG, en calculant une seule fois les coordonnées et en les réutilisant.
              Ajustement dynamique de l'animation.
    
    • Version 2.3 - Uniformisation des barres de défilement (scrollbars) pour les prévisions horaires et quotidiennes.
    • Version 2.2 - L’en-tête du jour (H4) reste fixe en haut de la section des Prévisions horaires sur X jours.
              Les heures défilent horizontalement sous l’en-tête.
    
    • Version 2.1 - Ajout de filtres d'ombre, de dégradés pour les courbes et les zones de remplissage.
    • Version 2.0 - Changement de fournisseur d'API : https://open-meteo.com/.
              API 100% gratuite sans limitation, ni inscription.
              Changement de nom de la classe : forecast => forecast_openmeteo.
              Reconfiguration partielle pour ce nouveau modèle. 
    


  • mulanee
    mulanee Messages 338Membre

    @lemimi Comment change-t-on la ville ou les coordonnées ?

  • lemimi
    lemimi Messages 470Moderateur
    27 oct. modifié

    Bonsoir,

    Dans la configuration du module tu as ceci :

    Tu as un menu déroulant avec des villes prédéfinies. Tu n'as qu'à choisir celle qui te convient.

    Tu peux changer ou renommer le nom d'une ville, garder ou changer les coordonnées de celle-ci. Les changements sont pris en compte au moment où tu appuies sur Enregistrer. C'est ce que j'ai fait ici, j'ai renommé La Chapelle-du-Bois-des-Faulx en Stade de foot - La Chapelle-du-Bois-des-Faulx.

    Ou modifier la ville avec ses coordonnées comme je le fais régulièrement sur la page météo du lieu d'une prochaine randonnée : ici.

    Pour ceux qui veulent aller bidouiller dans le code, les villes du menu déroulant sont dans le fichier \module\forecast_openmeteo\view\config\config.php. Il est possible d'en supprimer, modifier ou d'en ajouter. C'est à partir de la ligne 15 :

    15 // Villes prédéfinies pour faciliter la configuration
    16 $predefinedCities = [
    17   'Angers' => ['lat' => '47.4784', 'lon' => '-0.5632'],
    18   'Bordeaux' => ['lat' => '44.8378', 'lon' => '-0.5792'],
    ...
    

    Bonne soirée... Michel

    Post edited by lemimi on
  • mulanee
    mulanee Messages 338Membre

    Bonjour,

    @lemimi D'accord Michel c'est clair, j'avais été chercher midi à quatorze heures :)

    -Est-il possible de mettre plusieurs villes sur la même page?

    -Comment se servir du widget? Idéalement j'aimerais le mettre sur la page d'accueil de mon intranet perso avec deux villes

  • lemimi
    lemimi Messages 470Moderateur

    Bonjour,

    -Est-il possible de mettre plusieurs villes sur la même page?

    Non, ce n'est pas possible... je n'avais d'ailleurs pas penser faire cela.

    J'ai essayé, un moment de faire un module widget, pas réussi à le faire fonctionner correctement.

    Du coup, je l'insère dans mes pages via une iframe. Pour pouvoir placer le widget où je veux dans mes pages, je n'ai rien trouvé de plus facile que d'intégrer l'ifame dans un tableau. Celui sur cette page est construit ainsi avec deux colonnes :

    <table border="0" style="border-collapse: collapse; width: 102%; border-style: none;">
            <tbody>
                    <tr>
                            <td style="width: 57%; height: 370px; text-align: left; vertical-align: top;">
                                    <p>&nbsp;</p>
                                    <p>Blablabla, Blablabla, Blablabla, Blablabla, Blablabla, </p>
                                    <p>&nbsp;</p>
                            </td>
                            <td style="height: 370px; text-align: right; vertical-align: top;">
                                    <p><iframe style="width: 100%; height: 370px; border: none;" src="https://lemimi.fr/fr/module/forecast_openmeteo/widget_openmeteo.php" title="Widget m&eacute;t&eacute;o"></iframe></p>
                            </td>
                    </tr>
            </tbody>
    </table>
    

    Le widget lit les données du fichier .json fournies par le module openmeteo, il faut donc que celui-ci soit installé pour fonctionner.

    A part, le lien de redirection vers la page météo, il n'y a rien d'autre à effectuer. Ligne 83 :

    79 <!--
    80 Ce div est cliquable et redirige vers une page dédiée à OpenMeteo lorsque l'utilisateur clique dessus.
    81 Le style "cursor: pointer;" change le curseur en une main pour indiquer que l'élément est interactif.
    82 -->
    83 <div class="weather-widget-container" onclick="parent.location.href='https://mon_site.com/vers_page_openmeteo';" style="cursor: pointer;"></div
    

    Bonne journée... Michel

  • lemimi
    lemimi Messages 470Moderateur

    Bonsoir @mulanee ,

    J'ai repensé à ta demande de choix de villes côté visiteurs, et voici ce que j'ai réussi à faire... que je pourrais peut-être améliorer après le dodo ;-)

    C'est ici en test : https://test.lemimi.fr/zwiicms-13.7.00-b/openmeteo

    Au plaisir... Michel

  • mulanee
    mulanee Messages 338Membre

    Bonjour @lemimi

    Super!

    J'ai hâte de voir ce module en mode release

Connectez-vous ou Inscrivez-vous pour répondre.