Archives du mot-clé toblog

Une économie à 2 balles

Je rejoint ma voiture stationnée en bord de rue pour rentrer chez moi. Je parcoure la rue de bout en bout d’un regard inquiet : « y-en a-t-il un ici ? ». Je regarde bien à droite, à gauche puis encore à droite : personne. Ça ne me rassure pas pour autant: « quelque chose cloche » me dis-je. Je monte dans ma voiture et referme la porte en regardant dans le rétroviseur: rien, personne. Sans quitter le rétroviseur de l’œil, je démarre le moteur, engage la marche arrière et recule doucement: toujours rien. Je commence à me convaincre que pour une fois il n’y en a aucun. Rassuré, j’engage la première et … frein sec ! Il est là, surgi de je ne sais où, le nez contre ma vitre, pour exiger sa rançon : ses 2 balles (dirhams).

On pourrait croire que les cernes sous ses yeux sont dues à la fatigue d’un métier éprouvant, mais c’est plutôt l’effet des saloperies qu’il fume pour oublier qu’il gaspille la force de sa jeunesse à un « métier » inutile. Son métier ? Il l’appelle « gardien »: il protège les voitures contre d’autre jeunes qui, comme lui, faute de dépenser la force de leur jeunesse à une activité utile, rôdent dans les rues pour braquer les voitures. Et c’est ainsi qu’est gaspillées l’énergie de d’une jeunesse que bien des pays en vieillesse cherchent désespérément.

Pourtant, il suffit de rouler 20 mètres pour voir qu’il y a bien des choses utiles à faire : par exemple reboucher ce gros trou au milieu de la route qui vient de bousiller ma jante. Qu’est ce que ça demande ? Ça demande à ce que l’un de ces jeunes prenne une pioche à la carrière pour extraire les cailloux, que l’autre prenne le volant du camion pour les emmener jusqu’à la rue et que le troisième prenne la pelle pour les déverser dans le trou, mélangés au goudron que le 4ème aura fabriqué.

D’où mon interrogation : qu’est-ce qui fait que ces jeunes finissent, en masse, à gaspiller leur force dans le jeu de « voleur-gardien » plutôt que dans une activité utile à la société ? Une chose est sure: les cernes aussi bien sous les yeux du gardien que du voleur témoignent que ce n’est pas un plaisir.

Développer une Application Blockchain sur Android – Partie 1

Ce poste vient comme suite logique à deux premiers posts pour créer un Smart Contract pour Ethereum et le deployer sur un testnet , je voulais créer une DApp Native : une application sous Android qui permettrait d'utiliser ce contrat de façon intuitive. 

La communauté Ethereum ne tarit pas de tutoriels pour créer des DApp "Web", mais pour les DApp Natives sur Android tous les choix techniques et UX sont à faire. Ce post est dédié à cela.

Revu et actualisé le 27 mars 2018

L'écosystème dans lequel une DApp s'intègre ?

