import json from pathlib import Path DATA_DIR = Path(__file__).parent / "data" REQUIRED_FILES = { "identity.json": ["first_name", "last_name", "email"], "context.json": ["title", "summary"], "experiences.json": [], "languages.json": [], "hobbies.json": [], "hyperlinks.json": [] } def load_json_data() -> dict: data = {} if not DATA_DIR.exists(): raise FileNotFoundError(f"Le dossier '{DATA_DIR}' n'existe pas.") for filename, required_keys in REQUIRED_FILES.items(): file_path = DATA_DIR / filename if not file_path.exists(): raise FileNotFoundError(f"Fichier requis manquant : '{filename}' dans le dossier data/") with open(file_path, "r", encoding="utf-8") as f: try: content = json.load(f) except json.JSONDecodeError as e: raise ValueError(f"Erreur de syntaxe JSON dans '{filename}' : {e}") # Validation des clés requises if isinstance(content, dict): for key in required_keys: if key not in content or not str(content[key]).strip(): raise KeyError(f"Clé manquante ou vide '{key}' dans '{filename}'") key_name = filename.replace(".json", "") data[key_name] = content return data