Closed A-Nicoladie closed 2 years ago
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).
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 😉
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:
conso.vercel.app
sans vraiment savoir ce qui se passe vraimentje 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.
Merci beaucoup pour toutes ces explications 😉👍
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 ?
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
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
@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 :+1:
Bonjour,
Je tente d'installer la partie serveur avec l'ensemble des fichiers et dépendances sur mon serveur.
CSS
,JS
et les fonts qui sont appelés, je n'ai malheureusement pas accès à ce qui se passe dans/api/collect
de ton serveur perso. Serait-il possible d'avoir cette partie ?Merci !