Un DApp se distingue d'une application lambda par le fait qu'elle peut interagir avec un Blockchain, notemment :

  1. Créer des transactions en cryptomonnaie: des transferts simples, des interactions avec des Smart Contracts …

  2. Lire des informations sur des comptes blockchain et des transactions (solde, état d'exécution …).

  3. Accéder aux informations publiées par des Smart Contracts.

Une DApp Native doit pour cela interagir avec :

  1. La blockchain : Réseau qui permet d'accéder aux Smart Contracts, suivre la validation des transactions…

  2. Le Wallet : Application à la quelle l'utilisateur fait confiance pour créer des transactions sur son compte.  

Interagir avec le Wallet

Chaque compte (adresse) dans une blockchain est lié à une clé privée : on peut la représenter comme une séquence de caractères:

8F241D8E4169D4118FD6158BFE81D6158BFE81ADD961ADD961241D8E4169D411

Exemple de clé privée 256 bit

Quiconque connais cette séquences peut exécuter des transactions sur le compte associé. Par exemple : dépenser de la cryptomonnaie.

Le Wallet est l'application, hautement sécurisée, dans laquelle l'utilisateur génère et garde cette clé. Des exemples de Wallet sur Android sont TrustStatus, WallETH … Le Wallet doit signer des transactions avec cette clé pour qu'elles puissent être acceptées sur un blockchain.

On pourrait utiliser une librairie comme KEthereum pour stocker ces clés directement dans une DApp et se passer d'un Wallet séparé, mais cela nuirait à la sécurité et à la user expérience. En effet, cela voudrait dire que l'utilisateur doit faire confiance à notre DApp pour dépenser de la Cryptomonnaie en son nom, ce serait l'équivalent de donner le code PIN de votre carte bancaire à un commerçant. La DApp doit pouvoir interagir avec le Wallet pour faire signer les transactions.

Après étude, j'ai décidé de partir sur le Wallet Open Source WallETH pour deux raisons :

  1. En regardant le code source, j'ai découvert que WallETH propose un Intent Android pour signer les transactions décrites au format ERC681, ce qui est un bon début

  2. Au besoin, il me sera possible d'enrichir cette interface puisque WallETH est Open Source.

Interagir avec la Blockchain

Là aussi, il y a un choix à faire. Il existe en résumé 3 modes pour interagir avec la blockchain :

  • Full Client : Un full client télécharge et maintient une copie complète de la blockchain en local et participe directement au réseau P2P de la blockchain. Pour un client mobile autant oublier tout de suite cette piste : vu la taille et la vitesse à laquelle va le mainnet même un PC de mining a besoin de beaucoup de stockage et de temps pour se synchroniser.

  • Light Client : l'idée est de ne télécharger que les entêtes des blocks pour accélerer la synchronisation. Des libraires comme le package mobile de go-ethereum permettent d'en lancer un sur mobile mais les retours des développeurs restent assez mitigés :

    • Au premier lancement, cela prend parfois à l'application plusieurs minutes pour "se synchroniser" et devenir opérationnelle ce qui n'est pas acceptable de point de vue UX.

    • Même quand l'application n'est pas utilisée, elle doit télécharger les mises d'entêtes de la Blockchain ce qui est nuisible au contraintes de ressources limitées d'un appareil mobile. 

  • Ethereum définit des services standars JSON RPC : certains noeuds Ethereum exposent de tels services qui permettent d'interagir avec la blockchain sans devoir la télécharger en local. beaucoup de Wallets et DApps web semblent utiliser cette approche. 

De point de vue UX l'approche JSON RPC est la meilleure car elle offre une réponse immédiate. De point de vue technique aussi c'est celle qui s'adapte au mieux aux ressources limitées des appareils mobiles. Mais de point de vue sécurité, cette approche rompt avec l'idéal de décentralisation et oblige à faire confiance au fournisseur du service JSON/RPC.

Certaines librairies libres permettent de simplifier l'utilisation des services JSON/RPC sous Android comme Web3J et KEthereum . J'ai choisi la dernière car c'est la même qui est utilisée par WallETH ce qui permet une certaine cohérence. Coté serveur, il est possible de mettre en place son propre serveur JSON/RPC mais il plus rapide et fiable pour un prototype d'utiliser le service en ligne gratuit d'Infura, encore faut-il faire confiance à Infura.

UX Finale Retenue

L'UX finale retenue est donc : 

  1. L'Application crée une transaction : par exemple un payement d'une mensualité sur un Smart Contract Daret et la soumet au Wallet. Sous Android, le mécanisme le plus intuitif serait un Intent.

  2. Le Wallet s'active et demander la confirmation de l'utilisateur, signe avec la clé privée la transaction et la transmet à la Blockchain. Il renvoie alors l'identifiant de transaction à l'application.

  3. L'Application attend alors que la transaction soit validée par la Blockchain en utilisant un service JSON RPC.

  4. L'Application suit le status de la transaction jusqu'à son enregistrement ou son Refus. 

En conclusion

Beaucoup d'options sont possibles pour qu'une application Android interagisse avec une Blockchain, et il n'y a pas encore d'approche standard. Cela est  certainement dû à la complexité des compromis à faire entre sécurité, UX et limitation de ressources des appareils mobiles. De plus le Wallet peut être aussi bien Web ou Mobile, sur le même mobile que la DApp our un mobile différent …

Toujours est-il qu'on a abouti à une UX qui devrait être satisfaisante, ressemblant peu ou proue aux workflows de paiement en ligne. Dans le prochain post de la série, on mettra en oeuvre cette approche sur le cas concrêt sur Smart Contract Daret sur Ethereum .

Deployer un Smart Contract sur Ropsten un testnet d’Ethereum

Dans mon post précédent j'avais exposé les étapes pour développer et tester un Smart Contract du prêt solidaire Daret dans l'IDE REMIX. L'objectif maintenant est de le deployer sur une vraie blockchain. C'était plus facile que je ne croyais.

Les étapes principales seront :

  1. Créer quelques comptes.

  2. Les alimenter en ETH sur une blockchain de test.

  3. Déployer le Smart Contract.

  4. Executer l'inscription, le paiment mensuel et vérifier le bon fonctionnement.

Sur la blockchain Ethereum principale (mainnet) l'ETH  correspond réellement à de l'argent, cela rendrait le test assez coûteux. Heureusement qu'il existe des "testnet" : des blockchain de test ou l'on peut obtenir des ETH gratuitement mais qui ne peuvent bien entendu pas être échagés contre de la devise classique. C'est ce que j'ai utilisé.

Créer des comptes de Blockchain (des adresses)

Pour cela il faut un logiciel spécial (dit wallet). J'installé l'extension de navigateur MetaMask pour cela. 

Pour cela :

  1. J'ai ouvert https://metamask.io

  2. Cliqué sur installer l'extension et fait l'installation.

  3. Un wizard guide pas à pas pour créer un premier compte.

  4. A la fin MetaMask va vous proposer d'alimenter votre compte en ETH sur des places de marché. On n'en a pas besoin pour le test, il suffit de fermer la fenêtre :

 

Par défaut MetaMask se met sur la blockchain principale (mainnet), pour tester, j'ai basculé sur "Ropsten Test Network" grâce au menu en haut à droit de la page MetaMask.

Enfin, pour créé des comptes additionnels il faut cliquer sur "Create account" dans le menu en haut à droite :

Obtenir de l'ETH de test sur les comptes de test :

  1. Il faut aller au le Faucet Ropsten sur https://faucet.ropsten.be/,

  2. MetaMask avait déjà renseigné l'adresse du compte actuellement actif.

  3. J'ai cliqué sur "Send me test ether" et mon premier compte a été alimenté après quelques secondes.

  4. Malheureusement, faucet ne permet d'obtenir qu'un seul ETH par jour. Pour alimenter mes comptes de test j'ai donc transféré 0.2 ETH depuis mon compte principal sur chacun des comptes de test en utilisant le bouton "SEND":

  5. Une astuce tout de même : il suffit de cliquer sur le champs "Recipient Address" pour que MetaMask list les comptes existants : donc pas la peine de copier manuellement les adresses :

Modification du Smart Contract

Dans le le Smart Contract du post précédent la participation était payée en unité d'ETH directement, Il est donc impossible de participer avec 0.2 ETH du coup, j'ai utilisé cette nouvelle version où la contribution mensuelle est en wei (un milliardième de milliardième d'ETH) : https://github.com/omarbenhamid/pret-daret-sur-etherium/blob/c37ed0bb79a79966af15b751eeaabb76a15b7743/daret.sol

Une autre modification est que, dans cette nouvelle version, il n'y a plus besoin d'appeler executerMoisCourrant : dès que toutes les contribution du mois sont reçues, la collecte est envoyée au bénéficiaire du mois, sans action de sa part.

Deploiement et test du Smart Contract:

Le déploiement et test du smart contract se fait exactement comme l'exemple précédent sauf :

  1. Il faut recharger Remix (actualiser la page dans le Browser pour reconnaitre metamask)

  2. Dans l'onglet Run choisir le runtime "injected by Web 3":

  3. Charger le code du Smart Contract dans le fichier daret.sol dans REMIX, comme décrit dans le post précédent.

  4. Ensuite saisir les paramètres et cliquer sur deployer :

    Noter le 2 suivi de 15 zeros qui correspond 2/1000 d'ETH (= 2 finney en langage ethereum), en effet le "wei" est une très très petite unité. Suivi de d'une virgule suivi de 3 qui est le deuxième paramètre du constructeur du contract qui dit : Daret se déclanche dès qu'il y a 3 participants.

  5. Une fenêtre MetaMask va apparaître, il faut y confirmer la transaction

  6. Sur MetaMask ou dans les traces Remix: attendez que la transaction soit validée.

Bravo ! Le smart contrat est déployée sur une vraie blockchain.

Executer les tests

En mode connecté à la blockchain, Remix fonctionne comme en mode normal sauf 2 points:

Le premier est que REMIX ne propose dans l'onglet Run qu'un seul compte : le compte actif dans MetaMask. Pour basculer entre les différents comptes il faut donc :

  1. Ouvrir MetaMask.

  2. Choisir le compte souhaité dans le menu en haut à droite:

  3. Revenir dans REMIX. Vous verrez alors que c'est le noveau compte qui est devenu actif.

Le second est que vous aurez la fenêtre de confirmation MetaMask à chaque transaction qui s'affichera pour confirmer.

À ceci près, j'ai pu rejouer les tests comme cela a été fait dans le post précédent en utilisant 2 finney au lieur de 1ETH pour chaque contribution.

En conclusion

C'était relativement faclie de déployer et utiliser le Smart Contract Daret sur le testnet Ropsten. L'étape suivante est donc de développer une DApp: une application érgonomique pour utiliser ce Smart Contract. A suivre donc …

Pas à pas : créer un Smart Contract pour la blockchain Etherium

On dit que les cryptomonnaies pourraient rendre service aux non bancarisés, du coups pour des premiers pas sur la blockchain j'ai implémente en Smart Contract pour Daret, un prêt solidaire qui se base sur un principe simple : chaque participant paye une somme fixe chaque mois, et, à tour de rôle, chacun parmi les participants reçois la somme totale collectée pendant le mois.

Entrée sur la blockchain Etherium:

Pour utiliser une cryptomonnaie on doit installer une application Wallet (porte monnaie électronique). Dans ce Wallet on génère une adresse (sorte de numero de compte) qui pourra recevoir et envoyer de l'"argent". C'est à la fin comme le E-Banking de votre banque: on a des comptes, un solde, on peut réaliser des transferts … sauf qu'il n'y a pas de banque derrière.

 

Enfin, le "compte" (adresse) Etherium n'est pas disponible en EUR ou en MAD mais en une "devise spéciale" : l'ETH (ether). Pour l'alimenter il faudra donc échanger de la monnaie locale contre de l'ETH. A priori ça se fait bien sur des Marketplace sur internet mais je regarderai ça quand j'en serai là. 

Daret sur Etherium

Pour mettre en place notre Daret on va supposer que chaque participant a installé un Wallet et a donc une adresse avec quelques ETH. Il faut alors écrire un Smart Contract qui recevra chaque mois les contributions de chacun et transférera la somme à la bonne personne selon l'ordre défini.

Vous avez dit Smart Contract  ?

Avec première vue avec un oeuil de POO, j'ai l'impression que créer un Smart Contrat revient à définir une classe (avec attributs et methodes donc) et l'instancier "dans" la blockchain. A la différence d'un "new" qui instancie en mémoire est que une instance de cette classe sur la blockchain ne peut plus être contrôlée par personne : Elle "vit" sa vie sur la blockchain, et les seules interactions possibles sont les appels de methode et la lecture de ses attributs publics. On ne peut même pas la mettre à jour, la detruire ou en faire quoi que ce soit.

Cela se fait dans un langage spécial appelé Solidity. Voila mon Smart Contract Daret :

(Source récupérable sur mon github : https://github.com/omarbenhamid/pret-daret-sur-etherium/blob/2e7baa232463491cb12fb37a28ec19579404a357/daret.sol)

Je ne vais pas commenter plus, les adeptes de POO reonnaîtront la structure de classe à ceci près que ça s'appelle "contract" et non classe.

Utiliser le Smart Contract 

Pour le faire professionnellement, il y a tout un SDK pour compiler, tester et instancier (déployer) ce Smart Contract sur la blockchain, mais pour les premier pas, ce tutoriel très intéressant m'a fait découvrir : Remix, L'IDE 100% en ligne d'Etherium ou j'ai pu en quelques clics tester mon Smart Contract.

Donc sur https://remix.ethereum.org/

  1. J'ai cliqué sur le petit "plus" pour créer daret.sol

  2. Mis le contenu du Smart Contract dans la fenêtre centrale. 

  3. Choisi la version (0.4.25 pour moi).

Ensuite, c'est extrêmement simple d'"instancier" (ie. Deployer) ce contrat :

  1. J'ai cliqué sur l'onglet "run"

  2. Un champs me demande uint256_mensulaiteEther (ce qui correspond au paramètre de mon constructeur) j'ai donc choisi 2 ether par mois comme contribution par participant.

  3. J'ai enfin cliqué Deploy.

Quasi immédiatement, un bloc est apparu en bas de la page me permettant d'appeler les méthodes du contrat et d'en consulter les attributs.

 

Première interaction avec le Smart Contract

Avant d'utiliser notre Smart Contract notons 3 choses :

  1. On est en train d'utiliser l'environnement de test JavaScript VM : le smart contract ne va pas vraiment sur une blockchain, c'est juste une simulation. Remix offre d'autres choix qui devrais certainement me permettre de déployer ailleurs … on verra.

  2. Remix offre dans cet environnement des "comptes" de test : le numéro commançant par 0xca3… est l'adresse (en quelque sorte votre IBAN sur la blockchain). Chaque compte compte au départ 100 ether.

  3. Bonne nouvelle, cliquer sur le petit (+) permet d'ajouter autant de comptes que vous voulez pour vos tests. Si vous voulez tester avec 4 participants par exemple, vous pourrez créer 4 comptes.

On va maintenant tenter une inscription. Vous verrez dans le compte de la "methode" inscription() qu'il est exigé que "msg.value == mensualite", "msg.value" est la quantité d'ETH que l'utilisateur a envoyer au contrat en appelant la methode. On exige en effet qu'à l'inscription le participant paye le premier mois.

J'ai donc tenté de m'inscrire :

  1. J'ai choisi un compte.

  2. Saisi une valeur de 2 (et bien choisi l'unité ether).

  3. Puis cliqué sur "inscription"

Visiblement, ça a marché ! j'ai eu une coche verte dans les logs 

Quand il y a une erreur, c'est plutôt la croix rouge qui apparaît.

Pour contrôler que je me suis bien inscrit, j'ai aussi lu la cellule 0 du tableau "particpants" :

  1. J'ai donc cliqué sur "participants"

  2. Saisi un index (0 par exemple pour lire le premier du tableau)

  3. Cliqué sur "call"

Et l'adresse retournée correspond bien à l'adresse qui s'est inscrite.

Je ne vais pas détailler la suite, mais globalement j'ai :

  1. Appelé inscription() 4 fois avec 4 adresses différentes.

  2. Cliqué sur executerMoisCourrent() : le premier participant a reçu la somme collectée.

  3. Applé payer() en envoyant 2 ETH par participant, puis executerMoisCourrent() : le second participant a reçu 8 ETH …

  4. J'ai bien testé aussi : si un participant ne paye pas, executerMoisCourrent() échoue.

Une note sur le gas

Vous noterez qu'à chaque fois que vous faite une transaction le compte actif perd quelques pouillèmes d'ETH, c'est le coût que vont recevoir les ordinateurs connectés à la blockchain qui vont exécuter le code de l'appel demandé et valider la transaction (une sorte de coût de hosting). Ce temps de calcul est comptabilisé en "gas" et chaque unité de "gas" coute quelques wei (un wei est un milliardième de milliardième d'ETH).

Pour finir ?

J'ai aussi tout de même découvert que, quand executerMoisCourent() échoue le Smart Contract n'explique jamais pourquoi, il faut probablement ajouter une méthode pour expliquer l'échec, lister les impayés …. Bien entendu, tout lecteur de ce post est appelé à forker et améliorer ce contrat sur github : https://github.com/omarbenhamid/pret-daret-sur-etherium

La suite serait de réellement déployer sur un testnet (une blockchain de test), puis de développer une DApp : une appli conviviale qui permet d'utiliser ce contrat.

Mais au bout du compte, la question reste ouverte : Croyez-vous vraiment que la blockchain peut servir aux non-bancarisés ?

Elements d’un projet EMS

Un projet EMS est d’abord un projet informatique, il convient donc de respecter pour ce type de projets les démarches et jalons classiques du recueil des besoins à la recette. Ceci dit, au vu de l’architecture et de la nature d’un EMS, ces quelques lignes attirent l’attention sur quelques spécificités des projets EMS auquelles il est important de faire attention.

Les éléments d’un projet EMS

L’étude d’un projet EMS doit prendre en compte :

  • La mise en place des appareils et équipements intelligents pour remonter l’information.

  • L’eventuel interfaçage avec l’existant.

  • La fourniture des contrôleurs locaux, leure installation et leure maintenance.

  • La mise à disposition du serveur central:

    • Soit la fourniture, installation et maintenance sur l’intranet de l’entreprise.

    • Soit l’abonnement pour l’accès au serveur central sur le cloud.

  • La connexion réseau pour accéder au serveur central ou internet si le serveur central est chez le fournissuer EMS.

  • La connexion locale entre appareils intelligents et les controlleurs locaux (installation du réseau filaire ou sans fil, étude de la qualité du courant porteur …).

Les risques projet spécifiques à l’EMS

Tout d’abord, il faut analyser l’impact sur la continuité d’activité, surtoût quand le système ne fait pas que de la collecte passive d’information  :

  • Que se passe-t-il si le serveur central ne répond plus ou en cas de coupure de connexion? 

  • Que se passe-t-il si le controlleur local est en panne ?

Dans ces deux cas, il faut s’assurer que l’on peut continuer à travailler même si l’utilisation de l’énergie n’est pas optimisée. Un mode dégradé « hors connexion » doit donc être en place.

Ensuite il faut penser à la réversibilité : à quel point mon activité devient dépendante du fournisseur, quel impact si le fournisseur venait à arrêter son offre :

  • Pourrais-je continuer à travailler? 

  • L’offre est-elle assez ouverte pour basculer chez un autre ? 

  • Que dois-je refaire dans ce cas ? Juste le serveur central  ? Rempalcer les contrôleurs ? Racheter aussi tous les capteurs mis en place ?

La réversibilité mérite d’être étudiée non seulement pour maîtriser le risque d’arrêt d’activité du fournisseur mais surtoût pour éviter trop de dépendance vis à vis du fournisseur. Il faut en effet privilégier les offres ouvertes et se méfier des offres intentionellement « opaques ».

Enfin il y a le risque de sécurité :

  • Sécurité des données: quand les données sont remontées sur le serveur du fournisseur. Si les données sont sensibles, s’assurer qu’elles sont stockées et utilisées dans de bonnes conditions.

  • Sécurité physique: la possibilité que le système soit piraté et quel impact cela a. Il faut donc s’assurer que les protocoles d’échange sont sécurisés et authentifiés et s’assurer que le fournisseur propose aussi, dans le cadre de sa maintenance la mise à jour des composants (surtout les contrôleurs locaux) pour corriger les failles de sécurité.

Comment utiliser son logiciel de gestion d’energie pour : maitriser sa facture électrique, l’optimiser puis saisir les nouvelles opportunites

La mise en oeuvre d'un logiciel de gestion d'energie (EMS) a pour but d'optimiser l'utilisation de l'énergie et mieux réagir à sa facture électrique.  Qu'entend-t-on par "optimiser l'utilisation de l'énergie" ? Pour répondre, nous avons distingué 3 niveaux : Comprendre et maîtriser sa facture, Optimiser sa consommation et enfin saisir les nouvelles opportunités. Pour chaque niveau nous détaillons les fonctions clé du logiciel EMS qui permettent de l'atteindre.

Le niveau 0 : Comprendre et maîtriser sa facture 

Les producteurs et distributeurs d'énergie ont besoin d'optimiser leur production et et effacer les pics de consommation. Pour cela, la facture énergétique se complexifie de plus en plus pour inciter les consommateurs à optimiser et adapter leur utilisation de l'énergie. Dans se contexte se posent alors des questions importantes :

  • Ma facture est-elle juste ?

  • Quel contrat ou fournisseur sera le meilleur pour mon besoin ? 

Mettre en oeuvre un EMS capable d'enregistrer l'historique détaillé de l'utilisation de l'énergie au sein de l'organisation permet de répondre à ces questions. 

En effet, l'enregistrement heure par heure de la consommation permet de vérifier les pics de consommations et ses caractéristiques et permet ainsi de valider la facture. 

De plus, le nombre de fournisseurs et de types de contrats de fourniture d'énergie se diversifient. Choisir le bon fournisseur et le bon contrat devient crucial. Pour cela il faut pouvoir prédire les paramètres de tarification proposés dans le contrat : pic de puissance, quantité et heure de consommation, dépassement de puissance souscrite, puissance réactive consommée …. Un EMS fournissant des courbes de charges au quart d'heure avec les caractéristiques nécessaires permet de simuler ces contrats sur l'historique de consommation pour faire le choix le plus optimal. 

Le niveau 1 : Améliorer sa performance énergétique

Qu'est ce qui explique tel ou tel pic de coût ? Puis-je le décaler ? Comment éviter tel dépassement de puissance souscrite ?

Certains EMS permettent de remonter des courbes de charge désagrégées, ainsi, site par site, atelier par atelier, voir machine par machine, l'industriel peut suivre la consommation d'énergie et comprendre ce qui a causé un pic de charge. A partir de cette analyse, il peut agir pour l'éviter. En effet, de gros coûts pourraient être évités en décalant des productions ou en ordonnançant autrement le travail.

En plus les EMS qui remontent l'information en temps réel et qui ont des règles d'alerte push, permettent d'avertir de l'atteinte de certains seuils pour permettre de façon pro-active de mener des actions d'optimisation.

Enfin, les EMS les plus avancés ayant une fonction d'actuation,  agissent eux même sur les sources de consommation pour optimiser l'usage de l'énergie. Il peuvent ainsi modifier la température de consigne d'une climatisation, adapter la cadence d'une machine, ou encore mettre en veille un serveur de façon automatique pour réduire le gaspillage et effacer les pics.

Le niveau 3 : Saisir les nouvelles opportunités

L'énergie est un secteur d'avenir, bien connaitre et maîtriser son profil de consommation est alors clé pour pouvoir saisir les nouvelles opportunités qui s'ouvrent.

Tout d'abord, l'ouverture à la concurrence de la production de l'énergie permet de trouver de nouveaux fournisseurs et négocier de nouveaux contrats. Connaitre avec précision quand et combien d'énergie mon entreprise consomme est donc clé pour un sourcing optimisé.

Par la suite, l'accès aux marchés spot d'énergie s'ouvre de plus en plus, là aussi, un EMS capable de rapidement adapter son profil de consommation permet un optimisation de l'achat de l'énergie.

Enfin, l'intégration des énergies intermittente augmente le besoin en services auxiliaires d'effacement, cela consiste à offrire une prime en contre partie de la baisse de consommation dans une periode de pique donnée. Souvent, la contre partie est une pénalité très couteuse si l'engagement n'est pas respecté. Là aussi, connaitre sa consommation dans le détail et pouvoir la maîtriser à tout moment permet de prendre de tels engagements et saisir de telles opportunités.

Bien entendu, certaines de ces opportunités sont encore embryonnaires, ou tributaires d'une évolution sociale et réglementaire encore longue, mais la machine est en marche et profiter de ce délais pour mettre en place les outils pour maitriser son utilisation de l'énergie permet de prendre un avantage compétitif.

Gestion d’énergie en entreprise, au delà de payer sa facture : savoir y réagir

La production électrique prends une part de plus en plus importante dans le mix énergétique mondial comme énergie finale au moment même où il devient nécessaire aux producteurs d'abandonner des sources classiques pour des sources plus propres et durables. Dans ce contexte, il devient nécessaire d'impliquer les consommateurs industriels et privés pour maintenir l'équilibre la production/consommation. Cela se traduit par le signal-prix, ou plus simplement dit, à travers la facture d'électricité. 

Le but n'est pas de payer plus, mais de consommer plus intelligemment

Quand on crée des heures de pointe où le prix du KWh est plus cher, l'objectif du producteur n'est pas de faire payer plus le consommateur mais plutôt de l'inciter à déplacer sa consommation d'énergie à un autre heure. Ainsi un tarif plus élevé à 20h devrais inciter un industriel à faire son soudage en journée et montage en soirée, ou un bureau d'étude à éteindre le chauffage électrique hors heures de bureau.

Une production plus difficile à contrôler

L'intégration des renouvelables est inéluctable, et cela vient avec des challenges nouveaux pour le producteurs dont :

  • L'augmentation de l'intermittence : la production va ainsi varier en fonction des conditions climatiques : en fonction du vent ou de la densité de nuages, une éolienne ou un panneau photovoltaïque ne produiront pas autant.

  • La réduction de la contrôlabilité : Autant il y a "un bouton qu'on peut tourner" pour faire produire à une centrale au gaz plus ou moins. Il n'y a pas de bouton pour faire plus de soleil ou plus de vent. Le sources renouvelables sont donc moins contrôlables que les sources classique.

Dans ce contexte, le stockage massif est une option option pour maintenir l'équilibre production/consommation, l'idée serait de stocker la surproduction d'électricité pour la réinjecter dans le réseau quand la production ne couvre plus le besoin. Au vu des technologies disponibles aujourd'hui, cette option a un coût financier et surtout écologique très élevé. 

Une consommation plus active nécessaire

Il devient donc important d'impliquer le consommateur dans l'équilibre production/consommation. Cela commence par l'inciter (financièrement) à adapter sa consommation. Par exemple en retardant l'utilisation de certaines machines à des heures creuses. 

Au delà, le consommateur est aussi invité à participer à l'effort de production, par exemple en mettant en place ses propres panneaux photovoltaïques pour produire une partie de son besoin. 

Nous ne sommes donc plus dans un modèle où un producteur produit de l'électricité et la revends mais bien dans un modèle où le consommateur est aussi appelé à réagir de façon proactive au contexte de production et adapter son organisation de travail en fonction de ce contexte. 

Une démarche de gestion d'énergie nécessaire

De plus en plus, la facture électrique se complexifie, de plus en plus aussi les contraintes légales et fiscales liées à l'émission de CO2 s'intensifient, et de plus en plus des nouvelles opportunités liés à l'ouverture des marchés spot de l'électricité et aux services auxiliaires s'ouvrent. 

Un industriel se doit donc de maîtriser l'aspect énergétique de ces processus et d'intégrer ce volet dans ses décisions. De la même manière qu'une direction financière analyse l'aspect financier et une direction technique maîtrise les aspects techniques, une organisation doit être mise en oeuvre pour gérer l'aspect énergétiques et les démarche de gestion d'énergie (EMS) sont là pour l'aider à mettre cela en place.