Arborescence des pages

Vous regardez une version antérieure (v. /wiki/pages/viewpage.action?pageId=729513992) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 40) afficher la version suivante »

esup-sgc-client correspond au client esup-sgc/esup-nfc-tag permettant après impression de la carte à

  • l'enrolement de la carte physique électronique dans esup-sgc (via lecture du CSN) 
  • l'encodage de la carte, gra?e à esup-nfc-tag et éventuellement grâce à esup-cnous-client (pour les cartes non pré-encodées crous/izly)

2 clients esup-sgc-client sont proposés depuis le dépot git https://github.com/EsupPortail/esup-sgc-client :

esup-sgc-client demande une connexion shibboleth via une webview intégrée (identique à l'application mobile) et utilise un localstorage pour stocker les informations nécessaires.

L'application doit pouvoir écrire un fichier localstorage qui se situe :

  • sous windows, dans le home de l'utilisateur dans /AppData/Local/EsupSgcClient/
  • sous linux dans le répertoire courant depuis lequel on lance la commande Java

Pour que le client Esup-Sgc-Client voit l'application d’écriture SGC configurée dans Esup-NFC-TAG-Server, il faut que l'option "Visible" soit cochée dans l'interface d'Esup-NFC-TAG-Server.

ESUP-SGC-CLIENT

Fonctionnalités

  1. L'application lit le QR code imprimé sur la carte à encoder qui correspond à l'identifiant du futur propriétaire de la carte.
  2. Demande la sélection dans esup-sgc de l'individu à encoder
  3. L'application récupéré les commandes à exécuter sur la carte via esup-nfc-tag-server
  4. Validation de l'encodage et activation de la carte
  5. Éventuellement encodage de l'application CROUS ( voir https://www.esup-portail.org/wiki/display/SGC/FAQ#FAQ-Peut-onencoderl'applicationCROUSquandonutilisedescartesvierges?)

Environnement

Logiciel

  • L'application fonctionne sous java  avec JavaFX.
  • L'application fonctionne sur Linux ou Windows 10 64bits (l'encodage CROUS necessite Windows 10 64bits)
  • pour l'encodage de l'application CROUS le pilote OMNIKEY CardMan 6121 (pilote) (voir ESUP-CNOUS-CLIENT)

Materiel

L'application nécessite :

  • une webcam gérant la résolution VGA (640x480)
  • un lecteur de carte compatible PC/SC
  • pour l'encodage de l'application CROUS il faut connecter la clé SAM OMNIKEY CardMan 6121 avec sa carte sim 


La webcam est placée pour filmer le lecteur de carte (procéder à la mise au point si besoin). Lorsqu'une carte est posée sur le lecteur de carte, la webcam détecte le QR code et la procédure d'encodage démarre

Documentation de mise en œuvre ESUP-SGC / ESUP-NFC-TAG#SGC/ESUP-NFC-TAG-Installationmaterielle

Installation

Le plus rapide est de récupérer le jar esup-sgc-client et/ou l'installateur windows depuis https://esup-sgc-client-web-installer.univ-rouen.fr/

Vous pouvez le packager/builder vous même également cependant, cf ci-dessous.

Sources : 

https://github.com/EsupPortail/esup-sgc-client.git


git clone https://github.com/EsupPortail/esup-sgc-client.git
git checkout -b esupsgcclient-univ-ville esupsgcclient-v2.3

Paramétrage

Il faut modifier le fichier src/main/resources/esupsgcclient.properties pour y mettre vos adresses esup-nfc-tag-server et esup-sgc et activer ou non l'encodage CNOUS

esupSgcUrl = https://esup-sgc.univ-ville.fr
esupNfcTagServerUrl = https://esup-nfc-tag.univ-ville.fr
encodeCnous = false
localStorageDir = /AppData/Local/EsupSgcClient/

Compilation esup-sgc-client

Dans le dossier esup-sgc-client executer : 

mvn clean package

Pour disposer du jar au sein du site ESUP-SGC :

Copier le fichier esup-sgc-client-final.jar (répertoire target) en le renommant esupsgcclient-shib.jar dans la webapp esup-sgc ou dans vos sources sous src/main/webapp/ avant de compiler esup-sgc

pour le client zxp3 le fichier (esupsgcclient-**-jar-with-dependencies.jar) doit être renommé esupsgcclient-r2d2-shib.jar.

Lancement

Si vous utilisez l'installateur windows, vous n'avez qu'à lancer le client depuis le raccourci créé par celui-ci, l'installateur embarque directement une distribution d'un openjdk et openjfx proposés par la communauté Zulu !

