Introduction
Esup-SGC propose des applications NFC supplémentaires en plus de l'encodage des cartes. L'application d'encodage est déclarée dans esup-nfc-tag-server mais nécessite une application client spécifique, esup-sgc-client. Les applications optionnelles fonctionnent à l'aide des clients "standards" esup-nfc-tag-desktop ou esup-nfc-tag-droid.
Les applications disponibles sont :
- Livraison SGC (la carte passe au statut "livrée" lors du badgeage)
- Recherche SGC (si le SGC est ouvert dans un navigateur, lors du badgeage le navigateur affichera la fiche de la carte badgée)
- Verso carte (lors du badgeage l'application cliente affichera des données supplémentaires concernant la carte, ex : le verso)
Livraison SGC
Permet de badger une carte pour la déclarer livrée
applicationContext-custom.xml
Ajouter le bean suivant dans applicationContext-custom.xml
<bean id="esupSgcLivraisonExtApi" 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/locationsLivreur"/> <property name="description" value="Web Service livraison SGC"/> </bean>
Configuration dans esup-nfc-tag-server
Dans la section « Application » → « +Ajouter une application »
On retrouve les éléments configurés dans applicationContext-custom.xml. Pour l’encodage des cartes par le SGC, nous allons créer une application nommée "Ecriture SGC" avec les paramètres suivants:
Nom : « Livraison SGC »
Configuration NFC : « Authentification CSN »
Application externe : « Web Service livraison SGC »
Contrôle du tagId : « via Esup SGC »
Valeur par défaut pour la validation sans confirmation : false
Recherche SGC
Permet d'afficher la carte badgé dans ESUP-SGC. Pour cela l'application doit être par le même utilisateur que celui qui est connecté a ESUP-SGC
applicationContext-custom.xml
Ajouter le bean suivant dans applicationContext-custom.xml
<bean id="esupSgcSearchExtApi" 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/locationsSearch"/> <property name="description" value="Web Service Search SGC"/> </bean>
Configuration dans esup-nfc-tag-server
Dans la section « Application » → « +Ajouter une application »
On retrouve les éléments configurés dans applicationContext-custom.xml. Pour l’encodage des cartes par le SGC, nous allons créer une application nommée "Ecriture SGC" avec les paramètres suivants:
Nom : « Recherche SGC »
Configuration NFC : « Authentification CSN »
Application externe : « Web Service Search SGC »
Contrôle du tagId : « via Esup SGC »
Valeur par défaut pour la validation sans confirmation : false
Verso carte
Affiche dans l'application le verso de la carte badgée.
applicationContext-custom.xml
Ajouter le bean suivant dans applicationContext-custom.xml. Dans ce cas on ajoute la propriété displayUrl qui spécifie la vue qui sera affichée après le badgeage
<bean id="esupSgcVersoExtApi" 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/locationsVerso"/> <property name="displayUrl" value="https://esup-sgc.univ-ville.fr/wsrest/nfc/verso"/> <property name="description" value="Web Service Verso"/> </bean>
Configuration dans esup-nfc-tag-server
Dans la section « Application » → « +Ajouter une application »
On retrouve les éléments configurés dans applicationContext-custom.xml. Pour l’encodage des cartes par le SGC, nous allons créer une application nommée "Ecriture SGC" avec les paramètres suivants:
Nom : « Verso carte »
Configuration NFC : « Authentification CSN »
Application externe : « Web Service Verso »
Contrôle du tagId : « via Esup SGC »
Valeur par défaut pour la validation sans confirmation : false
ESUP-SGC-KEYBOARD
L'application EsupSGCKeyboard permet d'emuler une frappe clavier en fonction des données recupérées de EsupSGC.
L'application lit le csn d'une carte et le transmet au SGC qui repond en fonction du service demandé lors de l'execution du programme. EsupSGCKeyboard recupère la donnée et simule les frappes clavier.
L'application se connecte au web service getSecondaryId du SGC et lui transmet le CSN de la carte ainsi que le service demandé.
Pré-requis
- Java (JDK - JAVA SE 8): http://www.oracle.com/technetwork/java/javase/downloads/index.html
- Maven (dernière version 3.0.x) : http://maven.apache.org/download.cgi
- Git
Sources https://github.com/EsupPortail/esup-sgc-keyboard
git clone https://github.com/EsupPortail/esup-sgc-keyboard.git
Compilation de l'application
Inserer votre certificat dans le keystore
keytool -importcert -file certificate.cer -keystore keystore.jks -alias "Alias"
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
Lancement de l'application
java -jar esupsgckeybemu-1.0-SNAPSHOT-jar-with-dependencies.jar
l'argument permet de préciser le service qui sera envoyé au SGC ex :
si l'application est lancée avec l'argument eppn, celle-ci emulera sur le clavier l'eppn en fonction du CSN lu sur le lecteur de carte
pour recupérer le leocode il faut lancer l'application avec l'argument "biblio"
Sous windows, le plus simple est de créer un fichier bat comme suit :
@ECHO OFF
start javaw -jar c:\<path_to_jar>\esupsgckeybemu-1.0-SNAPSHOT-jar-with-dependencies.jar biblio
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'éviter 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