MBell v1.6

1. Qu'est-ce que Mbell ?



Mbell est une série de scripts PHP pour utilisateurs de station Davis Weatherlink via datalogger IP ou USB, vous permettant d'afficher vos propres données météorologiques en lieu et place de l'interface Weatherlink par défaut.

MBell est très simple d'installation. Vous n'avez besoin que d'un hébergement Internet (avec FTP) acceptant le PHP, de rentrer vos identifiants Weatherlink dans l'interface MBell et les scripts s’occupent du reste.

MBell a été optimisé pour l'affichage rapide sur mobile et permet à n'importe quel utilisateur consultant vos données météo de changer quand bon lui semble certains paramètres :

- 4 styles de design (blanc, noir, bleu clair et bleu sombre) + 2 en alternance Jour (blanc, bleu clair) / Nuit (noir, bleu sombre)
- 3 types de couleurs de texte (neutre, coloré ou dynamique)
- 2 types d'affichage avec ou sans icônes
- 2 langues : Français et Anglais
- 4 unités : Température (°C ou °F), Vent (km/h ou mph), Pluie (mm ou in), Pression (hPa ou inHg)




2. Téléchargement



Il est nécessaire de vous inscrire 1 fois pour pouvoir accéder au lien de téléchargement. Vous n'aurez ensuite besoin que de vous connecter à chaque fois que vous voudrez télécharger MBell.

Votre Nom de famille, le lien complet du site (sans le http://) sur lequel Mbell sera utilisé et un email où l'on peut vous contacter. L'Email n'est pas obligatoire. Il permet simplement de vous contacter plus rapidement en cas de problème. Si vous n'avez pas encore de nom de site et voulez simplement tester Mbell en local, mettez simplement "Local".

- Inscription
- Connexion

Il peut être étonnant de demander une inscription pour un projet en open-source, mais il s'agit d'une sécurité permettant de limiter les téléchargements de Mbell par des robots mal intentionnés.

Je vous rassure cependant, il n'y a aucun risque (vos données d'identifications météos étant cryptés directement sur votre propre serveur-ftp), raison pour laquelle je ne vous demande pas de mot de passe, mais simplement quelques informations basiques. Cela permet notamment d'éviter aussi le téléchargement de MBell ailleurs qu'en passant par www.meteobell.com ou par lien direct sans être connecté.



3. Procédure d'Installation



1. Décompressez le fichier Mbell.7z

2. Puis Installez le dossier "mbell" sur votre FTP.

3. Le dossier "mbell" peut être à la racine ou non de votre site, en revanche l'ensemble des fichiers contenus dans le dossier "mbell" ne doivent pas être à la racine de votre site, mais bel et bien dans un dossier nommé "mbell".

4. Seul le fichier .htaccess doit être placé à la racine de votre site (ou à l'endroit où vous avez placé le dossier mbell si ce dernier se trouve ailleurs qu'à la racine de votre site). Si vous possédez déjà un fichier .htaccess à cet endroit (racine ou ailleurs), alors copiez-collez son contenu dans le votre.

5. Pour accédez aux scripts Mbell, allez ensuite sur www.votre-site.com/mbell/login.php

6. Lors de votre première connexion, la clef (KEY) à remplir est : admin

7a. Si vous utilisez la version 1.0 de Weatherlink : Remplissez ensuite les champs DID et KEY de votre Station Davis Weatherlink
7b. Si vous utilisez la version 2.0 de Weatherlink : Remplissez ensuite les champs DID, PASS et TokenID de votre Station Davis Weatherlink

8. Une fois le fichier XML chargé, vous pouvez consulter vos données météos à ces adresses :
- www.votre-site.com/mbell/
- www.votre-site.com/mbell/index.php
- www.votre-site.com/mbell/fr-index.html (français)
- www.votre-site.com/mbell/en-index.html (anglais)

Note : le dossier "src" n'est pas indispensable et peut être supprimé sans risque, il ne contient que des images de présentations non nécessaires à l'exécution de Mbell.

Note : L'ID (appelé aussi DID) / la clef (appelé aussi KEY) de votre station, sont inscrites sur le cordon de votre datalogger branché à votre console. Vous pouvez aussi trouver ces informations en vous connectant à weatherlink.com : https://www.weatherlink.com/account ). Vous trouverez également sur le site weatherlink.com votre Mot de Passe (appelé aussi PASS) et le numéro d'API Token (appelé aussi TokenID) nécessaire à une connexion en version 2.0.



4. Weatherlink 1.0 / 2.0



Depuis que Weatherlink a migré en version 2.0 au cours de l'année 2018, les informations de connexions à Mbell ont changé également. Lors de la première connexion à Mbell, il faut toujours inscrire "admin". Mais ensuite si vous avez enregistré votre station en version 1.0, il faudra inscrire seulement le "KEY" pour vous connecter à Mbell. Si vous l'avez enregistré en version 2.0, il faudra inscrire seulement le "PASS".

A l'heure actuelle, Weatherlink en version 1.0 fonctionne parfaitement si vous avez un datalogger IP et aucune date n'a été donné pour son arrêt, vous pouvez donc très bien rester en version 1.0 sans que vous ne voyez aucun changement. Depuis 2018 la version 2.0 fonctionne aussi en parallèle et permet à ceux ne disposant pas de datalogger IP de pouvoir utiliser Mbell. En revanche l'utilisation obligatoire des TokenID n'a pas encore été activé à ce jour et aucune date n'a encore été donné pour son activation de la part de Weatherlink. Si vous disposez d'un datalogger IP, il n'y a donc aucune obligation à passer en version 2.0, même si votre station a été migré pour l'accepter sur le site weatherlink.com.

Depuis sa version 1.3c, Mbell est cependant prêt et parfaitement fonctionnel pour accepter Weatherlink 1.0 et Weatherlink 2.0 avec ou sans TokenID. Vous n'aurez donc rien à faire le jour où Weatherlink décidera d'activer ou de désactiver l'une ou l'autre version, vous n'aurez simplement qu'à changer dans les paramètres de Mbell vos identifiants selon la version choisi.



