Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion bin/build-db
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ const targetDbFile = "src/Static/Json.elm";
const elmTemplate = fs.readFileSync(`${targetDbFile}-template`).toString();
const elmWithFixtures = elmTemplate
// Transverse JSON data
.replace("%countriesJson%", parseAndValidate("public/data/countries.json", "code"))
.replace("%geozonesJson%", parseAndValidate("public/data/geozones.json", "code"))
.replace("%impactsJson%", parseAndValidate("public/data/impacts.json"))
.replace(
"%processesJson%",
Expand Down
2 changes: 1 addition & 1 deletion bin/score_history/create_table_score_history.sql
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ CREATE TABLE score_history (
mass numeric NOT NULL,
elements text NOT NULL,
lifecycle_step text NOT NULL,
lifecycle_step_country text NOT NULL,
lifecycle_step_geozone text NOT NULL,
impact text NOT NULL,
value numeric NOT NULL,
norm_value_ecs numeric NOT NULL
Expand Down
12 changes: 6 additions & 6 deletions bin/score_history/score_history.py
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ def create_df_textile(
"mass": query["mass"],
"elements": json.dumps(query["materials"]),
"lifecycle_step": step_label,
"lifecycle_step_country": step.get("country", {}).get("code", ""),
"lifecycle_step_geozone": step.get("geozone", {}).get("code", ""),
"impact": impacts.index.tolist(),
"value": impacts.values.tolist(),
}
Expand All @@ -229,7 +229,7 @@ def create_df_textile(
"mass": query["mass"],
"elements": json.dumps(query["materials"]),
"lifecycle_step": step_label,
"lifecycle_step_country": step.get("country", {}).get("code", ""),
"lifecycle_step_geozone": step.get("geozone", {}).get("code", ""),
"impact": complementsImpacts.index.tolist(),
"value": 0,
"norm_value_ecs": complementsImpacts.values.tolist(),
Expand Down Expand Up @@ -316,7 +316,7 @@ def create_df_food(

Returns:
- pd.DataFrame: A DataFrame with columns for datetime, branch, commit, domain, product name, product ID,
query, mass, elements, lifecycle step and country, impact indices, values,
query, mass, elements, lifecycle step and geozone, impact indices, values,
and normalized impact values expressed in 'ecs' units.
"""
if lifecycle_step == "ingredients":
Expand All @@ -335,7 +335,7 @@ def create_df_food(
"mass": example["response"]["results"]["preparedMass"],
"elements": json.dumps(example["query"]["ingredients"]),
"lifecycle_step": lifecycle_step,
"lifecycle_step_country": "",
"lifecycle_step_geozone": "",
"impact": impacts_sr.index.tolist(),
"value": impacts_sr.values.tolist(),
}
Expand All @@ -356,7 +356,7 @@ def create_df_food(
"mass": example["response"]["results"]["preparedMass"],
"elements": json.dumps(example["query"]["ingredients"]),
"lifecycle_step": lifecycle_step,
"lifecycle_step_country": "",
"lifecycle_step_geozone": "",
"impact": complementsImpacts.index.tolist(),
"value": 0,
"norm_value_ecs": complementsImpacts.values.tolist(),
Expand Down Expand Up @@ -398,7 +398,7 @@ def are_df_different(df1, df2, tolerance=0.0001):
"product_name",
"query",
"lifecycle_step",
"lifecycle_step_country",
"lifecycle_step_geozone",
"impact",
]

Expand Down
2 changes: 1 addition & 1 deletion docker/server-simple.js
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ api.get("/", async (req, res) => {
});

// Redirects: API
api.get(/^\/countries$/, (_, res) => res.redirect("textile/countries"));
api.get(/^\/geozones$/, (_, res) => res.redirect("textile/geozones"));
api.get(/^\/materials$/, (_, res) => res.redirect("textile/materials"));
api.get(/^\/products$/, (_, res) => res.redirect("textile/products"));
const cleanRedirect = (url) => (url.startsWith("/") ? url : "");
Expand Down
72 changes: 36 additions & 36 deletions openapi.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,18 +39,18 @@ paths:
responses:
200:
description: Documentation de l'API au format OpenAPI.
/textile/countries:
/textile/geozones:
get:
tags:
- Textile
summary: Liste des pays utilisables pour les simulations textiles.
summary: Liste des zones géographiques utilisables pour les simulations textiles.
responses:
200:
description: Opération réussie
content:
application/json:
schema:
$ref: "#/components/schemas/CountryListResponse"
$ref: "#/components/schemas/GeozoneListResponse"
/textile/materials:
get:
tags:
Expand Down Expand Up @@ -179,18 +179,18 @@ paths:
application/json:
schema:
$ref: "#/components/schemas/TrimListResponse"
/food/countries:
/food/geozones:
get:
tags:
- Alimentaire
summary: Liste des pays utilisables pour les simulations alimentairess.
summary: Liste des zones géographiques utilisables pour les simulations alimentaires.
responses:
200:
description: Opération réussie
content:
application/json:
schema:
$ref: "#/components/schemas/CountryListResponse"
$ref: "#/components/schemas/GeozoneListResponse"
/food/ingredients:
get:
tags:
Expand Down Expand Up @@ -267,16 +267,16 @@ paths:
ingredients:
- id: cfd4a437-aa49-49ff-818e-353421f2fc09
mass: 120
country: ES
geozone: ES
- id: a98b8776-a96d-48e9-b218-976f5452907a
mass: 140
country: ES
geozone: ES
- id: 2bf307e8-8cb0-400b-a4f1-cf615d9e96f4
mass: 60
country: ES
geozone: ES
- id: 9042b6d0-c309-4757-a03f-ba802f0c8c01
mass: 225
country: ES
geozone: ES
transform:
id: a2836bb8-7f45-5cfa-bb00-8b38046291cf
mass: 545
Expand All @@ -292,7 +292,7 @@ paths:
ingredients:
- id: db0e5f44-34b4-4160-b003-77c828d75e60
mass: 500
country: BR
geozone: BR
transform: null
packaging: []
distribution: ambient
Expand Down Expand Up @@ -327,12 +327,12 @@ components:
materials:
- id: "62a4d6fb-3276-4ba5-93a3-889ecd3bff84"
share: 1
country: "FR"
geozone: "FR"
product: "tshirt"
countrySpinning: "FR"
countryFabric: "FR"
countryDyeing: "FR"
countryMaking: "FR"
geozoneSpinning: "FR"
geozoneFabric: "FR"
geozoneDyeing: "FR"
geozoneMaking: "FR"
fabricProcess: "knitting-mix"
tShirtChina:
summary: "T-Shirt Chine, low-cost, 100% Coton"
Expand All @@ -342,10 +342,10 @@ components:
- id: "62a4d6fb-3276-4ba5-93a3-889ecd3bff84"
share: 1
product: "tshirt"
countrySpinning: "CN"
countryFabric: "CN"
countryDyeing: "CN"
countryMaking: "CN"
geozoneSpinning: "CN"
geozoneFabric: "CN"
geozoneDyeing: "CN"
geozoneMaking: "CN"
airTransportRatio: 0.33
makingWaste: null
makingDeadStock: null
Expand Down Expand Up @@ -501,29 +501,29 @@ components:
- small-business
- large-business-with-services
- large-business-without-services
countryDyeing:
geozoneDyeing:
type: string
description: |
Code pays pour l'étape de **Teinture** (liste disponible sur le point d'entrée `textile/countries`)
Code de zone géographique pour l'étape de **Teinture** (liste disponible sur le point d'entrée `textile/geozones`)
minLength: 2
maxLength: 3
countryFabric:
geozoneFabric:
type: string
description: |
Code pays pour l'étape de **Tissage/Tricotage** (liste disponible sur le point d'entrée `textile/countries`)
Code de zone géographique pour l'étape de **Tissage/Tricotage** (liste disponible sur le point d'entrée `textile/geozones`)
minLength: 2
maxLength: 3
countryMaking:
geozoneMaking:
type: string
description: |
Code pays pour l'étape de **Confection** (liste disponible sur le point d'entrée `textile/countries`)
Code de zone géographique pour l'étape de **Confection** (liste disponible sur le point d'entrée `textile/geozones`)
minLength: 2
maxLength: 3
countrySpinning:
geozoneSpinning:
type: string
description: |
Code pays pour l'étape de **Filature** (liste disponible sur le point d'entrée `textile/countries`).
Si non spécifié, le pays de filature pris en considération est celui de production de
Code de zone géographique pour l'étape de **Filature** (liste disponible sur le point d'entrée `textile/geozones`).
Si non spécifié, la zone géographique de filature prise en considération est celle de production de
la matière la plus représentée dans le mix.
minLength: 2
maxLength: 3
Expand Down Expand Up @@ -731,9 +731,9 @@ components:
- ConventionalSpinning
- UnconventionalSpinning
- SyntheticSpinning
country:
geozone:
type: string
description: Code du pays d'origine de la matière (liste disponible sur le point d'entrée `/textile/countries`).
description: Code de la zone géographique d'origine de la matière (liste disponible sur le point d'entrée `/textile/geozones`).
minLength: 2
maxLength: 3
FoodQuery:
Expand Down Expand Up @@ -796,7 +796,7 @@ components:

- l'identifiant de la matière (pour avoir la liste, utiliser l'API de liste d'ingrédients)
- sa masse **exprimée en grammes**
- un éventuel code de pays d'origine (ex: `BR` pour le Brésil)
- un éventuel code de zone géographique d'origine (ex: `BR` pour le Brésil)
- un éventuel transport par avion *uniquement si c'est un [ingrédient de catégorie
"HORS EUROPE-MAGHREB (AVION)"](https://fabrique-numerique.gitbook.io/ecobalyse/alimentaire/transport#circuits-consideres)*
(valeurs possible: `<vide>`, `byPlane`, `noPlane`)
Expand All @@ -811,9 +811,9 @@ components:
mass:
type: number
description: Masse de l'ingrédient, **en grammes**
country:
geozone:
type: string
description: Code du pays d'origine (liste disponible sur le point d'entrée `/food/countries`).
description: Code de la zone géographique d'origine (liste disponible sur le point d'entrée `/food/geozones`).
byPlane:
type: string
description: Transport par avion
Expand Down Expand Up @@ -869,9 +869,9 @@ components:
type: string
description: |
Lien hypertexte vers la documentation de l'API
CountryListResponse:
GeozoneListResponse:
type: array
description: Liste des pays.
description: Liste des zones géographiques.
items:
type: object
properties:
Expand Down
Loading
Loading