Exemples d'utilisation
Lister les outils disponibles
# Service Légifrance
with OpenLegiClient(token="VOTRE_TOKEN", service="legifrance") as client:
tools = client.list_tools()
print(f"🔧 {len(tools)} outils Légifrance disponibles")
for tool in tools:
print(f"- {tool['name']}: {tool['description']}")
# Service RNE (Entreprises)
with OpenLegiClient(token="VOTRE_TOKEN", service="rne") as client:
tools = client.list_tools()
print(f"\n🏢 {len(tools)} outils RNE disponibles")
# Service EUR-Lex (Droit européen)
with OpenLegiClient(token="VOTRE_TOKEN", service="eurlex") as client:
tools = client.list_tools()
print(f"\n🇪🇺 {len(tools)} outils EUR-Lex disponibles")
Rechercher dans le Journal Officiel
with OpenLegiClient(token="VOTRE_TOKEN_ICI") as client:
result = client.call_tool(
"recherche_journal_officiel",
{
"search": "dechet industriel recyclage",
"max_results": 5,
"sort": "SIGNATURE_DATE_DESC"
}
)
# Le résultat est dans result["content"][0]["text"]
print(result["content"][0]["text"])
Rechercher dans un code juridique
with OpenLegiClient(token="VOTRE_TOKEN_ICI") as client:
result = client.call_tool(
"rechercher_code",
{
"search": "mariage",
"code_name": "Code civil",
"page_size": 10
}
)
print(result["content"][0]["text"])
Rechercher de la jurisprudence
with OpenLegiClient(token="VOTRE_TOKEN_ICI") as client:
result = client.call_tool(
"rechercher_jurisprudence_judiciaire",
{
"search": "licenciement abusif",
"sort": "DATE_DESC",
"panorama": True, # Vue d'ensemble (métadonnées uniquement)
"page_size": 10
}
)
print(result["content"][0]["text"])
Rechercher dans un texte légal (LODA)
with OpenLegiClient(token="VOTRE_TOKEN_ICI") as client:
result = client.call_tool(
"rechercher_dans_texte_legal",
{
"search": "signature électronique",
"champ": "ALL",
"page_size": 5
}
)
print(result["content"][0]["text"])
Lister les codes juridiques disponibles
with OpenLegiClient(token="VOTRE_TOKEN_ICI") as client:
result = client.call_tool("lister_codes_juridiques", {})
print(result["content"][0]["text"])
Gestion des erreurs
import requests
from requests.exceptions import RequestException, HTTPError
with OpenLegiClient(token="VOTRE_TOKEN_ICI") as client:
try:
result = client.call_tool(
"recherche_journal_officiel",
{"search": "urbanisme"}
)
print(result["content"][0]["text"])
except HTTPError as e:
if e.response.status_code == 401:
print("❌ Erreur d'authentification: token invalide ou expiré")
elif e.response.status_code == 403:
print("❌ Accès interdit: vérifiez vos permissions")
elif e.response.status_code == 404:
print("❌ Endpoint non trouvé")
else:
print(f"❌ Erreur HTTP {e.response.status_code}: {e}")
except RequestException as e:
print(f"❌ Erreur de connexion: {e}")
except Exception as e:
print(f"❌ Erreur: {e}")
Rechercher des décisions CNIL
with OpenLegiClient(token="VOTRE_TOKEN", service="legifrance") as client:
result = client.call_tool(
"rechercher_decisions_cnil",
{
"search": "RGPD",
"nature_delib": ["Sanction"],
"sort": "DATE_DECISION_DESC",
"page_size": 10
}
)
print(result["content"][0]["text"])
Rechercher des décisions du Conseil constitutionnel
with OpenLegiClient(token="VOTRE_TOKEN", service="legifrance") as client:
result = client.call_tool(
"rechercher_decisions_constitutionnelles",
{
"search": "liberté expression",
"panorama": True,
"page_size": 10
}
)
print(result["content"][0]["text"])
Rechercher des conventions collectives
with OpenLegiClient(token="VOTRE_TOKEN", service="legifrance") as client:
result = client.call_tool(
"rechercher_conventions_collectives",
{
"search": "métallurgie",
"page_size": 10
}
)
print(result["content"][0]["text"])
Rechercher une entreprise (RNE)
with OpenLegiClient(token="VOTRE_TOKEN", service="rne") as client:
result = client.call_tool(
"rne_search_companies",
{
"query": "Google France",
"page": 1,
"per_page": 10
}
)
print(result["content"][0]["text"])
Rechercher dans EUR-Lex
with OpenLegiClient(token="VOTRE_TOKEN", service="eurlex") as client:
result = client.call_tool(
"eurlex_search_by_title",
{
"title": "RGPD",
"max_results": 5
}
)
print(result["content"][0]["text"])