5. Problèmes d'Installation



Les utilisateurs de Mac peuvent parfois rencontrer un problème lors de l'installation. Le fichier .htaccess est en effet parfois invisible car considéré comme un fichier caché par Mac. Il faut donc activer les fichiers cachés pour le voir et pourvoir ensuite l'installer. Il existe différentes méthodes, cherchez sur le net comment afficher un fichier caché sur Mac.

Si vous n'arrivez pas à vous connecter à votre station, il s'agit peut-être d'un problème de droit d'accès (CHMOD) avec votre FTP (sur FileZilla, faites un clic droit, puis "Droits d'accès au fichier..."). En effet Mbell n'utilisant pas de base de données (mysql), il doit pouvoir modifier certains fichiers directement sur votre ftp quand nécessaire (notamment les informations de sécurité). Tous les fichiers doivent avoir comme CHMOD : 755, ainsi que le dossier "mbell". Pour plus de sécurité mettez tout de même le dossier "config" en CHMOD : 744 (mais pas le contenu du dossier).

Attention, si vous inscrivez de mauvaises informations d'identifications (DID + KEY pour la V1.0 ou DID + PASS + TokenID pour la v2.0), que vous sauvegardez puis que vous vous déconnectez sans vous souvenir de la mauvaise clef précédemment inscrite, vous ne pourrez plus vous reconnecter à vos fichiers Mbell. C'est une sécurité. Il vous faut dans ce cas retélécharger l'ensemble des scripts Mbell et l'installer de nouveau sur votre FTP (ou au moins le fichier "var.enc" dans le dossier "config"). Puis recommencez la procédure depuis le début (KEY = admin).

Si vous installez une nouvelle version de mbell, vous devez impérativement supprimer et remplacer totalement le précédent dossier mbell, ne vous contentez pas de simplement copier-coller en remplaçant les fichiers existants. Vous devez supprimer l'ancienne version avant d'installer la nouvelle et recommencer la procédure d'installation depuis le début.

Si vous rencontrez des problèmes d'encodages (notamment sur les accents de la langue française), c'est probablement parce que le site sur lequel vous avez installé MBell est sur un autre type d'encodage. MBell est encodé en unicode UTF-8 :
- Vous pouvez dans ce cas forcer votre site à utiliser UTF-8 pour MBell en rajoutant la ligne de code suivante dans le htaccess : AddDefaultCharset utf-8
- Si cela ne fonctionne pas, certains hébergeurs préconisent de créer un fichier nommé php.ini ou .php.ini (à mettre dans le dossier mbell) avec la ligne de code suivante : default_charset="UTF-8"



6. Configurations Nécessaires



- - Il vous faut d'abord une station Davis relié à Weatherlink. Depuis 2018 il n'est plus nécessaire d'avoir un datalogger IP. Vous pouvez utilisez MBell même avec une connexion Weatherlink USB.
- Vous aurez besoin des identifiants de votre compte Weatherlink (DID + KEY) ou (DID + PASS + TokenID) en fonction de la version Weatherlink choisi : https://www.weatherlink.com/account
- Pour faire fonctionner Mbell, il vous faut un FTP, donc un hébergement web avec un nom de domaine Internet.
- Mbell fonctionne au minimum avec PHP 5.6 (si vous rencontrez des problèmes PHP, il est possible de forcer votre hébergeur à utiliser PHP 5.6 via l'htaccess, renseignez-vous sur Internet)
- Vos utilisateurs n'ont pas besoin de javascript pour consulter Mbell, mais certains paramétrages ne fonctionneront alors plus (compteur chrono, accès au menu, changement de langue et d'unités etc...). En revanche, pour vous en tant qu'administrateur, il est indispensable que vous activiez javascript pour accéder aux paramètres.
- L'utilisateur peut accepter les cookies pour permettre de se rappeler certains de ses choix (styles, langues, unités, couleur), mais ce n'est pas obligatoire.
- Le site a été testé sur différents navigateurs PC et mobile (android 2+). Merci de m'informer si vous rencontrez des bugs en m'informant du navigateur utilisé et de sa version.

NOTE sur la notion de FTP et d'hébergeur :

- Il vous faut en effet un FTP supportant le PHP. Renseignez-vous auprès de votre fournisseur internet, ils proposent parfois un hébergement gratuit, malheureusement ce sont souvent des offres simplistes ne supportant pas forcément le PHP (le cas de Orange par exemple).
- Voici quelques solutions d'hébergeurs gratuits :
  https://php.developpez.com/comparatifs/hebergeurs/
  https://www.hebergementweb.org/hosting/gratuit/view
- Il en existe probablement d'autres. (Si vous voulez optez pour une solution payante, je recommande OVH sinon)
- Il vous faut ensuite un logiciel FTP, là c'est plus simple, il suffit de télécharger un logiciel FTP (certains hébergeurs proposent aussi l'interface FTP dans leurs paramètres). Je recommande personnellement Filezilla qui est performant et très simple d'utilisation : https://filezilla-project.org/ mais il en existe aussi bien d'autres.


7. Informations concernant les données



Il y a 44 cases de tableau actualisé toutes les minutes automatiquement :

1- Vent Moyen : Vitesse + Direction du Vent Moyen : moyenne sur les 10 dernières minutes

2- Température : Température sous abris actuelle + température minimum et maximum du jour/mois/année

3- Intensité Pluvieuse : Taux (en mm/h) des précipitations sur les 10 dernières minutes. Cette case vous indique également s'il s'agit de pluie, de neige ou d'un risque de pluie-neige mêlée. S'il n'y a pas de précipitations en cours, elle vous indique alors un risque de brouillard, brouillard givrant ou de verglas. Sinon elle indique "Néant". Depuis la v1.1, si vous avez une sonde solaire, elle vous indique en journée si le temps est ensoleillé ou nuageux.

