Qui je suis / d’où je viens
Paul Souche
Développeur Front-end
@
Slide 3
Slide 3 text
Présentation interactive
Essayez le hashTag :
#maCaisseNodejs
Seulement 20 x 2 caractères → Soyez créatifs
vous aurez alors 5 secondes minimum pour prendre une
photo...
Slide 4
Slide 4 text
Le contexte
But :
Gérer des périphériques monétiques et
éditiques depuis un client léger.
Problème :
Ces équipements communiquent via le port
série.
Slide 5
Slide 5 text
Le contexte
Comment atteindre les ports Série depuis un navigateur ?
- ActiveX ?
- ChromeApp ?
- Applet Java ?
- Serveur local
Il faudra de toute façon installer quelque chose sur le poste
client.
Slide 6
Slide 6 text
Le contexte
Le back est développé sur Wakanda (4D javaScript) → permet de ne pas
changer de langage
Comment gérer le protocole COM sur le front ?
Slide 7
Slide 7 text
L’architecture
Node.js à la rescousse :
- API permettant de communiquer sur les ports séries existante :
voodootikigod / node-serialport
- Serveur express minimal pour une API bas niveau
La stack : le port série
Exemple d’échange :
EMETTEUR
ENQ (5)
STX + données + ETX + LRC
EOT (4)
RECEPTEUR
ACK (6)
ACK
Slide 15
Slide 15 text
La stack : le port serie
Slide 16
Slide 16 text
Démo ?
Slide 17
Slide 17 text
Conclusion
Lib serialPort node vraiment complète :
- liste des ports série disponibles sur la machine
- accès aux callbacks de déconnexion
Les difficultés :
- CORS et son application par les browsers
- L’encodage ascii avec node : NUL.toAscii = ‘ ‘ (V8)
Slide 18
Slide 18 text
Questions ?
Merci à :
- AREGIE
- Hamdi, Douglas & Grég
- nodejsParis
- Vous
- Le fer à souder
- La caisse de l’hippopotamus à Neuilly
- La caisse du franprix en bas de chez moi