from typing import Dict import networkx as nx def extraire_niveaux(G: nx.DiGraph) -> Dict[str | int, int]: """Extrait les niveaux des nœuds du graphe. Args: G (nx.DiGraph): Le graphe d'origine à analyser. Returns: dict: Un dictionnaire associant chaque nœud au niveau correspondant. Les valeurs sont des entiers représentant les niveaux. """ niveaux = {} for node, attrs in G.nodes(data=True): niveau_str = attrs.get("niveau") if niveau_str: niveaux[node] = int(str(niveau_str).strip('"')) return niveaux