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
500
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
いまから追い上げる、Jetpack Compose トレーニング
nyafunta9858
0
240
What you can do with Ruby on WebAssembly
kateinoigakukun
0
150
New Order in Cascade Sorting Order
mugi_uno
3
2.6k
LangChainでWebサイトの内容取得やGitHubソースコード取得
shukob
0
150
全部見せます! クラシルリワードのSwiftTesting移行プロジェクト
uetyo
0
190
今インフラ技術をイチから学び直すなら
yuhta28
1
120
Kotlin 2.0 and Beyond
antonarhipov
2
150
Mastering AsyncSequence - 使う・作る・他のデザインパターン(クロージャ、Delegate など)から移行する
treastrain
4
1.5k
ECMAScript、Web標準の型はどう管理されているか / How ECMAScript and Web standards types are maintained
petamoriken
3
390
rails_girls_is_my_gate_to_join_the_ruby_commuinty
maimux2x
0
190
Regular Expressions, REXML, Automata Learning
makenowjust
0
210
Understand the mechanism! Let's do screenshots tests of Compose Previews with various variations / 仕組みから理解する!Composeプレビューを様々なバリエーションでスクリーンショットテストしよう
sumio
3
360
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
518
39k
Music & Morning Musume
bryan
46
6k
Creatively Recalculating Your Daily Design Routine
revolveconf
215
12k
5 minutes of I Can Smell Your CMS
philhawksworth
201
19k
Imperfection Machines: The Place of Print at Facebook
scottboms
263
13k
Git: the NoSQL Database
bkeepers
PRO
425
64k
VelocityConf: Rendering Performance Case Studies
addyosmani
322
23k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
502
140k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
27
8.9k
The Straight Up "How To Draw Better" Workshop
denniskardys
230
130k
Typedesign – Prime Four
hannesfritz
39
2.3k
Designing on Purpose - Digital PM Summit 2013
jponch
113
6.8k
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