MBell v1.3

1. Qu'est-ce que Mbell ?



Mbell est une série de scripts PHP pour utilisateurs de station Davis WeatherlinkIP, 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 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

L'inscription est une sécurité supplémentaire nécessaire au projet. En effet si je proposais MBell sans inscription préalable, il serait trop facile pour quelqu'un connaissant bien le php de retrouver ensuite les données d'identifications des stations des utilisateurs, sans soit-même l'utiliser (même si bien sûr j'utilise un système de hachage des codes).

Je vous rassure cependant, il n'y a aucun risque, 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. Si vous possédez déjà un fichier .htaccess, 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

7. Remplissez ensuite les champs ID et KEY de votre Station Davis Weatherlink (pour connaitre l'ID / KEY de votre station, connectez à vous à weatherlink.com : https://www.weatherlink.com/login.php rubrique MyAccount).

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)

Notez que 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 v1.3 :
Depuis la v1.3, vous avez la possibilité d'utiliser Weatherlink 2.0 (au lieu de la 1.0), il vous sera demandé cependant d'inscrire en plus, votre mot de passe (PASS) utilisé sur weatherlink, en plus du KEY et ID.



4. Problèmes d'Installation



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. 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 (ID + KEY), 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.



5. Configurations Nécessaires



- Il vous faut d'abord une station Davis relié à WeatherlinkIP
- Vous aurez besoin des identifiants de votre compte Weatherlink (DID + KEY) : https://www.weatherlink.com/top.php?contr=MyAccount
- 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.5 (si vous rencontrez des problèmes PHP, il est possible de forcer votre hébergeur à utiliser PHP 5.5 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 doit accepter les cookies pour permettre de se rappeler certains de ses choix (styles, langues, unités) + session de connexion pour l'administrateur
- 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.


6. Informations concernant les données



Il y a 19 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

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 (Système de switch, voir partie VIII)

5- Ressenti : Si T°C < 15°C = Windchill. Si T°C > 15°C = Heat Index. Sinon, température réelle. (Calculé aussi avec °F)

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 VIII)

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 VIII).

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

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

12- Humidité Relative : Humidité actuelle + humidité minimum et maximum du jour

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

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

15- Température Extra 1 : si vous possédez 1 sonde de température supplémentaire (ex : température du sol, de l'eau etc...) [ajout de la v1.1]

16- Température Extra 2 : si vous possédez 2 sondes de température supplémentaire (ex : température du sol, de l'eau etc...) [ajout de la v1.1]

17- Température Extra 3 : si vous possédez 3 sondes de température supplémentaire (ex : température du sol, de l'eau etc...) [ajout de la v1.1]

18- 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 [ajout de la v1.2]

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

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.



7. 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


8. Informations concernant la Configuration des Données



Vous pouvez afficher les données dans n'importe quel ordre que ce soit dans les 18 cases (3 colonnes et 6 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 à 6 lignes.



9. 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.



10. 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.



11. 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.



12. Remerciements



Je remercie G-Davis de http://www.gustalert.com comme source d'inspiration initiale à ce projet. En effet à l'origine je voulais proposer à son auteur une amélioration et une traduction de son concept. Après l'avoir contacté et devant l'absence de réponse de sa part, j'ai fini alors par reprendre tout à zéro en partant depuis le début, en réalisant alors finalement autre chose d'assez éloigné.

En effet G-Davis est avant tout un service d'alerte mail, chose que je n'ai pas repris dans Mbell. Aussi si vous désirez être alerté par mail par rapports à vos données météos je vous incite fortement à utiliser plutôt G-Davis à la place.

En effet si l'idée de départ peut paraitre à première vue similaire, le concept n'a en fait aujourd'hui strictement plus rien à voir avec G-Davis et tous les scripts ont été recodés depuis zéro à partir d'une page blanche. Que ce soit le langage utilisé et l'ensemble des scripts proposés, il suffit de comparer les 2 codes sources (ce qui est assez facile à réaliser puisque nous proposons tous deux le code source), pour voir qu'ils ne se ressemblent absolument pas jusque dans les moindres détails. En effet Mbell est plutôt un service de consultation de données avec de multiples paramétrages et dans différentes langues, ce que ne fait pas G-Davis.



13. 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