diff --git a/README.md b/README.md index 16e29cf..822b41d 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,7 @@ * Les taxes sont clairement identifiées. * Les évolutions de TVA sont également prises en charge. - change : JSON fournit la prochaine période tarifaire pour traitement éventuel. (BmdOnline) + - change : L'utilisation de templates pour générer les pages est désactivé par défaut. (BmdOnline) - bugfix : Meilleure gestion des périodes vides dans le graphique historique. (BmdOnline) ###Version 4.1 (dev) @@ -122,16 +123,43 @@ Voir [Graphique Conso Electrique Téléinfo EDF avec Highcharts (v2)](http://pen Voir [Graphique Conso Electrique Téléinfo EDF avec Highcharts](http://penhard.anthony.free.fr/?p=111) ###Templates -Actuellement, 2 templates sont proposés pour chacun des affichages (desktop & mobile). -Pour en changer, il faut remplacer le contenu du répertoire "tpl"... +Actuellement, 2 modèles de mise en page sont proposés pour chacun des affichages (desktop & mobile). +Par défaut, les templates ne sont pas activés. L'affichage utilise des fichiers HTML préparés. + +#### Gestion par fichiers HTML +Des fichiers sont proposés pour chacun des modes d'affichage. + +Pour changer de modèle, il faut adapter le fichier "teleinfo.php" : +```php + } else { + header("Vary: User-Agent"); + if ($mobile) { + readfile("tpl/teleinfo.tabs.mobile.html"); + } else { + readfile("tpl/teleinfo.tabs.html"); + } + } +``` + +* Pour la vesion desktop, les fichiers : + - tpl/teleinfo.single.html + - tpl/teleinfo.tabs.html +* Pour la vesion mobile, les fichiers : + - tpl/teleinfo.single.mobile.html + - tpl/teleinfo.tabs.mobile.html + +#### Gestion par templates +Le moteur de template utilisé est RainTPL. Il est possible de modifier les pages en utilisant la syntaxe adéquate. + +Pour changer de modèle, il faut remplacer le contenu du répertoire "tpl/files"... * Pour la vesion desktop, depuis : - - tpl/desktop - lineaire - - tpl/desktop - onglets + - tpl/files/desktop - lineaire + - tpl/files/desktop - onglets * Pour la vesion mobile, depuis : - - tpl/mobile - lineaire - - tpl/mobile - onglets + - tpl/files/mobile - lineaire + - tpl/files/mobile - onglets * Dans tous les cas, en ajoutant les fichiers communs depuis : - - tpl/commun + - tpl/files/commun Important : A chaque changement de template, ne pas oublier de vider le contenu du répertoire "cache". diff --git a/config.php b/config.php index dafab46..f98d2d8 100644 --- a/config.php +++ b/config.php @@ -1,4 +1,12 @@ array ( - "DATE" => "DATE", // => vaut soit "DATE", soit "TIMESTAMP" - "OPTARIF" => "OPTARIF", // option tarifaire souscrite - "ISOUSC" => "ISOUSC", // intensité souscrite - "BASE" => "BASE", // BASE - "HP" => "HCHP", // HCHP - "HC" => "HCHC", // HCHC - "HPJB" => "BBRHPJB", // BBRHPJB - "HPJW" => "BBRHPJW", // BBRHPJW - "HPJR" => "BBRHPJR", // BBRHPJR - "HCJB" => "BBRHCJB", // BBRHCJB - "HCJW" => "BBRHCJW", // BBRHCJW - "HCJR" => "BBRHCJR", // BBRHCJR - "HN" => "EJPHN", // EJPN - "HPM" => "EJPHPM", // EJPHPM - "PTEC" => "PTEC", // période tarifaire en cours - "DEMAIN" => "DEMAIN", // prévision du lendemain (formule Tempo) - "IINST1" => "IINST1", // => vaut soit "IINST1" soit "INST1" - "PAPP" => "PAPP" // puissance apparente + "DATE" => "DATE", // => généralement, vaut soit "DATE", soit "TIMESTAMP" + "OPTARIF" => "OPTARIF", // option tarifaire souscrite + "ISOUSC" => "ISOUSC", // intensité souscrite + "BASE" => "BASE", // BASE + "HP" => "HCHP", // HCHP + "HC" => "HCHC", // HCHC + "HPJB" => "BBRHPJB", // BBRHPJB + "HPJW" => "BBRHPJW", // BBRHPJW + "HPJR" => "BBRHPJR", // BBRHPJR + "HCJB" => "BBRHCJB", // BBRHCJB + "HCJW" => "BBRHCJW", // BBRHCJW + "HCJR" => "BBRHCJR", // BBRHCJR + "HN" => "EJPHN", // EJPN + "HPM" => "EJPHPM", // EJPHPM + "PTEC" => "PTEC", // période tarifaire en cours + "DEMAIN" => "DEMAIN", // prévision du lendemain (formule Tempo) + "IINST1" => "IINST1", // => généralement, vaut soit "IINST1" soit "INST1" + "PAPP" => "PAPP" // puissance apparente ) ); @@ -69,8 +77,8 @@ // Adapter les clés du tableau si le contenu du champ est différent $teleinfo["PTEC"] = array( "TH.." => "BASE", - "HP" => "HP", - "HC" => "HC", + "HP.." => "HP", + "HC.." => "HC", "HPJB" => "HPJB", "HPJW" => "HPJW", "HPJR" => "HPJR", @@ -135,8 +143,4 @@ /* Données EDF */ /*********************/ $config["nbPhasesCompteur"] = 1; // 1 pour monophasé ou 3 pour triphasé - -$config["refreshAuto"] = true; // active le rafraichissement automatique -$config["refreshDelay"] = 120; // relancé toutes les 120 secondes - ?> diff --git a/config.sample.date.php b/config.sample.date.php index dafab46..f98d2d8 100644 --- a/config.sample.date.php +++ b/config.sample.date.php @@ -1,4 +1,12 @@ array ( - "DATE" => "DATE", // => vaut soit "DATE", soit "TIMESTAMP" - "OPTARIF" => "OPTARIF", // option tarifaire souscrite - "ISOUSC" => "ISOUSC", // intensité souscrite - "BASE" => "BASE", // BASE - "HP" => "HCHP", // HCHP - "HC" => "HCHC", // HCHC - "HPJB" => "BBRHPJB", // BBRHPJB - "HPJW" => "BBRHPJW", // BBRHPJW - "HPJR" => "BBRHPJR", // BBRHPJR - "HCJB" => "BBRHCJB", // BBRHCJB - "HCJW" => "BBRHCJW", // BBRHCJW - "HCJR" => "BBRHCJR", // BBRHCJR - "HN" => "EJPHN", // EJPN - "HPM" => "EJPHPM", // EJPHPM - "PTEC" => "PTEC", // période tarifaire en cours - "DEMAIN" => "DEMAIN", // prévision du lendemain (formule Tempo) - "IINST1" => "IINST1", // => vaut soit "IINST1" soit "INST1" - "PAPP" => "PAPP" // puissance apparente + "DATE" => "DATE", // => généralement, vaut soit "DATE", soit "TIMESTAMP" + "OPTARIF" => "OPTARIF", // option tarifaire souscrite + "ISOUSC" => "ISOUSC", // intensité souscrite + "BASE" => "BASE", // BASE + "HP" => "HCHP", // HCHP + "HC" => "HCHC", // HCHC + "HPJB" => "BBRHPJB", // BBRHPJB + "HPJW" => "BBRHPJW", // BBRHPJW + "HPJR" => "BBRHPJR", // BBRHPJR + "HCJB" => "BBRHCJB", // BBRHCJB + "HCJW" => "BBRHCJW", // BBRHCJW + "HCJR" => "BBRHCJR", // BBRHCJR + "HN" => "EJPHN", // EJPN + "HPM" => "EJPHPM", // EJPHPM + "PTEC" => "PTEC", // période tarifaire en cours + "DEMAIN" => "DEMAIN", // prévision du lendemain (formule Tempo) + "IINST1" => "IINST1", // => généralement, vaut soit "IINST1" soit "INST1" + "PAPP" => "PAPP" // puissance apparente ) ); @@ -69,8 +77,8 @@ // Adapter les clés du tableau si le contenu du champ est différent $teleinfo["PTEC"] = array( "TH.." => "BASE", - "HP" => "HP", - "HC" => "HC", + "HP.." => "HP", + "HC.." => "HC", "HPJB" => "HPJB", "HPJW" => "HPJW", "HPJR" => "HPJR", @@ -135,8 +143,4 @@ /* Données EDF */ /*********************/ $config["nbPhasesCompteur"] = 1; // 1 pour monophasé ou 3 pour triphasé - -$config["refreshAuto"] = true; // active le rafraichissement automatique -$config["refreshDelay"] = 120; // relancé toutes les 120 secondes - ?> diff --git a/config.sample.ftimestp.php b/config.sample.ftimestp.php new file mode 100644 index 0000000..2794159 --- /dev/null +++ b/config.sample.ftimestp.php @@ -0,0 +1,146 @@ + "localhost", + "base" => "teleinfo", + "table" => "tbTeleinfo", + "login" => "teleinfo", + "pass" => "teleinfo" +); + +/************************/ +/* Table TéléInfo */ +/************************/ + +// Quelques informations sur Teleinfo et les formules EDF : +// http://norm.edf.fr/pdf/HN44S812emeeditionMars2007.pdf +// http://www.yadnet.com/index.php?page=protocole-teleinfo + +// Ces données permettent au programme de fonctionner avec différentes structures de données +$config_table = array ( + // Quelques informations sur la configuration + "type_date" => "timestamp", // "date" ou "timestamp" selon le type de stockage de la date + // Nom des champs de la table. + // Clé = nom interne au programme : NE PAS MODIFIER + // Valeur = nom du champ dans la table téléinfo + // Adapter les valeurs du tableau si le nom du champ est différent + "table" => array ( + "DATE" => "FTIMESTAMP", // => généralement, vaut soit "DATE", soit "TIMESTAMP" + "OPTARIF" => "OPTARIF", // option tarifaire souscrite + "ISOUSC" => "ISOUSC", // intensité souscrite + "BASE" => "BASE", // BASE + "HP" => "HCHP", // HCHP + "HC" => "HCHC", // HCHC + "HPJB" => "BBRHPJB", // BBRHPJB + "HPJW" => "BBRHPJW", // BBRHPJW + "HPJR" => "BBRHPJR", // BBRHPJR + "HCJB" => "BBRHCJB", // BBRHCJB + "HCJW" => "BBRHCJW", // BBRHCJW + "HCJR" => "BBRHCJR", // BBRHCJR + "HN" => "EJPHN", // EJPN + "HPM" => "EJPHPM", // EJPHPM + "PTEC" => "PTEC", // période tarifaire en cours + "DEMAIN" => "null", // prévision du lendemain (formule Tempo) + "IINST1" => "INST", // => généralement, vaut soit "IINST1" soit "INST1" + "PAPP" => "PAPP" // puissance apparente + ) +); + +/**************************/ +/* Données TéléInfo */ +/**************************/ + +// Liste des valeurs possibles pour le champ "OPTARIF" +// Clé = valeur OPTARIF reçue par le signal Teleinfo +// Valeur = nom interne au programme : NE PAS MODIFIER +// Adapter les clés du tableau si le contenu du champ est différent +$teleinfo["OPTARIF"] = array( + "BASE" => "BASE", + "HC.." => "HC", + "BBR" => "BBR", + "EJP." => "EPJ" +); + +// Liste des valeurs possibles pour le champ "PTEC" +// Clé = valeur PTEC reçue par le signal Teleinfo +// Valeur = nom interne au programme : NE PAS MODIFIER +// Adapter les clés du tableau si le contenu du champ est différent +$teleinfo["PTEC"] = array( + "TH.." => "BASE", + "HP" => "HP", + "HC" => "HC", + "HPJB" => "HPJB", + "HPJW" => "HPJW", + "HPJR" => "HPJR", + "HCJB" => "HCJB", + "HCJW" => "HCJW", + "HCJR" => "HCJR", + "HN.." => "HN", + "PM.." => "HPM" +); + +// Liste des periodes, pour chaque option tarifaire +$teleinfo["PERIODES"] = array( + "BASE" => array ("BASE"), + "HC" => array ("HP", "HC"), + "BBR" => array ("HPJB", "HPJW", "HPJR", "HCJB", "HCJW", "HCJR"), + "EJP" => array ("HN", "HPM") +); + +// Description des offres et des périodes EDF +$teleinfo["LIBELLES"] = array( + "OPTARIF" => array ( + "BASE" => "EDF Bleu option Base", + "HC" => "EDF Bleu options Base + Heures Creuses", + "BBR" => "EDF Bleu Blanc Rouge (Tempo)", + "EPJ" => "EDF EJP (Effacement des Jours de Pointe)" + ), + "PTEC" => array ( + "BASE" => "Heures de Base", + "HP" => "Heures Pleines", + "HC" => "Heures Creuse", + "HPJB" => "Heures Pleines Jours Bleus", + "HPJW" => "Heures Pleines Jours Blancs", + "HPJR" => "Heures Pleines Jours Rouges", + "HCJB" => "Heures Creuses Jours Bleus", + "HCJW" => "Heures Creuses Jours Blancs", + "HCJR" => "Heures Creuses Jours Rouges", + "HN" => "Heures Normales", + "HPM" => "Heures de Pointe Mobile" + ) +); + +// couleurs de chacune des séries des graphiques +$teleinfo["COULEURS"] = array( + "MIN" => "green", // Seuil de consommation minimale sur la période + "MAX" => "red", // Seuil de consommation maximale sur la période + "PREC" => "#DB843D", // Période précédente + "BASE" => "#2f7ed8", + "HP" => "#c42525", + "HC" => "#2f7ed8", + "HPJB" => "#2f7ed8", + "HPJW" => "#8bbc21", + "HPJR" => "#910000", + "HCJB" => "#77a1e5", + "HCJW" => "#a6c96a", + "HCJR" => "#c42525", + "HN" => "#2f7ed8", + "HPM" => "#c42525", + "I" => "blue" // Intensité +); + +/*********************/ +/* Données EDF */ +/*********************/ +$config["nbPhasesCompteur"] = 1; // 1 pour monophasé ou 3 pour triphasé +?> diff --git a/config.sample.timestp.php b/config.sample.timestp.php index fd4a8b0..22b4083 100644 --- a/config.sample.timestp.php +++ b/config.sample.timestp.php @@ -1,4 +1,12 @@ array ( - "DATE" => "TIMESTAMP", // => vaut soit "DATE", soit "TIMESTAMP" + "DATE" => "TIMESTAMP", // => généralement, vaut soit "DATE", soit "TIMESTAMP" "OPTARIF" => "OPTARIF", // option tarifaire souscrite "ISOUSC" => "ISOUSC", // intensité souscrite "BASE" => "BASE", // BASE @@ -42,8 +50,8 @@ "HN" => "EJPHN", // EJPN "HPM" => "EJPHPM", // EJPHPM "PTEC" => "PTEC", // période tarifaire en cours - "DEMAIN" => "null", // prévision du lendemain (formule Tempo) - "IINST1" => "INST1", // => vaut soit "IINST1" soit "INST1" + "DEMAIN" => "null", // prévision du lendemain (formule Tempo) + "IINST1" => "INST1", // => généralement, vaut soit "IINST1" soit "INST1" "PAPP" => "PAPP" // puissance apparente ) ); @@ -135,8 +143,4 @@ /* Données EDF */ /*********************/ $config["nbPhasesCompteur"] = 1; // 1 pour monophasé ou 3 pour triphasé - -$config["refreshAuto"] = true; // active le rafraichissement automatique -$config["refreshDelay"] = 120; // relancé toutes les 120 secondes - ?> diff --git a/json.php b/json.php index f18c0a8..0d4166a 100644 --- a/json.php +++ b/json.php @@ -1,7 +1,7 @@ diff --git a/teleinfo.php b/teleinfo.php index 2ae6dbe..cb1ea52 100644 --- a/teleinfo.php +++ b/teleinfo.php @@ -1,34 +1,46 @@ array("tpl/", "tpl/"), // !!! due to a bug, need to repeat twice !!! - "cache_dir" => "cache/", - "debug" => false, // set to false to improve the speed - ) ); - - // Add PathReplace plugin (necessary to load the CSS with path replace) - Tpl::registerPlugin( new Tpl\Plugin\PathReplace() ); - - // create the Tpl object - $tpl = new Tpl; - // Detect if Mobile or Computer is used $detect = new Mobile_Detect; $mobile = (($detect->isMobile()) || (isset($_GET['mobile']) && ($_GET['mobile']==1))); - header("Vary: User-Agent"); - if ($mobile) { - $tpl->draw("teleinfo.mobile"); + // Use template ? + if ($config["usetemplate"]) { + // Templace RainTPL + if (!is_dir('cache')) { mkdir('cache',0705); chmod('cache',0705); } + + Tpl::configure( array( + "tpl_dir" => array("tpl/files/", "tpl/files/"), // !!! due to a bug, need to repeat twice !!! + "cache_dir" => "cache/", + "debug" => false, // set to false to improve the speed + ) ); + + // Add PathReplace plugin (necessary to load the CSS with path replace) + Tpl::registerPlugin( new Tpl\Plugin\PathReplace() ); + + // create the Tpl object + $tpl = new Tpl; + + header("Vary: User-Agent"); + if ($mobile) { + $tpl->draw("teleinfo.mobile"); + } else { + $tpl->draw("teleinfo"); + } } else { - $tpl->draw("teleinfo"); + header("Vary: User-Agent"); + if ($mobile) { + readfile("tpl/teleinfo.tabs.mobile.html"); + } else { + readfile("tpl/teleinfo.tabs.html"); + } } ?> diff --git a/tpl/commun/head.html b/tpl/files/commun/head.html similarity index 100% rename from tpl/commun/head.html rename to tpl/files/commun/head.html diff --git a/tpl/commun/head.mobile.html b/tpl/files/commun/head.mobile.html similarity index 100% rename from tpl/commun/head.mobile.html rename to tpl/files/commun/head.mobile.html diff --git a/tpl/commun/inc.lib.html b/tpl/files/commun/inc.lib.html similarity index 100% rename from tpl/commun/inc.lib.html rename to tpl/files/commun/inc.lib.html diff --git a/tpl/commun/inc.lib.mobile.html b/tpl/files/commun/inc.lib.mobile.html similarity index 100% rename from tpl/commun/inc.lib.mobile.html rename to tpl/files/commun/inc.lib.mobile.html diff --git a/tpl/commun/inc.teleinfo.html b/tpl/files/commun/inc.teleinfo.html similarity index 100% rename from tpl/commun/inc.teleinfo.html rename to tpl/files/commun/inc.teleinfo.html diff --git a/tpl/desktop - lineaire/teleinfo.html b/tpl/files/desktop - lineaire/teleinfo.html similarity index 100% rename from tpl/desktop - lineaire/teleinfo.html rename to tpl/files/desktop - lineaire/teleinfo.html diff --git a/tpl/desktop - onglets/header.html b/tpl/files/desktop - onglets/header.html similarity index 100% rename from tpl/desktop - onglets/header.html rename to tpl/files/desktop - onglets/header.html diff --git a/tpl/desktop - onglets/teleinfo.html b/tpl/files/desktop - onglets/teleinfo.html similarity index 100% rename from tpl/desktop - onglets/teleinfo.html rename to tpl/files/desktop - onglets/teleinfo.html diff --git a/tpl/footer.mobile.html b/tpl/files/footer.mobile.html similarity index 100% rename from tpl/footer.mobile.html rename to tpl/files/footer.mobile.html diff --git a/tpl/head.html b/tpl/files/head.html similarity index 100% rename from tpl/head.html rename to tpl/files/head.html diff --git a/tpl/head.mobile.html b/tpl/files/head.mobile.html similarity index 100% rename from tpl/head.mobile.html rename to tpl/files/head.mobile.html diff --git a/tpl/header.html b/tpl/files/header.html similarity index 100% rename from tpl/header.html rename to tpl/files/header.html diff --git a/tpl/header.mobile.html b/tpl/files/header.mobile.html similarity index 100% rename from tpl/header.mobile.html rename to tpl/files/header.mobile.html diff --git a/tpl/inc.lib.html b/tpl/files/inc.lib.html similarity index 100% rename from tpl/inc.lib.html rename to tpl/files/inc.lib.html diff --git a/tpl/inc.lib.mobile.html b/tpl/files/inc.lib.mobile.html similarity index 100% rename from tpl/inc.lib.mobile.html rename to tpl/files/inc.lib.mobile.html diff --git a/tpl/inc.teleinfo.html b/tpl/files/inc.teleinfo.html similarity index 100% rename from tpl/inc.teleinfo.html rename to tpl/files/inc.teleinfo.html diff --git a/tpl/mobile - lineaire/header.mobile.html b/tpl/files/mobile - lineaire/header.mobile.html similarity index 100% rename from tpl/mobile - lineaire/header.mobile.html rename to tpl/files/mobile - lineaire/header.mobile.html diff --git a/tpl/mobile - lineaire/teleinfo.mobile.html b/tpl/files/mobile - lineaire/teleinfo.mobile.html similarity index 100% rename from tpl/mobile - lineaire/teleinfo.mobile.html rename to tpl/files/mobile - lineaire/teleinfo.mobile.html diff --git a/tpl/mobile - onglets/footer.mobile.html b/tpl/files/mobile - onglets/footer.mobile.html similarity index 100% rename from tpl/mobile - onglets/footer.mobile.html rename to tpl/files/mobile - onglets/footer.mobile.html diff --git a/tpl/mobile - onglets/header.mobile.html b/tpl/files/mobile - onglets/header.mobile.html similarity index 100% rename from tpl/mobile - onglets/header.mobile.html rename to tpl/files/mobile - onglets/header.mobile.html diff --git a/tpl/mobile - onglets/teleinfo.mobile.html b/tpl/files/mobile - onglets/teleinfo.mobile.html similarity index 100% rename from tpl/mobile - onglets/teleinfo.mobile.html rename to tpl/files/mobile - onglets/teleinfo.mobile.html diff --git a/tpl/teleinfo.html b/tpl/files/teleinfo.html similarity index 100% rename from tpl/teleinfo.html rename to tpl/files/teleinfo.html diff --git a/tpl/teleinfo.mobile.html b/tpl/files/teleinfo.mobile.html similarity index 100% rename from tpl/teleinfo.mobile.html rename to tpl/files/teleinfo.mobile.html diff --git a/tpl/teleinfo.single.html b/tpl/teleinfo.single.html new file mode 100644 index 0000000..baad485 --- /dev/null +++ b/tpl/teleinfo.single.html @@ -0,0 +1,73 @@ + + + + + + Graph Conso Électrique + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
...
+
+
+ +
+
+ + + +
+
...
+
+
+ +
+
+ + +
+
+ + + +
+
Coût sur la période ...
+
+
+
+ + diff --git a/tpl/teleinfo.single.mobile.html b/tpl/teleinfo.single.mobile.html new file mode 100644 index 0000000..c6cbd32 --- /dev/null +++ b/tpl/teleinfo.single.mobile.html @@ -0,0 +1,90 @@ + + + + + + + Graph Conso Électrique + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+

