From 5b215e5e5fa2886e454d72aac976511a1587dc06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phan?= Date: Fri, 16 May 2025 16:07:59 +0200 Subject: [PATCH] =?UTF-8?q?Replacement=20de=20criticite=20par=20ics=20pour?= =?UTF-8?q?=20rendre=20coh=C3=A9rent=20avec=20les=20autres=20indices.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 + app/analyse/sankey.py | 22 +- app/visualisations/graphes.py | 6 +- app/visualisations/interface.py | 6 +- schema.txt | 374 ++++++++++++++++---------------- utils/graph_utils.py | 16 +- utils/visualisation.py | 6 +- 7 files changed, 217 insertions(+), 215 deletions(-) diff --git a/.gitignore b/.gitignore index bf55d34..b9e6fb7 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ __pycache__/ *.pyo *.pyd +.dot # Ignorer cache et temporaire .cache/ @@ -19,6 +20,7 @@ venv/ .venv/ Local/ HTML/ +Corpus/ # Ignorer données Fiches (adapté à ton projet) Fiches/ diff --git a/app/analyse/sankey.py b/app/analyse/sankey.py index 5878064..4ae477d 100644 --- a/app/analyse/sankey.py +++ b/app/analyse/sankey.py @@ -37,14 +37,14 @@ def extraire_niveaux(G): logging.warning(f"Niveau non entier pour le noeud {node}: {niveau_str}") return niveaux -def extraire_criticite(G, u, v): +def extraire_ics(G, u, v): """Extrait la criticité d'un lien entre deux nœuds""" data = G.get_edge_data(u, v) if not data: return 0 if isinstance(data, dict) and all(isinstance(k, int) for k in data): - return float(data[0].get("criticite", 0)) - return float(data.get("criticite", 0)) + return float(data[0].get("ics", 0)) + return float(data.get("ics", 0)) def extraire_chemins_selon_criteres(G, niveaux, niveau_depart, noeuds_depart, noeuds_arrivee, minerais): """Extrait les chemins selon les critères spécifiés""" @@ -102,7 +102,7 @@ def verifier_critere_ics(G, chemin, niveaux): if ((niveau_u == 1 and niveau_v == 2) or (niveau_u == 1001 and niveau_v == 1002) or - (niveau_u == 10 and niveau_v in (1000, 1001))) and extraire_criticite(G, u, v) > 0.66: + (niveau_u == 10 and niveau_v in (1000, 1001))) and extraire_ics(G, u, v) > 0.66: return True return False @@ -153,7 +153,7 @@ def filtrer_chemins_par_criteres(G, chemins, niveaux, niveau_depart, niveau_arri # Vérification des critères pour ce chemin has_ihh = filtrer_ihh and verifier_critere_ihh(G, chemin, niveaux, ihh_type) has_ivc = filtrer_ivc and verifier_critere_ivc(G, chemin, niveaux) - has_criticite = filtrer_ics and verifier_critere_ics(G, chemin, niveaux) + has_ics = filtrer_ics and verifier_critere_ics(G, chemin, niveaux) has_isg_critique = filtrer_isg and verifier_critere_isg(G, chemin, niveaux) # Appliquer la logique de filtrage @@ -161,12 +161,12 @@ def filtrer_chemins_par_criteres(G, chemins, niveaux, niveau_depart, niveau_arri keep = True if filtrer_ihh: keep = keep and has_ihh if filtrer_ivc: keep = keep and has_ivc - if filtrer_ics: keep = keep and has_criticite + if filtrer_ics: keep = keep and has_ics if filtrer_isg: keep = keep and has_isg_critique if keep: chemins_filtres.add(tuple(chemin)) elif logique_filtrage == "OU": - if has_ihh or has_ivc or has_criticite or has_isg_critique: + if has_ihh or has_ivc or has_ics or has_isg_critique: chemins_filtres.add(tuple(chemin)) # Extraction des liens après filtrage @@ -176,7 +176,7 @@ def filtrer_chemins_par_criteres(G, chemins, niveaux, niveau_depart, niveau_arri return liens_filtres, chemins_filtres -def couleur_criticite(p): +def couleur_ics(p): """Retourne la couleur en fonction du niveau de criticité""" if p <= 0.33: return "darkgreen" @@ -206,8 +206,8 @@ def preparer_donnees_sankey(G, liens_chemins, niveaux, chemins): df_liens = pd.DataFrame(list(liens_chemins), columns=["source", "target"]) df_liens = df_liens.groupby(["source", "target"]).size().reset_index(name="value") - df_liens["criticite"] = df_liens.apply( - lambda row: extraire_criticite(G, row["source"], row["target"]), axis=1) + df_liens["ics"] = df_liens.apply( + lambda row: extraire_ics(G, row["source"], row["target"]), axis=1) df_liens["value"] = 0.1 # Ne garder que les nœuds effectivement connectés @@ -221,7 +221,7 @@ def preparer_donnees_sankey(G, liens_chemins, niveaux, chemins): noeuds_utilises.add(n) df_liens["color"] = df_liens.apply( - lambda row: couleur_criticite(row["criticite"]) if row["criticite"] > 0 else "white", + lambda row: couleur_ics(row["ics"]) if row["ics"] > 0 else "white", axis=1 ) diff --git a/app/visualisations/graphes.py b/app/visualisations/graphes.py index e5adddc..1a444d5 100644 --- a/app/visualisations/graphes.py +++ b/app/visualisations/graphes.py @@ -55,8 +55,8 @@ def afficher_graphique_altair(df): base = alt.Chart(df_cat).encode( x=alt.X('ihh_pays:Q', title=str(_("pages.visualisations.axis_titles.ihh_countries"))), y=alt.Y('ihh_acteurs:Q', title=str(_("pages.visualisations.axis_titles.ihh_actors"))), - size=alt.Size('criticite_cat:Q', scale=alt.Scale(domain=[1, 2, 3], range=[50, 500, 1000]), legend=None), - color=alt.Color('criticite_cat:N', scale=alt.Scale(domain=[1, 2, 3], range=['darkgreen', 'orange', 'darkred'])) + size=alt.Size('ics_cat:Q', scale=alt.Scale(domain=[1, 2, 3], range=[50, 500, 1000]), legend=None), + color=alt.Color('ics_cat:N', scale=alt.Scale(domain=[1, 2, 3], range=['darkgreen', 'orange', 'darkred'])) ) points = base.mark_circle(opacity=0.6) @@ -162,7 +162,7 @@ def creer_graphes(donnees): st.error(f"{str(_('errors.graph_creation_error'))} {e}") -def lancer_visualisation_ihh_criticite(graph): +def lancer_visualisation_ihh_ics(graph): try: import networkx as nx from utils.graph_utils import recuperer_donnees diff --git a/app/visualisations/interface.py b/app/visualisations/interface.py index d82e781..dec29b5 100644 --- a/app/visualisations/interface.py +++ b/app/visualisations/interface.py @@ -3,7 +3,7 @@ from utils.widgets import html_expander from utils.translations import _ from .graphes import ( - lancer_visualisation_ihh_criticite, + lancer_visualisation_ihh_ics, lancer_visualisation_ihh_ivc ) @@ -17,9 +17,9 @@ def interface_visualisations(G_temp, G_temp_ivc): {str(_("pages.visualisations.ihh_criticality_desc"))} """) - if st.button(str(_("buttons.run")), key="btn_ihh_criticite"): + if st.button(str(_("buttons.run")), key="btn_ihh_ics"): try: - lancer_visualisation_ihh_criticite(G_temp) + lancer_visualisation_ihh_ics(G_temp) except Exception as e: st.error(f"{str(_('errors.ihh_criticality_error'))} {e}") diff --git a/schema.txt b/schema.txt index ca40d4c..36a831a 100644 --- a/schema.txt +++ b/schema.txt @@ -1429,21 +1429,21 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { Batterie [fillcolor="#b3ffe0", label="Batterie", niveau="1"]; // Relations sortantes - Batterie -> Germanium [cout="0.6", criticite="0.64", delai="0.6", technique="0.7"]; - Batterie -> CreusetGraphite [cout="0.5", criticite="0.44", delai="0.3", technique="0.5"]; + Batterie -> Germanium [cout="0.6", ics="0.64", delai="0.6", technique="0.7"]; + Batterie -> CreusetGraphite [cout="0.5", ics="0.44", delai="0.3", technique="0.5"]; Batterie -> Arsenic []; - Batterie -> Silicium [cout="0.9", criticite="0.9", delai="0.9", technique="0.9"]; - Batterie -> Antimoine [cout="0.7", criticite="0.6", delai="0.5", technique="0.6"]; - Batterie -> Gallium [cout="0.5", criticite="0.47", delai="0.4", technique="0.5"]; - Batterie -> Phosphore [cout="0.6", criticite="0.5", delai="0.4", technique="0.5"]; - Batterie -> Nickel [cout="0.4", criticite="0.44", delai="0.4", technique="0.5"]; + Batterie -> Silicium [cout="0.9", ics="0.9", delai="0.9", technique="0.9"]; + Batterie -> Antimoine [cout="0.7", ics="0.6", delai="0.5", technique="0.6"]; + Batterie -> Gallium [cout="0.5", ics="0.47", delai="0.4", technique="0.5"]; + Batterie -> Phosphore [cout="0.6", ics="0.5", delai="0.4", technique="0.5"]; + Batterie -> Nickel [cout="0.4", ics="0.44", delai="0.4", technique="0.5"]; Batterie -> Fabrication_Batterie []; - Batterie -> Lithium [cout="0.4", criticite="0.51", delai="0.5", technique="0.6"]; - Batterie -> Manganese [cout="0.5", criticite="0.4", delai="0.3", technique="0.4"]; - Batterie -> Cobalt [cout="0.5", criticite="0.57", delai="0.6", technique="0.6"]; - Batterie -> Lanthane [cout="0.5", criticite="0.54", delai="0.5", technique="0.6"]; - Batterie -> Graphite [cout="0.4", criticite="0.51", delai="0.5", technique="0.6"]; - Batterie -> Zinc [cout="0.4", criticite="0.3", delai="0.2", technique="0.3"]; + Batterie -> Lithium [cout="0.4", ics="0.51", delai="0.5", technique="0.6"]; + Batterie -> Manganese [cout="0.5", ics="0.4", delai="0.3", technique="0.4"]; + Batterie -> Cobalt [cout="0.5", ics="0.57", delai="0.6", technique="0.6"]; + Batterie -> Lanthane [cout="0.5", ics="0.54", delai="0.5", technique="0.6"]; + Batterie -> Graphite [cout="0.4", ics="0.51", delai="0.5", technique="0.6"]; + Batterie -> Zinc [cout="0.4", ics="0.3", delai="0.2", technique="0.3"]; Batterie -> Plomb []; @@ -1460,7 +1460,7 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { Fabrication_Batterie -> Pologne_Fabrication_Batterie [color="purple", fontcolor="purple", label="2%", poids="1"]; Fabrication_Batterie -> Chine_Fabrication_Batterie [color="purple", fontcolor="purple", label="54%", poids="2"]; Fabrication_Batterie -> CoreeDuSud_Fabrication_Batterie [color="purple", fontcolor="purple", label="26%", poids="2"]; - Fabrication_Batterie -> ProcedeDUV [cout="0.5", criticite="0.29", delai="0.2", technique="0.2"]; + Fabrication_Batterie -> ProcedeDUV [cout="0.5", ics="0.29", delai="0.2", technique="0.2"]; subgraph cluster_Japon_Fabrication_Batterie { label="Japon_Fabrication_Batterie"; @@ -1575,19 +1575,19 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { Audio [fillcolor="#b3ffe0", label="Audio", niveau="1"]; // Relations sortantes - Audio -> Manganese [cout="0.7", criticite="0.6", delai="0.5", technique="0.6"]; - Audio -> Dysprosium [cout="0.7", criticite="0.7", delai="0.7", technique="0.7"]; - Audio -> Tungstene [cout="0.6", criticite="0.61", delai="0.5", technique="0.7"]; - Audio -> Neodyme [cout="0.4", criticite="0.47", delai="0.5", technique="0.5"]; + Audio -> Manganese [cout="0.7", ics="0.6", delai="0.5", technique="0.6"]; + Audio -> Dysprosium [cout="0.7", ics="0.7", delai="0.7", technique="0.7"]; + Audio -> Tungstene [cout="0.6", ics="0.61", delai="0.5", technique="0.7"]; + Audio -> Neodyme [cout="0.4", ics="0.47", delai="0.5", technique="0.5"]; Audio -> Fabrication_Audio []; - Audio -> Praseodyme [cout="0.3", criticite="0.41", delai="0.4", technique="0.5"]; - Audio -> Germanium [cout="0.6", criticite="0.64", delai="0.6", technique="0.7"]; - Audio -> CreusetGraphite [cout="0.5", criticite="0.44", delai="0.3", technique="0.5"]; + Audio -> Praseodyme [cout="0.3", ics="0.41", delai="0.4", technique="0.5"]; + Audio -> Germanium [cout="0.6", ics="0.64", delai="0.6", technique="0.7"]; + Audio -> CreusetGraphite [cout="0.5", ics="0.44", delai="0.3", technique="0.5"]; Audio -> Arsenic []; - Audio -> Silicium [cout="0.9", criticite="0.9", delai="0.9", technique="0.9"]; - Audio -> Antimoine [cout="0.7", criticite="0.6", delai="0.5", technique="0.6"]; - Audio -> Gallium [cout="0.5", criticite="0.47", delai="0.4", technique="0.5"]; - Audio -> Phosphore [cout="0.6", criticite="0.5", delai="0.4", technique="0.5"]; + Audio -> Silicium [cout="0.9", ics="0.9", delai="0.9", technique="0.9"]; + Audio -> Antimoine [cout="0.7", ics="0.6", delai="0.5", technique="0.6"]; + Audio -> Gallium [cout="0.5", ics="0.47", delai="0.4", technique="0.5"]; + Audio -> Phosphore [cout="0.6", ics="0.5", delai="0.4", technique="0.5"]; subgraph cluster_Fabrication_Audio { label="Fabrication_Audio"; @@ -1602,7 +1602,7 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { Fabrication_Audio -> CoreeDuSud_Fabrication_Audio [color="purple", fontcolor="purple", label="10%", poids="1"]; Fabrication_Audio -> Chine_Fabrication_Audio [color="purple", fontcolor="purple", label="56%", poids="2"]; Fabrication_Audio -> Taiwan_Fabrication_Audio [color="purple", fontcolor="purple", label="15%", poids="1"]; - Fabrication_Audio -> ProcedeDUV [cout="0.5", criticite="0.29", delai="0.2", technique="0.2"]; + Fabrication_Audio -> ProcedeDUV [cout="0.5", ics="0.29", delai="0.2", technique="0.2"]; subgraph cluster_EtatsUnis_Fabrication_Audio { label="EtatsUnis_Fabrication_Audio"; @@ -1732,23 +1732,23 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { Connecteurs [fillcolor="#b3ffe0", label="Connecteurs", niveau="1"]; // Relations sortantes - Connecteurs -> Cuivre [cout="0.7", criticite="0.81", delai="0.8", technique="0.9"]; - Connecteurs -> Beryllium [cout="0.6", criticite="0.64", delai="0.6", technique="0.7"]; - Connecteurs -> Argent [cout="0.6", criticite="0.61", delai="0.5", technique="0.7"]; - Connecteurs -> Nickel [cout="0.6", criticite="0.5", delai="0.4", technique="0.5"]; + Connecteurs -> Cuivre [cout="0.7", ics="0.81", delai="0.8", technique="0.9"]; + Connecteurs -> Beryllium [cout="0.6", ics="0.64", delai="0.6", technique="0.7"]; + Connecteurs -> Argent [cout="0.6", ics="0.61", delai="0.5", technique="0.7"]; + Connecteurs -> Nickel [cout="0.6", ics="0.5", delai="0.4", technique="0.5"]; Connecteurs -> Fabrication_Connecteurs []; Connecteurs -> Aluminium []; - Connecteurs -> Palladium [cout="0.6", criticite="0.5", delai="0.4", technique="0.5"]; - Connecteurs -> Or [cout="0.6", criticite="0.64", delai="0.6", technique="0.7"]; + Connecteurs -> Palladium [cout="0.6", ics="0.5", delai="0.4", technique="0.5"]; + Connecteurs -> Or [cout="0.6", ics="0.64", delai="0.6", technique="0.7"]; Connecteurs -> Plomb []; - Connecteurs -> Etain [cout="0.6", criticite="0.6", delai="0.6", technique="0.6"]; - Connecteurs -> Germanium [cout="0.6", criticite="0.64", delai="0.6", technique="0.7"]; - Connecteurs -> CreusetGraphite [cout="0.5", criticite="0.44", delai="0.3", technique="0.5"]; + Connecteurs -> Etain [cout="0.6", ics="0.6", delai="0.6", technique="0.6"]; + Connecteurs -> Germanium [cout="0.6", ics="0.64", delai="0.6", technique="0.7"]; + Connecteurs -> CreusetGraphite [cout="0.5", ics="0.44", delai="0.3", technique="0.5"]; Connecteurs -> Arsenic []; - Connecteurs -> Silicium [cout="0.9", criticite="0.9", delai="0.9", technique="0.9"]; - Connecteurs -> Antimoine [cout="0.7", criticite="0.6", delai="0.5", technique="0.6"]; - Connecteurs -> Gallium [cout="0.5", criticite="0.47", delai="0.4", technique="0.5"]; - Connecteurs -> Phosphore [cout="0.6", criticite="0.5", delai="0.4", technique="0.5"]; + Connecteurs -> Silicium [cout="0.9", ics="0.9", delai="0.9", technique="0.9"]; + Connecteurs -> Antimoine [cout="0.7", ics="0.6", delai="0.5", technique="0.6"]; + Connecteurs -> Gallium [cout="0.5", ics="0.47", delai="0.4", technique="0.5"]; + Connecteurs -> Phosphore [cout="0.6", ics="0.5", delai="0.4", technique="0.5"]; subgraph cluster_Fabrication_Connecteurs { @@ -1765,7 +1765,7 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { Fabrication_Connecteurs -> CoreeDuSud_Fabrication_Connecteurs [color="purple", fontcolor="purple", label="5%", poids="1"]; Fabrication_Connecteurs -> Japon_Fabrication_Connecteurs [color="purple", fontcolor="purple", label="14%", poids="1"]; Fabrication_Connecteurs -> Allemagne_Fabrication_Connecteurs [color="purple", fontcolor="purple", label="7%", poids="1"]; - Fabrication_Connecteurs -> ProcedeDUV [cout="0.5", criticite="0.29", delai="0.2", technique="0.2"]; + Fabrication_Connecteurs -> ProcedeDUV [cout="0.5", ics="0.29", delai="0.2", technique="0.2"]; subgraph cluster_EtatsUnis_Fabrication_Connecteurs { label="EtatsUnis_Fabrication_Connecteurs"; @@ -1898,19 +1898,19 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { Camera [fillcolor="#b3ffe0", label="Caméra", niveau="1"]; // Relations sortantes - Camera -> Cerium [cout="0.6", criticite="0.71", delai="0.7", technique="0.8"]; - Camera -> Lanthane [cout="0.6", criticite="0.64", delai="0.6", technique="0.7"]; - Camera -> Holmium [cout="0.8", criticite="0.84", delai="0.8", technique="0.9"]; + Camera -> Cerium [cout="0.6", ics="0.71", delai="0.7", technique="0.8"]; + Camera -> Lanthane [cout="0.6", ics="0.64", delai="0.6", technique="0.7"]; + Camera -> Holmium [cout="0.8", ics="0.84", delai="0.8", technique="0.9"]; Camera -> Fabrication_Camera []; - Camera -> Platine [cout="0.6", criticite="0.71", delai="0.7", technique="0.8"]; + Camera -> Platine [cout="0.6", ics="0.71", delai="0.7", technique="0.8"]; Camera -> Verre []; - Camera -> Germanium [cout="0.6", criticite="0.64", delai="0.6", technique="0.7"]; - Camera -> CreusetGraphite [cout="0.5", criticite="0.44", delai="0.3", technique="0.5"]; + Camera -> Germanium [cout="0.6", ics="0.64", delai="0.6", technique="0.7"]; + Camera -> CreusetGraphite [cout="0.5", ics="0.44", delai="0.3", technique="0.5"]; Camera -> Arsenic []; - Camera -> Silicium [cout="0.9", criticite="0.9", delai="0.9", technique="0.9"]; - Camera -> Antimoine [cout="0.7", criticite="0.6", delai="0.5", technique="0.6"]; - Camera -> Gallium [cout="0.5", criticite="0.47", delai="0.4", technique="0.5"]; - Camera -> Phosphore [cout="0.6", criticite="0.5", delai="0.4", technique="0.5"]; + Camera -> Silicium [cout="0.9", ics="0.9", delai="0.9", technique="0.9"]; + Camera -> Antimoine [cout="0.7", ics="0.6", delai="0.5", technique="0.6"]; + Camera -> Gallium [cout="0.5", ics="0.47", delai="0.4", technique="0.5"]; + Camera -> Phosphore [cout="0.6", ics="0.5", delai="0.4", technique="0.5"]; subgraph cluster_Fabrication_Camera { @@ -1927,7 +1927,7 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { Fabrication_Camera -> CoreeDuSud_Fabrication_Camera [color="purple", fontcolor="purple", label="18%", poids="1"]; Fabrication_Camera -> Allemagne_Fabrication_Camera [color="purple", fontcolor="purple", label="3%", poids="1"]; Fabrication_Camera -> Taiwan_Fabrication_Camera [color="purple", fontcolor="purple", label="10%", poids="1"]; - Fabrication_Camera -> ProcedeDUV [cout="0.5", criticite="0.29", delai="0.2", technique="0.2"]; + Fabrication_Camera -> ProcedeDUV [cout="0.5", ics="0.29", delai="0.2", technique="0.2"]; subgraph cluster_Chine_Fabrication_Camera { label="Chine_Fabrication_Camera"; @@ -2061,16 +2061,16 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { // Relations sortantes Boitier -> Polystyrene []; - Boitier -> Zinc [cout="0.4", criticite="0.3", delai="0.2", technique="0.3"]; + Boitier -> Zinc [cout="0.4", ics="0.3", delai="0.2", technique="0.3"]; Boitier -> Fabrication_Boitier []; Boitier -> Acier []; - Boitier -> Titane [cout="0.7", criticite="0.67", delai="0.6", technique="0.7"]; - Boitier -> Chrome [cout="0.5", criticite="0.39", delai="0.4", technique="0.3"]; + Boitier -> Titane [cout="0.7", ics="0.67", delai="0.6", technique="0.7"]; + Boitier -> Chrome [cout="0.5", ics="0.39", delai="0.4", technique="0.3"]; Boitier -> Plastiques []; Boitier -> Aluminium []; - Boitier -> Manganese [cout="0.5", criticite="0.4", delai="0.3", technique="0.4"]; + Boitier -> Manganese [cout="0.5", ics="0.4", delai="0.3", technique="0.4"]; Boitier -> PVC []; - Boitier -> Magnesium [cout="0.6", criticite="0.5", delai="0.4", technique="0.5"]; + Boitier -> Magnesium [cout="0.6", ics="0.5", delai="0.4", technique="0.5"]; Boitier -> PET []; @@ -2216,15 +2216,15 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { // Relations sortantes EcranOLED -> IndiumEtain []; EcranOLED -> Fabrication_EcranOLED []; - EcranOLED -> Cerium [cout="0.6", criticite="0.64", delai="0.6", technique="0.7"]; - EcranOLED -> Yttrium [cout="0.7", criticite="0.7", delai="0.7", technique="0.7"]; + EcranOLED -> Cerium [cout="0.6", ics="0.64", delai="0.6", technique="0.7"]; + EcranOLED -> Yttrium [cout="0.7", ics="0.7", delai="0.7", technique="0.7"]; EcranOLED -> PET []; - EcranOLED -> Aluminium [cout="0.5", criticite="0.4", delai="0.3", technique="0.4"]; + EcranOLED -> Aluminium [cout="0.5", ics="0.4", delai="0.3", technique="0.4"]; EcranOLED -> Verre []; EcranOLED -> Plastiques []; EcranOLED -> Arsenic []; - EcranOLED -> Gallium [cout="0.3", criticite="0.41", delai="0.4", technique="0.5"]; - EcranOLED -> CreusetGraphite [cout="0.5", criticite="0.44", delai="0.3", technique="0.5"]; + EcranOLED -> Gallium [cout="0.3", ics="0.41", delai="0.4", technique="0.5"]; + EcranOLED -> CreusetGraphite [cout="0.5", ics="0.44", delai="0.3", technique="0.5"]; subgraph cluster_Fabrication_EcranOLED { @@ -2241,7 +2241,7 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { Fabrication_EcranOLED -> EtatsUnis_Fabrication_EcranOLED [color="purple", fontcolor="purple", label="2%", poids="1"]; Fabrication_EcranOLED -> CoreeDuSud_Fabrication_EcranOLED [color="purple", fontcolor="purple", label="54%", poids="2"]; Fabrication_EcranOLED -> Chine_Fabrication_EcranOLED [color="purple", fontcolor="purple", label="28%", poids="2"]; - Fabrication_EcranOLED -> ProcedeDUV [cout="0.5", criticite="0.29", delai="0.2", technique="0.2"]; + Fabrication_EcranOLED -> ProcedeDUV [cout="0.5", ics="0.29", delai="0.2", technique="0.2"]; subgraph cluster_Taiwan_Fabrication_EcranOLED { label="Taiwan_Fabrication_EcranOLED"; @@ -2374,17 +2374,17 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { EcranMiniLED [fillcolor="#b3ffe0", label="Écran Mini et Micro LED", niveau="1"]; // Relations sortantes - EcranMiniLED -> Aluminium [cout="0.6", criticite="0.5", delai="0.4", technique="0.5"]; - EcranMiniLED -> Terbium [cout="0.7", criticite="0.81", delai="0.8", technique="0.9"]; - EcranMiniLED -> Europium [cout="0.7", criticite="0.81", delai="0.8", technique="0.9"]; - EcranMiniLED -> Yttrium [cout="0.7", criticite="0.74", delai="0.7", technique="0.8"]; + EcranMiniLED -> Aluminium [cout="0.6", ics="0.5", delai="0.4", technique="0.5"]; + EcranMiniLED -> Terbium [cout="0.7", ics="0.81", delai="0.8", technique="0.9"]; + EcranMiniLED -> Europium [cout="0.7", ics="0.81", delai="0.8", technique="0.9"]; + EcranMiniLED -> Yttrium [cout="0.7", ics="0.74", delai="0.7", technique="0.8"]; EcranMiniLED -> Fabrication_EcranMiniLED []; EcranMiniLED -> Plastiques []; EcranMiniLED -> Verre []; EcranMiniLED -> IndiumEtain []; EcranMiniLED -> Arsenic []; - EcranMiniLED -> Gallium [cout="0.3", criticite="0.41", delai="0.4", technique="0.5"]; - EcranMiniLED -> CreusetGraphite [cout="0.5", criticite="0.44", delai="0.3", technique="0.5"]; + EcranMiniLED -> Gallium [cout="0.3", ics="0.41", delai="0.4", technique="0.5"]; + EcranMiniLED -> CreusetGraphite [cout="0.5", ics="0.44", delai="0.3", technique="0.5"]; subgraph cluster_Fabrication_EcranMiniLED { @@ -2401,7 +2401,7 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { Fabrication_EcranMiniLED -> Japon_Fabrication_EcranMiniLED [color="purple", fontcolor="purple", label="9%", poids="1"]; Fabrication_EcranMiniLED -> Allemagne_Fabrication_EcranMiniLED [color="purple", fontcolor="purple", label="4%", poids="1"]; Fabrication_EcranMiniLED -> CoreeDuSud_Fabrication_EcranMiniLED [color="purple", fontcolor="purple", label="25%", poids="1"]; - Fabrication_EcranMiniLED -> ProcedeDUV [cout="0.5", criticite="0.29", delai="0.2", technique="0.2"]; + Fabrication_EcranMiniLED -> ProcedeDUV [cout="0.5", ics="0.29", delai="0.2", technique="0.2"]; subgraph cluster_Taiwan_Fabrication_EcranMiniLED { label="Taiwan_Fabrication_EcranMiniLED"; @@ -2534,18 +2534,18 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { Connectivite [fillcolor="#b3ffe0", label="Connectivité", niveau="1"]; // Relations sortantes - Connectivite -> Aluminium [cout="0.5", criticite="0.47", delai="0.4", technique="0.5"]; + Connectivite -> Aluminium [cout="0.5", ics="0.47", delai="0.4", technique="0.5"]; Connectivite -> Fabrication_Connectivite []; - Connectivite -> Samarium [cout="0.6", criticite="0.64", delai="0.6", technique="0.7"]; - Connectivite -> Beryllium [cout="0.6", criticite="0.64", delai="0.6", technique="0.7"]; - Connectivite -> Erbium [cout="0.7", criticite="0.74", delai="0.7", technique="0.8"]; - Connectivite -> Germanium [cout="0.6", criticite="0.64", delai="0.6", technique="0.7"]; - Connectivite -> CreusetGraphite [cout="0.5", criticite="0.44", delai="0.3", technique="0.5"]; + Connectivite -> Samarium [cout="0.6", ics="0.64", delai="0.6", technique="0.7"]; + Connectivite -> Beryllium [cout="0.6", ics="0.64", delai="0.6", technique="0.7"]; + Connectivite -> Erbium [cout="0.7", ics="0.74", delai="0.7", technique="0.8"]; + Connectivite -> Germanium [cout="0.6", ics="0.64", delai="0.6", technique="0.7"]; + Connectivite -> CreusetGraphite [cout="0.5", ics="0.44", delai="0.3", technique="0.5"]; Connectivite -> Arsenic []; - Connectivite -> Silicium [cout="0.9", criticite="0.9", delai="0.9", technique="0.9"]; - Connectivite -> Antimoine [cout="0.7", criticite="0.6", delai="0.5", technique="0.6"]; - Connectivite -> Gallium [cout="0.5", criticite="0.47", delai="0.4", technique="0.5"]; - Connectivite -> Phosphore [cout="0.6", criticite="0.5", delai="0.4", technique="0.5"]; + Connectivite -> Silicium [cout="0.9", ics="0.9", delai="0.9", technique="0.9"]; + Connectivite -> Antimoine [cout="0.7", ics="0.6", delai="0.5", technique="0.6"]; + Connectivite -> Gallium [cout="0.5", ics="0.47", delai="0.4", technique="0.5"]; + Connectivite -> Phosphore [cout="0.6", ics="0.5", delai="0.4", technique="0.5"]; subgraph cluster_Fabrication_Connectivite { @@ -2562,7 +2562,7 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { Fabrication_Connectivite -> CoreeDuSud_Fabrication_Connectivite [color="purple", fontcolor="purple", label="11%", poids="1"]; Fabrication_Connectivite -> PaysBas_Fabrication_Connectivite [color="purple", fontcolor="purple", label="3%", poids="1"]; Fabrication_Connectivite -> EtatsUnis_Fabrication_Connectivite [color="purple", fontcolor="purple", label="24%", poids="1"]; - Fabrication_Connectivite -> ProcedeDUV [cout="0.5", criticite="0.29", delai="0.2", technique="0.2"]; + Fabrication_Connectivite -> ProcedeDUV [cout="0.5", ics="0.29", delai="0.2", technique="0.2"]; subgraph cluster_Israel_Fabrication_Connectivite { label="Israel_Fabrication_Connectivite"; @@ -2692,19 +2692,19 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { Capteurs [fillcolor="#b3ffe0", label="Capteurs", niveau="1"]; // Relations sortantes - Capteurs -> Samarium [cout="0.7", criticite="0.74", delai="0.7", technique="0.8"]; - Capteurs -> Platine [cout="0.7", criticite="0.7", delai="0.7", technique="0.7"]; - Capteurs -> Holmium [cout="0.8", criticite="0.84", delai="0.8", technique="0.9"]; - Capteurs -> Manganese [cout="0.6", criticite="0.5", delai="0.4", technique="0.5"]; - Capteurs -> Gadolinium [cout="0.7", criticite="0.74", delai="0.7", technique="0.8"]; + Capteurs -> Samarium [cout="0.7", ics="0.74", delai="0.7", technique="0.8"]; + Capteurs -> Platine [cout="0.7", ics="0.7", delai="0.7", technique="0.7"]; + Capteurs -> Holmium [cout="0.8", ics="0.84", delai="0.8", technique="0.9"]; + Capteurs -> Manganese [cout="0.6", ics="0.5", delai="0.4", technique="0.5"]; + Capteurs -> Gadolinium [cout="0.7", ics="0.74", delai="0.7", technique="0.8"]; Capteurs -> Fabrication_Capteurs []; - Capteurs -> Germanium [cout="0.6", criticite="0.64", delai="0.6", technique="0.7"]; - Capteurs -> CreusetGraphite [cout="0.5", criticite="0.44", delai="0.3", technique="0.5"]; + Capteurs -> Germanium [cout="0.6", ics="0.64", delai="0.6", technique="0.7"]; + Capteurs -> CreusetGraphite [cout="0.5", ics="0.44", delai="0.3", technique="0.5"]; Capteurs -> Arsenic []; - Capteurs -> Silicium [cout="0.9", criticite="0.9", delai="0.9", technique="0.9"]; - Capteurs -> Antimoine [cout="0.7", criticite="0.6", delai="0.5", technique="0.6"]; - Capteurs -> Gallium [cout="0.5", criticite="0.47", delai="0.4", technique="0.5"]; - Capteurs -> Phosphore [cout="0.6", criticite="0.5", delai="0.4", technique="0.5"]; + Capteurs -> Silicium [cout="0.9", ics="0.9", delai="0.9", technique="0.9"]; + Capteurs -> Antimoine [cout="0.7", ics="0.6", delai="0.5", technique="0.6"]; + Capteurs -> Gallium [cout="0.5", ics="0.47", delai="0.4", technique="0.5"]; + Capteurs -> Phosphore [cout="0.6", ics="0.5", delai="0.4", technique="0.5"]; subgraph cluster_Fabrication_Capteurs { @@ -2722,7 +2722,7 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { Fabrication_Capteurs -> Taiwan_Fabrication_Capteurs [color="purple", fontcolor="purple", label="7%", poids="1"]; Fabrication_Capteurs -> Japon_Fabrication_Capteurs [color="purple", fontcolor="purple", label="26%", poids="2"]; Fabrication_Capteurs -> Suisse_Fabrication_Capteurs [color="purple", fontcolor="purple", label="2%", poids="1"]; - Fabrication_Capteurs -> ProcedeDUV [cout="0.5", criticite="0.29", delai="0.2", technique="0.2"]; + Fabrication_Capteurs -> ProcedeDUV [cout="0.5", ics="0.29", delai="0.2", technique="0.2"]; subgraph cluster_CoreeDuSud_Fabrication_Capteurs { label="CoreeDuSud_Fabrication_Capteurs"; @@ -2867,21 +2867,21 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { CarteMere [fillcolor="#b3ffe0", label="Carte mère", niveau="1"]; // Relations sortantes - CarteMere -> Argent [cout="0.6", criticite="0.61", delai="0.5", technique="0.7"]; + CarteMere -> Argent [cout="0.6", ics="0.61", delai="0.5", technique="0.7"]; CarteMere -> PVC []; CarteMere -> Ceramiques []; - CarteMere -> Cuivre [cout="0.7", criticite="0.81", delai="0.8", technique="0.9"]; - CarteMere -> Etain [cout="0.6", criticite="0.6", delai="0.6", technique="0.6"]; - CarteMere -> Aluminium [cout="0.6", criticite="0.43", delai="0.3", technique="0.4"]; + CarteMere -> Cuivre [cout="0.7", ics="0.81", delai="0.8", technique="0.9"]; + CarteMere -> Etain [cout="0.6", ics="0.6", delai="0.6", technique="0.6"]; + CarteMere -> Aluminium [cout="0.6", ics="0.43", delai="0.3", technique="0.4"]; CarteMere -> Fabrication_CarteMere []; - CarteMere -> Tantale [cout="0.6", criticite="0.7", delai="0.8", technique="0.7"]; - CarteMere -> Palladium [cout="0.6", criticite="0.5", delai="0.4", technique="0.5"]; - CarteMere -> Antimoine [cout="0.7", criticite="0.6", delai="0.5", technique="0.6"]; - CarteMere -> Silicium [cout="0.9", criticite="0.9", delai="0.9", technique="0.9"]; - CarteMere -> CreusetQuartz [cout="0.7", criticite="0.74", delai="0.7", technique="0.8"]; - CarteMere -> Germanium [cout="0.6", criticite="0.64", delai="0.6", technique="0.7"]; - CarteMere -> Hafnium [cout="0.7", criticite="0.81", delai="0.8", technique="0.9"]; - CarteMere -> Phosphore [cout="0.6", criticite="0.5", delai="0.4", technique="0.5"]; + CarteMere -> Tantale [cout="0.6", ics="0.7", delai="0.8", technique="0.7"]; + CarteMere -> Palladium [cout="0.6", ics="0.5", delai="0.4", technique="0.5"]; + CarteMere -> Antimoine [cout="0.7", ics="0.6", delai="0.5", technique="0.6"]; + CarteMere -> Silicium [cout="0.9", ics="0.9", delai="0.9", technique="0.9"]; + CarteMere -> CreusetQuartz [cout="0.7", ics="0.74", delai="0.7", technique="0.8"]; + CarteMere -> Germanium [cout="0.6", ics="0.64", delai="0.6", technique="0.7"]; + CarteMere -> Hafnium [cout="0.7", ics="0.81", delai="0.8", technique="0.9"]; + CarteMere -> Phosphore [cout="0.6", ics="0.5", delai="0.4", technique="0.5"]; subgraph cluster_Fabrication_CarteMere { @@ -2898,8 +2898,8 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { Fabrication_CarteMere -> Taiwan_Fabrication_CarteMere [color="purple", fontcolor="purple", label="28%", poids="2"]; Fabrication_CarteMere -> Chine_Fabrication_CarteMere [color="purple", fontcolor="purple", label="43%", poids="2"]; Fabrication_CarteMere -> EtatsUnis_Fabrication_CarteMere [color="purple", fontcolor="purple", label="2%", poids="1"]; - Fabrication_CarteMere -> ProcedeDUV [cout="0.5", criticite="0.29", delai="0.2", technique="0.2"]; - Fabrication_CarteMere -> ProcedeEUV [cout="1.0", criticite="1.0", delai="1.0", technique="1.0"]; + Fabrication_CarteMere -> ProcedeDUV [cout="0.5", ics="0.29", delai="0.2", technique="0.2"]; + Fabrication_CarteMere -> ProcedeEUV [cout="1.0", ics="1.0", delai="1.0", technique="1.0"]; subgraph cluster_Thailande_Fabrication_CarteMere { label="Thailande_Fabrication_CarteMere"; @@ -3036,17 +3036,17 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { // Relations sortantes EcranLCD -> Fabrication_EcranLCD []; - EcranLCD -> Cerium [cout="0.7", criticite="0.7", delai="0.7", technique="0.7"]; + EcranLCD -> Cerium [cout="0.7", ics="0.7", delai="0.7", technique="0.7"]; EcranLCD -> PET []; EcranLCD -> Verre []; - EcranLCD -> Terbium [cout="0.7", criticite="0.81", delai="0.8", technique="0.9"]; - EcranLCD -> Europium [cout="0.7", criticite="0.81", delai="0.8", technique="0.9"]; + EcranLCD -> Terbium [cout="0.7", ics="0.81", delai="0.8", technique="0.9"]; + EcranLCD -> Europium [cout="0.7", ics="0.81", delai="0.8", technique="0.9"]; EcranLCD -> Plastiques []; EcranLCD -> IndiumEtain []; - EcranLCD -> Aluminium [cout="0.4", criticite="0.3", delai="0.2", technique="0.3"]; + EcranLCD -> Aluminium [cout="0.4", ics="0.3", delai="0.2", technique="0.3"]; EcranLCD -> Arsenic []; - EcranLCD -> Gallium [cout="0.3", criticite="0.41", delai="0.4", technique="0.5"]; - EcranLCD -> CreusetGraphite [cout="0.5", criticite="0.44", delai="0.3", technique="0.5"]; + EcranLCD -> Gallium [cout="0.3", ics="0.41", delai="0.4", technique="0.5"]; + EcranLCD -> CreusetGraphite [cout="0.5", ics="0.44", delai="0.3", technique="0.5"]; subgraph cluster_Fabrication_EcranLCD { @@ -3063,7 +3063,7 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { Fabrication_EcranLCD -> Mexique_Fabrication_EcranLCD [color="purple", fontcolor="purple", label="3%", poids="1"]; Fabrication_EcranLCD -> Vietnam_Fabrication_EcranLCD [color="purple", fontcolor="purple", label="2%", poids="1"]; Fabrication_EcranLCD -> Taiwan_Fabrication_EcranLCD [color="purple", fontcolor="purple", label="17%", poids="1"]; - Fabrication_EcranLCD -> ProcedeDUV [cout="0.5", criticite="0.29", delai="0.2", technique="0.2"]; + Fabrication_EcranLCD -> ProcedeDUV [cout="0.5", ics="0.29", delai="0.2", technique="0.2"]; subgraph cluster_Pologne_Fabrication_EcranLCD { label="Pologne_Fabrication_EcranLCD"; @@ -3193,12 +3193,12 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { MemoireRAM [fillcolor="#b3ffe0", label="Mémoire RAM", niveau="1"]; // Relations sortantes - MemoireRAM -> Tantale [cout="0.6", criticite="0.71", delai="0.7", technique="0.8"]; - MemoireRAM -> Aluminium [cout="0.5", criticite="0.33", delai="0.2", technique="0.3"]; + MemoireRAM -> Tantale [cout="0.6", ics="0.71", delai="0.7", technique="0.8"]; + MemoireRAM -> Aluminium [cout="0.5", ics="0.33", delai="0.2", technique="0.3"]; MemoireRAM -> Fabrication_MemoireRAM []; - MemoireRAM -> CreusetQuartz [cout="0.7", criticite="0.74", delai="0.7", technique="0.8"]; - MemoireRAM -> Hafnium [cout="0.8", criticite="0.8", delai="0.8", technique="0.8"]; - MemoireRAM -> Silicium [cout="0.9", criticite="0.9", delai="0.9", technique="0.9"]; + MemoireRAM -> CreusetQuartz [cout="0.7", ics="0.74", delai="0.7", technique="0.8"]; + MemoireRAM -> Hafnium [cout="0.8", ics="0.8", delai="0.8", technique="0.8"]; + MemoireRAM -> Silicium [cout="0.9", ics="0.9", delai="0.9", technique="0.9"]; subgraph cluster_Fabrication_MemoireRAM { @@ -3211,7 +3211,7 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { Fabrication_MemoireRAM -> EtatsUnis_Fabrication_MemoireRAM [color="purple", fontcolor="purple", label="23%", poids="1"]; Fabrication_MemoireRAM -> CoreeDuSud_Fabrication_MemoireRAM [color="purple", fontcolor="purple", label="71%", poids="2"]; Fabrication_MemoireRAM -> Taiwan_Fabrication_MemoireRAM [color="purple", fontcolor="purple", label="3%", poids="1"]; - Fabrication_MemoireRAM -> ProcedeDUV [cout="0.5", criticite="0.29", delai="0.2", technique="0.2"]; + Fabrication_MemoireRAM -> ProcedeDUV [cout="0.5", ics="0.29", delai="0.2", technique="0.2"]; subgraph cluster_EtatsUnis_Fabrication_MemoireRAM { label="EtatsUnis_Fabrication_MemoireRAM"; @@ -3273,17 +3273,17 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { // Relations sortantes ProcesseurASIC -> Ceramiques []; - ProcesseurASIC -> Tungstene [cout="0.7", criticite="0.6", delai="0.5", technique="0.6"]; + ProcesseurASIC -> Tungstene [cout="0.7", ics="0.6", delai="0.5", technique="0.6"]; ProcesseurASIC -> Fabrication_ProcesseurASIC []; - ProcesseurASIC -> Or [cout="0.6", criticite="0.6", delai="0.6", technique="0.6"]; - ProcesseurASIC -> Scandium [cout="0.7", criticite="0.7", delai="0.7", technique="0.7"]; - ProcesseurASIC -> Hafnium [cout="0.8", criticite="0.84", delai="0.8", technique="0.9"]; - ProcesseurASIC -> Aluminium [cout="0.5", criticite="0.47", delai="0.4", technique="0.5"]; - ProcesseurASIC -> Antimoine [cout="0.7", criticite="0.6", delai="0.5", technique="0.6"]; - ProcesseurASIC -> Silicium [cout="0.9", criticite="0.9", delai="0.9", technique="0.9"]; - ProcesseurASIC -> CreusetQuartz [cout="0.7", criticite="0.74", delai="0.7", technique="0.8"]; - ProcesseurASIC -> Germanium [cout="0.6", criticite="0.64", delai="0.6", technique="0.7"]; - ProcesseurASIC -> Phosphore [cout="0.6", criticite="0.5", delai="0.4", technique="0.5"]; + ProcesseurASIC -> Or [cout="0.6", ics="0.6", delai="0.6", technique="0.6"]; + ProcesseurASIC -> Scandium [cout="0.7", ics="0.7", delai="0.7", technique="0.7"]; + ProcesseurASIC -> Hafnium [cout="0.8", ics="0.84", delai="0.8", technique="0.9"]; + ProcesseurASIC -> Aluminium [cout="0.5", ics="0.47", delai="0.4", technique="0.5"]; + ProcesseurASIC -> Antimoine [cout="0.7", ics="0.6", delai="0.5", technique="0.6"]; + ProcesseurASIC -> Silicium [cout="0.9", ics="0.9", delai="0.9", technique="0.9"]; + ProcesseurASIC -> CreusetQuartz [cout="0.7", ics="0.74", delai="0.7", technique="0.8"]; + ProcesseurASIC -> Germanium [cout="0.6", ics="0.64", delai="0.6", technique="0.7"]; + ProcesseurASIC -> Phosphore [cout="0.6", ics="0.5", delai="0.4", technique="0.5"]; subgraph cluster_Fabrication_ProcesseurASIC { @@ -3300,8 +3300,8 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { Fabrication_ProcesseurASIC -> CoreeDuSud_Fabrication_ProcesseurASIC [color="purple", fontcolor="purple", label="20%", poids="1"]; Fabrication_ProcesseurASIC -> Israel_Fabrication_ProcesseurASIC [color="purple", fontcolor="purple", label="4%", poids="1"]; Fabrication_ProcesseurASIC -> Allemagne_Fabrication_ProcesseurASIC [color="purple", fontcolor="purple", label="3%", poids="1"]; - Fabrication_ProcesseurASIC -> ProcedeDUV [cout="0.5", criticite="0.29", delai="0.2", technique="0.2"]; - Fabrication_ProcesseurASIC -> ProcedeEUV [cout="1.0", criticite="1.0", delai="1.0", technique="1.0"]; + Fabrication_ProcesseurASIC -> ProcedeDUV [cout="0.5", ics="0.29", delai="0.2", technique="0.2"]; + Fabrication_ProcesseurASIC -> ProcedeEUV [cout="1.0", ics="1.0", delai="1.0", technique="1.0"]; subgraph cluster_EtatsUnis_Fabrication_ProcesseurASIC { label="EtatsUnis_Fabrication_ProcesseurASIC"; @@ -3416,19 +3416,19 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { ProcesseurARM [fillcolor="#b3ffe0", label="Processeur ARM", niveau="1"]; // Relations sortantes - ProcesseurARM -> Tungstene [cout="0.7", criticite="0.6", delai="0.5", technique="0.6"]; + ProcesseurARM -> Tungstene [cout="0.7", ics="0.6", delai="0.5", technique="0.6"]; ProcesseurARM -> Ceramiques []; - ProcesseurARM -> Or [cout="0.6", criticite="0.6", delai="0.6", technique="0.6"]; - ProcesseurARM -> Scandium [cout="0.7", criticite="0.7", delai="0.7", technique="0.7"]; - ProcesseurARM -> Palladium [cout="0.6", criticite="0.5", delai="0.4", technique="0.5"]; - ProcesseurARM -> Hafnium [cout="0.8", criticite="0.8", delai="0.8", technique="0.8"]; + ProcesseurARM -> Or [cout="0.6", ics="0.6", delai="0.6", technique="0.6"]; + ProcesseurARM -> Scandium [cout="0.7", ics="0.7", delai="0.7", technique="0.7"]; + ProcesseurARM -> Palladium [cout="0.6", ics="0.5", delai="0.4", technique="0.5"]; + ProcesseurARM -> Hafnium [cout="0.8", ics="0.8", delai="0.8", technique="0.8"]; ProcesseurARM -> Fabrication_ProcesseurARM []; - ProcesseurARM -> Aluminium [cout="0.5", criticite="0.47", delai="0.4", technique="0.5"]; - ProcesseurARM -> Antimoine [cout="0.7", criticite="0.6", delai="0.5", technique="0.6"]; - ProcesseurARM -> Silicium [cout="0.9", criticite="0.9", delai="0.9", technique="0.9"]; - ProcesseurARM -> CreusetQuartz [cout="0.7", criticite="0.74", delai="0.7", technique="0.8"]; - ProcesseurARM -> Germanium [cout="0.6", criticite="0.64", delai="0.6", technique="0.7"]; - ProcesseurARM -> Phosphore [cout="0.6", criticite="0.5", delai="0.4", technique="0.5"]; + ProcesseurARM -> Aluminium [cout="0.5", ics="0.47", delai="0.4", technique="0.5"]; + ProcesseurARM -> Antimoine [cout="0.7", ics="0.6", delai="0.5", technique="0.6"]; + ProcesseurARM -> Silicium [cout="0.9", ics="0.9", delai="0.9", technique="0.9"]; + ProcesseurARM -> CreusetQuartz [cout="0.7", ics="0.74", delai="0.7", technique="0.8"]; + ProcesseurARM -> Germanium [cout="0.6", ics="0.64", delai="0.6", technique="0.7"]; + ProcesseurARM -> Phosphore [cout="0.6", ics="0.5", delai="0.4", technique="0.5"]; subgraph cluster_Fabrication_ProcesseurARM { @@ -3443,8 +3443,8 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { Fabrication_ProcesseurARM -> EtatsUnis_Fabrication_ProcesseurARM [color="purple", fontcolor="purple", label="14%", poids="1"]; Fabrication_ProcesseurARM -> Taiwan_Fabrication_ProcesseurARM [color="purple", fontcolor="purple", label="54%", poids="2"]; Fabrication_ProcesseurARM -> Chine_Fabrication_ProcesseurARM [color="purple", fontcolor="purple", label="8%", poids="1"]; - Fabrication_ProcesseurARM -> ProcedeDUV [cout="0.5", criticite="0.29", delai="0.2", technique="0.2"]; - Fabrication_ProcesseurARM -> ProcedeEUV [cout="1.0", criticite="1.0", delai="1.0", technique="1.0"]; + Fabrication_ProcesseurARM -> ProcedeDUV [cout="0.5", ics="0.29", delai="0.2", technique="0.2"]; + Fabrication_ProcesseurARM -> ProcedeEUV [cout="1.0", ics="1.0", delai="1.0", technique="1.0"]; subgraph cluster_CoreeDuSud_Fabrication_ProcesseurARM { label="CoreeDuSud_Fabrication_ProcesseurARM"; @@ -3537,9 +3537,9 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { EcranSpecifique -> PET []; EcranSpecifique -> IndiumEtain []; EcranSpecifique -> Arsenic []; - EcranSpecifique -> ProcedeDUV [cout="0.5", criticite="0.29", delai="0.2", technique="0.2"]; - EcranSpecifique -> Gallium [cout="0.3", criticite="0.41", delai="0.4", technique="0.5"]; - EcranSpecifique -> CreusetGraphite [cout="0.5", criticite="0.44", delai="0.3", technique="0.5"]; + EcranSpecifique -> ProcedeDUV [cout="0.5", ics="0.29", delai="0.2", technique="0.2"]; + EcranSpecifique -> Gallium [cout="0.3", ics="0.41", delai="0.4", technique="0.5"]; + EcranSpecifique -> CreusetGraphite [cout="0.5", ics="0.44", delai="0.3", technique="0.5"]; } subgraph cluster_StockageEMMC { @@ -3548,11 +3548,11 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { StockageEMMC [fillcolor="#b3ffe0", label="Stockage eMMC/UFS", niveau="1"]; // Relations sortantes - StockageEMMC -> Tantale [cout="0.6", criticite="0.64", delai="0.6", technique="0.7"]; + StockageEMMC -> Tantale [cout="0.6", ics="0.64", delai="0.6", technique="0.7"]; StockageEMMC -> Fabrication_StockageEMMC []; - StockageEMMC -> CreusetQuartz [cout="0.7", criticite="0.74", delai="0.7", technique="0.8"]; - StockageEMMC -> Hafnium [cout="0.8", criticite="0.8", delai="0.8", technique="0.8"]; - StockageEMMC -> Silicium [cout="0.9", criticite="0.9", delai="0.9", technique="0.9"]; + StockageEMMC -> CreusetQuartz [cout="0.7", ics="0.74", delai="0.7", technique="0.8"]; + StockageEMMC -> Hafnium [cout="0.8", ics="0.8", delai="0.8", technique="0.8"]; + StockageEMMC -> Silicium [cout="0.9", ics="0.9", delai="0.9", technique="0.9"]; subgraph cluster_Fabrication_StockageEMMC { @@ -3566,7 +3566,7 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { Fabrication_StockageEMMC -> Chine_Fabrication_StockageEMMC [color="purple", fontcolor="purple", label="6%", poids="1"]; Fabrication_StockageEMMC -> CoreeDuSud_Fabrication_StockageEMMC [color="purple", fontcolor="purple", label="54%", poids="2"]; Fabrication_StockageEMMC -> EtatsUnis_Fabrication_StockageEMMC [color="purple", fontcolor="purple", label="25%", poids="1"]; - Fabrication_StockageEMMC -> ProcedeDUV [cout="0.5", criticite="0.29", delai="0.2", technique="0.2"]; + Fabrication_StockageEMMC -> ProcedeDUV [cout="0.5", ics="0.29", delai="0.2", technique="0.2"]; subgraph cluster_Japon_Fabrication_StockageEMMC { label="Japon_Fabrication_StockageEMMC"; @@ -3645,12 +3645,12 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { SSDM2 [fillcolor="#b3ffe0", label="SSD M.2", niveau="1"]; // Relations sortantes - SSDM2 -> Tantale [cout="0.7", criticite="0.7", delai="0.7", technique="0.7"]; + SSDM2 -> Tantale [cout="0.7", ics="0.7", delai="0.7", technique="0.7"]; SSDM2 -> Fabrication_SSDM2 []; SSDM2 -> Aluminium []; - SSDM2 -> CreusetQuartz [cout="0.7", criticite="0.74", delai="0.7", technique="0.8"]; - SSDM2 -> Hafnium [cout="0.8", criticite="0.8", delai="0.8", technique="0.8"]; - SSDM2 -> Silicium [cout="0.9", criticite="0.9", delai="0.9", technique="0.9"]; + SSDM2 -> CreusetQuartz [cout="0.7", ics="0.74", delai="0.7", technique="0.8"]; + SSDM2 -> Hafnium [cout="0.8", ics="0.8", delai="0.8", technique="0.8"]; + SSDM2 -> Silicium [cout="0.9", ics="0.9", delai="0.9", technique="0.9"]; subgraph cluster_Fabrication_SSDM2 { @@ -3665,7 +3665,7 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { Fabrication_SSDM2 -> Taiwan_Fabrication_SSDM2 [color="purple", fontcolor="purple", label="5%", poids="1"]; Fabrication_SSDM2 -> CoreeDuSud_Fabrication_SSDM2 [color="purple", fontcolor="purple", label="41%", poids="2"]; Fabrication_SSDM2 -> Chine_Fabrication_SSDM2 [color="purple", fontcolor="purple", label="6%", poids="1"]; - Fabrication_SSDM2 -> ProcedeDUV [cout="0.5", criticite="0.29", delai="0.2", technique="0.2"]; + Fabrication_SSDM2 -> ProcedeDUV [cout="0.5", ics="0.29", delai="0.2", technique="0.2"]; subgraph cluster_Japon_Fabrication_SSDM2 { label="Japon_Fabrication_SSDM2"; @@ -3768,19 +3768,19 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { ProcesseurX86 [fillcolor="#b3ffe0", label="Processeur x86", niveau="1"]; // Relations sortantes - ProcesseurX86 -> Or [cout="0.6", criticite="0.6", delai="0.6", technique="0.6"]; - ProcesseurX86 -> Scandium [cout="0.7", criticite="0.7", delai="0.7", technique="0.7"]; - ProcesseurX86 -> Tungstene [cout="0.7", criticite="0.6", delai="0.5", technique="0.6"]; + ProcesseurX86 -> Or [cout="0.6", ics="0.6", delai="0.6", technique="0.6"]; + ProcesseurX86 -> Scandium [cout="0.7", ics="0.7", delai="0.7", technique="0.7"]; + ProcesseurX86 -> Tungstene [cout="0.7", ics="0.6", delai="0.5", technique="0.6"]; ProcesseurX86 -> Ceramiques []; ProcesseurX86 -> Fabrication_ProcesseurX86 []; - ProcesseurX86 -> Hafnium [cout="0.8", criticite="0.84", delai="0.8", technique="0.9"]; - ProcesseurX86 -> Aluminium [cout="0.6", criticite="0.5", delai="0.4", technique="0.5"]; - ProcesseurX86 -> Palladium [cout="0.6", criticite="0.5", delai="0.4", technique="0.5"]; - ProcesseurX86 -> Antimoine [cout="0.7", criticite="0.6", delai="0.5", technique="0.6"]; - ProcesseurX86 -> Silicium [cout="0.9", criticite="0.9", delai="0.9", technique="0.9"]; - ProcesseurX86 -> CreusetQuartz [cout="0.7", criticite="0.74", delai="0.7", technique="0.8"]; - ProcesseurX86 -> Germanium [cout="0.6", criticite="0.64", delai="0.6", technique="0.7"]; - ProcesseurX86 -> Phosphore [cout="0.6", criticite="0.5", delai="0.4", technique="0.5"]; + ProcesseurX86 -> Hafnium [cout="0.8", ics="0.84", delai="0.8", technique="0.9"]; + ProcesseurX86 -> Aluminium [cout="0.6", ics="0.5", delai="0.4", technique="0.5"]; + ProcesseurX86 -> Palladium [cout="0.6", ics="0.5", delai="0.4", technique="0.5"]; + ProcesseurX86 -> Antimoine [cout="0.7", ics="0.6", delai="0.5", technique="0.6"]; + ProcesseurX86 -> Silicium [cout="0.9", ics="0.9", delai="0.9", technique="0.9"]; + ProcesseurX86 -> CreusetQuartz [cout="0.7", ics="0.74", delai="0.7", technique="0.8"]; + ProcesseurX86 -> Germanium [cout="0.6", ics="0.64", delai="0.6", technique="0.7"]; + ProcesseurX86 -> Phosphore [cout="0.6", ics="0.5", delai="0.4", technique="0.5"]; subgraph cluster_Fabrication_ProcesseurX86 { @@ -3795,8 +3795,8 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { Fabrication_ProcesseurX86 -> EtatsUnis_Fabrication_ProcesseurX86 [color="purple", fontcolor="purple", label="65%", poids="2"]; Fabrication_ProcesseurX86 -> Israel_Fabrication_ProcesseurX86 [color="purple", fontcolor="purple", label="5%", poids="1"]; Fabrication_ProcesseurX86 -> Allemagne_Fabrication_ProcesseurX86 [color="purple", fontcolor="purple", label="7%", poids="1"]; - Fabrication_ProcesseurX86 -> ProcedeDUV [cout="0.5", criticite="0.29", delai="0.2", technique="0.2"]; - Fabrication_ProcesseurX86 -> ProcedeEUV [cout="1.0", criticite="1.0", delai="1.0", technique="1.0"]; + Fabrication_ProcesseurX86 -> ProcedeDUV [cout="0.5", ics="0.29", delai="0.2", technique="0.2"]; + Fabrication_ProcesseurX86 -> ProcedeEUV [cout="1.0", ics="1.0", delai="1.0", technique="1.0"]; subgraph cluster_Irlande_Fabrication_ProcesseurX86 { label="Irlande_Fabrication_ProcesseurX86"; @@ -3882,11 +3882,11 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { // Relations sortantes SSD25 -> Fabrication_SSD25 []; - SSD25 -> Tantale [cout="0.7", criticite="0.7", delai="0.7", technique="0.7"]; + SSD25 -> Tantale [cout="0.7", ics="0.7", delai="0.7", technique="0.7"]; SSD25 -> Aluminium []; - SSD25 -> CreusetQuartz [cout="0.7", criticite="0.74", delai="0.7", technique="0.8"]; - SSD25 -> Hafnium [cout="0.8", criticite="0.8", delai="0.8", technique="0.8"]; - SSD25 -> Silicium [cout="0.9", criticite="0.9", delai="0.9", technique="0.9"]; + SSD25 -> CreusetQuartz [cout="0.7", ics="0.74", delai="0.7", technique="0.8"]; + SSD25 -> Hafnium [cout="0.8", ics="0.8", delai="0.8", technique="0.8"]; + SSD25 -> Silicium [cout="0.9", ics="0.9", delai="0.9", technique="0.9"]; subgraph cluster_Fabrication_SSD25 { @@ -3901,7 +3901,7 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { Fabrication_SSD25 -> EtatsUnis_Fabrication_SSD25 [color="purple", fontcolor="purple", label="41%", poids="2"]; Fabrication_SSD25 -> Taiwan_Fabrication_SSD25 [color="purple", fontcolor="purple", label="3%", poids="1"]; Fabrication_SSD25 -> CoreeDuSud_Fabrication_SSD25 [color="purple", fontcolor="purple", label="44%", poids="2"]; - Fabrication_SSD25 -> ProcedeDUV [cout="0.5", criticite="0.29", delai="0.2", technique="0.2"]; + Fabrication_SSD25 -> ProcedeDUV [cout="0.5", ics="0.29", delai="0.2", technique="0.2"]; subgraph cluster_Japon_Fabrication_SSD25 { label="Japon_Fabrication_SSD25"; @@ -4004,18 +4004,18 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { DisqueDur [fillcolor="#b3ffe0", label="Disque dur (HDD)", niveau="1"]; // Relations sortantes - DisqueDur -> Platine [cout="0.6", criticite="0.64", delai="0.6", technique="0.7"]; + DisqueDur -> Platine [cout="0.6", ics="0.64", delai="0.6", technique="0.7"]; DisqueDur -> Acier []; - DisqueDur -> Aluminium [cout="0.5", criticite="0.47", delai="0.4", technique="0.5"]; + DisqueDur -> Aluminium [cout="0.5", ics="0.47", delai="0.4", technique="0.5"]; DisqueDur -> Fabrication_DisqueDur []; DisqueDur -> DisqueDur []; - DisqueDur -> Germanium [cout="0.6", criticite="0.64", delai="0.6", technique="0.7"]; - DisqueDur -> CreusetGraphite [cout="0.5", criticite="0.44", delai="0.3", technique="0.5"]; + DisqueDur -> Germanium [cout="0.6", ics="0.64", delai="0.6", technique="0.7"]; + DisqueDur -> CreusetGraphite [cout="0.5", ics="0.44", delai="0.3", technique="0.5"]; DisqueDur -> Arsenic []; - DisqueDur -> Silicium [cout="0.9", criticite="0.9", delai="0.9", technique="0.9"]; - DisqueDur -> Antimoine [cout="0.7", criticite="0.6", delai="0.5", technique="0.6"]; - DisqueDur -> Gallium [cout="0.5", criticite="0.47", delai="0.4", technique="0.5"]; - DisqueDur -> Phosphore [cout="0.6", criticite="0.5", delai="0.4", technique="0.5"]; + DisqueDur -> Silicium [cout="0.9", ics="0.9", delai="0.9", technique="0.9"]; + DisqueDur -> Antimoine [cout="0.7", ics="0.6", delai="0.5", technique="0.6"]; + DisqueDur -> Gallium [cout="0.5", ics="0.47", delai="0.4", technique="0.5"]; + DisqueDur -> Phosphore [cout="0.6", ics="0.5", delai="0.4", technique="0.5"]; subgraph cluster_Fabrication_DisqueDur { @@ -4032,7 +4032,7 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { Fabrication_DisqueDur -> Thailande_Fabrication_DisqueDur [color="purple", fontcolor="purple", label="39%", poids="2"]; Fabrication_DisqueDur -> EtatsUnis_Fabrication_DisqueDur [color="purple", fontcolor="purple", label="3%", poids="1"]; Fabrication_DisqueDur -> Chine_Fabrication_DisqueDur [color="purple", fontcolor="purple", label="24%", poids="1"]; - Fabrication_DisqueDur -> ProcedeDUV [cout="0.5", criticite="0.29", delai="0.2", technique="0.2"]; + Fabrication_DisqueDur -> ProcedeDUV [cout="0.5", ics="0.29", delai="0.2", technique="0.2"]; subgraph cluster_Philippines_Fabrication_DisqueDur { label="Philippines_Fabrication_DisqueDur"; @@ -14433,7 +14433,7 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { CreusetGraphite [fillcolor="#ffd699", label="Creuset en graphite - Pour fusion de métaux", niveau="1001"]; // Relations sortantes - CreusetGraphite -> Graphite [cout="0.5", criticite="0.44", delai="0.3", technique="0.5"]; + CreusetGraphite -> Graphite [cout="0.5", ics="0.44", delai="0.3", technique="0.5"]; } subgraph cluster_Arsenic { @@ -14743,7 +14743,7 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { ProcedeEUV [fillcolor="#ffd699", label="Procédé EUV (Extreme Ultraviolet - 13.5 nm", niveau="1000"]; // Relations sortantes - ProcedeEUV -> Hafnium [cout="0.9", criticite="0.9", delai="0.9", technique="0.9"]; + ProcedeEUV -> Hafnium [cout="0.9", ics="0.9", delai="0.9", technique="0.9"]; ProcedeEUV -> Fluorite []; ProcedeEUV -> Assemblage_ProcedeEUV []; @@ -15360,7 +15360,7 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee { // Relations sortantes CreusetQuartz -> Verre []; - CreusetQuartz -> Quartz [cout="0.7", criticite="0.74", delai="0.7", technique="0.8"]; + CreusetQuartz -> Quartz [cout="0.7", ics="0.74", delai="0.7", technique="0.8"]; } subgraph cluster_Fluorite { diff --git a/utils/graph_utils.py b/utils/graph_utils.py index b0d5f8f..eb726aa 100644 --- a/utils/graph_utils.py +++ b/utils/graph_utils.py @@ -53,7 +53,7 @@ def extraire_chemins_vers(G, target, niveau_demande): def recuperer_donnees(graph, noeuds): donnees = [] - criticite = {} + ics = {} for noeud in noeuds: try: @@ -66,31 +66,31 @@ def recuperer_donnees(graph, noeuds): try: fabrications = list(graph.predecessors(minerai)) valeurs = [ - int(float(graph.get_edge_data(f, minerai)[0].get('criticite', 0)) * 100) + int(float(graph.get_edge_data(f, minerai)[0].get('ics', 0)) * 100) for f in fabrications if graph.get_edge_data(f, minerai) ] if valeurs: - criticite[minerai] = round(sum(valeurs) / len(valeurs)) + ics[minerai] = round(sum(valeurs) / len(valeurs)) except Exception as e: logging.warning(f"Erreur criticité pour {noeud} : {e}") - criticite[minerai] = 50 + ics[minerai] = 50 for noeud in noeuds: try: operation, minerai = noeud.split('_', 1) ihh_pays = int(graph.nodes[noeud].get('ihh_pays', 0)) ihh_acteurs = int(graph.nodes[noeud].get('ihh_acteurs', 0)) - criticite_val = criticite.get(minerai, 50) - criticite_cat = 1 if criticite_val <= 33 else (2 if criticite_val <= 66 else 3) + ics_val = ics.get(minerai, 50) + ics_cat = 1 if ics_val <= 33 else (2 if ics_val <= 66 else 3) donnees.append({ 'categorie': operation, 'nom': minerai, 'ihh_pays': ihh_pays, 'ihh_acteurs': ihh_acteurs, - 'criticite_minerai': criticite_val, - 'criticite_cat': criticite_cat + 'ics_minerai': ics_val, + 'ics_cat': ics_cat }) except Exception as e: logging.error(f"Erreur sur le nœud {noeud} : {e}", exc_info=True) diff --git a/utils/visualisation.py b/utils/visualisation.py index ab4744d..12547bb 100644 --- a/utils/visualisation.py +++ b/utils/visualisation.py @@ -44,8 +44,8 @@ def afficher_graphique_altair(df): base = alt.Chart(df_cat).encode( x=alt.X('ihh_pays:Q', title=str(_("pages.visualisations.axis_titles.ihh_countries"))), y=alt.Y('ihh_acteurs:Q', title=str(_("pages.visualisations.axis_titles.ihh_actors"))), - size=alt.Size('criticite_cat:Q', scale=alt.Scale(domain=[1, 2, 3], range=[50, 500, 1000]), legend=None), - color=alt.Color('criticite_cat:N', scale=alt.Scale(domain=[1, 2, 3], range=['darkgreen', 'orange', 'darkred'])) + size=alt.Size('ics_cat:Q', scale=alt.Scale(domain=[1, 2, 3], range=[50, 500, 1000]), legend=None), + color=alt.Color('ics_cat:N', scale=alt.Scale(domain=[1, 2, 3], range=['darkgreen', 'orange', 'darkred'])) ) points = base.mark_circle(opacity=0.6) @@ -147,7 +147,7 @@ def creer_graphes(donnees): st.error(f"{str(_('errors.graph_creation_error'))} {e}") -def lancer_visualisation_ihh_criticite(graph): +def lancer_visualisation_ihh_ics(graph): try: import networkx as nx from utils.graph_utils import recuperer_donnees