ESUPSGC

Arborescence des pages

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

L'édition en 1 passe est rendu possible au travers d'esup-sgc-client notamment par le fait que :

  • esup-nfc-tag calcule pour esup-sgc-client les commandes NFC (APDU) visant à écrire les applications MIFARE Desfire ; ce fonctionnement est proposé ainsi depuis la première version d'esup-sgc (2017)
  • esup-sgc construit pour esup-sgc-client les images BMP des rendus de carte noir et blanc d'une part, et couleur d'autre part à destination des imprimantes à carte ; cette possibilité est disponible depuis la version 2 d'esup-sgc (février 2023).

Par rapport à l'édition en 2 passes, c'est cette possibilité de rendu en BMP que l'on doit configurer/paramétrer pour supporter l'édition en 1 passe dans esup-sgc.

Ce rendu est réalisé en s'appuyant sur le fonctionnement natif d'esup-sgc quand au rendu de la carte, à savoir un rendu HTML dont le thème de la carte est implémentée par une feuille de style (CSS) dédiée à l'impression depuis un navigateur web.
Afin de conserver cette facilité de mise en oeuvre d'un thème de carte, le rendu en BMP s'appuie sur l'interprétation de ce même HTML/CSS côté serveur via l'appel en ligne de commande du navigateur chormium qui a la capacité d'interpréter et 'imprimer' un HTML/CSS en format PDF.
Puis avec une suite d'instructions complémentaires s'appuyant sur ghostscript et imagemagick, esup-sgc est finalement en capacité de proposer à esup-sgc-client des BMP spécifiques et adaptés aux API propriétaires des imprimantes evolis et zebra.

Notez que les mêmes BMP (et donc les mêmes commandes chormium/ghostscript/imagemagick) sont opérationnels pour les différentes imprimantes que nous avons utilisées lors du développement de cette fonctionnalité (evolis primacy 1, evolis primacy 2 et zebra ZC300),

ESUP-SGC

Les 2

Evolis Primacy 2

La branche evolis-print-encode est actuellement compatible avec evolis primacy 2.

Pour la faire fonctionner, il faut une primacy 2 avec un encodeur (nous avons opté pour un encodeur de type SpringCard CrazyWriter ici).

