2 nouveaux clients ont été ajoutés au dépot git https://github.com/EsupPortail/esup-sgc-client dans les branches :
- https://github.com/EsupPortail/esup-sgc-client/tree/master-shib-auth (Encodage manuel)
- https://github.com/EsupPortail/esup-sgc-client/tree/univ-rouen-robot-zxp3-shib-auth (Encodage via le robot ZXP3)
Ces clients ont été créés pour sortir du système Java Web Start (fichier JNLP) qui est en cours d’abandon.
Le lancement par jnlp nous permettait de passer les paramètres d'encodage à l'application (notamment le numéro Id du périphérique). Avec la nouvelle application on récupère maintenant un jar que l'on peut lancer directement. Au passage, l'application n'a plus besoin d'être signée.
La nouvelle application 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 avoir des droits d'écriture sur l'emplacement d'où elle est lancée pour pouvoir créer le fichier localstorage
Fonctionnalités
- L'application lit le QR code imprimé sur la carte à encoder qui correspond à l'identifiant du futur propriétaire de la carte.
- Demande la sélection dans esup-sgc de l'individu à encoder
- L'application récupéré les commandes à exécuter sur la carte via esup-nfc-tag-server
- Validation de l'encodage et activation de la carte
- É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
Sources :
https://github.com/EsupPortail/esup-sgc-client.git
git clone https://github.com/EsupPortail/esup-sgc-client.git //ensuite au choix git checkout master-shib-auth //pour le client manuel git checkout univ-rouen-robot-zxp3-shib-auth //pour le client zxp3
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
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 esupsgcclient-1.1-SNAPSHOT-jar-with-dependencies.jar 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 doit être renommé esupsgcclient-r2d2-shib.jar.
Lancement
Sur vos postes, nous recommandons l'usage d'openJDK https://jdk.java.net et openJFX https://gluonhq.com/products/javafx/ (voir également https://openjfx.io/openjfx-docs/ ) qui sont des produits opensource et gratuits.
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 -jar esupsgcclient-shib.jar
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), 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 :
- un fichier de logs pour éventuellement tracer les actions/infos/erreurs
- un fichier contenant un jeton d'authentification permettant à l'utilisateur d'éviter de devoir resssisir ses identifiants à chaque lancement de l'application.