Outils requis sur la machine pour la mise en place de cette procédure :
- Node.js : https://nodejs.org/en/download/
- Git : https://git-scm.com/downloads
Le but de cette procédure est d'installer et de faire tourner une application contenant des web service permettant de générer des code-barre de types variés en deux dimensions.
Cette procédure existe à des fins de développement uniquement.
La mise en place d'une application de ce type en production nécessite de mettre en place des éléments de sécurisation qui ne seront pas abordés dans cette procédure.
L'application que nous allons utiliser est BWIP-JS, légère, open-source, et gérant de nombreux formats, disponible ici : https://github.com/metafloor/bwip-js
Tout d'abord, il faut récupérer l'application dans le répertoire de votre choix via git :
git clone https://github.com/metafloor/bwip-js
Pour l'exemple, nous allons partir sur le répertoire C:\bwip-js :
Dans ce répertoire se trouve une application exemple dans le répertoire /example, que nous allons vouloir démarrer en tant que serveur par la suite.
Pour la création du service, nous allons avoir besoin d'un outil nommé NSSM disponible ici : https://nssm.cc/download
Attention, si vous êtes sous Windows 10, il est nécessaire de récupérer la version pre-release en cliquant bien sur ce lien :
Dézippez le fichier obtenu dans le répertoire de votre choix, pour l'exemple nous utiliserons le répertoire C:\nssm
Lancez ensuite la commande qui va permettre de créer le service Windows pour le démarrage automatique de la webapp à partir du répertoire d'installation de votre version de node.js, par défaut C:\Program Files\nodejs\node.exe :
c:\nssm\win64>nssm.exe install bwip "c:\Program Files\nodejs\node.exe"
Dans cette commande, bwip sera le nom du service créé, vous pouvez bien sûr spécifier le nom de votre choix.
Ensuite, il va falloir passer à ce service les informations sur la webapp elle-même :
c:\nssm\win64>nssm.exe set bwip AppDirectory C:\bwip-js\examples c:\nssm\win64>nssm.exe set bwip AppParameters server.js
De cette manière, notre instance de node.js saura que l'on veut démarrer l'application du répertoire C:\bwip-js\examples en utilisant le fichier server.js de ce répertoire.
Pour information, par défaut le fichier server.js démarre l'application sur le port 3030 de la machine.
Il n'y alors plus qu'à démarrer le service Windows, soit via votre outil de gestion des services préféré, soit via :
c:\nssm\win64>nssm.exe start bwip
Vous pouvez dés lors consommer le service web, via curl par exemple :
curl "http://localhost:3030/?bcid=datamatrix&text=MaDataMatrix&scale=6" -o test-datamatrix.png curl "http://localhost:3030/?bcid=qrcode&text=MonQRCode&scale=6" -o test-qrcode.png
Ce qui nous donne comme résultats :
Bien sûr, cette application permet de nombreux paramétrages, vous pouvez vous référer à la page https://github.com/metafloor/bwip-js pour avoir des liens vers les différents formats et options supportées.