import gradio as gr import requests from requests.auth import HTTPBasicAuth import json def fetch_confluence_pages(domain, email, api_token): url = f"https://{domain}/wiki/api/v2/pages" auth = HTTPBasicAuth(email, api_token) headers = { "Accept": "application/json" } try: response = requests.request( "GET", url, headers=headers, auth=auth ) response.raise_for_status() # Lève une exception pour les codes d'erreur HTTP # Formater la réponse JSON pour une meilleure lisibilité formatted_response = json.dumps(json.loads(response.text), sort_keys=True, indent=4, separators=(",", ": ")) return formatted_response except requests.exceptions.RequestException as e: return f"Une erreur s'est produite : {str(e)}" # Création de l'interface Gradio iface = gr.Interface( fn=fetch_confluence_pages, inputs=[ gr.Textbox(label="Domaine Confluence (ex: your-domain.atlassian.net)"), gr.Textbox(label="Email"), gr.Textbox(label="API Token", type="password") ], outputs=gr.Textbox(label="Réponse de l'API", lines=20), title="Récupération des pages Confluence", description="Entrez les détails de votre instance Confluence pour récupérer la liste des pages." ) # Lancement de l'interface iface.launch()