Mémo Highcharts

Jauges

Pour afficher des jauges avec des datas provenant d'une base de donnée, il existe plein de librairies JavaScript tel que Rgraph, Google Charts, ChartJS, Highcharts etc...

J'utilise principalement Highcharts que je trouve jolie et complet.

Préparation

Je vais utiliser pour l'exemple les datas provenant d'une sonde de température et humidité. Dans une base de donnée, ici nommé tuto, on créer une table nommé data qui contient 3 champs :

  • Un champs nommé date_heure de type datetime struc_date_heure
  • Un champs nommé temp de type float
  • Un champs nommé humi de type float table_data

Voici la table que j'utilise pour le tuto avec des datas : tuto.sql, puis je crée un dossier nommé tuto à la racine du serveur web, ce sera le site web.

Dans ce dossier, on y crée un autre dossier nommé JS, on y placera nos fichier JavaScript

Soit on télécharge la librairie Highcharts, soit on utilise les commande CDN, Je préfère télécharger la librairie et copier les fichiers nécessaires dans mon site web, en bas de cette page https://www.highcharts.com/blog/download/ on clique sur le lien pour télécharger la dernière version sur son PC

Ensuite on copie les fichiers highcharts.js et highcharts-more.js de la librairie dans notre dossier JS

Il nous faut également la librairie Jquery : version actuelle https://code.jquery.com/jquery-3.6.0.min.js , il faut faire un clique droit sur le lien et enregistrer la cible du lien sous en modifiant le nom en jquery.js dans notre dossier JS

dossier JS

Récupération des datas de la BDD

On commence par créer un ficher nommé connexion.php dans notre dossier tuto ce sera le code appelé pour ce connecter à la base de donnée. Il faudra modifier ce fichier avec vos identifiant de MariaDB ou MySQL

connexion.php

Puis on crée un fichier nommé lastdata.php qui va récupérer les dernière datas de la table et les afficher

lastdata.php

voici l'arborescence du dossier de notre site web pour le moment : dossier tuto

Voilà si on se rend sur cette page avec un navigateur IP_DU_SERVEUR/tuto/lastdata.php on obtient les dernière valeurs entrée dans la table data : lastdata

C'est un tableau qui contient nos 3 champs :

  • champs 0 --> champs "date_heure"
  • champs 1 --> champs "temp"
  • champs 2 --> champs "humi"

La page qui affichera les jauges

On va maintenant créer la page d'accueil du site index.php qui accueillera les jauges et la page index.css pour la déco à la racine du site web (le dossier tuto).

index.php
index.css

Voici l'arborescence de notre dossier tuto maintenant : dossier tuto

Voilà si on se rend sur notre site web avec un navigateur IP_DU_SERVEUR/tuto/ on obtient ceci : siteweb

Le code qui dessine les jauges

Il nous reste donc à créer le fichier qui dessine les jauges dans le dossier JS

jauge.js

Voici l'arborescence de notre dossier tuto définitif : dossier tuto et le contenu du dossier JS dossier JS

Voilà si on se rend sur notre site web avec un navigateur IP_DU_SERVEUR/tuto/ on obtient ceci : siteweb ou si on réduit la fenêtre siteweb

Si la base de données est régulièrement alimentée, les jauges afficheront les dernières datas, avec une récupération des nouvelles datas toutes les 10 secondes

Graphique Highcharts

Préparation

Je vais utiliser pour l'exemple les datas provenant d'une sonde de température et humidité. Dans une base de donnée, ici nommé tuto, on créer une table nommé data qui contient 3 champs :

  • Un champs nommé date_heure de type datetime struc_date_heure
  • Un champs nommé temp de type float
  • Un champs nommé humi de type float table_data

Voici la table que j'utilise pour le tuto avec des datas : tuto.sql, puis je crée un dossier nommé tuto à la racine du serveur web, ce sera le site web.

Dans ce dossier, on y crée un autre dossier nommé JS, on y placera nos fichier JavaScript

Soit on télécharge la librairie Highcharts, soit on utilise les commande CDN, Je préfère télécharger la librairie et copier les fichiers nécessaires dans mon site web, en bas de cette page https://www.highcharts.com/blog/download/ on clique sur le lien pour télécharger la dernière version sur son PC

Ensuite on copie les fichiers highcharts.js et highcharts-more.js de la librairie dans notre dossier JS

Il nous faut également la librairie Jquery : version actuelle https://code.jquery.com/jquery-3.6.0.min.js , il faut faire un clique droit sur le lien et enregistrer la cible du lien sous en modifiant le nom en jquery.js dans notre dossier JS

dossier JS

Récupération des datas de la BDD

On commence par créer un ficher nommé connexion.php dans notre dossier tuto ce sera le code appelé pour ce connecter à la base de donnée. Il faudra modifier ce fichier avec vos identifiant de MariaDB ou MySQL

connexion.php

Puis on crée un fichier nommé recup_data.php qui va récupérer les datas de la table et les afficher

recup_data.php

Voilà si on se rend sur cette page avec un navigateur IP_DU_SERVEUR/tuto/recup_data.php on obtient les valeurs entrée dans la table data (ici limité à 5 entrées pour bien différencier les 3 champs): recup_data

C'est un tableau qui contient nos 3 champs dans 3 autres tableaux:

  • champs 0 --> champs "date_heure"
  • champs 1 --> champs "temp"
  • champs 2 --> champs "humi"

construction