Comments (8)
@maelgangloff J'ai fait quelques modifications pour retirer toutes les informations "sensibles" des appels à mon service d'analytics, les changements sont déjà en production 👍
from linky.
Comment savoir quelles informations transitent sur ton serveur ?
Tu peux voir dans la librairie que tous les appels API contactent directement enedis.fr
, sauf lorsque le token est expiré et qu'il faut le renouveler.
Donc quand tu fais linky daily
par exemple, c'est directement Enedis qui répond.
Techniquement, tu as toutes les informations nécessaires pour interroger l'API de ton côté avec les token récupérés (je ne dis pas que c'est ce qui est fait, mais que c'est faisable), non ?
Sur ce point, tu as tout à fait raison. J'ai mis tout le code du serveur ici, mais effectivement, il n'y a rien qui prouve que c'est vraiment le code qui tourne sur le serveur, c'est juste une affirmation de ma part. Si je voulais, je pourrais tout à fait sauvegarder les tokens générés, et les utiliser pour récupérer les données de tout le monde.
Tu as donc 3 possiblités:
- Soit tu fais confiance et tu utilises
conso.vercel.app
sans vraiment savoir ce qui se passe vraiment - Soit tu fais ton propre serveur (et dans ce cas il faut que tu crées ton entreprise et ta propre app, puis qu'Enedis la valide).
- Soit tu utilises le site d'Enedis et bye bye la CLI...
je suis plus habitué à voir passer du Piwik/Matomo ou OWA
Effectivement, umami c'est moins courant, mais ça me permet de ne pas demander l'utilisation des cookies car aucune donnée personnelle n'est enregistrée.
Mon but est juste de compter le nombre de visiteurs pour savoir si mon outil est beaucoup utilisé et savoir si ça vaut le coup d'y passer du temps.
from linky.
Salut,
Juste pour être sûr, c'est quoi l'idée derrière ton projet ? Parce que je sais pas si tu réalises mais il va te falloir un CLIENT_ID
+ un CLIENT_SECRET
fournis par Enedis.
Et pour avoir ça, il faut créer une app accessible aux testeurs d'Enedis, qu'ils valident que ton projet marche sur un environnement de test et qu'il est conforme à leur charte, puis que tu signes un contrat qui lie Enedis et ton entreprise (si tu n'en as pas il faut en créer une 😄 ), et enfin quelques semaines plus tard tu recevras tes credentials de prod et tu pourras enfin faire tourner ton serveur.
C'est justement parce que c'est aussi compliqué que j'ai créé ce projet, dont le serveur sert uniquement à obtenir des tokens d'accès (aucune récupération de données de consommation, aucune BDD...).
Et pour répondre à ta question, /api/collect
n'a aucun rapport avec ce projet, si tu regardes l'URL complète tu verras que c'est https://metrics.boris.sh/api/collect
, et c'est tout simplement une version auto-hébergé de umami (des analytics qui respectent la vie privée et les données personnelles).
from linky.
Argh... non je n'avais pas recherché jusque là. Ça à l'air très "simple" 😱😵
Je n'ai pas de projet, je suis simplement curieux. Donc bon... je ne vais pas créer une entreprise juste pour accéder à une API 😅 (et merci beaucoup d'avoir fait tout ça à notre place).
[...] le serveur sert uniquement à obtenir des tokens d'accès (aucune récupération de données de consommation, aucune BDD...).
Comment savoir quelles informations transitent sur ton serveur ?
Techniquement, tu as toutes les informations nécessaires pour interroger l'API de ton côté avec les token récupérés (je ne dis pas que c'est ce qui est fait, mais que c'est faisable), non ?
[...] c'est tout simplement une version auto-hébergé de umami [...]
Merci pour la précision, je ne connaissais pas umami (je suis plus habitué à voir passer du Piwik/Matomo ou OWA). Je vais y jeter un œil 😉
from linky.
Merci beaucoup pour toutes ces explications 😉👍
from linky.
Bonjour @bokub,
Ma question concerne le type de donnée qui est transferée sur votre serveur personnel.
En effet, en analysant les requêtes transmises, je constate que la requête POST vers votre serveur contient l'URL de la page courante et donc le paramètre code
qui est à mon sens une information personnelle. Pourquoi ce token est-il envoyé sur votre serveur ?
from linky.
Bonjour,
Après avoir autorisé le partage des données, Enedis redirige effectivement l'utilisateur vers une page de conso.vercel.app contenant ce code.
Ce code à usage unique doit ensuite être envoyé au serveur Enedis pour être échangé contre un access token et un renew token, ce qui est effectué par mon serveur. Les tokens ainsi obtenus sont ensuite affichés sur la page.
Tu peux trouver tout ce processus quelque part dans le dossier api du repo, et plus de détails sur le mécanisme dans la documentation d'enedis.
Je t'aurais bien mis des liens directs mais je suis sur mobile et je galère un peu pour trouver
Bonne journée
from linky.
Ah mince j'avais pas bien vu dans ton screenshot que tu parlais de la route "collect", qui correspond effectivement à mon service d'anaytics !
C'est vrai que ça pourrait être considéré comme de la donnée personnelle, il faudrait que je regarde si je peux retirer la partie query...
Hereusement, ce code est à usage unique et doit être utilisé dans les 30 secondes si je me souviens bien, donc pas super critique, mais je t'accorde que ça n'est pas idéal
from linky.
Related Issues (20)
- requête : erreur 500 sans NodeJS HOT 3
- Génération de tokens impossible HOT 24
- Token non renouvelé pour second compteur Linky HOT 6
- "no measure found for this usage point" HOT 6
- "no measure found for this usage point" avec loadcurvprod HOT 3
- Executer "linky" dans un crontab HOT 9
- Utilisation du refresh token HOT 9
- [Feature request] Export au format CSV HOT 4
- Migration API : nouvelle version ? HOT 2
- Erreur depuis 2jours HOT 2
- Issue with 2.01 HOT 5
- Unexpected identifier HOT 6
- Erreur d'installation node module sur projet Symfony HOT 2
- "ADAM-ERR0069" HOT 6
- Conso API erreur ADAM-DC-0008 HOT 6
- Bloqué par Cloudflare HOT 7
- dist/bin/cli.js: line 1: import: command not found HOT 5
- Vous n'êtes pas connecté à votre compte Enedis HOT 26
- Erreur "Sorry, you have been blocked" HOT 2
- Permettre d'afficher les données d'une tranche horaire précise sur un intervalle de jours HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from linky.