4- Vent en Rafale : Vitesse de la plus forte rafale des 10 dernières minutes seulement si Rafale Max a été sélectionné dans le tableau de configuration. Sinon Vent en Rafale des 10 dernieres minutes + Rafale Max du jour/mois/année (Système de switch, voir partie 10)

5- Ressenti : Si T°C < 15°C = Windchill. Si T°C > 15°C = Heat Index. + minimales/maximales du jour/mois/année

6- Cumuls des Précipitations / Pluie du Jour : Cumul de pluie du jour (+ mensuel et annuel) si Précipitation mensuel et annuel n'a pas été sélectionné dans le tableau de configuration. Sinon seulement Pluie du Jour (Système de switch, voir partie 10)

7- Rafale Max : Vitesse et heure de la plus forte rafale du jour

8- Radiations Solaires : Si vous avez une sonde d'ensoleillement, intensité lumineuse des 10 dernières minutes. Si vous avez une sonde UV, indice UV. Sinon seulement heure de levé et couché du soleil et statut actuel de la journée : Jour / Nuit [Voir dans les paramètres, pour sélectionner une sonde solaire et/ou une sonde UV ou aucune]. Depuis la v1.2, cette case vous indique aussi les phases lunaires, tout le temps si vous n'avez pas de sondes solaires-uv. Sinon seulement la nuit. Cette case utilise également le système de switch en fonction de l'affichage ou non de la case Sonde Solaire seul et Sonde UV seul (voir partie 10).

9- Évapotranspiration : Cumul d'évapotranspiration du jour (+ mensuel et annuel). Depuis la v1.3, si vous avez une sonde solaire, Évapotranspiration Potentielle (ETP). Sinon Évapotranspiration Réelle (ETR).

10- Pression : Indique la tendance de pression des 10 dernières minutes (baisse - augmente - stable) et la pression minimum et maximum du jour/mois/année

11- Point de Rosée : Point de rosée actuel + point de rosée minimum et maximum du jour/mois/année

12- Humidité Relative : Humidité actuelle + humidité minimum et maximum du jour/mois/année

13- Précipitation Mensuel : cumul de pluie du mois [v1.1]

14- Précipitation Annuel : Cumul de pluie de l'année [v1.1]

15- Sonde Solaire seul : radiation solaire courante des 10 dernières minutes + valeur max (et heure) de la journée. Valeur maximum du mois et de l'année [v1.2]

16- Sonde UV seul : Indice UV courant des 10 dernières minutes. Valeur maximum du mois et de l'année [v1.2]

17- Température Extra 1 : si vous avez 1 sonde universelle de température air-eau-sol ou 1 station de température auxiliaire air-eau-sol ou 1 station de température/humidité de l'air auxiliaire (avec minimal-maximal du jour/mois/année) [v1.1]

18- Température Extra 2 : si vous avez 2 sondes universelle de température air-eau-sol ou 2 stations de température auxiliaire air-eau-sol ou 2 stations de température/humidité de l'air auxiliaire (avec minimal-maximal du jour/mois/année) [v1.1]

19- Température Extra 3 : si vous avez 3 sondes universelle de température air-eau-sol ou 3 stations de température auxiliaire air-eau-sol ou 3 stations de température/humidité de l'air auxiliaire (avec minimal-maximal du jour/mois/année) [v1.1]

20- Température Extra 4 : si vous avez 4 sondes universelle de température air-eau-sol ou 4 stations de température auxiliaire air-eau-sol ou 4 stations de température/humidité de l'air auxiliaire (avec minimal-maximal du jour/mois/année) [v1.4]

21- Température Extra 5 : si vous avez 5 sondes universelle de température air-eau-sol ou 5 stations de température auxiliaire air-eau-sol ou 5 stations de température/humidité de l'air auxiliaire (avec minimal-maximal du jour/mois/année) [v1.4]

22- Température Extra 6 : si vous avez 6 sondes universelle de température air-eau-sol ou 6 stations de température auxiliaire air-eau-sol ou 6 stations de température/humidité de l'air auxiliaire (avec minimal-maximal du jour/mois/année) [v1.4]

23- Température Extra 7 : si vous avez 7 sondes universelle de température air-eau-sol ou 7 stations de température auxiliaire air-eau-sol ou 7 stations de température/humidité de l'air auxiliaire (avec minimal-maximal du jour/mois/année) [v1.4]

24- Humidité 1 : si vous avez 1 station de température/humidité de l'air auxiliaire (avec minimal-maximal du jour/mois/année) [v1.4]

25- Humidité 2 : si vous avez 2 stations de température/humidité de l'air auxiliaire (avec minimal-maximal du jour/mois/année) [v1.4]

26- Humidité 3 : si vous avez 3 stations de température/humidité de l'air auxiliaire (avec minimal-maximal du jour/mois/année) [v1.4]

27- Humidité 4 : si vous avez 4 stations de température/humidité de l'air auxiliaire (avec minimal-maximal du jour/mois/année) [v1.4]

28- Humidité 5 : si vous avez 5 stations de température/humidité de l'air auxiliaire (avec minimal-maximal du jour/mois/année) [v1.4]

29- Humidité 6 : si vous avez 6 stations de température/humidité de l'air auxiliaire (avec minimal-maximal du jour/mois/année) [v1.4]

30- Humidité 7 : si vous avez 7 stations de température/humidité de l'air auxiliaire (avec minimal-maximal du jour/mois/année) [v1.4]

31- Humectation de Feuillage 1 : si vous avez 1 capteur ou 1 station auxiliaire humectation du feuillage / humidité & température du sol (avec minimal-maximal du jour/mois/année) [v1.4]

32- Humectation de Feuillage 2 : si vous avez 2 capteurs ou 1 station auxiliaire humectation du feuillage / humidité & température du sol (avec minimal-maximal du jour/mois/année) [v1.4]

33- Humidité du Sol 1 : si vous avez 1 sonde ou 1 station auxiliaire humectation du feuillage / humidité & température du sol (avec minimal-maximal du jour/mois/année) [v1.4]

