Atlassian uses cookies to improve your browsing experience, perform analytics and research, and conduct advertising. Accept all cookies to indicate that you agree to our use of cookies on your device. Atlassian cookies and tracking notice, (opens new window)
Enterprise Flows Repository - Base de connaissance
/
[Scénario] Expliquer un concept de EFR
Updated sept. 03

    [Scénario] Expliquer un concept de EFR

    Expliquer un concept ou retrouver une façon de faire dans la documentation.

    La documentation est assez fourni mais il peut être compliqué de trouver ce que l’on veut, l’agent fais plusieurs recherches dans celle ci afin de trouver la meilleur information.

    Scénario: “Expliquer un concept de EFR“

    Question / Réponse

    Question / Réponse

    Q: Quelle est la différence entre un flux et une médiation ?

    R:

    Bonjour,

    Un flux est un concept abstrait qui représente un transfert de données entre plusieurs applications. Il est mis en œuvre par une ou plusieurs médiations.

    Une médiation est un programme en cours d'exécution. Elle peut représenter la totalité ou une partie d'un flux. Une médiation peut également être générique et participer à plusieurs flux.

    En résumé :

    • Flux : Transfert de données (logique).

    • Médiation : Programme exécutant tout ou partie du transfert (implémentation).


    Sources:

    • Vue des interactions

    Scénario: “Implémenter du code dans EFR“

    Question / Réponse

    Question / Réponse

    Q: J'ai une application python avec un frontend fastAPI, comment puis je relier mon application aux API EFR ? (en te reponsant sur la documentation)

    R:

    Bonjour,

    Pour connecter votre application Python / FastAPI aux API EFR, voici les étapes à suivre, basées sur la documentation officielle.

    Étape 1 : Authentification

    La première étape est de récupérer un jeton d'accès (token) via une requête POST sur le point de terminaison d'authentification.

    POST /auth/realms/efr/protocol/openid-connect/token HTTP/1.1 Host: [domaine] Content-Type: application/x-www-form-urlencoded username=[...]&password=[...]&grant_type=password&client_id=[...]&client_secret=[...]

    En retour, vous obtiendrez un access_token à utiliser pour les appels suivants.

    Étape 2 : Appels aux API

    Utilisez le jeton pour authentifier vos appels aux API EFR en l'ajoutant dans l'en-tête Authorization.

    • En-tête requis :

      Authorization: Bearer <access_token>
    • Exemple d'appel (Publier des traces) :

      POST /[environnement]/api/traces/1 HTTP/1.1 Host: [domaine] Authorization: Bearer <access_token> Content-Type: application/json { "key": "value" }

    Documentation Complète

    La liste exhaustive des API et leurs spécifications est disponible dans la documentation OpenAPI accessible directement depuis l'IHM d'EFR.


    Sources:

    • Appels par API

    • Intégration de EFR avec vos applications

    • Publier des traces de transport

    Peux tu me faire un bout de code qui rajoute ça à un appel type ?

    Bien sûr, voici un exemple de code en Python utilisant la bibliothèque requests pour illustrer comment s'authentifier et ensuite effectuer un appel à une API EFR.

    Prérequis

    Assurez-vous d'avoir la bibliothèque requests installée :

    pip install requests

    Exemple de code

    Cet exemple montre comment obtenir un jeton d'accès, puis l'utiliser pour publier une trace.

    import requests import json # --- Configuration --- # Remplacez ces valeurs par vos informations réelles EFR_DOMAIN = "votre-domaine-efr.com" EFR_ENVIRONMENT = "dev" CLIENT_ID = "votre-client-id" CLIENT_SECRET = "votre-client-secret" USERNAME = "votre-username" PASSWORD = "votre-password" # --- 1. Authentification --- auth_url = f"https://{EFR_DOMAIN}/auth/realms/efr/protocol/openid-connect/token" auth_payload = { "grant_type": "password", "client_id": CLIENT_ID, "client_secret": CLIENT_SECRET, "username": USERNAME, "password": PASSWORD, } try: print("1. Demande du jeton d'accès...") auth_response = requests.post(auth_url, data=auth_payload) auth_response.raise_for_status() # Lève une exception si la requête échoue (status >= 400) access_token = auth_response.json().get("access_token") print(" -> Jeton obtenu avec succès.") if not access_token: raise Valueerror("Le jeton d'accès n'a pas été trouvé dans la réponse.") # --- 2. Appel à l'API EFR (Exemple : Publier une trace) --- api_url = f"https://{EFR_DOMAIN}/{EFR_ENVIRONMENT}/api/traces/1" headers = { "Authorization": f"Bearer {access_token}", "Content-Type": "application/json", } # Données de la trace à envoyer trace_data = { "origin": "APP-001", "target": "APP-002", "status": "success", "informations": [ { "name": "id_facture", "value": "FACT-12345" } ] } print("\n2. Envoi de la trace à l'API EFR...") api_response = requests.post(api_url, headers=headers, data=json.dumps(trace_data)) api_response.raise_for_status() print(f" -> Réponse de l'API : {api_response.status_code}") print(f" -> Contenu : {api_response.json()}") except requests.exceptions.HTTPerror as http_err: print(f"Erreur HTTP : {http_err}") print(f"Détails de la réponse : {http_err.response.text}") except Exception as err: print(f"Une autre erreur est survenue : {err}")

    Ce script est une base que vous pouvez intégrer et adapter à la logique de votre application FastAPI.


    Sources:

    • Appels par API

    • Intégration de EFR avec vos applications

    On obient une réponse cohérente bien que imparfaite. Cependant cela peut aider à commencer l’intégration et/ou expliquer un concept facilement.

     

    Ce contenu est soumis au droit à Copyright. Il ne doit pas être utilisé sans accord de la société Middleware Editions.

    Documentation Enterprise Flows Repository

    Documentation
    Results will update as you type.
    • Guide utilisateur
      • Connexion à EFR
      • Gestion des flux
        • Alertes
        • Echanges
          • Résumé des échanges
          • Agent EFR
            • [Scénario] Rechercher à partir d'une information
            • [Scénario] Faire le résumé d’un ou plusieurs systèmes
            • [Scénario] Retrouver les dernières erreures d’un système.
            • [Scénario] Expliquer un concept de EFR
          • Les états d'un échange, d'un flux ou d'une médiation
        • Rejeux
        • Synthèse
      • Gestion du changement
      • Tests de Non-Regression
      • Cartographie
    • Administration
    • Intégration de EFR avec vos applications
    • Rapports Kibana
    • Releases notes
    • Webinaires
    • Glossaires
    • Patrons d'intégration
    • Mentions des logiciels tiers

      You‘re viewing this with anonymous access, so some content might be blocked.
      {"serverDuration": 69, "requestCorrelationId": "a7d2cba324f447e4aeb82a45c18df253"}