L'application esup-ngc-tag-keyboard permet d’émuler des frappes clavier (permettant ainsi de saisir l'identifiant du porteur de carte par exemple) ou de faire une redirection en fonction des données récupérées via esup-nfc-tag-server
L'application lit le csn ou l'application Desfire d'une carte et le transmet a esup-nfc-tag-server qui répond en fonction de l'identifiant de périphérique choisi.
Cf ci-dessous, vous pouvez récupérer les sources d'esup-nfc-tag-keyboard depuis le github EsupPortail et packager l'application vous même.
Vous pouvez aussi passer par https://esup-sgc-client-web-installer.univ-rouen.fr pour récupérer un installateur windows (ainsi que les jar intermédiaires qui peuvent être utilisés sur linux par exemple).
L'installateur vous créera un raccourci sur esup-nfc-tag-keyboard demandant à un openjdk/openjfx embarqué par l'installateur de lancer votre esup-nfc-tag-keyboard.
git clone https://github.com/EsupPortail/esup-nfc-tag-keyboard.git |
L'application propose plusieurs options :
Il est possible de modifier le fichier src/main/resources/esupnfctagkeyboard.properties pour spécifier les paramètres par défaut :
port = 33333 esupNfcTagServerUrl = https://esup-nfc-tag.univ-ville.fr numeroIds = keyboard-secondary-id, keyboard-csn, keyboard-eppn, keyboard-email emulateKeyboard = true forceCsn = false lineFeed = true redirect = false redirectUrlTemplate = https://esup-sgc.univ-rouen.fr/manager/{0} prefix = suffix = |
Modifier le fichier esupnfctagkeyboard.properties pour y insérer l'adresse de l'instance esup-nfc-tag-server et le numéro de périphérique par défaut
Dans de répertoire des sources lancer la commande :
mvn clean package |
le jar esupsgckeybemu-1.0-SNAPSHOT-jar-with-dependencies.jar va être générer dans le dossier target
Voici un exemple de configuration pour une utilisation en Bibliothèque universitaire
Il faut tout d'abord ajouter une configuration dans applicationContext-custom.xml. (exemple se basant sur ESUP-SGC)
<bean id="esupSecondaryIdExtApi" class="org.esupportail.nfctag.service.api.impl.AppliExtRestWs"> <property name="isTagableUrl" value="https://esup-sgc.univ-ville.fr/wsrest/nfc/isTagable"/> <property name="validateTagUrl" value="https://esup-sgc.univ-ville.fr/wsrest/nfc/validateTag"/> <property name="getLocationsUrl" value="https://esup-sgc.univ-ville.fr/wsrest/nfc/locationsSecondaryId"/> <property name="displayUrl" value="https://esup-sgc.univ-ville.fr/wsrest/nfc/secondaryId?idName=secondaryId"/> <property name="description" value="Web Service SecondaryId"/> </bean> |
Créer une application dans esup-nfc-tag-server avec les paramètres suivants :
Créer un périphérique dans esup-nfc-tag-server avec les paramètres suivants:
Il est possible de déclarer les propriétés systèmes suivantes, au lancement du jar, pour surcharger les propriétés définies dans esupnfctagkeyboard.properties (afin d'évité de recompiler l'application):
-DesupNfcTagKeyboard.url=https://esup-nfc-tag.univ-ville.fr -DesupNfcTagKeyboard.numeroIds=<liste des numemeroIds séparés par des virgules> -DesupNfcTagKeyboard.emulateKeyboard=true -DesupNfcTagKeyboard.forceCsn=false -DesupNfcTagKeyboard.lineFeed=true -DesupNfcTagKeyboard.redirect=false -DesupNfcTagKeyboard.redirectUrlTemplate = https://esup-sgc.univ-rouen.fr/manager/{0} -DesupNfcTagKeyboard.prefix= -DesupNfcTagKeyboard.suffix= |
pour lancer l'application:
java -jar esupnfctagkeyboard-1.0-SNAPSHOT-jar-with-dependencies.jar |
Sous windows, le plus simple est de créer un fichier bat comme suit (ici un exemple avec l'ajouter un prefix) :
@ECHO OFF start javaw -jar -DesupNfcTagKeyboard.prefix=TEST c:\<path_to_jar>\esupsgckeybemu-1.0-SNAPSHOT-jar-with-dependencies.jar exit |
et de lancer le fichier bat, l'application va alors tourner en tache de fond
Il est possible de créer plusieurs applications en ajoutant d'autres AppliExtRestWs dans le fichier applicationContext-custom.xml puis en créant les nouvelles applications et les périphériques qui correspondent dans esup-nfc-tag-server. L'application permet de switcher d'une application à une autre via le "tray icon" Par exemple pour une émulation de l'eppn : <bean id="esupEppnExtApi" class="org.esupportail.nfctag.service.api.impl.AppliExtRestWs"><property name="isTagableUrl" value="https://esup-sgc.univ-ville.fr/wsrest/nfc/isTagable"/> <property name="validateTagUrl" value="https://esup-sgc.univ-ville.fr/wsrest/nfc/validateTag"/> <property name="getLocationsUrl" value="https://esup-sgc.univ-ville.fr/wsrest/nfc/locationsSecondaryId"/> <property name="displayUrl" value="https://esup-sgc.univ-ville.fr/wsrest/nfc/secondaryId?idName=eppn"/> <property name="description" value="Web Service SecondaryId"/> </bean> |
Pour contôler que l'application est bien lancée, un "tray icon" doit apparaitre dans la barre des taches. Celui-ci représente le logo esupnfctag et permet :
Une fois l'application lancée, lorsque qu'une carte est posée, le retour du web service est émulé sur le clavier. Si l'application a été configurée avec "redirect = true", le navigateur ouvre le lien définit par redirectUrlTempalte
Dans le but d'évité une mauvaise manipulations, une même carte ne peut pas être passée une deuxieme fois pendant un délai de 3 secondes.
copier le fichier esupnfctagkeyboard-1.0-SNAPSHOT-jar-with-dependencies.jar dans le dossier c:\<path_to_jar>
copier le .bat dans C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
Lorsque qu'un utilisateur ouvre une session le .bat est executé et l'application se lance en tache de fond