Arborescence des pages

Vous regardez une version antérieure (v. /wiki/pages/viewpage.action?pageId=1221722120) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 2) afficher la version suivante »

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 configurations BMP_COMMAND_BLACK_PRINTER et BMP_COMMAND_COLOR_PRINTER 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.

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

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 : 

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 ces commandes fonctionnent, il faut : 

  • installer wget, chromium, imagemagick (convert), ghostscript (commande gs)
    • pour ImageMagick le format PDF ne soit pas désactivé (il 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




  • Aucune étiquette