Il vous faut installer le driver de votre encodeur NFC (depuis https://www.springcard.com/en/download/drivers nous avons installé le "PC/SC Driver for USB couplers" via le fichier sd16055-2104.exe).

Pour la primacy 2 en elle-même, il vous faut installer le "Evolis Premium Suite 2" depuis https://myplace.evolis.com/s/quick-install-step-4?language=fr

Notez que "Evolis Premium Suite 2"  ne fonctionne que depuis Windows, le lecteur NFC ne fonctionne que via USB : le client esup-sgc-client doit donc être installé sur ce même windows.

Le client esup-sgc-client dialogue par TCP avec "Evolis Premium Suite 2" qui se charge de retransmettre les ordres à l'imprimante. Pour la phase d'encodage, une fois l'ordre donnée de positionner la carte au niveau de l'encodeur,  esup-sgc-client dialogue directement avec l'encodeur NFC en pc/sc.

"Evolis Premium Suite 2" doit être configuré pour permettre cette communication par TCP. Dans le répertoire bin de "Evolis Premium Suite 2" (dans Program Files), il vous faut modifier evoservice.properties : 

Bloc de code
themeRDark
RequestServer.tcpport = 18000
RequestServer.tcpenabled = true

Une fois ces modifications apportées, vous devez redémarrer le servie windows "Evolis Premium Suite 2" (via la gestion classique des "service windows").

Le fichier de configuration d'esup-sgc-client donné dans src/main/resources/esupsgcclient.properties doit reprendre ce même numéro de port : 

Bloc de code
esupSgcUrl = https://esup-sgc.univ-ville.fr
esupNfcTagServerUrl = https://esup-nfc-tag.univ-ville.fr
encodeCnous = false
localStorageDir = /AppData/Local/EsupSgcClient/
printerEvolisIp = 127.0.0.1
printerEvolisPort = 18000
# RC_YMCKOS pour le demi-panneau
# printerEvolisSet = GRibbonType=RC_YMCKO;Duplex=NONE;GOutputTray=HOPPER
printerEvolisSet = GRibbonType=RC_YMCKOS;Duplex=NONE;GOutputTray=HOPPER

ESUP-SGC

Côté esup-sgc, le développement est également en cours en parallèle dans la branche esup-sgc-2

Il vous faudra ensuite faire en sorte que les 2 configurations BMP_COMMAND_BLACK_PRINTER et BMP_COMMAND_COLOR_PRINTER puissent fonctionner.
Ce sont elles qui permettent dans esup-sgc (onglet admin < configuration) permettent de 'convertir' le HTML/CSS d'une carte en images BMP n&b et couleur adaptés aux imprimantes à cartes.
Dit autrement, ce sont ces 2 paramètres qui permettent à esup-sgc-client de récupérer les images BMP noir et blanc d'une part, et couleur d'autre part, qui seront envoyées à l'imprimante via esup-sgc-client.

Par défaut, on propose une configuration de BMP_COMMAND_BLACK_PRINTER de ce type par exemple

Bloc de code
wget --bind-address 127.0.0.1 -4 'https://esup-sgc.univ-ville.fr/wsrest/view/%s/card-b64.html?type=black' -O card-b64.html && chromium --headless --disable-gpu --print-to-pdf=card.pdf card-b64.html && gs -o card-resize.pdf -sDEVICE=pdfwrite -dPDFFitPage -g10160x6480 card.pdf && convert -monochrome card-resize.pdf card.bmp

Aussi BMP_COMMAND_COLOR_PRINTER pourra être de la forme suivante : 

Bloc de code
languagebash
themeRDark
wget -4 'https://esup-sgc.univ-rouen.fr/wsrest/view/%s/card-b64.html?type=color' -O card-b64.html && chromium --headless --disable-gpu --print-to-pdf=card.pdf card-b64.html && convert -resize 1016x648 -gravity center -extent 1016x648 -density 600 -alpha off card.pdf card.bmp


Notez qu'esup-sgc s'appelle donc lui-même, via chromium et les outils ghostscript et imagemagick, on arrive ici à retrouver un BMP reprenant exactement le thème/look de la carte que l'on obtient via une impression HTML (telle que le propose esup-sgc pour permettre l'usage de tout type d'imprimante à carte).

Pour que cette commande fonctionneces commandes fonctionnent, il faut : 

  • installer wget, chromium, imagemagick (convert), ghostscript (commande gs)
    • pour ImageMagick
  • que esup-sgc lui-même puisse accéder à /wsrest/view/ (d'où le bind-adress ici en cohérence avec le fichier applicationContext-security.xml)
  • que chromium, ghostscript et ImageMagick soient installés
  • ... et pour ImageMagick notamment, que
    • le format PDF ne soit pas désactivé (il
    faut
    • faudra peut-être commenter <policy domain="coder" rights="none" pattern="PDF" /> dans /etc/ImageMagick-6/policy.xml par exemple pour ce faire)
  • modifier la configuration pour renseigner l'url de votre sgc, modifier éventuellement chormium par chormium-browser suivant votre distribution
  • faire en sorte que le wget sur le serveur fonctionne : il vous faudra autoriser la propre IP d'esup-sgc à appeller son propre service REST : dans security.properties, ajoutez l'IP du sgc au niveau de accessRestrictionWSRestApi - esup-sgc lui-même doit en effet pouvoir accéder à /wsrest/view/ (d'où le bind-adress ici en cohérence avec le fichier applicationContext-security.xml)

Pour tester, allez dans 'admin' < 'themes cartes', sélectionnez un thème pour lequel au moins une carte existe avec ce thème, et vérifiez que dans le bloc "Prévisualisation BMP - édition en 1 temps" vous retrouvez bien une image de la carte dédiée au ruban noir et blanc et une autre dédiée aux rubans couleur. Si ça ne fonctionne pas, regardez dans les logs pour corriger le problème (sécurité, commande non fonttionnelle à tester et mettre au point depuis /tmp, etc.). Chaque commande étant censée produire un (et un seul) fichier card.bmp

Imprimantes

Suivant l'imprimante utilisée, la mise en oeuvre technique de la disponiblité des API pour esup-sgc-client est différente.

Concernant Evolis, notez que les imprimantes Primacy 1 et Primacy 2 fonctionnent avec esup-sgc-client uniquement au travers d'un windows.

Merci de vous référer au README d'esup-sgc-client pour les détails techniques d'installation, notamment les parties spécifiques à la marque de l'imprimante souhaitée : 

Installateur esup-sgc-client