- remplacer les web sockets par des connexions http longues (utilisant des server sent events)
- définir un langage dédié permettant de faciliter les extensions
- Récupérer la licence.
- Récupérer les fichiers de configuration du dépôt de la version 1 :
- Installer globalement node.
- sur ubuntu :
wget -qO- https://deb.nodesource.com/setup_14.x | sudo -E bash - sudo apt install -y nodejs
- sur ubuntu :
- Configurer globalement Typescript.
- Ajouter globalement l'interpréteur
ts-node:npm install -g ts-node. - Ajouter localement (par une dépendance de développement) le linter :
npm install -D tslint.
- Ajouter globalement l'interpréteur
- Installer localement React.
npm install react react-dom @types/react @types/react-dom
- Installer localement
shelljspour utiliser des primitives d'un shell.npm install shelljs @types/shelljs
- Installer localement express pour disposer d'un serveur web (serveur de ressources web).
npm install express @types/express
- Créer un répertoire
prototype, et deux sous-répertoiresclientetserveur. - Dans
build, définir la pagehtml, définissant le script à utiliser et la division à remplacer par l'application React (ici d'identifiantconteneur).<html> <head> <meta charset="UTF-8"/> <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=0"/> <title>Prototype SSE</title> <script defer="defer" src="/protoReact.client.js"></script> </head> <body> <div id="conteneur" style="height: 100%"></div> </body> </html> - Dans
prototype/client, définir dansrenduPrototypece qui va être rendu par l'application React : le corps à l'intérieur deconteneur. Le corps est défini par le composant ReactCorps(danscorps).- A faire côté client : le code dans
componentDidMount(): void.
- A faire côté client : le code dans
- Dans
prototype/serveur, définir le serveur de l'application et des services associés (un pour les "post", un autre pour les messages du serveur vers les clients, en utilisant SSE).- A faire côté serveur : le serveur web en utilisant Express servant l'application, fournissant le service pour poster les messages et diffuser les informations de connexion.
- Installer chai, mocha, types@chai et types@mocha.
- Installer typescript et ts-node (localement).
- Définir dans
test/general.tsles tests à effectuer. - Lancer
npm run test.
-
Vérification du type lors de la désérialisation. Voir io-ts
-
Logs avec winston et morgan (/http) : https://dev.to/vassalloandrea/better-logs-for-expressjs-using-winston-and-morgan-with-typescript-516n