L'application esup-ngc-tag-keyboard permet d’émuler une frappe clavier en fonction des données récupérées via esup-nfc-tag-server
L'application lit le csn d'une carte et le transmet a esup-nfc-tag-server qui repond en fonction de l'identifiant de périphérique paramétré. esup-nfc-tag-keyboard récupère la donnée et simule les frappes clavier.
git clone https://github.com/EsupPortail/esup-nfc-tag-keyboard.git |
Il est possible de modifier le fichier src/main/resources/esupnfctagkeyboard.properties pour spécifier les paramètres par défaut
url = https://esup-nfc-tag.univ-ville.fr numeroId = esup-nfc-tag-keyboard-01 |
Insérer votre certificat dans le keystore
keytool -importcert -file certificate.cer -keystore keystore.jks -alias "Alias" |
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
A l'aide de l'outil mvn de maven
Dans de répertoire des sources lancer la commande : mvn clean package
le jar esupsgckeybemu-1.0-SNAPSHOT-jar-with-dependencies.jar va etre 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> |
Avec ce paramètre : <property name="displayUrl" value="https://esup-sgc.univ-ville.fr/wsrest/nfc/secondaryId?idName=eppn"/> l'eppn sera émulé au clavier |
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:
Déclarer les propriétés système suivant (si différentes des propriétés par défaut) :
esupNfcTagKeyboard.url esupNfcTagKeyboard.numeroId |
pour lancer l'application:
java -jar esupsgckeybemu-1.0-SNAPSHOT-jar-with-dependencies.jar |
Sous windows, le plus simple est de créer un fichier bat comme suit (ici un exemple pour la bibliothèque):
@ECHO OFF set esupNfcTagKeyboard.url=https://esup-nfc-tag.univ-ville.fr set esupNfcTagKeyboard.numeroId=esup-nfc-tag-keyboard-01 start javaw -jar 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
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 de quitter l'application via un clic droit.
Une fois l'application lancée, lorsque qu'une carte est posée, le retour du web service est émulé sur le clavier.
La carte ne peut plus être passée tant qu'une autre carte n'a pas été présentée (dans le but d'évité une mauvaise manipulations)
copier le fichier esupsgckeybemu-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