Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (6.2%) to scientific vocabulary
Keywords
Repository
Unofficial API client of GRDF
Basic Info
- Host: GitHub
- Owner: maelgangloff
- License: gpl-3.0
- Language: TypeScript
- Default Branch: master
- Homepage: https://www.npmjs.com/package/grdf-api
- Size: 180 KB
Statistics
- Stars: 7
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 6
Topics
Metadata Files
README.md
grdf-api
Support non-officiel de l'API GRDF.
Ce module permet de gérer et récupérer la consommation des compteurs communicants Gazpar en utilisant l'API du site de GRDF. Leur site internet étant en perpétuelle mutation, ce module devra être mis à jour régulièrement.
[!TIP] Un wiki est disponible, celui-ci rassemble davantage d'informations sur le fonctionnement de l'API.
Ce wiki est disponible ici.
Disclaimer
[!WARNING] - Il est clairement mentionné que cette librairie n'est pas officiellement éditée par GRDF. - Ce module n'est pas une contrefaçon car il n'existe pas de module similaire édité officiellement. - Les utilisateurs ne peuvent accéder qu'à leurs propres données. Ils sont soumis au même processus d'authentification que celui implémenté dans l'espace client GRDF et imposé par le serveur API. - Les données des utilisateurs ne sont pas davantage exposées puisqu'un utilisateur ne peut accéder qu'à ses propres données. Personne n'a le contrôle sur cette limitation qui est inhérente au fonctionnement de l'API des serveurs de GRDF. - Cette librairie ne se suffit pas à elle-même pour fonctionner. Il est nécessaire de l'importer dans un projet et l'utilisateur est le seul responsable de son code et des éventuelles conséquences. - Tout utilisateur de cette librairie a a priori lu et approuvé l'entièreté du fichier de licence GPLv3 disponible publiquement LICENSE ainsi que de ce présent fichier de présentation. - Tout utilisateur de cette librairie a a priori lu et compris l'entièreté du code de ce projet avant toute utilisation. - L'auteur de ce projet n'agit pas en tant qu'intermédiaire de traitement des données au sens du RGPD. Les utilisateurs sont responsables de leur propre conformité au RGPD lors de l'utilisation de cette librairie. Ils doivent s'assurer que leur utilisation de cette librairie est conforme aux exigences du RGPD et de toute autre législation applicable en matière de protection des données. - Eu égard l'ensemble de ces remarques, les contributeurs et a fortiori l'auteur du projet ne peuvent être tenus responsables de tout dommage potentiel.
GRDF
Kind: global class
- GRDF
- new GRDF(token)
- instance
- .getPCEList(details) ⇒
Promise.<Array.<PCE>> - .getPCEAddress(pce) ⇒
Promise.<Adresse> - .getPCEDetails(pce) ⇒
Promise.<PCE> - ~~.getPCEDetailsPlus() ⇒
Promise.<Array.<PCE>>~~ - .getPCECoefficient(pce) ⇒
Promise.<PCECoefficient> - .getPCEMeteo(pce, dateFinPeriode, nbJours) ⇒
- .getPCEConsoRef(pce) ⇒
Promise.<Array.<ConsommationReference>> - .getPCEConsumption(type, pceList, dateDebut, dateFin) ⇒
Promise.<Consommation> - .getConsumptionSheet(type, pceList, frequence, dateDebut, dateFin) ⇒
Promise.<stream> - .putPCE(pce, partialPCE) ⇒
Promise.<PCE> - .getPCESeuils(pce, frequence) ⇒
Promise.<Seuils> - .postPCESeuils(pce, seuils) ⇒
Promise.<SeuilsCreated> - .putPCESeuils(pce, seuils) ⇒
Promise.<Seuils> - .getUserInfo() ⇒
Promise.<UserInfo> - .getUserDetails(id) ⇒
Promise.<UserInfo> - .putUserDetails(id, userInfoDetails) ⇒
Promise.<UserInfo> - .getConsultationHistory() ⇒
Promise.<Array.<HistoriqueConsultation>> - .putConsultationHistory(data)
- .getUserAccreditation() ⇒
Promise.<Array.<Accreditation>> - .putUserAccreditation(pce, partialPCE) ⇒
Promise.<PCE> - .getInfoLogements() ⇒
Promise.<Array.<InfoLogement>> - .getInfoLogementPCE(pce) ⇒
Promise.<InfoLogement> - .getConnaissancesClient(pce) ⇒
Promise.<ConnaissancesClient> - .patchConnaissancesClient(id, data) ⇒
Promise.<ConnaissancesClient>
- .getPCEList(details) ⇒
- static
- .login(email, password) ⇒
Promise.<string>
- .login(email, password) ⇒
new GRDF(token)
| Param | Type | Description |
| --- | --- | --- |
| token | string | Jeton d'accès obtenu avec la méthode GRDF.login(email, password) |
Example
js
const { GRDF, ConsommationType } = require('grdf-api')
const pce = '01234567890123'
GRDF.login('email', 'password').then(async token => {
const user = new GRDF(token)
const consommation = await user.getPCEConsumption(ConsommationType.informatives, [pce], '2021-09-01', '2021-12-01')
console.log(consommation[pce].releves)
})
grdF.getPCEList(details) ⇒ Promise.<Array.<PCE>>
Liste des PCE associés à l'utilisateur
Kind: instance method of GRDF
| Param | Type | Default | Description |
| --- | --- | --- | --- |
| details | boolean | true | Récupérer les détails |
grdF.getPCEAddress(pce) ⇒ Promise.<Adresse>
Adresse d'un PCE spécifique
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| pce | string | Identifiant du PCE |
grdF.getPCEDetails(pce) ⇒ Promise.<PCE>
Détails d'un PCE
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| pce | string | Identifiant du PCE |
~~grdF.getPCEDetailsPlus() ⇒ Promise.<Array.<PCE>>~~
Deprecated
Informations les plus détaillées sur les PCE associés à l'utilisateur
Kind: instance method of GRDF
grdF.getPCECoefficient(pce) ⇒ Promise.<PCECoefficient>
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| pce | string | Identifiant du PCE |
grdF.getPCEMeteo(pce, dateFinPeriode, nbJours) ⇒
Kind: instance method of GRDF
Returns: Objet dont les clés sont les dates et les valeurs sont les températures associées
| Param | Type | Description |
| --- | --- | --- |
| pce | string | Identifiant du PCE |
| dateFinPeriode | string | Date de fin au format YYYY-MM-DD |
| nbJours | number | Nombre de jours |
grdF.getPCEConsoRef(pce) ⇒ Promise.<Array.<ConsommationReference>>
Consommation annuelle de référence
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| pce | string | Identifiant du PCE |
grdF.getPCEConsumption(type, pceList, dateDebut, dateFin) ⇒ Promise.<Consommation>
Relevés de consommation
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| type | ConsommationType | informatives: les plus détaillés, publiees: destinées à la facturation |
| pceList | Array.<string> | Liste des numéros de PCE |
| dateDebut | string | Date de début au format YYYY-MM-DD |
| dateFin | string | Date de fin au format YYYY-MM-DD |
grdF.getConsumptionSheet(type, pceList, frequence, dateDebut, dateFin) ⇒ Promise.<stream>
Stream d'une feuille de calcul déjà formatée contenant les relevés
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| type | ConsommationType | informatives: les plus détaillés, publiees: destinées à la facturation |
| pceList | Array.<string> | Liste des numéros de PCE |
| frequence | Frequency | Fréquence des relevés (Mensuel|Hebdomadaire|Journalier|Horaire) |
| dateDebut | string | Date de début au format YYYY-MM-DD |
| dateFin | string | Date de fin au format YYYY-MM-DD |
Example
```js
const { GRDF, ConsommationType, Frequency } = require('grdf-api');
const fs = require('fs');
const pce = '01234567890123'; GRDF.login('email', 'password').then(async token => { const user = new GRDF(token); const stream = fs.createWriteStream('./sheet.xlsx'); (await user.getConsumptionSheet(ConsommationType.informatives, [pce], Frequency.WEEKLY, '2022-06-01', '2022-10-10')).pipe(stream); }) ```
grdF.putPCE(pce, partialPCE) ⇒ Promise.<PCE>
Effectuer des changements sur le PCE (changement de l'alias par exemple)
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| pce | string | Identifiant du PCE |
| partialPCE | | Informations à remplacer dans la description du PCE |
grdF.getPCESeuils(pce, frequence) ⇒ Promise.<Seuils>
Liste des seuils programmés
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| pce | string | Identifiant du PCE |
| frequence | Frequency | Type de seuil (Journalier|Mensuel|Annuel) |
grdF.postPCESeuils(pce, seuils) ⇒ Promise.<SeuilsCreated>
Remplacer les seuils
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| pce | string | Identifiant du PCE |
| seuils | Seuils | Seuils à poster |
grdF.putPCESeuils(pce, seuils) ⇒ Promise.<Seuils>
Modifier un seuil (préciser les identifiants)
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| pce | string | Identifiant du PCE |
| seuils | Seuils | Seuils à muter |
grdF.getUserInfo() ⇒ Promise.<UserInfo>
Informations générales sur l'utilisateur connecté
Kind: instance method of GRDF
grdF.getUserDetails(id) ⇒ Promise.<UserInfo>
Détails sur un utilisateur
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| id | number | Identifiant de l'utilisateur |
grdF.putUserDetails(id, userInfoDetails) ⇒ Promise.<UserInfo>
Mise à jour du profil de l'utilisateur
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| id | number | Identifiant de l'utilisateur |
| userInfoDetails | UserInfoDetails | Les informations de l'utilisateur à modifier |
grdF.getConsultationHistory() ⇒ Promise.<Array.<HistoriqueConsultation>>
Historique de consultation des informations des PCE
Kind: instance method of GRDF
grdF.putConsultationHistory(data)
Mise à jour de la date de dernière consultation du PCE
Kind: instance method of GRDF
| Param | Type |
| --- | --- |
| data | HistoriqueConsultationRequest |
grdF.getUserAccreditation() ⇒ Promise.<Array.<Accreditation>>
Liste des accreditations demandées
Kind: instance method of GRDF
grdF.putUserAccreditation(pce, partialPCE) ⇒ Promise.<PCE>
Mise à jour de l'accréditation (changement de l'alias par exemple)
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| pce | string | Identifiant du PCE |
| partialPCE | | L'objet PCE revendiqué |
grdF.getInfoLogements() ⇒ Promise.<Array.<InfoLogement>>
Informations sur le logement
Kind: instance method of GRDF
grdF.getInfoLogementPCE(pce) ⇒ Promise.<InfoLogement>
Informations sur le logement d'un PCE
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| pce | string | Identifiant PCE |
grdF.getConnaissancesClient(pce) ⇒ Promise.<ConnaissancesClient>
Informations sur le client (type de logement, surface, mode de chauffage, etc.)
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| pce | string | Identifiant PCE |
grdF.patchConnaissancesClient(id, data) ⇒ Promise.<ConnaissancesClient>
Mettre à jour le formulaire de connaissances client (type de logement, surface, mode de chauffage, etc.)
Kind: instance method of GRDF
| Param | Type | Description |
| --- | --- | --- |
| id | number | Identifiant du formulaire |
| data | ConnaissancesClient | Données partielles à mettre à jour dans le formulaire |
GRDF.login(email, password) ⇒ Promise.<string>
Obtention d'un jeton d'accès auprès de l'API
Attention: ne JAMAIS transmettre ce jeton à un tier, il vous est strictement personnel !
Kind: static method of GRDF
Returns: Promise.<string> - Le jeton d'accès
| Param | Type | Description |
| --- | --- | --- |
| email | string | Courriel de connexion de l'utilisateur |
| password | string | Mot de passe |
Owner
- Name: Maël Gangloff
- Login: maelgangloff
- Kind: user
- Location: Nancy, France
- Company: Polytech Nancy | @PolytechSN
- Website: maelgangloff.fr
- Twitter: GangloffMael
- Repositories: 34
- Profile: https://github.com/maelgangloff
Student at Polytech Nancy - University of Lorraine, France | Discord: maelgangloff#1907
Citation (CITATION.cff)
cff-version: 1.2.0
title: GRDF API
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Maël
family-names: Gangloff
email: contact@maelgangloff.fr
orcid: 'https://orcid.org/0000-0002-7729-724X'
identifiers:
- type: url
value: >-
https://github.com/maelgangloff/grdf-api
description: GRDF-API, le client non-officiel de l'API GRDF
repository-code: 'https://github.com/maelgangloff/grdf-api'
abstract: Unofficial API client of GRDF
keywords:
- GRDF
- Gaz
- Gazpar
- API
license: GPL-3.0-or-later
date-released: '2024-04-30'
license-url: 'https://github.com/maelgangloff/grdf-api/blob/master/LICENSE'
GitHub Events
Total
- Issues event: 2
- Watch event: 2
Last Year
- Issues event: 2
- Watch event: 2
Committers
Last synced: about 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| Maël Gangloff | c****t@m****r | 18 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 2
- Total pull requests: 0
- Average time to close issues: about 2 hours
- Average time to close pull requests: N/A
- Total issue authors: 2
- Total pull request authors: 0
- Average comments per issue: 2.5
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 1
- Pull requests: 0
- Average time to close issues: 3 minutes
- Average time to close pull requests: N/A
- Issue authors: 1
- Pull request authors: 0
- Average comments per issue: 0.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- malys (1)
- 0rsa (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- npm 12 last-month
- Total dependent packages: 1
- Total dependent repositories: 0
- Total versions: 9
- Total maintainers: 1
npmjs.org: grdf-api
Unofficial API client of GRDF
- Homepage: https://github.com/maelgangloff/grdf-api#readme
- License: GPL-3.0-or-later
-
Latest release: 0.3.0
published almost 2 years ago
Rankings
Maintainers (1)
Dependencies
- @types/node ^17.0.5 development
- @types/qs ^6.9.7 development
- @typescript-eslint/eslint-plugin ^5.8.1 development
- @typescript-eslint/parser ^5.8.1 development
- eslint ^8.5.0 development
- jsdoc-to-markdown ^7.1.0 development
- ts-standard ^11.0.0 development
- typescript ^4.5.4 development
- axios ^0.24.0
- qs ^6.10.2
- 335 dependencies
- actions/cache v2 composite
- actions/checkout v2 composite
- actions/setup-node v1 composite
- actions/checkout v4 composite
- actions/setup-node v4 composite