34- Humidité du Sol 2 : si vous avez 2 sondes ou 1 station auxiliaire humectation du feuillage / humidité & température du sol (avec minimal-maximal du jour/mois/année) [v1.4]

35- Humidité du Sol 3 : si vous avez 3 sondes ou 1 station auxiliaire humectation du feuillage / humidité & température du sol (avec minimal-maximal du jour/mois/année) [v1.4]

36- Humidité du Sol 4 : si vous avez 4 sondes ou 1 station auxiliaire humectation du feuillage / humidité & température du sol (avec minimal-maximal du jour/mois/année) [v1.4]

37- Température du Sol 1 : si vous avez 1 sonde ou 1 station auxiliaire humectation du feuillage / humidité & température du sol (avec minimal-maximal du jour/mois/année) [v1.4]

38- Température du Sol 2 : si vous avez 2 sondes ou 1 station auxiliaire humectation du feuillage / humidité & température du sol (avec minimal-maximal du jour/mois/année) [v1.4]

39- Température du Sol 3 : si vous avez 3 sondes ou 1 station auxiliaire humectation du feuillage / humidité & température du sol (avec minimal-maximal du jour/mois/année) [v1.4]

40- Température du Sol 4 : si vous avez 4 sondes ou 1 station auxiliaire humectation du feuillage / humidité & température du sol (avec minimal-maximal du jour/mois/année) [v1.4]

41- Température de Feuillage 1 : données de température air-eau-sol en cas de mise en combinaison de 2 stations auxiliaire humectation du feuillage / humidité & température du sol (avec minimal-maximal du jour/mois/année) [v1.4]

42- Température de Feuillage 2 : données de température air-eau-sol en cas de mise en combinaison de 2 stations auxiliaire humectation du feuillage / humidité & température du sol (avec minimal-maximal du jour/mois/année) [v1.4]

43- Température Intérieure : donnée de température intérieure de votre console Weatherlink (avec minimal-maximal du jour/mois/année) [v1.4]

44- Humidité Intérieure : donnée d'humidité relative intérieure de votre console Weatherlink (avec minimal-maximal du jour/mois/année) [v1.4]

NOTE sur l'évapotranspiration (v1.3) : la formule d'ETP utilisé par Davis est la formule de CIMIS Penman et est performante en taux horaire, mais sous-estime un peu la valeur sur des cumuls mensuels et annuels. Pour l'ETR, c'est le contraire. Il y a en fait 2 formules d'ETR utilisé par MBell. La formule de Coutagne est utilisé en priorité, mais n'est significative qu'entre certaines valeurs de température et de précipitation, la formule de Turc prend alors le relais. Ces 2 formules en revanche sur-estiment les valeurs en taux horaires et deviennent donc intéressantes surtout en bilan annuel (donc en fin d'année). Il n'existe en fait aucune formule d'évapotranspiration parfaite. Ce sont des estimations.



8. Informations concernant les Paramètres par Défaut



La priorité sera toujours donné au choix de l'utilisateur lui-même via le menu contextuel de gauche. Cependant lorsque celui-ci se connecte à Mbell la toute première fois ou lorsque il vide ses cookies, un choix par défaut peut être choisi pour lui via le menu Paramètre pour les unités, le style et la langue.

Le choix de la langue est cependant un peu particulier car n'utilise pas de cookies. Il est en effet possible de récupérer la langue directement via l'adresse URL :

- www.votre-site.com/mbell/fr-index.html
- www.votre-site.com/mbell/en-index.html