Vous pouvez aussi utilise openJDK fourni depuis https://jdk.java.net et openJFX fourni depuis https://gluonhq.com/products/javafx/ (voir également  https://openjfx.io/openjfx-docs/ ) qui sont des produits opensource et gratuits également.

esup-sgc-client est compatible avec les JDK 9 et supérieurs. Depuis juin 2022, l'installateur windows embarque les versions JDK/JFX 18 packagées par Zulu (les dernières en date).

Suivant l'intégration de JAVAFX, la commande à lancer est la suivante : 

java.exe --module-path %PATH_TO_FX% --add-modules javafx.controls,javafx.fxml,javafx.base,javafx.media,javafx.graphics,javafx.swing,javafx.web -Dcom.sun.webkit.useHTTP2Loader=false -jar esupsgcclient-shib.jar

L'option "-Dcom.sun.webkit.useHTTP2Loader=false" donnée ici à titre indicatif permet de forcer l'usage de HTTP 1 et peut permettre d'éviter d'éventuels problèmes avec des serveurs web (apache) un peu anciens.

Précisions

Les installations d'openJDK et OpenJFX  correspondent à dézipper leurs archives dans un répertoire donné.

Sur un poste windows, on peut par exemple les dézipper dans un répertoire C:\esup-sgc-client, on aura ainsi

  • C:\esup-sgc-client\jdk-12.0.1 pour le JDK 
  • C:\esup-sgc-client\javafx-sdk-12.0.1 pour le JavaFX 

En plaçant le JAR d'esup-sg-client (esupsgcclient-shib.jar) dans ce même répertoire C:\esup-sgc-client on peut ainsi finalement exécuter le JAR ainsi : 

C:\esup-sgc-client\jdk-12.0.1\bin\java.exe --module-path C:\esup-sgc-client\javafx-sdk-12.0.1\lib --add-modules javafx.controls,javafx.fxml,javafx.base,javafx.media,javafx.graphics,javafx.swing,javafx.web -jar C:\esup-sgc-client\esupsgcclient-shib.jar


Si vous utilisez cette commande au travers d'un raccourci windows (pour faciliter son usage c'est une bonne idée, et c'est ce que propose l'installateur windows que vous pouvez générer depuis https://esup-sgc-client-web-installer.univ-rouen.fr), n'oubliez pas également de préciser le répertoire d'exécution comme étant également C:\esup-sgc-client.

A l'exécution ce client esup-sgc-client esupsgcclient-shib.jar écrit en effet 2 fichiers dans le répertoire courant : 

  1. un fichier de logs pour éventuellement tracer les actions/infos/erreurs 
  2. un fichier contenant un jeton d'authentification permettant à l'utilisateur d'éviter de devoir resssisir ses identifiants à chaque lancement de l'application.


Nouvelle version d'esup-sgc-client pour l'encodage+impression en 1 temps

