Agent DevBox-santé

Accéder aux Cartes CPS et Vitale des postes utilisateurs depuis votre environnement serveur

Le DevBox-Santé agent est le composant d’accès aux différentes cartes se connectant sur une DevBox-Santé backend via des WebSockets :

!theme aws-orange
!define DEVBOX_COLOR #278ef5
!define DMP_COLOR #35D9C0
!define MSS_COLOR #DE5D80
!define INS_COLOR #07A2CF
!define CPS_COLOR #D34A3C
!define VITALE_COLOR #5FD67A
!define PSC_COLOR #ff7765
!define APCV_COLOR #c6e66d
!define ANNUAIRE_COLOR #7613e0
!define DATA_COLOR #ffa800

node "Environnement intégrateur" {
    [BackEnd intégrateur] as backend
    component "DevBox-Santé Proxy REST" as devbox DEVBOX_COLOR {
           [CpsAgentClient] CPS_COLOR
           [VitaleAgentClient] VITALE_COLOR
    }
}

node "Poste Utilisateur PC" {
'    node "Navigateur" as browser {
'        [FrontEnd intégrateur] as frontend
'    }
    component "DevBox-agent" as dbxAgent DEVBOX_COLOR {
            [DevBox-sante CPS] as cps CPS_COLOR
            [DevBox-sante Vitale] as vitale VITALE_COLOR

    }
    [Cryptolib CPS (ANS)] as cryptolibCPS
    [Apis natives Vitale] as apiVitale
}


cps -[hidden]d- vitale
CpsAgentClient -[hidden]- VitaleAgentClient

CpsAgentClient <-> cps : wss://
VitaleAgentClient <-> vitale : wss://
backend -d-> CpsAgentClient : http(s)
'devbox <--> dbxAgent : websocket
cps -> cryptolibCPS : natif
vitale -> apiVitale : natif

Courte démonstration

Comment récupérer par carte vitale l’INS de Ruth de Vinci avec une carte CPS depuis un environnement distant en moins de 2 minutes (installation comprise):

Téléchargement

Récupérer la dernière version en téléchargement sur la page Versions

Installation

Installation manuel

Il suffit de suivre les étapes d’installation de la GUI de l’installer.

Installation en mode silencieux

L’installer de la DevBox-Santé-agent s’appuie sur install4j, il est donc possible de lancer une installation en mode silencieux avec l’option -q. Pour cela :

  • Installer la devbox-sante en mode GUI sur un poste afin de récupérer le fichier .install4j/response.varfile se trouvant dans le répertoire d’installation. Il devrait ressembler à cela :
# install4j response file for DevBox Santé - Agent 
sys.adminRights$Boolean=true
sys.component.178$Boolean=true
sys.component.2855$Boolean=false
sys.component.2857$Boolean=true
sys.installationDir=C\:\\Program Files\\DevBoxSante-agent
sys.languageId=fr
sys.programGroupAllUsers$Boolean=true
sys.programGroupDisabled$Boolean=false
sys.programGroupName=DevBox Sant\u00E9 - Agent
  • Lancer l’installation en mode silencieux. Sous Windows depuis un terminal en tant qu’administrateur :
.\DevBoxSante-agent-windows-x64-VERSION.exe -q -varfile response.varfile

Plus d’information : https://www.ej-technologies.com/resources/install4j/help/doc/installers/installerModes.html

Exécution

Si le DevBox-Santé Agent est bien démarré, vous pouvez depuis le menu “À propos” de l’icone de la barre de tâches :

Dbx-Agent à propos

Au 1er lancement, l’agent est configuré avec des valeurs par défaut et ne pourra donc pas se connecter à votre backend.

Configuration

Proxy HTTP

L’agent DevBox-Santé est configuré par défaut pour utiliser le proxy HTTP du système. Toutefois, il est possible d’ajouter manuellement un proxy HTTP.

  • Depuis le menu contextuel de l’agent, vous pouvez accéder à la fenêtre de configuration du proxy :

    Menu déroulant

  • En poste installation, en rajoutant à la fin du fichier DevBoxSante-agent.vmoptions se trouvant dans le répertoire d’installation, les informations de proxy.

    Exemple :

    -Dhttp.proxyHost=myproxy.mysociete
    -Dhttp.proxyPort=3128 
    

Il faudra relancer l’agent pour que la configuration soit prise en compte.

Gestion des paramètres de lancement

Afin de configurer l’agent selon votre installation, vous devez le relancer en lui passant les paramètres suivants :

  • devbox-sante.agent.backend.baseUrl : url du serveur distant
  • devbox-sante.agent.sessionId : token de session partagé entre le serveur et l’agent (format uuid)
  • devbox-sante.agent.backend.auth.basic : l’authentification basic encodée en base64

Nous allons détailler les paramètres.

Backend url

Cet url dépend de votre environnement, sa récupération est à votre convenance (configuration dans votre backend par exemple)

SessionId

Cet id va permettre de relier l’utilisateur. Lorsque vous faites une lecture de carte CPS par exemple:

curl -X GET /cps/cardInfo -H dbx-agent-sessionid=<UUID>

Le serveur va alors interroger l’Agent ayant cette session id. Cet UUID doit être généré par votre application.

Auth

Afin de se connecter au backend, l’Agent a besoin d’une authentification temporaire. Pour cela, votre backend appelle le service suivant:

GET /auth/generate/token/forUser/{username}

Result;

{token: xxxx}

Le token a une durée de vie de 1H.

Lancement de l’Agent

Une fois tous les paramètres récupérés, vous pouvez lancer l’agent via:

  • depuis un navigateur :
dbx://config?devbox-sante.agent.sessionId=22f01...0f658&devbox-sante.agent.backend.baseUrl=ws://localhost:8080&devbox-sante.agent.backend.auth.basic=ZGV2Y29vcDplYmFjMz...NzA3OGI1ZDQ=
  • ou depuis une ligne de commande Windows ( MINGW64 ):
/c/Program Files/DevBoxSante-agent/devbox-sante.exe -Ddevbox-sante.agent.sessionId=22...90f65 -Ddevbox-sante.agent.backend.baseUrl=ws://localhost:8080 -Ddevbox-sante.agent.backend.auth.basic=ZGV2Y29vcDplYmFj...hZDA4NzA3OGI1ZDQ=
Proxy Http

Afin de lancer l’agent avec un proxy HTTP, vous pouvez ajouter les paramètres :

  • &http.proxyHost=VOTRE_PROXY_HOST&http.proxyPort=VOTRE_PROXY_PORT pour l’url launcher --Dhttp.proxyHost=VOTRE_PROXY_HOST -Dhttp.proxyPort=VOTRE_PROXY_PORT à votre ligne de commande windows.

Administration

  • Liste des agents connectés:
GET /sessions/info
  • Détail d’un agent:
GET /sessions/{agentSessionId}/info
  • Arrêt d’un agent
GET /sessions/{agentSessionId}/shutdown