Modifications suite à analyses

This commit is contained in:
Fabrication du Numérique 2025-05-26 21:46:47 +02:00
parent 981c473204
commit c4fffb829c
4 changed files with 283 additions and 282 deletions

View File

@ -1715,6 +1715,7 @@ def ia_analyse(file_names):
- Les composants spécifiques du produit '{produit_final}' concernés par ces vulnérabilités.
- Les minerais précis responsables de ces vulnérabilités et leur rôle dans limpact sur les composants.
- Les points critiques exacts identifiés dans la chaîne d'approvisionnement (par exemple : faible substituabilité, forte concentration géographique, instabilité géopolitique, concurrence élevée entre secteurs industriels).
- Identifier autant que faire se peut, les pays générant la forte concentration géographiques ou qui sont sujet à instabilité géopolitique, les secteurs en concurrence avec le numérique pour les minerais.
Respectez strictement les consignes suivantes :
@ -1743,20 +1744,20 @@ def ia_analyse(file_names):
full_prompt = corps + "\n\n" + PROMPT_METHODOLOGIE
system_message = """
Vous êtes un expert en rédaction de rapports stratégiques destinés à un COMEX ou une Direction des Risques.
Vous êtes un expert en rédaction de rapports stratégiques destinés à un COMEX ou une Direction des Risques.
Votre mission est d'écrire une introduction professionnelle, claire et synthétique (maximum 7 lignes) à partir des éléments suivants :
1. Un corps danalyse décrivant les vulnérabilités identifiées pour un produit numérique.
2. La méthodologie détaillée utilisée pour cette analyse (fourni en deuxième partie).
Votre mission est d'écrire une introduction professionnelle, claire et synthétique (maximum 7 lignes) à partir des éléments suivants :
1. Un corps danalyse décrivant les vulnérabilités identifiées pour un produit numérique.
2. La méthodologie détaillée utilisée pour cette analyse (fourni en deuxième partie).
Votre introduction doit :
- Présenter brièvement le sujet traité (vulnérabilités du produit final) et quels sont les produits finaux concernés.
- Annoncer clairement le contenu et l'objectif de l'analyse présentée dans le corps.
- Résumer succinctement les axes méthodologiques principaux (concentration géographique ou industrielle, stabilité géopolitique, criticité de substituabilité, concurrence intersectorielle des minerais).
- Être facilement compréhensible par des décideurs de haut niveau (pas d'acronymes, ni chiffres ; uniquement des formulations textuelles).
- Être fluide, agréable à lire, avec un ton sobre et professionnel.
Votre introduction doit :
- Présenter brièvement le sujet traité (vulnérabilités du produit final) et quels sont les produits finaux concernés.
- Annoncer clairement le contenu et l'objectif de l'analyse présentée dans le corps.
- Résumer succinctement les axes méthodologiques principaux (concentration géographique ou industrielle, stabilité géopolitique, criticité de substituabilité, concurrence intersectorielle des minerais).
- Être facilement compréhensible par des décideurs de haut niveau (pas d'acronymes, ni chiffres ; uniquement des formulations textuelles).
- Être fluide, agréable à lire, avec un ton sobre et professionnel.
Répondez uniquement avec l'introduction rédigée. Ne fournissez aucune autre explication complémentaire.
Répondez uniquement avec l'introduction rédigée. Ne fournissez aucune autre explication complémentaire.
"""
@ -1766,17 +1767,17 @@ def ia_analyse(file_names):
full_prompt = corps + "\n\n" + PROMPT_METHODOLOGIE
system_message = """
Vous êtes un expert stratégique en gestion des risques liés à la chaîne de valeur numérique. Vous conseillez directement le COMEX et la Direction des Risques de grandes entreprises utilisatrices de produits numériques. Ces entreprises n'ont pour levier daction que le choix de leurs fournisseurs ou l'allongement de la durée de vie de leur matériel.
Vous êtes un expert stratégique en gestion des risques liés à la chaîne de valeur numérique. Vous conseillez directement le COMEX et la Direction des Risques de grandes entreprises utilisatrices de produits numériques. Ces entreprises n'ont pour levier daction que le choix de leurs fournisseurs ou l'allongement de la durée de vie de leur matériel.
À partir des vulnérabilités identifiées dans la première partie du prompt (corps d'analyse) et en tenant compte du contexte et de la méthodologie décrite en deuxième partie, rédigez un texte clair, structuré en deux parties distinctes :
À partir des vulnérabilités identifiées dans la première partie du prompt (corps d'analyse) et en tenant compte du contexte et de la méthodologie décrite en deuxième partie, rédigez un texte clair, structuré en deux parties distinctes :
1. **Préconisations stratégiques :**
Proposez clairement des axes concrets pour limiter les risques identifiés dans lanalyse. Ces préconisations doivent impérativement être réalistes et directement actionnables par les dirigeants compte tenu de leurs leviers limités.
1. **Préconisations stratégiques :**
Proposez clairement des axes concrets pour limiter les risques identifiés dans lanalyse. Ces préconisations doivent impérativement être réalistes et directement actionnables par les dirigeants compte tenu de leurs leviers limités.
2. **Indicateurs de suivi :**
Identifiez précisément les indicateurs pertinents à suivre pour évaluer régulièrement lévolution de ces risques. Ces indicateurs doivent être inspirés directement des axes méthodologiques fournis (concentration géographique, stabilité géopolitique, substituabilité, concurrence intersectorielle) ou sappuyer sur des bonnes pratiques reconnues.
2. **Indicateurs de suivi :**
Identifiez précisément les indicateurs pertinents à suivre pour évaluer régulièrement lévolution de ces risques. Ces indicateurs doivent être inspirés directement des axes méthodologiques fournis (concentration géographique, stabilité géopolitique, substituabilité, concurrence intersectorielle) ou sappuyer sur des bonnes pratiques reconnues.
Votre rédaction doit être fluide, concise, très professionnelle, et directement accessible à un COMEX. Évitez strictement toute explication complémentaire ou ajout superflu. Ne proposez que le texte demandé.
Votre rédaction doit être fluide, concise, très professionnelle, et directement accessible à un COMEX. Évitez strictement toute explication complémentaire ou ajout superflu. Ne proposez que le texte demandé.
"""
preconisations = generate_text("", full_prompt, system_message, "0.5").split("</think>")[-1].strip()
@ -1784,15 +1785,15 @@ def ia_analyse(file_names):
full_prompt = corps + "\n\n" + preconisations
system_message = """
Vous êtes un expert stratégique spécialisé dans les risques liés à la chaîne de valeur du numérique. Vous conseillez directement le COMEX et la Direction des Risques de grandes entreprises dépendantes du numérique, dont les leviers daction se limitent au choix des fournisseurs et à lallongement de la durée dutilisation du matériel.
Vous êtes un expert stratégique spécialisé dans les risques liés à la chaîne de valeur du numérique. Vous conseillez directement le COMEX et la Direction des Risques de grandes entreprises dépendantes du numérique, dont les leviers daction se limitent au choix des fournisseurs et à lallongement de la durée dutilisation du matériel.
À partir du résultat de l'analyse des vulnérabilités présenté en première partie du prompt (corps) et des préconisations stratégiques formulées en deuxième partie, rédigez une conclusion synthétique et percutante (environ 6 à 8 lignes maximum) afin de :
À partir du résultat de l'analyse des vulnérabilités présenté en première partie du prompt (corps) et des préconisations stratégiques formulées en deuxième partie, rédigez une conclusion synthétique et percutante (environ 6 à 8 lignes maximum) afin de :
- Résumer clairement les principaux risques identifiés.
- Souligner brièvement les axes prioritaires proposés pour agir concrètement.
- Inviter de manière dynamique le COMEX à passer immédiatement à l'action.
- Résumer clairement les principaux risques identifiés.
- Souligner brièvement les axes prioritaires proposés pour agir concrètement.
- Inviter de manière dynamique le COMEX à passer immédiatement à l'action.
Votre rédaction doit être fluide, professionnelle, claire et immédiatement exploitable par des dirigeants. Ne fournissez aucune explication supplémentaire. Ne répondez que par la conclusion demandée.
Votre rédaction doit être fluide, professionnelle, claire et immédiatement exploitable par des dirigeants. Ne fournissez aucune explication supplémentaire. Ne répondez que par la conclusion demandée.
"""
conclusion = generate_text("", full_prompt, system_message, "0.7").split("</think>")[-1].strip()
@ -1819,22 +1820,22 @@ def ia_analyse(file_names):
"""
system_message = f"""
Vous êtes un réviseur professionnel expert en écriture stratégique, maîtrisant parfaitement la langue française et habitué à réviser des textes destinés à des dirigeants de haut niveau (COMEX).
Vous êtes un réviseur professionnel expert en écriture stratégique, maîtrisant parfaitement la langue française et habitué à réviser des textes destinés à des dirigeants de haut niveau (COMEX).
Votre unique tâche est d'améliorer la qualité rédactionnelle du texte dans le fichier {fichier_a_reviser}, sans modifier ni sa structure, ni son sens initial, ni ajouter dinformations nouvelles. Cette révision doit :
Votre unique tâche est d'améliorer la qualité rédactionnelle du texte dans le fichier {fichier_a_reviser}, sans modifier ni sa structure, ni son sens initial, ni ajouter dinformations nouvelles. Cette révision doit :
- Éliminer toutes répétitions ou redondances et varier systématiquement les tournures entre les paragraphes.
- Rendre chaque phrase claire, directe et concise. Si une phrase est trop longue, scindez-la en plusieurs phrases courtes.
- Scinder les paragraphes en 2 ou 3 parties cohérentes et bien enchaînées avec des termes de coordinations, d'implication, …
- Remplacer systématiquement les acronymes par les expressions suivantes :
- ICS « capacité à substituer un minerai »
- IHH « concentration géographique ou industrielle »
- ISG « stabilité géopolitique »
- IVC « concurrence intersectorielle pour les minerais »
- Éliminer toutes répétitions ou redondances et varier systématiquement les tournures entre les paragraphes.
- Rendre chaque phrase claire, directe et concise. Si une phrase est trop longue, scindez-la en plusieurs phrases courtes.
- Scinder les paragraphes en 2 ou 3 parties cohérentes et bien enchaînées avec des termes de coordinations, d'implication, …
- Remplacer systématiquement les acronymes par les expressions suivantes :
- ICS « capacité à substituer un minerai »
- IHH « concentration géographique ou industrielle »
- ISG « stabilité géopolitique »
- IVC « concurrence intersectorielle pour les minerais »
Votre texte final doit être fluide, agréable à lire, parfaitement adapté à un COMEX, avec un ton professionnel et sobre.
Votre texte final doit être fluide, agréable à lire, parfaitement adapté à un COMEX, avec un ton professionnel et sobre.
Répondez uniquement avec le texte révisé, sans autre commentaire.
Répondez uniquement avec le texte révisé, sans autre commentaire.
"""
corps = generate_text(fichier_a_reviser, full_prompt, system_message, "0.6").split("</think>")[-1].strip()
print("Relecture")

View File

@ -10,6 +10,7 @@ while True:
for i, (login, data) in enumerate(jobs):
status[login]["position"] = i
sauvegarder_status(status)
if jobs:
login, _ = jobs[0]

View File

@ -15639,364 +15639,364 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee {
bgcolor="#f0f0f0";
node [fillcolor="#a0d6ff"];
// Sous-graphes pour les nœuds de niveau 99 avec leurs relations
subgraph cluster_CoreeDuSud_geographique {
label="CoreeDuSud_geographique";
fillcolor="#e6f2ff";
CoreeDuSud_geographique [fillcolor="#e6f2ff", label="Corée du Sud", niveau="99"];
}
subgraph cluster_EtatsUnis_geographique {
label="EtatsUnis_geographique";
fillcolor="#e6f2ff";
EtatsUnis_geographique [fillcolor="#e6f2ff", label="États-Unis", niveau="99"];
}
subgraph cluster_Taiwan_geographique {
label="Taiwan_geographique";
fillcolor="#e6f2ff";
Taiwan_geographique [fillcolor="#e6f2ff", label="Taïwan", niveau="99"];
EtatsUnis_geographique [fillcolor="#e6f2ff", label="États-Unis", isg="42", niveau="99"];
}
subgraph cluster_Chine_geographique {
label="Chine_geographique";
fillcolor="#e6f2ff";
Chine_geographique [fillcolor="#e6f2ff", label="Chine", niveau="99"];
Chine_geographique [fillcolor="#e6f2ff", label="Chine", isg="54", niveau="99"];
}
subgraph cluster_Taiwan_geographique {
label="Taiwan_geographique";
fillcolor="#e6f2ff";
Taiwan_geographique [fillcolor="#e6f2ff", label="Taïwan", isg="30", niveau="99"];
}
subgraph cluster_CoreeDuSud_geographique {
label="CoreeDuSud_geographique";
fillcolor="#e6f2ff";
CoreeDuSud_geographique [fillcolor="#e6f2ff", label="Corée du Sud", isg="33", niveau="99"];
}
subgraph cluster_Malaisie_geographique {
label="Malaisie_geographique";
fillcolor="#e6f2ff";
Malaisie_geographique [fillcolor="#e6f2ff", label="Malaisie", niveau="99"];
Malaisie_geographique [fillcolor="#e6f2ff", label="Malaisie", isg="44", niveau="99"];
}
subgraph cluster_Philippines_geographique {
label="Philippines_geographique";
fillcolor="#e6f2ff";
Philippines_geographique [fillcolor="#e6f2ff", label="Philippines", niveau="99"];
Philippines_geographique [fillcolor="#e6f2ff", label="Philippines", isg="59", niveau="99"];
}
subgraph cluster_Japon_geographique {
label="Japon_geographique";
fillcolor="#e6f2ff";
Japon_geographique [fillcolor="#e6f2ff", label="Japon", niveau="99"];
Japon_geographique [fillcolor="#e6f2ff", label="Japon", isg="29", niveau="99"];
}
subgraph cluster_Thailande_geographique {
label="Thailande_geographique";
fillcolor="#e6f2ff";
Thailande_geographique [fillcolor="#e6f2ff", label="Thaïlande", niveau="99"];
Thailande_geographique [fillcolor="#e6f2ff", label="Thaïlande", isg="54", niveau="99"];
}
subgraph cluster_Inde_geographique {
label="Inde_geographique";
fillcolor="#e6f2ff";
Inde_geographique [fillcolor="#e6f2ff", label="Inde", niveau="99"];
Inde_geographique [fillcolor="#e6f2ff", label="Inde", isg="60", niveau="99"];
}
subgraph cluster_Vietnam_geographique {
label="Vietnam_geographique";
fillcolor="#e6f2ff";
Vietnam_geographique [fillcolor="#e6f2ff", label="Vietnam", niveau="99"];
Vietnam_geographique [fillcolor="#e6f2ff", label="Vietnam", isg="48", niveau="99"];
}
subgraph cluster_Mexique_geographique {
label="Mexique_geographique";
fillcolor="#e6f2ff";
Mexique_geographique [fillcolor="#e6f2ff", label="Mexique", niveau="99"];
Mexique_geographique [fillcolor="#e6f2ff", label="Mexique", isg="57", niveau="99"];
}
subgraph cluster_Canada_geographique {
label="Canada_geographique";
fillcolor="#e6f2ff";
Canada_geographique [fillcolor="#e6f2ff", label="Canada", niveau="99"];
Canada_geographique [fillcolor="#e6f2ff", label="Canada", isg="26", niveau="99"];
}
subgraph cluster_RepubliqueTcheque_geographique {
label="RepubliqueTcheque_geographique";
fillcolor="#e6f2ff";
RepubliqueTcheque_geographique [fillcolor="#e6f2ff", label="République Tchèque", niveau="99"];
RepubliqueTcheque_geographique [fillcolor="#e6f2ff", label="République Tchèque", isg="31", niveau="99"];
}
subgraph cluster_Bresil_geographique {
label="Bresil_geographique";
fillcolor="#e6f2ff";
Bresil_geographique [fillcolor="#e6f2ff", label="Brésil", niveau="99"];
Bresil_geographique [fillcolor="#e6f2ff", label="Brésil", isg="55", niveau="99"];
}
subgraph cluster_Pologne_geographique {
label="Pologne_geographique";
fillcolor="#e6f2ff";
Pologne_geographique [fillcolor="#e6f2ff", label="Pologne", niveau="99"];
}
subgraph cluster_PaysBas_geographique {
label="PaysBas_geographique";
fillcolor="#e6f2ff";
PaysBas_geographique [fillcolor="#e6f2ff", label="Pays-Bas", niveau="99"];
Pologne_geographique [fillcolor="#e6f2ff", label="Pologne", isg="37", niveau="99"];
}
subgraph cluster_Allemagne_geographique {
label="Allemagne_geographique";
fillcolor="#e6f2ff";
Allemagne_geographique [fillcolor="#e6f2ff", label="Allemagne", niveau="99"];
Allemagne_geographique [fillcolor="#e6f2ff", label="Allemagne", isg="30", niveau="99"];
}
subgraph cluster_Suisse_geographique {
label="Suisse_geographique";
fillcolor="#e6f2ff";
Suisse_geographique [fillcolor="#e6f2ff", label="Suisse", niveau="99"];
Suisse_geographique [fillcolor="#e6f2ff", label="Suisse", isg="22", niveau="99"];
}
subgraph cluster_Israel_geographique {
label="Israel_geographique";
fillcolor="#e6f2ff";
Israel_geographique [fillcolor="#e6f2ff", label="Israël", niveau="99"];
Israel_geographique [fillcolor="#e6f2ff", label="Israël", isg="59", niveau="99"];
}
subgraph cluster_PaysBas_geographique {
label="PaysBas_geographique";
fillcolor="#e6f2ff";
PaysBas_geographique [fillcolor="#e6f2ff", label="Pays-Bas", isg="28", niveau="99"];
}
subgraph cluster_Hongrie_geographique {
label="Hongrie_geographique";
fillcolor="#e6f2ff";
Hongrie_geographique [fillcolor="#e6f2ff", label="Hongrie", niveau="99"];
Hongrie_geographique [fillcolor="#e6f2ff", label="Hongrie", isg="36", niveau="99"];
}
subgraph cluster_Singapour_geographique {
label="Singapour_geographique";
fillcolor="#e6f2ff";
Singapour_geographique [fillcolor="#e6f2ff", label="Singapour", niveau="99"];
Singapour_geographique [fillcolor="#e6f2ff", label="Singapour", isg="23", niveau="99"];
}
subgraph cluster_Irlande_geographique {
label="Irlande_geographique";
fillcolor="#e6f2ff";
Irlande_geographique [fillcolor="#e6f2ff", label="Irlande", niveau="99"];
}
subgraph cluster_Belgique_geographique {
label="Belgique_geographique";
fillcolor="#e6f2ff";
Belgique_geographique [fillcolor="#e6f2ff", label="Belgique", niveau="99"];
}
subgraph cluster_Russie_geographique {
label="Russie_geographique";
fillcolor="#e6f2ff";
Russie_geographique [fillcolor="#e6f2ff", label="Russie", niveau="99"];
}
subgraph cluster_Espagne_geographique {
label="Espagne_geographique";
fillcolor="#e6f2ff";
Espagne_geographique [fillcolor="#e6f2ff", label="Espagne", niveau="99"];
}
subgraph cluster_France_geographique {
label="France_geographique";
fillcolor="#e6f2ff";
France_geographique [fillcolor="#e6f2ff", label="France", niveau="99"];
}
subgraph cluster_Norvege_geographique {
label="Norvege_geographique";
fillcolor="#e6f2ff";
Norvege_geographique [fillcolor="#e6f2ff", label="Norvège", niveau="99"];
Irlande_geographique [fillcolor="#e6f2ff", label="Irlande", isg="25", niveau="99"];
}
subgraph cluster_Australie_geographique {
label="Australie_geographique";
fillcolor="#e6f2ff";
Australie_geographique [fillcolor="#e6f2ff", label="Australie", niveau="99"];
}
subgraph cluster_Bolivie_geographique {
label="Bolivie_geographique";
fillcolor="#e6f2ff";
Bolivie_geographique [fillcolor="#e6f2ff", label="Bolivie", niveau="99"];
}
subgraph cluster_Myanmar_geographique {
label="Myanmar_geographique";
fillcolor="#e6f2ff";
Myanmar_geographique [fillcolor="#e6f2ff", label="Myanmar", niveau="99"];
}
subgraph cluster_Tadjikistan_geographique {
label="Tadjikistan_geographique";
fillcolor="#e6f2ff";
Tadjikistan_geographique [fillcolor="#e6f2ff", label="Tadjikistan", niveau="99"];
}
subgraph cluster_Turquie_geographique {
label="Turquie_geographique";
fillcolor="#e6f2ff";
Turquie_geographique [fillcolor="#e6f2ff", label="Turquie", niveau="99"];
}
subgraph cluster_AfriqueDuSud_geographique {
label="AfriqueDuSud_geographique";
fillcolor="#e6f2ff";
AfriqueDuSud_geographique [fillcolor="#e6f2ff", label="Afrique du Sud", niveau="99"];
}
subgraph cluster_RoyaumeUni_geographique {
label="RoyaumeUni_geographique";
fillcolor="#e6f2ff";
RoyaumeUni_geographique [fillcolor="#e6f2ff", label="Royaume-Uni", niveau="99"];
}
subgraph cluster_Maroc_geographique {
label="Maroc_geographique";
fillcolor="#e6f2ff";
Maroc_geographique [fillcolor="#e6f2ff", label="Maroc", niveau="99"];
}
subgraph cluster_ArabieSaoudite_geographique {
label="ArabieSaoudite_geographique";
fillcolor="#e6f2ff";
ArabieSaoudite_geographique [fillcolor="#e6f2ff", label="Arabie Saoudite", niveau="99"];
}
subgraph cluster_Jordanie_geographique {
label="Jordanie_geographique";
fillcolor="#e6f2ff";
Jordanie_geographique [fillcolor="#e6f2ff", label="Jordanie", niveau="99"];
}
subgraph cluster_Indonesie_geographique {
label="Indonesie_geographique";
fillcolor="#e6f2ff";
Indonesie_geographique [fillcolor="#e6f2ff", label="Indonésie", niveau="99"];
}
subgraph cluster_Finlande_geographique {
label="Finlande_geographique";
fillcolor="#e6f2ff";
Finlande_geographique [fillcolor="#e6f2ff", label="Finlande", niveau="99"];
}
subgraph cluster_Argentine_geographique {
label="Argentine_geographique";
fillcolor="#e6f2ff";
Argentine_geographique [fillcolor="#e6f2ff", label="Argentine", niveau="99"];
}
subgraph cluster_Chili_geographique {
label="Chili_geographique";
fillcolor="#e6f2ff";
Chili_geographique [fillcolor="#e6f2ff", label="Chili", niveau="99"];
}
subgraph cluster_Portugal_geographique {
label="Portugal_geographique";
fillcolor="#e6f2ff";
Portugal_geographique [fillcolor="#e6f2ff", label="Portugal", niveau="99"];
}
subgraph cluster_Zimbabwe_geographique {
label="Zimbabwe_geographique";
fillcolor="#e6f2ff";
Zimbabwe_geographique [fillcolor="#e6f2ff", label="Zimbabwe", niveau="99"];
}
subgraph cluster_Gabon_geographique {
label="Gabon_geographique";
fillcolor="#e6f2ff";
Gabon_geographique [fillcolor="#e6f2ff", label="Gabon", niveau="99"];
}
subgraph cluster_Ukraine_geographique {
label="Ukraine_geographique";
fillcolor="#e6f2ff";
Ukraine_geographique [fillcolor="#e6f2ff", label="Ukraine", niveau="99"];
}
subgraph cluster_Ghana_geographique {
label="Ghana_geographique";
fillcolor="#e6f2ff";
Ghana_geographique [fillcolor="#e6f2ff", label="Ghana", niveau="99"];
}
subgraph cluster_RDCongo_geographique {
label="RDCongo_geographique";
fillcolor="#e6f2ff";
RDCongo_geographique [fillcolor="#e6f2ff", label="RD Congo", niveau="99"];
}
subgraph cluster_Luxembourg_geographique {
label="Luxembourg_geographique";
fillcolor="#e6f2ff";
Luxembourg_geographique [fillcolor="#e6f2ff", label="Luxembourg", niveau="99"];
}
subgraph cluster_Cuba_geographique {
label="Cuba_geographique";
fillcolor="#e6f2ff";
Cuba_geographique [fillcolor="#e6f2ff", label="Cuba", niveau="99"];
}
subgraph cluster_Zambie_geographique {
label="Zambie_geographique";
fillcolor="#e6f2ff";
Zambie_geographique [fillcolor="#e6f2ff", label="Zambie", niveau="99"];
Australie_geographique [fillcolor="#e6f2ff", label="Australie", isg="26", niveau="99"];
}
subgraph cluster_Estonie_geographique {
label="Estonie_geographique";
fillcolor="#e6f2ff";
Estonie_geographique [fillcolor="#e6f2ff", label="Estonie", niveau="99"];
Estonie_geographique [fillcolor="#e6f2ff", label="Estonie", isg="33", niveau="99"];
}
subgraph cluster_Tanzanie_geographique {
label="Tanzanie_geographique";
subgraph cluster_France_geographique {
label="France_geographique";
fillcolor="#e6f2ff";
Tanzanie_geographique [fillcolor="#e6f2ff", label="Tanzanie", niveau="99"];
France_geographique [fillcolor="#e6f2ff", label="France", isg="34", niveau="99"];
}
subgraph cluster_Mozambique_geographique {
label="Mozambique_geographique";
subgraph cluster_Russie_geographique {
label="Russie_geographique";
fillcolor="#e6f2ff";
Mozambique_geographique [fillcolor="#e6f2ff", label="Mozambique", niveau="99"];
}
subgraph cluster_Madagascar_geographique {
label="Madagascar_geographique";
fillcolor="#e6f2ff";
Madagascar_geographique [fillcolor="#e6f2ff", label="Madagascar", niveau="99"];
}
subgraph cluster_Suede_geographique {
label="Suede_geographique";
fillcolor="#e6f2ff";
Suede_geographique [fillcolor="#e6f2ff", label="Suède", niveau="99"];
}
subgraph cluster_Kazakhstan_geographique {
label="Kazakhstan_geographique";
fillcolor="#e6f2ff";
Kazakhstan_geographique [fillcolor="#e6f2ff", label="Kazakhstan", niveau="99"];
}
subgraph cluster_Perou_geographique {
label="Perou_geographique";
fillcolor="#e6f2ff";
Perou_geographique [fillcolor="#e6f2ff", label="Pérou", niveau="99"];
}
subgraph cluster_Autriche_geographique {
label="Autriche_geographique";
fillcolor="#e6f2ff";
Autriche_geographique [fillcolor="#e6f2ff", label="Autriche", niveau="99"];
}
subgraph cluster_Rwanda_geographique {
label="Rwanda_geographique";
fillcolor="#e6f2ff";
Rwanda_geographique [fillcolor="#e6f2ff", label="Rwanda", niveau="99"];
Russie_geographique [fillcolor="#e6f2ff", label="Russie", isg="65", niveau="99"];
}
subgraph cluster_SriLanka_geographique {
label="SriLanka_geographique";
fillcolor="#e6f2ff";
SriLanka_geographique [fillcolor="#e6f2ff", label="Sri Lanka", niveau="99"];
SriLanka_geographique [fillcolor="#e6f2ff", label="Sri Lanka", isg="61", niveau="99"];
}
subgraph cluster_AfriqueDuSud_geographique {
label="AfriqueDuSud_geographique";
fillcolor="#e6f2ff";
AfriqueDuSud_geographique [fillcolor="#e6f2ff", label="Afrique du Sud", isg="60", niveau="99"];
}
subgraph cluster_Zimbabwe_geographique {
label="Zimbabwe_geographique";
fillcolor="#e6f2ff";
Zimbabwe_geographique [fillcolor="#e6f2ff", label="Zimbabwe", isg="70", niveau="99"];
}
subgraph cluster_RoyaumeUni_geographique {
label="RoyaumeUni_geographique";
fillcolor="#e6f2ff";
RoyaumeUni_geographique [fillcolor="#e6f2ff", label="Royaume-Uni", isg="35", niveau="99"];
}
subgraph cluster_Myanmar_geographique {
label="Myanmar_geographique";
fillcolor="#e6f2ff";
Myanmar_geographique [fillcolor="#e6f2ff", label="Myanmar", isg="84", niveau="99"];
}
subgraph cluster_Bolivie_geographique {
label="Bolivie_geographique";
fillcolor="#e6f2ff";
Bolivie_geographique [fillcolor="#e6f2ff", label="Bolivie", isg="56", niveau="99"];
}
subgraph cluster_Espagne_geographique {
label="Espagne_geographique";
fillcolor="#e6f2ff";
Espagne_geographique [fillcolor="#e6f2ff", label="Espagne", isg="39", niveau="99"];
}
subgraph cluster_Rwanda_geographique {
label="Rwanda_geographique";
fillcolor="#e6f2ff";
Rwanda_geographique [fillcolor="#e6f2ff", label="Rwanda", isg="55", niveau="99"];
}
subgraph cluster_Autriche_geographique {
label="Autriche_geographique";
fillcolor="#e6f2ff";
Autriche_geographique [fillcolor="#e6f2ff", label="Autriche", isg="29", niveau="99"];
}
subgraph cluster_Gabon_geographique {
label="Gabon_geographique";
fillcolor="#e6f2ff";
Gabon_geographique [fillcolor="#e6f2ff", label="Gabon", isg="57", niveau="99"];
}
subgraph cluster_Norvege_geographique {
label="Norvege_geographique";
fillcolor="#e6f2ff";
Norvege_geographique [fillcolor="#e6f2ff", label="Norvège", isg="23", niveau="99"];
}
subgraph cluster_Ukraine_geographique {
label="Ukraine_geographique";
fillcolor="#e6f2ff";
Ukraine_geographique [fillcolor="#e6f2ff", label="Ukraine", isg="73", niveau="99"];
}
subgraph cluster_Ghana_geographique {
label="Ghana_geographique";
fillcolor="#e6f2ff";
Ghana_geographique [fillcolor="#e6f2ff", label="Ghana", isg="51", niveau="99"];
}
subgraph cluster_Madagascar_geographique {
label="Madagascar_geographique";
fillcolor="#e6f2ff";
Madagascar_geographique [fillcolor="#e6f2ff", label="Madagascar", isg="63", niveau="99"];
}
subgraph cluster_Indonesie_geographique {
label="Indonesie_geographique";
fillcolor="#e6f2ff";
Indonesie_geographique [fillcolor="#e6f2ff", label="Indonésie", isg="54", niveau="99"];
}
subgraph cluster_Belgique_geographique {
label="Belgique_geographique";
fillcolor="#e6f2ff";
Belgique_geographique [fillcolor="#e6f2ff", label="Belgique", isg="34", niveau="99"];
}
subgraph cluster_Perou_geographique {
label="Perou_geographique";
fillcolor="#e6f2ff";
Perou_geographique [fillcolor="#e6f2ff", label="Pérou", isg="57", niveau="99"];
}
subgraph cluster_RDCongo_geographique {
label="RDCongo_geographique";
fillcolor="#e6f2ff";
RDCongo_geographique [fillcolor="#e6f2ff", label="RD Congo", isg="84", niveau="99"];
}
subgraph cluster_Finlande_geographique {
label="Finlande_geographique";
fillcolor="#e6f2ff";
Finlande_geographique [fillcolor="#e6f2ff", label="Finlande", isg="25", niveau="99"];
}
subgraph cluster_Chili_geographique {
label="Chili_geographique";
fillcolor="#e6f2ff";
Chili_geographique [fillcolor="#e6f2ff", label="Chili", isg="41", niveau="99"];
}
subgraph cluster_Zambie_geographique {
label="Zambie_geographique";
fillcolor="#e6f2ff";
Zambie_geographique [fillcolor="#e6f2ff", label="Zambie", isg="54", niveau="99"];
}
subgraph cluster_Luxembourg_geographique {
label="Luxembourg_geographique";
fillcolor="#e6f2ff";
Luxembourg_geographique [fillcolor="#e6f2ff", label="Luxembourg", isg="24", niveau="99"];
}
subgraph cluster_Cuba_geographique {
label="Cuba_geographique";
fillcolor="#e6f2ff";
Cuba_geographique [fillcolor="#e6f2ff", label="Cuba", isg="45", niveau="99"];
}
subgraph cluster_Maroc_geographique {
label="Maroc_geographique";
fillcolor="#e6f2ff";
Maroc_geographique [fillcolor="#e6f2ff", label="Maroc", isg="55", niveau="99"];
}
subgraph cluster_Tanzanie_geographique {
label="Tanzanie_geographique";
fillcolor="#e6f2ff";
Tanzanie_geographique [fillcolor="#e6f2ff", label="Tanzanie", isg="55", niveau="99"];
}
subgraph cluster_Mozambique_geographique {
label="Mozambique_geographique";
fillcolor="#e6f2ff";
Mozambique_geographique [fillcolor="#e6f2ff", label="Mozambique", isg="72", niveau="99"];
}
subgraph cluster_Argentine_geographique {
label="Argentine_geographique";
fillcolor="#e6f2ff";
Argentine_geographique [fillcolor="#e6f2ff", label="Argentine", isg="46", niveau="99"];
}
subgraph cluster_Portugal_geographique {
label="Portugal_geographique";
fillcolor="#e6f2ff";
Portugal_geographique [fillcolor="#e6f2ff", label="Portugal", isg="30", niveau="99"];
}
subgraph cluster_Suede_geographique {
label="Suede_geographique";
fillcolor="#e6f2ff";
Suede_geographique [fillcolor="#e6f2ff", label="Suède", isg="27", niveau="99"];
}
subgraph cluster_Kazakhstan_geographique {
label="Kazakhstan_geographique";
fillcolor="#e6f2ff";
Kazakhstan_geographique [fillcolor="#e6f2ff", label="Kazakhstan", isg="51", niveau="99"];
}
subgraph cluster_Turquie_geographique {
label="Turquie_geographique";
fillcolor="#e6f2ff";
Turquie_geographique [fillcolor="#e6f2ff", label="Turquie", isg="64", niveau="99"];
}
subgraph cluster_ArabieSaoudite_geographique {
label="ArabieSaoudite_geographique";
fillcolor="#e6f2ff";
ArabieSaoudite_geographique [fillcolor="#e6f2ff", label="Arabie Saoudite", isg="51", niveau="99"];
}
subgraph cluster_Jordanie_geographique {
label="Jordanie_geographique";
fillcolor="#e6f2ff";
Jordanie_geographique [fillcolor="#e6f2ff", label="Jordanie", isg="54", niveau="99"];
}
subgraph cluster_Tadjikistan_geographique {
label="Tadjikistan_geographique";
fillcolor="#e6f2ff";
Tadjikistan_geographique [fillcolor="#e6f2ff", label="Tadjikistan", isg="59", niveau="99"];
}
}
@ -16034,4 +16034,3 @@ digraph Hierarchie_Composants_Electroniques_Simplifiee {
L13 [label="Liens origine des minerais", color="darkblue", fontcolor="white"];
}
}

View File

@ -116,7 +116,7 @@ def formater_noeuds_par_niveau(schema, niveau, indentation=4):
sortie = f"\n{indent}// Sous-graphes pour les nœuds de niveau {niveau} avec leurs relations\n"
# Définir l'ordre des attributs
ordre_attributs = ["ihh_pays", "ihh_acteurs", "ivc", "label", "niveau", "fillcolor", "orphelin", "shape", "style", "fontname"]
ordre_attributs = ["ihh_pays", "ihh_acteurs", "ivc", "isg", "label", "niveau", "fillcolor", "orphelin", "shape", "style", "fontname"]
# Formater chaque nœud comme un subgraph avec ses relations sortantes
for nom_noeud, attributs in attributs_niveau.items():