Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Ma caisse enregistreuse en NodeJS
Search
paul souche
May 19, 2014
Programming
0
510
Ma caisse enregistreuse en NodeJS
paul souche
May 19, 2014
Tweet
Share
More Decks by paul souche
See All by paul souche
Une API from scratch avec NestJS
paulsouche
0
150
Unit test in deno
paulsouche
0
110
One spec to rule them all
paulsouche
1
230
Analytics reverse engineering
paulsouche
0
130
TypeScript + lerna + yarn monorepos FTW
paulsouche
1
1.8k
Test like a boss with TypeScript
paulsouche
0
200
The internal modules strike back
paulsouche
0
110
AngularJS + Typescript === <3
paulsouche
0
330
Other Decks in Programming
See All in Programming
ファーストペンギンBot @Qiita Hackathon 2024 予選
dyson_web
0
210
Unlocking Python's Core Magic
leew
0
110
ポケモンで考えるコミュニケーション / Communication Lessons from Pokémon
mackey0225
4
140
Micro Frontends for Java Microservices - dev2next 2024
mraible
PRO
0
190
CSC509 Lecture 02
javiergs
PRO
0
160
MLOps in Mercari Group’s Trust and Safety ML Team
cjhj
1
100
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
6
230
Frontend Magic mit CSS Houdini
joergneumann
0
420
sqlcを利用してsqlに型付けを
kamiyam
0
230
M5Stackボードの選び方
tanakamasayuki
0
200
Go製CLIツールGatling Commanderによる負荷試験実施の自動化
okmtz
3
650
フロントエンドの標準仕様をどう追っているか / How I follow the frontend standards specs
petamoriken
2
170
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
2
210
Producing Creativity
orderedlist
PRO
341
39k
Fontdeck: Realign not Redesign
paulrobertlloyd
81
5.2k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
7.5k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.8k
Automating Front-end Workflow
addyosmani
1365
200k
For a Future-Friendly Web
brad_frost
174
9.3k
Design by the Numbers
sachag
278
19k
Why You Should Never Use an ORM
jnunemaker
PRO
53
9k
The Power of CSS Pseudo Elements
geoffreycrofte
71
5.3k
Why Our Code Smells
bkeepers
PRO
334
57k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
42
6.5k
Transcript
Ma caisse enregistreuse en Node.js Paul SOUCHE
Qui je suis / d’où je viens Paul Souche Développeur
Front-end @
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...
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.
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.
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 ?
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
L’architecture
L’architecture
La stack - AngularJS - Bootstrap - Express - Node
- npm, Bower & Grunt
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
La stack : le front
La stack : le back
La stack : le port série Exemple d’échange : EMETTEUR
ENQ (5) STX + données + ETX + LRC EOT (4) RECEPTEUR ACK (6) ACK
La stack : le port serie
Démo ?
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)
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