Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ma caisse enregistreuse en NodeJS

Ma caisse enregistreuse en NodeJS

paul souche

May 19, 2014
Tweet

More Decks by paul souche

Other Decks in Programming

Transcript

  1. 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...
  2. 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.
  3. 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.
  4. 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 ?
  5. 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
  6. La stack Les modules en + : - node-serialPort :

    voodootikigod / node-serialport - angular-ui bootstrap : angular-ui / bootstrap - paperwork : lperrin / paperwork - ngTailor : lauterry / ngTailor - nodemon : remy / nodemon
  7. La stack : le port série Exemple d’échange : EMETTEUR

    ENQ (5) STX + données + ETX + LRC EOT (4) RECEPTEUR ACK (6) ACK
  8. 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)
  9. 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