Formation Node.js 10-12 juin 2020
Contact : [email protected]
Ressources
-
Les diagrammes ("tableau blanc") (également disponible en .png dans ce dépôt)
- Les slides dans le dossier "slides"
- Les quelques exemples isolés dans le dossier "samples"
- Le gros TP dans le dossier "app"
Le TP
Un jeu type "Motus"
Pré-requis :
- Node
- Serveur Redis
- Pour Windows voir ServiceStack/redis-windows
- Avec Docker :
docker run --name redis-formation -p 6379:6379 redis -d
puis docker [start|stop|rm] redis-formation
Démarrage
- Installation des dépendances :
npm install
- Initialisation des données :
node bin/init-data
- Taille de la DB Redis après initialisation : ~19Mib
- Démarrage du serveur :
- Mode prod :
npm start
- Mode dev :
npm run watch
- Cluster :
node server-cluster
(cassé, pour illustration) et node server-cluster-sticky
(fonctionnel, mais pas "production ready")
Idées d'évolution
-
Trouver une vraie liste de mots valides de la langue française, ou une API permettant de faire le test (merci Christophe Pallier)
- Afficher un compte à rebours lorsque l'input est disabled côté front (ce qui permet de réfléchir à toutes les problématiques de synchronisation client/serveur, prise en compte du lag, tolérance, etc…)
- Implémenter une authentification par mot de passe, ou ‑ plus fort ‑ en utilisant un service tiers oauth (github par exemple) avec par exemple Passport.js (avec
{session:false}
, cf. la doc)
- La grosse évol : permettre d'héberger plusieurs parties en simultané