Fonctionnement de l’API¶
Module contents¶
Module API de l’application TerriStory
Modules principaux¶
actions module¶
- action_mix_energetique(idx, year, only_jobimpact_actions, region, action_params, mix_nrj_results, last_part_mix)¶
Cette action va calculer la surface en panneau solaire thermique qui serait nécessaire pour obtenir la part souhaitée dans le mix énergétique mais aussi l »impact sur l’emploi de la surface en panneau solaire à implanter (lien à faire avec les calculs de l’action solaire thermique) cf https://gitlab.com/terristory/terristory/-/issues/218
- bois_energie(csv_params, year, user_params, conso_chauffage, **kwargs)¶
Retourne pour une année donnée, les impacts énergétiques de l’action Chaufferies bois (action 13)
- Paramètres
region (str) – Nom de la région (nom officiel complet en minuscule, sans accent, e.g. auvergne-rhone-alpes)
year (str) – Année pour laquelle on calcule les impacts
dict (user_params) – Paramètres que l’utilisateur.trice doit saisir dans le formulaire de l’action
Pandas (conso_chauffage DataFrame) – Quantité de chaque énergie énergie consommée dans le secteur résidentiel
- Type renvoyé
- calculate_conso_totale(year, user_params, conso_usage_energie)¶
Retourne la consommation totale pour chaque année (2019 => 2050)
- Paramètres
- Renvoie
totale – la consommation totale de l’année passé en paramétre
- Type renvoyé
- calculer_diff_conso(user_params_equipement, repartition_equipement_reference, conso_totale_chaleur_enr_pac)¶
cette fonction permet de calculer la différence de consommation des équipements de chauffage nécessaire pour calculer l’investissement pour le secteur résidentiel et tertiaire
- centrale_photo(csv_params, year, user_params, girad=None, **kwargs)¶
Calcul d’impact GES, NRJ et facture NRJ pour l’action d’ajout de centrale photovoltaïque au sol cf : https://gitlab.com/terristory/terristory/-/issues/299
- conversion_equipement_chauffage_residentiel(region, csv_params, year, user_params, conso_residentiel, conso_usage_residentiel_chauffage, emission_ges, taux_equipement_chauffage_residentiel, emission_nh3, **kwargs)¶
Retourne les répartitions d’énergies, les émission ges et la baisse dela facteur énergétique
- Paramètres
csv_params (list) – liste des paramétres des actions
year (int) – l’année qui correspond au pourcentage entré par l’utilisateur
user_params (int) – le pourcentage de réduction entré par l’utilisateur
conso_residentiel (dataframe) – la consommation par type d’énergie dans le secteur résidentiel
conso_usage_residentiel_chauffage (dataframe) – la consommation par type d’énergie dans le secteur résidentiel usage chauffage
emission_ges (dataframe) – les émissions de ges dans le secteur résidentiel
taux_equipement_chauffage_residentiel – la répartitions des équipements de chauffage dans le secteur résidentiel
emission_nh3 (dataframe) – les émissions de nh3 dans le secteur résidentiel
- Renvoie
Avec l’ensemble des simulations des actions (répartitions des énergies, émission ges, baisse de facteur énergétique, recette fiscale)
- Type renvoyé
- conversion_equipement_chauffage_residentiel_aura(csv_params, year, user_params, conso_residentiel, conso_usage_residentiel_chauffage, emission_ges, taux_equipement_chauffage_residentiel, **kwargs)¶
Retourne les répartitions d’énergies, les émission ges et la baisse dela facteur énergétique
- Paramètres
csv_params (list) – liste des paramétres des actions
year (int) – l’année qui correspond au pourcentage entré par l’utilisateur
user_params (int) – le pourcentage de réduction entré par l’utilisateur
conso_residentiel (dataframe) – la consommation par type d’énergie dans le secteur résidentiel
conso_usage_residentiel_chauffage (dataframe) – la consommation par type d’énergie dans le secteur résidentiel usage chauffage
emission_ges (dataframe) – les émissions de ges dans le secteur résidentiel
taux_equipement_chauffage_residentiel – la répartitions des équipements de chauffage dans le secteur résidentiel
- Renvoie
Avec l’ensemble des simulations des actions (répartitions des énergies, émission ges, baisse de facteur énergétique, recette fiscale) pour la région auvergne-rhone-alpes
- Type renvoyé
- conversion_equipement_chauffage_residentiel_occitanie(csv_params, year, user_params, conso_residentiel, conso_usage_residentiel_chauffage, emission_ges, taux_equipement_chauffage_residentiel, emission_nh3, advanced_params_years={}, region='auvergne-rhone-alpes', **kwargs)¶
Retourne les répartitions d’énergies, les émission ges et la baisse dela facteur énergétique
- Paramètres
csv_params (list) – liste des paramétres des actions
year (int) – l’année qui correspond au pourcentage entré par l’utilisateur
user_params (int) – le pourcentage de réduction entré par l’utilisateur
conso_residentiel (dataframe) – la consommation par type d’énergie dans le secteur résidentiel
conso_usage_residentiel_chauffage (dataframe) – la consommation par type d’énergie dans le secteur résidentiel usage chauffage
emission_ges (dataframe) – les émissions de ges dans le secteur résidentiel
taux_equipement_chauffage_residentiel – la répartitions des équipements de chauffage dans le secteur résidentiel
- Renvoie
Avec l’ensemble des simulations des actions (répartitions des énergies, émission ges, baisse de facteur énergétique, recette fiscale) pour la région Occitanie
- Type renvoyé
- conversion_equipement_chauffage_tertiaire(region, csv_params, year, user_params, conso_tertiaire, conso_usage_tertiaire_chauffage, emission_ges, taux_equipement_chauffage_tertiaire, emission_nh3, **kwargs)¶
Retourne les répartitions d’énergies, les émission ges et la baisse dela facteur énergétique
- Paramètres
csv_params (list) – liste des paramétres des actions
year (int) – l’année qui correspond au pourcentage entré par l’utilisateur
user_params (int) – le pourcentage de réduction entré par l’utilisateur
conso_tertiaire (dataframe) – la consommation par type d’énergie dans le secteur tertaire
conso_usage_tertiaire_chauffage (dataframe) – la consommation par type d’énergie dans le secteur tertaire usage chauffage
emission_ges (dataframe) – les émissions de ges dans le secteur tertaire
taux_equipement_chauffage_tertiaire – la répartitions des équipements de chauffage dans le secteur tertaire
emission_nh3 (dataframe) – les émissions de nh3 dans le secteur résidentiel
- Renvoie
Avec l’ensemble des simulations des actions (répartitions des énergies, émission ges, baisse de facteur énergétique, recette fiscale)
- Type renvoyé
- conversion_equipement_chauffage_tertiaire_aura(csv_params, year, user_params, conso_tertiaire, conso_usage_tertiaire_chauffage, emission_ges, taux_equipement_chauffage_tertiaire, **kwargs)¶
Retourne les répartitions d’énergies, les émission ges et la baisse dela facteur énergétique
- Paramètres
csv_params (list) – liste des paramétres des actions
year (int) – l’année qui correspond au pourcentage entré par l’utilisateur
user_params (int) – le pourcentage de réduction entré par l’utilisateur
conso_tertiaire (dataframe) – la consommation par type d’énergie dans le secteur tertaire
conso_usage_tertiaire_chauffage (dataframe) – la consommation par type d’énergie dans le secteur tertaire usage chauffage
emission_ges (dataframe) – les émissions de ges dans le secteur tertaire
taux_equipement_chauffage_tertiaire – la répartitions des équipements de chauffage dans le secteur tertaire
- Renvoie
Avec l’ensemble des simulations des actions (répartitions des énergies, émission ges, baisse de facteur énergétique, recette fiscale)
- Type renvoyé
- conversion_equipement_chauffage_tertiaire_occitanie(csv_params, year, user_params, conso_tertiaire, conso_usage_tertiaire_chauffage, emission_ges, taux_equipement_chauffage_tertiaire, emission_nh3, advanced_params_years={}, region='auvergne-rhone-alpes', **kwargs)¶
Retourne les répartitions d’énergies, les émission ges et la baisse dela facteur énergétique
- Paramètres
csv_params (list) – liste des paramétres des actions
year (int) – l’année qui correspond au pourcentage entré par l’utilisateur
user_params (int) – le pourcentage de réduction entré par l’utilisateur
conso_tertiaire (dataframe) – la consommation par type d’énergie dans le secteur tertaire
conso_usage_tertiaire_chauffage (dataframe) – la consommation par type d’énergie dans le secteur tertaire usage chauffage
emission_ges (dataframe) – les émissions de ges dans le secteur tertaire
taux_equipement_chauffage_tertiaire – la répartitions des équipements de chauffage dans le secteur tertaire
- Renvoie
Avec l’ensemble des simulations des actions (répartitions des énergies, émission ges, baisse de facteur énergétique, recette fiscale)
- Type renvoyé
- deprecated_get_action_params(region)¶
Lecture des fichier CSV des paramètres d’action (data/<region>/)
- deprecated_get_global_params(region)¶
Lecture des fichier CSV des paramètres globaux (data/<region>/)
- deprecated_get_user_action_params(region)¶
Lecture du fichier CSV des paramètres avancés (data/<region>/user_action_params.csv)
- deprecated_get_user_global_params(region)¶
Lecture du fichier CSV des paramètres utilisateurs globaux (data/<region>/user-global-prix-energie.csv)
- efficacite_energetique_agriculture(region, csv_params, year, user_params, conso_usage_energie, emission_ges_agri, **kwargs)¶
Retourne les impacts énérgitique, les émission ges et la baisse dela facteur énergétique
- Paramètres
- Renvoie
Avec l’ensemble des simulations des actions (gain énergétique, émission ges, baisse de facteur énergétique, recette fiscale)
- Type renvoyé
- efficacite_energetique_industrie(region, csv_params, year, user_params, conso_usage_industrie, emission_ges_industrie, **kwargs)¶
Retourne les impacts énérgitique, les émission ges et la baisse dela facteur énergétique
- Paramètres
- Renvoie
Avec l’ensemble des simulations des actions (gain énergétique, émission ges, baisse de facteur énergétique, recette fiscale)
- Type renvoyé
- eolien(csv_params, year, user_params, **kwargs)¶
- async get_csv_params(region)¶
Fonction d’aggrégation de la lecture de tous les fichiers CSV de paramètres :param region: identifiant de la région :type region: str
- Renvoie
dataframes filtré par région
- Type renvoyé
- get_mix_energetique(region, action)¶
Lecture des fichiers CSV des mix énergétique
- get_user_params(user_params, repartition_reference, annee)¶
cette fonction permet de retrouver la répartition de l’année N-1
- hydraulique(csv_params, year, user_params, **kwargs)¶
- methanisation_cogen(csv_params, year, user_params, conso_usage_energie, **kwargs)¶
- methanisation_inject(csv_params, year, user_params, **kwargs)¶
- mix_energetique(chaleur, part)¶
Calcul du mix énergétique pour une année https://gitlab.com/terristory/terristory/-/issues/219
- motorisation_alternative_transports_commun(csv_params, year, user_params, emission_nh3, nb_buscars_territoire, **kwargs)¶
Calcul d’impact GES, NRJ et facture NRJ pour l’action de motorisation alternative des transports en commun
- override_user_params(csv_params, advanced, aname, anum)¶
Surchage les paramètres utilisateurs (CSV) par les données entrées dans l’interface
- Paramètres
- Renvoie
dictionnaire contenant une seule clé contenant le tableau avec les nouvelles valeurs ou un dictionnaire vide le cas échéant.
- Type renvoyé
- photovoltaique_sur_toiture(numero_action, type_installation, csv_params, year, user_params, girad=None, **kwargs)¶
Action photovoltaïque sur toiture
- reduction_dist_traj_domicile_travail(region, csv_params, year, user_params, distance_moyenne_par_actif_en_voiture, nombre_actifs_en_voiture, conso_usage_transport, emission_ges_transport, emission_covnm, emission_nh3, emission_nox, emission_sox, emission_pm10, emission_pm25, **kwargs)¶
Retourne pour une année donnée, les impacts énergétiques, les émission ges et la baisse de la facteur énergétique (action 18).
- Paramètres
region (str) – Nom de la région (nom officiel complet en minuscule, sans accent, e.g. auvergne-rhone-alpes)
year (str) – Année pour laquelle on calcule les impacts
user_params (dict) – Paramètres que l’utilisateur.trice doit saisir dans le formulaire de l’action
distance_moyenne_par_actif_en_voiture (dict) – Dictionnaire contenant la distance moyenne parcourue par actif en voiture pour ses trajets domicile-travail
nombre_actifs_en_voiture (dict) – Dictionnaire contenant le nombre d’actifs faisant un trajet domicile-travail en voiture.
conso_usage_transport (DF) – Quantité de chaque énergie consommée dans le secteur des transports de personnes
emission_ges_transport (DF) – Émission GES dans le transport de personnes
- Type renvoyé
- reduction_emission_non_energetique_agriculture(csv_params, year, user_params, emission_ges_agri, **kwargs)¶
- reduction_emission_non_energetique_industrie(csv_params, year, user_params, emission_ges_indus, **kwargs)¶
- renovation_residentielle(csv_params, year, user_params, conso_chauffage_ecs, emission_nox, emission_covnm, emission_pm10, emission_pm25, emission_nh3, emission_sox, **kwargs)¶
- renovation_tertiaire(csv_params, year, user_params, conso_usage_energie, emission_nox, emission_covnm, emission_pm10, emission_pm25, emission_nh3, emission_sox, **kwargs)¶
Calcul d’impact GES, NRJ et facture NRJ pour l’action de rénovation tertiaire cf : https://gitlab.com/terristory/terristory/-/issues/299
- reseau_chaleur(csv_params, year, user_params, cue, **kwargs)¶
calcul des impacts sur les émissions de GES, le gain énergétique, la facture énergétique pour l’action 5 « réseau de chaleur »
- sensibilisation_actif_covoit(region, csv_params, year, user_params, conso_usage_transport, emission_ges_transport, distance_moyenne_par_actif_en_voiture, emission_covnm, emission_nh3, emission_pm10, emission_pm25, emission_nox, emission_sox, **kwargs)¶
Retourne pour une année donnée, les impacts énergétiques, les émission ges et la baisse de la facteur énergétique (action 19).
- Paramètres
region (str) – Nom de la région (nom officiel complet en minuscule, sans accent, e.g. auvergne-rhone-alpes)
year (str) – Année pour laquelle on calcule les impacts
user_params (dict) – Paramètres que l’utilisateur.trice doit saisir dans le formulaire de l’action
distance_moyenne_par_actif_en_voiture (dict) – Dictionnaire contenant la distance moyenne parcourue par actif en voiture pour ses trajets domicile-travail
conso_usage_transport (DF) – Quantité de chaque énergie consommée dans le secteur des transports de personnes
emission_ges_transport (DF) – Émission GES dans le transport de personnes
- Type renvoyé
- solaire_thermique(stype, csv_params, year, user_params, conso_usage_energie, girad=None, **kwargs)¶
Calcul d’impact GES, NRJ et facture NRJ pour l’action d’installation solaire pour le logement collectif combiné eau chaude / chauffage
- voies_cyclables(csv_params, year, user_params, conso_usage_energie, emission_ges_secteur, region, emission_nox, emission_covnm, emission_pm10, emission_pm25, emission_nh3, emission_sox, **kwargs)¶
Calcul d’impact GES, NRJ et facture NRJ pour l’action de création de voies cyclables
api module¶
auth module¶
Module dédié à la partie d’authentification JWT de l’application.
- async authenticate(request, region)¶
Authenticate a user inside current region with login and password.
- Paramètres
request (sanic request) – must contain json args with login and password keys
region (str) – region key
- Renvoie
contains user_id structured as follows:
``` {
- »user_id »: {
« mail »: login, « region »: region
}
- Type renvoyé
- Lève
exceptions.AuthenticationFailed – when json params are missing
exceptions.AuthenticationFailed – when login or password are missing
exceptions.AuthenticationFailed – when user is not found
exceptions.AuthenticationFailed – when password is incorrect
- async extra_payload(payload: dict, *args, **kwargs)¶
Add information on current user inside JWT payload.
- async retrieve_refresh_token(request, user_id, *args, **kwargs)¶
Retrieve and check the refresh token for a specific account.
- Paramètres
user_id (dict) – must contain region and mail keys with user info
territorialsynthesis module¶
Module dédié aux indicateurs Européens territorialsynthesis
- compute_note(value: float, vmin: float, vmax: float, order: str, upperlimit: Optional[float] = None)¶
Calcul de normalisation entre 0 et 5
- Type renvoyé
None si max - min trop proche de 0 sinon la note
- compute_stats(values: list, order: str, upperlimit: Optional[float] = None)¶
Calcul des statistiques
- main()¶
- async setup_db()¶
initiate a postgresql connections pool
- async territorialsynthesis()¶
Tâche de calcul des notes synthèse territoriale pour chaque territoire et indicateur.
Le résultat est ensuite écrit dans la base de donnée dans les tables territorialsynthesis_stats et territorialsynthesis_notes.
- async work(region, session, terr, aid, order, name, year)¶
create_user module¶
Module pour créer un utilisateur·trice TerriStory en base de données.
Point d’entrée pour terriapi-user
. Exemple
- > terriapi-user –prenom Alice –nom Caroll –password rabbit –mail alice@caroll.wonderland –organisation « Collectivité » –fonction « Chef de projet » –territoire « Métropole Lyon » –profil admin –actif
–region
- async cleanup_db()¶
- async create_user(prenom, nom, password, mail, organisation, fonction, code_postal, region, profil, actif)¶
Crée un·e utilisateur·trice.
- main(argv=['-M', 'html', '.', '_build'])¶
Fonction principale pour créer un utilisateur·trice.
C’est le mail qui servira de login.
- run(prenom, nom, password, mail, organisation, fonction, code_postal, region, profil_id, actif)¶
Lance la boucle évenementielle pour exécuter la requête en base.
- async setup_db()¶
initiate a postgresql connections pool
user module¶
Blueprint for user
- async check_token_captcha(token)¶
- async create_user(request, region)¶
Create a new user
You can create a new user via the registration form. The account is not enabled by default. It is the admin, after receiving an e-mail, who must validate the account (see the “active” field).
- generate_password()¶
Generate a new random password.
- Renvoie
new password between 8 and 16 characters.
- Type renvoyé
Contrôleurs de l’API¶
Quelques informations sur les contrôleurs de l’API…
Éléments des contrôleurs de l’API