Lorsqu'une langue est choisi, ce sont ainsi tous les liens du site qui pointeront vers celle-ci. Si vous mettez une adresse par défaut (www.votre-site.com/mbell/ ou www.votre-site.com/mbell/index.php), alors le paramètre par défaut prend le relais. Notez cependant que la priorité sera donné à la langue du navigateur, il est donc possible que vous ne voyez pas de changement si votre navigateur utilise une des langues traduite par Mbell. Par exemple si vous vous connectez via la Turquie, votre navigateur est écrit en Turc, Mbell n'étant pas traduit en Turc, alors, c'est le choix par défaut qui sera utilisé. Par contre si vous vous connectez via la France, votre navigateur est écrit en Français, c'est donc ce choix là qui sera prioritaire par rapport au choix par défaut (même si le choix par défaut est l'Anglais). Mais dans les deux cas, l'utilisateur peut forcer une autre langue via le menu contextuel s'il le désire.

A la toute première connexion d'un administrateur (donc juste après l'installation des scripts Mbell sur votre FTP et avant même d'avoir utilisé les Paramètres par Défaut), les réglages par défaut sont fixés sur :

- Température : Celsius (°C)
- Vent : Kilomètres/heure (km/h)
- Pluie : Millimètres (mm)
- Pression : Hectopascal (hPa)
- Langue : Anglais (en) [Notez que si la langue de votre navigateur est contenu dans la liste des traductions Mbell, elle sera prioritaire. Donc si votre navigateur est en Français par exemple, ce sera le Français, même si vous mettez anglais par défaut. Mais le paramètre sera bien pris en compte, un utilisateur d'un autre pays étranger verra lui bien la différence.]
- Couleur : Coloré
- Jour-Nuit : Désactivé
- Weatherlink : version 1.0
- Minimales/Maximales : Journalières (v1.5)
- Icônes : Oui (v1.6)


9. Informations concernant la Configuration des Données



Vous pouvez afficher les données dans n'importe quel ordre que ce soit dans les 30 cases (3 colonnes et 10 lignes). Par défaut, Mbell est configuré sur 4 lignes :

1= Vent Moyen / 2= Température / 3= Intensité Pluvieuse
4= Vent en Rafale / 5= Ressenti / 6= Cumul de Pluie
7= Rafale Max / 8= Soleil - UV - Lune - Heure Jour/Nuit / 9= Évapotranspiration
10= Pression / 11= Point de Rosée / 12= Humidité Relative

Vous pouvez choisir d'afficher de 1 à 10 lignes.



10. Système de Switch Automatique [nouveauté v1.1]



Afin de permettre plus de souplesse d'affichage, certaines cases de données possèdent un système de switch automatique en fonction des choix préalable de configuration que l'administrateur effectuera. A ce jour 3 cases possèdent ce système de switch :

1- la case "Cumul de Pluie" qui switch en case "Pluie du Jour" si la case "Précipitation Mensuel" ou "Précipitation Annuel" a été aussi choisi dans la zone de configuration des données. A noter que par défaut, Pluie Mensuel et Annuel ne sont pas sélectionné. Par défaut le switch est donc sur "Cumul de Pluie".

2- la case "Vent en Rafale" qui switch en case "Vent en Rafale des 10 dernières minutes" si la case "Vent en Rafale Maximum" a été aussi choisi dans la zone de configuration des données. A noter que par défaut, "Vent en Rafale Maximum" est sélectionné. Par défaut le switch est donc sur "Vent en Rafale des 10 dernières minutes".

3- la case regroupant les heures de "Coucher-Lever de Soleil + les Phases Lunaires + les Radiations Solaires + l'Indice UV" switch en case "Lune + Coucher-Lever de Soleil" si la case "Radiation Solaire seul" et/ou "Indice UV seul" a été choisi dans la zone de configuration des données. A noter que par défaut aucune sonde n'étant sélectionné, cette case n'affiche donc que les phases lunaires avec les heures de lever et coucher de soleil. Ce système de switch ne fonctionne que si vous possédez des sondes solaires et/ou UV. [ajout de la v1.2]

Ce système de switch a été créé dans l'idée de fabriquer plus de possibilité d'affichage différents (est-ce que je veux une case "Cumul de Pluie" qui regroupe les 3 cases "Pluie du Jour", "Pluie Mensuel", "Pluie Annuel", ou non ?) afin de permettre notamment à ceux disposant d'1 sonde ou 2 de Température Extra d'avoir un affichage qui restent bien sur 3 colonnes. En effet si vous avez une sonde supplémentaire mesurant par exemple la température du sol, vous n'avez besoin qu'une d'1 seule case supplémentaire, or Mbell ne peut pas afficher autre chose que 3 colonnes. Il vous faut donc trouver 2 autres cases à remplir ou bien en supprimer 1 quelque-part. Le système de switch vous permet facilement de remédier à ça.

D'autres cases viendront compléter ce système de switch à l'avenir permettant une infinité d'affichage différents.



11. Multiples Stations



Si vous possédez de multiples stations Davis et voulez avoir votre propre script mbell pour chacune de vos stations il suffit de créer à la racine de votre site un dossier pour chaque station et d'inclure dans chacun le dossier mbell avec les identifiants de chacune de vos stations :

www.votre-site.com/Station 1/mbell/
www.votre-site.com/Station 2/mbell/

Ne mettez pas le .htaccess dans ce cas à la racine de votre site, mais mettez un .htaccess dans chacun des dossiers de votre station.



12. Sondes et Stations Auxiliaires [nouveauté v1.4]



Vous trouverez plus de renseignements sur le site Davis à cette adresse sur l'ensemble des capteurs auxiliaires et combinaisons possibles : davis-meteo.com

- Les données de Températures Extra 1 à 7 seront affichés si vous possédez ainsi une Station Météo Auxiliaire de Température air-eau-sol n°6372 ou une Station météo sans fil pour la mesure de la température et de l'humidité n°6382.

- Les données d'Humidité Relative 1 à 7 seront affichés si vous possédez une Station météo sans fil pour la mesure de la température et de l'humidité n°6382.

- Les données d'Humectation de Feuillage 1 à 2 seront affichés si vous possédez une Station météo auxiliaire humectation du feuillage / humidité & température du sol n°6345.

- Les données de Température du Sol 1 à 4 seront affichés si vous possédez une Station météo auxiliaire humectation du feuillage / humidité & température du sol n°6345.

- Les données d'Humidité du Sol 1 à 4 seront affichés si vous possédez une Station météo auxiliaire humectation du feuillage / humidité & température du sol n°6345.

- Les données de Température de Feuillage 1 à 2 seront affichés uniquement si vous possédez 2 Stations météo auxiliaire humectation du feuillage / humidité & température du sol n°6345 à utiliser en combinaison l'une de l'autre. Il s'agit en fait d'un capteur de température air-eau-sol (voir sur le site Davis pour plus de renseignements).



13. Sécurité [nouveauté v1.5b / 1.5d]



Depuis la version 1.5b (et plus encore depuis la version 1.5d), le niveau de sécurité de Mbell a été considérablement renforcé et est conforme aux toutes dernières évolutions en la matière. En effet vos données sensibles (KEY, PASS et API TOKEN) sont chiffrés depuis le début de Mbell, mais la méthode de chiffrement utilisée avant la version 1.5b, en MCRYPT était devenu obsolète depuis PHP 7.2 et certains hébergeurs faisant évolués automatiquement leur version PHP ne la reconnaissaient alors plus, ce qui provoquait des bugs sur MBell, à moins de forcer son site à utiliser une version PHP inférieur à 7.2. De plus la clef de chiffrement-déchiffrement était codé en dur dans le code PHP, ce qui est normalement la meilleure méthode pour ne pas y avoir accès, à condition de ne pas proposer le code source en téléchargement, hors c'est précisément ce que fait MBell. Cela supposait en plus que vous ayez tous la même clef. Il était donc impératif de changer de méthode pour plus de sécurité.

Dorénavant le système de chiffrement MCRYPT a été remplacé par le système OPENSSL bien plus évolué et performant. Pour que le chiffrement OPENSSL fonctionne, la configuration minimum nécessaire est maintenant le PHP 5.6 (PHP 5.5 précédemment) sur votre hébergement et devrait normalement être compatible avec la toute dernière version PHP (7.3 en décembre 2018). Il est impossible aujourd'hui pour un pirate de décoder des informations chiffrées en OPENSSL sans disposer de la clef (contrairement à MCRYPT). Vos données chiffrées et inscrites dans le fichier "var.enc" sont de plus mises en lecture seul (ajout de la v1.5c) afin que seul en cas de piratage ou si vous avez un problème de sécurité inhérent à votre hébergement, on puisse accéder à ces données. Mais elles resteront chiffrées. Sans la clef, ce sont des données qui restent illisibles, même si un hacker a réussi à y accéder.

Restait un problème de taille à résoudre : le stockage de la clef qui permet de décoder les données chiffrées. Pour ceux qui ont suivis l'évolution des mises à jour et les discussions sur le forum Infoclimat, vous aurez compris que c'est un sujet compliqué, du fait de l'absence d'utilisation de base de données (MYSQL) et du fait même du projet en open source, puisque le code PHP est visible lorsque vous le téléchargez. Ce sont 2 choses qui compliquent considérablement le stockage de cette clef et donc la sécurité. J'ai donc essayé plusieurs méthodes différentes, certaines non publiés (stockage dans un cookies de sécurité, chiffrement asymétrique en OPENSSL, file_get_contents en https depuis un serveur distant), d'autres oui (v1.5b : système de double clef, l'une publique aléatoire et unique stocké dans le fichier "var.enc" et clef privé commune caché par obfuscation dans le code source), sans réussir à trouver la solution idéale jusqu'à la version 1.5d.

Depuis la version 1.5d, il n'y a maintenant qu'une seule clef de chiffrement et elle est inscrite en dur dans le code PHP (et non pas dans le fichier "var.enc" comme en 1.5b) pour qu'elle ne soit accessible qu'en lecture par le serveur et jamais en téléchargement par le client. C'est la meilleure méthode pour stocker une clef de chiffrement. Enfin pour que cette clef soit unique à chaque utilisateur (et non pas commune à tous comme c'était le cas avant la version 1.5b et pour la clef dites privé lors des versions 1.5b et 1.5c), elle sera généré de manière totalement aléatoire au moment du téléchargement de MBell sur le site www.meteobell.com et automatiquement inscrite dans le fichier compressé avant le téléchargement des dossiers MBell.

Cette nouvelle méthode introduite par la version 1.5d garantie que la clef de chiffrement soit inscrite dans un fichier protégé ne pouvant être lu depuis l'extérieur. Cette création de clef avant le téléchargement de Mbell, permet aussi que cette clef soit unique et indépendante, sans qu'une personne téléchargeant aussi le code source de Mbell ne puisse connaitre la clef sur votre hébergement. On ne pourra en effet connaitre que sa propre clef, jamais celle de quelqu'un d'autres. Il n'y a donc plus d'utilité à obfusquer le code source (l'obfuscation avait été mis en place en v1.5b).

NOTE : si vous utilisez un serveur qui utilise Nginx au lieu du .htaccess, vous devez dans votre fichier de configuration nginx.conf, ajouter les lignes suivantes pour mettre en lecture seule le fichier "var.enc" :

# nginx configuration
location /mbell/config/var.enc {
deny all;
}


14. Signaler un BUG



Avant de signaler un bug, assurez-vous que celui-ci vient bien de MBell et non pas de Weatherlink. Pour cela rien de plus simple, munissez-vous de vos identifiants et allez sur un des 2 liens :

- Pour Weatherlink_V1 : http://api.weatherlink.com/v1/NoaaExt.xml?DID="votre_did"&key="votre_key"

- Pour Weatherlink_V2 : http://api.weatherlink.com/v1/NoaaExt.xml?user="votre_did"&pass="votre_pass"&apiToken="votre_token"

Remplacez dans le lien :
- "votre_did" par votre DID
- "votre_key" par votre KEY
- "votre_pass" par votre PASS
- "votre_token" par votre IP Token

Ce lien va vous charger toutes vos données sous forme de fichier XML. C'est ce lien dont se sert MBell pour afficher toutes les données de votre station météo. Donc si l'erreur (ou l'absence de données) est également présente dans ce fichier, c'est donc que le problème ne vient pas de MBell, mais de Weatherlink. Il est donc inutile de me signaler ce bug, je ne pourrais rien y faire, je n'y suis pour rien. Contactez dans ce cas Davis et les services Weatherlink.

En revanche si les données sont bien présentes dans le lien XML, mais bugs ou sont manquantes dans MBell, c'est que le problème vient de MBell. Contactez-moi dans ce cas.



15. Copyright



Mbell est un script dévelloppé par Damien BELLIARD, www.meteobell.com

L'ensemble des scripts Mbell sont sous Licence Creative Commons BY-NC-SA : Le titulaire des droits autorise l’exploitation de l’œuvre originale à des fins NON commerciales, ainsi que la création d’œuvres dérivées, à condition qu’elles soient distribuées sous une licence identique à celle qui régit l’œuvre originale.



16. Remerciements



Je remercie G-Davis comme source d'inspiration initiale à ce projet, qui était un service d'alerte mail avec un système Cron. Je n'ai pas repris ce concept et ai finalement réalisé quelque-chose de totalement différent, mais je tenais à remercier quand même cette personne, aujourd'hui disparu de la toile, pour m'avoir donné l'idée de me lancer dans un projet open-source pour remplacer l'interface Weatherlink à l'époque très vieillotte (en 1.0). Je remercie également Erik Flowers et Lukas Bischoff pour leurs icônes Weather Icons http://weathericons.io ainsi que toute l'équipe Bootstrap https://getbootstrap.com/ pour leurs builds html-css-jquery. Merci enfin aux personne d'Infoclimat et notamment à bianconero pour me permettre de tester MBell sur sa station avec toutes les sondes disponibles.



17. Version



1.0 - 25/12/2017 :
- Sortie Initiale
1.0a - 26/12/2017 :
- Correction d'un bug majeur empêchant l'identification de sa station
1.0b - 30/12/2017 :
- Correction d'un bug empêchant la bonne exécution des "Choix par Défaut"
- Correction mineur de texte : "Jour/Nuit" était marqué à la place de "Bleu Clair"
- Corrections diverses du fichier lisez-moi
- La sécurité du site de téléchargement des scripts MBell http://www.meteobell.php/mbell.php a été renforcé afin d'empêcher le téléchargement par lien direct
1.1 - 18/01/2018 :
- Nouvelle fonctionnalité pour les possesseurs de sonde d'ensoleillement : Vous indique si le temps est ensoleillé ou nuageux le jour, à la place de "Néant" (merci à ChristianP et jackT pour leur aide précieuse sur la formule complexe d'ensoleillement)
- Lorsque l'humidité relative est entre 96 et 97%, Brume s'affichera dorénavant à la place de Brouillard
- Le seuil du Heat Index passe de 20 à 15°C. Le seuil du Windchill passe de 10 à 15°C
- Nouvelle fonctionnalité dans Configuration : vous pouvez maintenant choisir le nombre de ligne affichée de 1 à 5 (au lieu de 4 auparavant).
- 5 nouvelles cases de données ont été créé : Précipitations Mensuel, Précipitations Annuel, Température Extra 1, Température Extra 2, Température Extra 3
- Système de switch automatique sur la case [Cumul de Pluie / Pluie du Jour] pour l'affichage ou non des précipitations mensuel et annuel et sur la case [Vent en Rafale] pour l'affichage ou non du vent en rafale maximum du jour [voir détail en partie VIII).
- Un cercle barré (signe international de l'ensemble vide) s'affiche désormais lorsqu'il y a une erreur PHP lié à l'absence de données Weatherlink.
- Correction mineur d'affichage liée à une mauvaise interprétation des espaces vides
- Quelques modifications mineures de texte (pied de page, case pression etc..)
1.2 - 01/02/2018 :
- Intégration d'un système de scripts calculant les phases lunaires + création des images de lunes
- Ajouts de liens sous-titre sur les heures de coucher et lever de soleil
- L'heure et la valeur de radiation solaire maximum de la journée s'affiche désormais en lien sous-titre sur la valeur de radiation solaire courante
- Refonte totale de la case relatif aux sondes solaires-uv-jour/nuit pour ajouter le système de phase lunaire. La lune n'apparait que la nuit, sauf pour ceux n'ayant aucune sonde.
- Nouvelle case sonde solaire seul (visible uniquement pour ceux ayant une sonde solaire) donnant en plus la valeur de radiation solaire maximum du mois et de l'année
- Nouvelle case sonde UV seul (visible uniquement pour ceux ayant une sonde UV) donnant en plus la valeur d'indice UV maximum du mois et de l'année
- Création d'un système de switch sur la case relatif aux sondes solaires/uv/jour-nuit/lune en fonction de la présence ou non de sondes solaires et/ou UV et en fonction de l'affichage ou non de la nouvelle case sonde solaire seul et de la nouvelle case sonde UV seul quelque-part (voir chapitre VIII pour plus de détails).
- Vous pouvez maintenant afficher jusqu'à 6 lignes (soit 18 cases).
1.3 - 16/02/2018 :
- Evapotranspiration devient Evapotranspiration Potentielle (ETP)
- L'ETP s'affiche maintenant uniquement si vous disposez d'une sonde solaire
- Nouvelle formule, calculant l'évapotranspiration réelle (ETR)
- L'ETR ne s'affiche que si vous ne disposez pas de sonde solaire
- Intégration de Weatherlink 2.0 à MBell
- Vous pouvez maintenant basculer entre Weatherlink 1.0 et Weatherlink 2.0 dans les paramètres d'identification de votre station
- Création sur www.météobell.com de liens vers MBell (menus + page de la station)
- Création d'une vrai page de présentation de MBell sur www.météobell.com
1.3a - 09/03/2018 :
- Correction bug : mauvaise couleur pour la température ressenti entre 10 et 20°C, lorsque l'affichage dynamique était choisi
- Correction bug : "Refroidissement Eolien" et "Indice de Chaleur" ne s'affichait pas correctement entre 10 et 20°C lorsque l'unité "Celsius" était choisi
1.3b - 25/03/2018 :
- Quelques corrections orthographiques en Français (mensuel-le / annuel-le / ressenti-e)
- Le Titre "Pression" s'affiche désormais à la place de la variation textuelle de pression (mise en lien sous-titre de la variation textuelle de pression)
1.3c - 03/11/2018 :
- Modification en vu de l'intégration de Weatherlink 2.0 à Mbell (ajout du TokenID)
- Changement au niveau de la connexion à Mbell en fonction de la version Weatherlink choisi (le KEY disparaissant en version 2.0)
1.4 - 04/12/2018 :
- 25 Nouvelles cases de données : Température Intérieure, Humidité Relative Intérieure, Température Extra 4, 5, 6, 7, Température de Feuillage 1, 2, Température du Sol 1, 2, 3, 4, Humidité Relative 1, 2, 3, 4, 5, 6, 7, Humectation de Feuillage 1, 2, Humidité du Sol 1, 2, 3, 4.
- Vous pouvez maintenant afficher jusqu'à 10 lignes (soit 4 de plus, donc 30 cases au total).
- 3 nouvelles Options pour afficher ou non dans les paramètres les données liés au nouvelles cases en fonction de vos capteurs-sondes : Station Météo Auxiliaire de Température Air-Eau-Sol n°6372, Station Météo Auxiliaire de Température & Humidité de l'Air n°6382, Station Météo Auxiliaire Humectation du Feuillage / Humidité & Température du Sol n°6345 (voir sur le site Davis pour plus de renseignements : davis-meteo.com )
- Nouveaux gradients de couleurs dynamiques pour l'humectation de feuillage (indice de 0 à 15) et l'humidité du sol (de 200 cB à 0 cB)
- Simplifications et optimisations de code (variables dynamiques)
- Quelques petites corrections de bugs d'affichages (certains textes trop long en version mobile) et ajustements mineures (changements dynamiques dans l'ordre des cases)
- Correction du gradient de couleur dynamique pour l'Index UV seul
- Correction d'une faille sur la page de téléchargement de MBell
1.5 - 24/12/2018
- Dans les liens sous-titre, ajout des horaires sur toutes les minimales et maximales du jour
- Ajout en PHP de toutes les minimales-maximales mensuelles et annuelles disponibles sur le fichier XML Weatherlink
- Création d'un système ergonomique en Jquery pour permuter facilement des données journalières, mensuelles et annuelles
- Quelques changements plus explicites et ajustements mineures (ex : pression) dans les liens sous-titres (surtout en version mobile)
- Correction Bug : le système de switch ne fonctionnait plus au-delà de 6 lignes suite au passage à 10 lignes en version 1.4
- Correction Bug : sur la case Index UV seul, il était écrit "Radiation Solaire Mensuelle Maximum" à la place de "Index UV Mensuel Maximum" dans le lien sous-titre.
- Quelques ajouts et astuces dans la partie "Problèmes d'Installation" du Lisez-Moi, suite aux différents retours depuis la création de MBell
- Optimisations et Simplifications de code (répétitions conditionnelles)
1.5a - 27/12/2018
- Correction Bug : erreurs PHP sur les données mensuels/annuels d'humectation de feuillage 1 à 2, humidité du sol 1 à 4 et humidité relative de 1 à 7
- Correction Bug : sur la case Index UV seul, il manquait les couleurs en affichage coloré et neutre
- Ajout du "cercle barré" pour toutes les minimales-maximales mensuels et annuels ajoutés en v1.5, en cas de valeurs invraisemblables
- Changement de couleurs en affichage coloré et en design blanc ou bleu clair pour les valeurs négatives (bleu au lieu de noir)
1.5b - 12/01/2019
- Cryptage des données en Openssl au lieu de Mcrypt devenu obsolète depuis PHP 7.1 (dorénavant Mbell nécessite PHP 5.6 minimum au lieu de 5.5 précédemment).
- Nouveau système de clef de cryptage unique à chaque utilisateur et attribué aléatoirement à chaque fois que vous rentrez vos identifiants de stations = clef publique
- La clef publique est dorénavant stocké dans le fichier "var.enc" avec vos identifiants cryptés
- La clef de cryptage finale est constitué de la clef publique et d'une clef privé commune, le tout haché avec une algorithme complexe pour rendre impossible la déduction d'une clef à partir d'une autre.
- Système d'obfuscation pour cacher la clef privé dans le code source PHP et rendre impossible sa lecture, même en cas de téléchargement du code source de MBell
- Ajout de l'index UV maximum du jour en lien sous-titre.
- Correction Bug : Sur les cases Lune-Soleil-UV, Radiation Solaire seul et Index UV seul, inversion du timer jour-nuit pour le changement de couleur (orange-bleu) en affichage coloré
- Correction Bug : les choix par défaut des stations/capteurs auxiliaires ne s'afficheront plus s'ils ne sont pas cochés dans les options. La case restera vide.
- Correction Bug Mineur : Le format d'heure dans les phases de la lune pouvait parfois paraitre erroné si le fichier XML weatherlink était mal chargé
- Correction Bug Mineur : Il manquait le symbole du cercle barré en cas d'erreur de chargement sur les minimales/maximales du windchill et du heat index
- Correction Bug Mineur : Le choix par défaut du KEY apparaissait crypté au lieu d'un espace vide si le KEY était laissé vide
- Correction Bug Mineur : Sur la page Propriété, données de KEY et PASS cachés lors de la saisie au lieu d'être visible (comme ça l'est déjà sur la page Login)
- Correction Bug Mineur : l'image du Creative Commons en signature ne s'affichait pas en protocole HTTPS
- Quelques petites corrections et mises à jour du lisez-moi (nouveaux chapitres "XII : Sécurité" et "XIII : Signaler un BUG")
1.5c - 13/01/2019
- Protection du fichier var.enc : mise en lecture seule
- Mise à jour du lisez-moi
1.5d - 16/01/2019
- Suppression du système clef publique / clef privé et de l'obfuscation introduit en 1.5b. Retour à un système de clef unique de chiffrement codé en dur et en clair dans le code PHP de MBell
- Système pour générer une clef de chiffrement aléatoire et unique en l'inscrivant de manière définitive dans un code PHP depuis la page de téléchargement www.meteobell.com
- Création d'un système pour intégrer cette nouvelle clef dans l'archive compressé de Mbell avant son téléchargement
- Changement du type de fichier compressé à télécharger. On passe du .7z au .Zip, ce nouveau système ne pouvant pas fonctionner en .7z
- Mise en place d'un Captcha à l'inscription avant téléchargement.
- Reset de la base de données. Vous devez tous vous réinscrire sur www.meteobell.com pour pouvoir télécharger Mbell.
- Mise à jour du lisez-moi, partie Sécurité.
1.6 - 09/03/2019
- Ajout du système open source Weather Icons http://weathericons.io de Erik Flowers et Lukas Bischoff à MBell
- Ajout, modifications et réajustements des icônes (Weathericons + Bootstrap) sur les titres en fonction de mes besoins sur les 44 cases de MBell en 3 modes d'affichages (mobile, tablette, grand écran)
- Ajout du système de choix avec ou sans icônes par le menu gauche fonctionnant avec cookies
- Ajout du système de "choix par défaut" avec ou sans icônes par le menu de configuration de la zone Paramètres de MBell (sans cookies)
- Modifications des 44 cases de Mbell pour permettre de les afficher avec ou sans icônes
- Correction Bug : le système de switch ne fonctionnait plus sur la case Soleil-UV-Lune, restant bloqué en configuration par défaut
- Correction Bug : dans la température ressenti uniquement lorsque "Max : " seul s'affiche, petite erreur de code commentaire s'affichant, alors qu'il ne devrait pas.