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.
Environnement
Pré-requis
- Java 1.8, JavaFX
- Maven
Logiciel
- L'application est prévue pour tourner avec java 8 et JavaFX.
Materiel
- un lecteur de carte USB compatible PC/SC (ex: Indentive Cloud 4700f, OMNIKEY CardMan 5x21-CL...)
Sources : https://github.com/EsupPortail/esup-nfc-tag-keyboard
git clone https://github.com/EsupPortail/esup-nfc-tag-keyboard.git
Compilation esup-nfc-tag-keyboard
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
Parametrage esup-nfc-tag
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-test.univ-ville.fr/wsrest/nfc/isTagable"/> <property name="validateTagUrl" value="https://esup-sgc-test.univ-ville.fr/wsrest/nfc/validateTag"/> <property name="getLocationsUrl" value="https://esup-sgc-test.univ-ville.fr/wsrest/nfc/locationsSecondaryId"/> <property name="displayUrl" value="https://esup-sgc-test.univ-ville.fr/wsrest/nfc/secondaryId"/> <property name="description" value="Web Service SecondaryId"/> </bean>
Créer une application dans esup-nfc-tag-server avec les paramètres suivants :
- Nom : Biblio
- Configuration NFC : Authentification CSN
- Application externe : Web Service SecondaryId
- Controle du tagId : via Esup SGC
Créer un périphérique dans esup-nfc-tag-server avec les paramètres suivants:
- Numero Id : esup-nfc-tag-keyboard-01
- Eppn init : un eppn ex : esup@univ-ville.fr
- Adresse MAC : 0
- IMEI : esup-nfc-tag-keyboard
- User Agent : esup-nfc-tag-keyboard
- Application : Biblio
- Salle : retourné par le ws https://esup-sgc-test.univ-ville.fr/wsrest/nfc/locationsSecondaryId
- Validation sans confirmation : true
Lancement de l'application
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
Usage
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)
Démarrage automatique pour tous les utilisateurs du poste
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