Graph Conso Électrique

+
+ +
+
+
+

Puissance Instantanée

+
+ +
+
...
+
+
+ +
+

Aperçu 24h

+
+ + + +
+
...
+
+
+ +
+

Historiques

+
+ + +
+
+ + + +
+
Coût sur la période ...
+
+
+
+
+
+ + diff --git a/tpl/teleinfo.tabs.html b/tpl/teleinfo.tabs.html new file mode 100644 index 0000000..81313b4 --- /dev/null +++ b/tpl/teleinfo.tabs.html @@ -0,0 +1,79 @@ + + + + + + Graph Conso Électrique + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+ +
+
...
+
+
+ +
+
+ + + +
+
...
+
+
+ +
+
+ + +
+
+ + + +
+
Coût sur la période ...
+
+
+
+ + \ No newline at end of file diff --git a/tpl/teleinfo.tabs.mobile.html b/tpl/teleinfo.tabs.mobile.html new file mode 100644 index 0000000..570ade6 --- /dev/null +++ b/tpl/teleinfo.tabs.mobile.html @@ -0,0 +1,125 @@ + + + + + + + Graph Conso Électrique + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Graph Conso Électrique

+
+ +
+
+ +
+
...
+
+
+ +
+
+ +
+
+
+ + +
+
+

Graph Conso Électrique

+
+ +
+
+ + + +
+
...
+
+
+ +
+
+ +
+
+
+ +
+
+

Graph Conso Électrique

+
+ +
+
+ + +
+
+ + + +
+
Coût sur la période ...
+
+
+ +
+
+ +
+
+
+ +