Actuellement en cours de développement, la nouvelle version permettra (en plus d'encoder une carte via lecteur du qrcode depuis une webcam avec lecteur NFC de connectée) de lancer des encodages+impressions directement depuis l'interface web esup-sgc sur des imprimantes de type evolis primacy2 et zebra ZC300

Evolis Primacy 2

La branche evolis-print-encode est actuellement compatible avec evolis primacy 2.

Pour la faire fonctionner, il faut une primacy 2 avec un encodeur (nous avons opté pour un encodeur de type SpringCard CrazyWriter ici).

Il vous faut installer le driver de votre encodeur NFC (depuis https://www.springcard.com/en/download/drivers nous avons installé le "PC/SC Driver for USB couplers" via le fichier sd16055-2104.exe).

Pour la primacy 2 en elle-même, il vous faut installer le "Evolis Premium Suite 2" depuis https://myplace.evolis.com/s/quick-install-step-4?language=fr

Notez que "Evolis Premium Suite 2"  ne fonctionne que depuis Windows, le lecteur NFC ne fonctionne que via USB : le client esup-sgc-client doit donc être installé sur ce même windows.

Le client esup-sgc-client dialogue avec "Evolis Premium Suite 2" par TCP pour finalement que les ordres soient données à l'imprimante. Pour la phase d'encodage, une fois l'odre donnée de positionner la carte au niveau de l'encodeur,  esup-sgc-client dialogue directement avec l'encodeur NFC.

"Evolis Premium Suite 2" doit être configuré pour permettre cette communication par TCP. Dans le répertoire bin de "Evolis Premium Suite 2" (dans Program Files), il vous faut modifier evoservice.properties : 

RequestServer.tcpport = 18000
RequestServer.tcpenabled = true

Le fichier de configuration d'esup-sgc-client donné dans src/main/resources/esupsgcclient.properties doit reprendre ce même numéro de port : 

esupSgcUrl = https://esup-sgc.univ-ville.fr
esupNfcTagServerUrl = https://esup-nfc-tag.univ-ville.fr
encodeCnous = false
localStorageDir = /AppData/Local/EsupSgcClient/
printerEvolisIp = 127.0.0.1
printerEvolisPort = 18000
# RC_YMCKOS pour le demi-panneau
# printerEvolisSet = GRibbonType=RC_YMCKO;Duplex=NONE;GOutputTray=HOPPER
printerEvolisSet = GRibbonType=RC_YMCKOS;Duplex=NONE;GOutputTray=HOPPER

ESUP-SGC

Côté esup-sgc, le développement est également en cours en parallèle dans la branche esup-sgc-2

Il vous faudra ensuite faire en sorte que les 2 configurations BMP_COMMAND_BLACK_PRINTER et BMP_COMMAND_COLOR_PRINTER puissent fonctionner.
Ce sont elles qui permettent de récupérer les images BMP noir et blanc d'une part, et couleur d'autre part, qui seront envoyées à l'imprimante via esup-sgc-client.

Par défaut, on propose une configuration de BMP_COMMAND_BLACK_PRINTER de ce type par exemple : 

wget --bind-address 127.0.0.1 -4 'https://esup-sgc.univ-ville.fr/wsrest/view/%s/card-b64.html?type=black' -O card-b64.html && chromium --headless --disable-gpu --print-to-pdf=card.pdf card-b64.html && gs -o card-resize.pdf -sDEVICE=pdfwrite -dPDFFitPage -g10160x6480 card.pdf && convert -monochrome card-resize.pdf card.bmp

Notez qu'esup-sgc s'appelle donc lui-même, via chromium et les outils ghostscript et imagemagick, on arrive ici à retrouver un BMP reprenant exactement le thème/look de la carte que l'on obtient via une impression HTML (telle que le propose esup-sgc pour permettre l'usage de tout type d'imprimante à carte).

Pour que cette commande fonctionne, il faut : 

  • que esup-sgc lui-même puisse accéder à /wsrest/view/ (d'où le bind-adress ici en cohérence avec le fichier applicationContext-security.xml)
  • que chromium, ghostscript et ImageMagick soient installés
  • ... et pour ImageMagick notamment, que le format PDF ne soit pas désactivé (il faut commenter <policy domain="coder" rights="none" pattern="PDF" /> dans /etc/ImageMagick-6/policy.xml par exemple pour ce faire)

ESUP-SGC-CLIENT-ZXP3

Esup-sgc-client-zxp3 est l'application permettant d'encoder les cartes Mifare Desfire dans le cadre du Système de gestion de carte Esup-sgc. Elle est identique à Esup-sgc-client mais elle utilise une imprimante Zebra ZXP3 pour automatiser l'encodage.

Environnement

Logiciel

  • OS Windows 10 64bits (L'application devrait pouvoir tourner sous Linux si l'encodeur SDI010 est bien reconnu)
  • L'application est prévue pour tourner sur du java 8 avec javafx (le SDK de Zebra requiert un JDK8 et n'est donc pas compatible avec un JDK11 par exemple). La version du JDK 8 d'Oracle embarque javafx et fonctionne, mais suite au changement de license côté Oracle, il faudrait maintenant s'acquitter d'une license pour un usage en production. Aussi le mieux ici est de prendre la version d'OpenJdk avec OpenJFX de communauté Zulu Nous en gardons une copie ici : zulu8.44.0.13-ca-fx-jdk8.0.242-win_x64.zip
  • Le pilote Zebra ZXP3
  • Le pilote PCSC SDI010
  • Le SDK Zebra LinkOs
  • Pour permettre l'encodage CNOUS il faut utiliser une machine windows 64bits pour lancer le client et il faut avoir installé l'application CNOUS Espu-sgc-cnous (voir ESUP-CNOUS-CLIENT)

Materiel

L'application nécessite :

  • une webcam gérant la resolution VGA (640x480)
  • une imprimante Zebra ZXP3 avec encodeur SDI010
  • Pour l'encodage de l'application CNOUS il faut connecter la clé SAM OMNIKEY CardMan 6121 avec sa carte sim

La webcam est placée dans l'imprimante (qui reste ouverte) pour filmer le lecteur de carte. Il faut donc placer quelque chose dans le capteur de fermeture du couvercle. voir : https://www.esup-portail.org/wiki/pages/viewpage.action?pageId=613384398

Reglage offset lecteur sans contact à 0

Via les outils du driver (sous windows "Propiétés de l'imprimante > Device Settings > Tools > Command to send to printer") lancer la commande : +OS 0

réponse : 0 <ACK>

Installation

Sources : https://github.com/EsupPortail/esup-sgc-client/tree/univ-rouen-robot-zxp3

git clone https://github.com/EsupPortail/esup-sgc-client.git
git checkout -b esupsgcclient-r2d2-v2.0 esupsgcclient-r2d2-v2.0

Compilation Maven

Installation des dépendances ZSDK_API et ZSDK_CARD_API

Pour communiquer avec la Zebra ZXP3 esup-sgc-client-zxp3 utilise le SDK Zebra. Pour fonctionner il est installé en tant que depot maven local.

Le sdk se récupère à cette adresse : https://www.zebra.com/fr/fr/products/software/barcode-printers/link-os/link-os-sdk.html

Après l'installation du mpsdk-installer, vous pouvez ainsi récupérer et copier les deux jar présents dans le dossier link_os_sdk/PC-Card/v2.12.3968/lib :

  • ZSDK_API.jar, renomé ZSDK_API-2.12.3968.jar, dans le dossier src/lib/com/zebra/sdk/comm/ZSDK_API/2.12.3968/
  • ZSDK_CARD_API.jar, renomé ZSDK_CARD_API-2.12.3968.jar, dans le dossier src/lib/com/zebra/sdk/common/card/ZSDK_CARD_API/2.12.3968/

Pour la compilation avec maven, copier tout le dosier com situé dans src/lib dans le dossier ~/.m2/repository

Compilation maven

Depuis le répertoire source on lance : 

mvn package

Vous pouvez alors renommer target/esupsgcclient-r2d2-2.1-SNAPSHOT-jar-with-dependencies.jar en esupsgcclient-r2d2-shib.jar. 

Lancement depuis un poste windows

Sur le poste client il vous faut également indiquer dans le path le répertoire link_os_sdk/PC-Card/v2.12.3968/lib en plus du répertoire bin de votre JDK+JFX Zulu - voir copié d'écran :


Avec JDK+JFX Zulu, et en valuant ainsi votre PATH, vous n'avez plus qu'à lancer le jar ainsi : 

java -jar esupsgcclient-r2d2-shib.jar


Note : documentation du SDK : http://techdocs.zebra.com/link-os/2-12/

Compilation / paramétrage esup-sgc-client-zxp3

Voir Configuration / paramétrage

ESUP-CNOUS-CLIENT

voir la FAQ : FAQ

L'application esup-cnous-client permet la lecture et l'encodage de l'application CNOUS sur une carte préalablement configurée (application desfire F58540 déjà présente)

Fonctionalitées

  • CreationCarteCrous.exe ou CreationCarteCrous.exe -h : affiche l'aide
  • CreationCarteCrous.exe -t : contrôle de l'application. Retourne true si tout est OK
  • CreationCarteCrous.exe -l : lit l'application CNOUS de la carte présente sur le lecteur
  • CreationCarteCrous.exe -e XXXXXXXXXXX : encode l'application CNOUS avec le numéro passé en paramètre (le numéro doit comporter 15 caractères)

Environnement

Matériel

  • un lecteur de carte compatible PC/SC
  • une clé SAM OMNIKEY CardMan 6121 (l'application utilise automatiquement la clé de type 6121 comme clé SAM et l'autre lecteur de carte comme encodeur)

Logiciel

  • un environnement windows 64bits
  • le framework .net 2 minimum

Installation

Pour un fonctionnement avec le client esup-sgc-client, l’exécutable doit être copié dans le dossier c:\cnousApi du poste sur lequel sera lancé l'encodage. De plus, l'application nécessite la présence de 4 librairies dans ce même dossier:

  • cnous_fournisseur_carte.dll (à demander auprès du CNOUS)
  • libeay32.dll (openssl)
  • libssl32.dll (openssl)
  • pcsc_desfire.dll (springcard)

la version de la dll cnous doit etre x64

Sources : https://github.com/EsupPortail/esup-crous-client

git clone https://github.com/EsupPortail/esup-crous-client.git

Compilation

Pour compiler la solution il suffit de télécharger la dernière version de Visual Studio Community (https://www.visualstudio.com/fr/downloads/) ainsi que le framework .net version > 2

  • Aucune étiquette