L'essentiel de Node.js

Écrire dans un stream

Testez gratuitement nos 1304 formations

pendant 10 jours !

Tester maintenant Afficher tous les abonnements
En se connectant sur un stream, la lecture est interactive. Vous pouvez également écrire dans le tunnel pour ajouter des informations.
04:42

Transcription

Pour en terminer avec les streams, je vais vous montrer avec la conception d’un mini chat mais qui est pas un chat mais qu’on pourrait effectivement faire évoluer en chat, on aura une première brique de chat, qu'on peut effectivement aussi créer très simplement des streams et écrire dedans, donc créer des streams pour l’écriture. Alors, je vous explique un petit peu le code que j’ai mis en place. Je fais require de fs au-dessus parce que je vais en avoir besoin pour faire la création du stream à proprement parler. Ensuite j’utilise readline parce que j’ai envie de récupérer l’information. Donc je vais utiliser ce qu’on a déjà fait avant, le fait de faire des questions et de récupérer de l’information. Puis, je vais utiliser aussi ici l’interface. Donc je vais créer avec un readline une interface rl. Je vais me préparer deux variables vides au début. Donc je les déclare simplement : un stream et un pseudo. Et je me fais une petite fonction addToStream. Au début, ma question c’est : Nom du chat. Donc, quel est le nom du chat que tu veux démarrer ? Et puis ensuite, si le stream existe, la question va changer parce qu’on va stocker le pseudo et donc on affichera la ligne de pseudo et on permettra à la personne de venir mettre directement de l’information. Ensuite, on va ici avoir un envoi de question. Donc la première question, au tout début, ce sera le nom du chat. Ça créera, regardez, le stream parce qu’il n’existera pas encore, avec le nom du chat que l’on veut. Et ensuite, on aura ici un pseudo = data ce sera aussi le nom du chat, et ici on aura ensuite une ligne qui sera formatée. Donc vous allez voir que la question en-dessous ça va être formatée. À la fin, s’il y a un string qui existe déjà, on va écrire dedans. Et pour écrire dans un string, il suffit d’utiliser stream.write et de formater la chaine de caractères que vous souhaitez. Vous remarquerez ici l’utilisation du « \n » parce que j’ai envie que les lignes au fur et à mesure se mettent en place. Si on veut relancer automatiquement cette fonction, on n’hésite pas à câbler à la fin de la question le addToStream qui relance encore une fois, et à la fin on fait un addToStream une première fois pour lancer le jeu au tout début. Comment ça marche ? Si je lance mon node, on va me dire : « quel est le nom du chat ? » Je vais dire : julien. Puis ensuite ici, je vais avoir julien qui s’affiche et je vais pouvoir parler. Donc par exemple : « Salut à tous » et un petit « Comment ça va ? » Voilà. Si je continue à appuyer sur Entrée, évidemment ça va continuer. Donc là je pourrais hein, après, câbler une autre logique qui me fait sortir, etc. Et là, si je regarde julien.txt qui a été créé, effectivement, je vais bien, grâce à mon writeStream écrire à l’intérieur du fichier tout ce que je veux. C’est qu’une première brique, j’en ai parlé au tout début, parce que vu que c’est interactif, on pourrait carrément se connecter à plusieurs, et puis interagir, et puis garder de côté les pseudos qui sont connectés ou pas. Et ça c’est vrai que vous le verrez un peu plus tard, parce qu’on sera aussi un stream, et un stream d’un autre genre, on appelle ça des sockets. C’est pas encore pour tout de suite, mais vous inquiétez pas, on va en parler. Donc voilà comment vous pouvez mettre en place un stream que vous créez, et à partir de ce stream-là, vous allez pouvoir, à chaque fois que quelque chose va se passer, écrire dedans. Alors évidemment, moi je vous le montre avec une interface qui vous permet d’écrire vous-même, dans la ligne de commande, mais on peut imaginer un tas de choses ou simplement récupérer l’information. En tout cas, là vous savez lire un stream et vous savez écrire sur un stream. Vous avez les deux possibilités. Donc n’hésitez pas à regarder un petit peu les exemples que vous trouverez dans la documentation sur les streams parce que bien sûr hein, tout ça c’est expliqué hein. On a le ReadStream ici, on a aussi le WriteStream qui se trouve là. Donc il y a vraiment toutes ces informations-là et bien sûr, les petites classes qui permettent de créer un Read et un Write ici, puisque ça, ça vous permet de le faire très facilement et on vous montre après ce qu’on peut faire. Donc évidemment il y a des options en plus qu’on n’a pas vues hein. On peut mettre des options particulières : un mode sur le fichier, un Encoding par défaut, on peut fixer ou pas, si ça va être en écriture ou pas. Enfin, il y a beaucoup beaucoup beaucoup de possibilités. Donc n’hésitez pas pousser un petit peu plus. Évidemment, il y a la possibilité de travailler avec les fichiers et les dossiers. Vous avez vu qu’ici maintenant vous avez la palette complète. Bien sûr, je détaille pas les autres fonctionnalités parce qu’il y en a plein, hein. Sur le file system, vous voyez que c’est extrêmement dense. En tout cas, maintenant vous êtes persuadé qu’avec node.js, on peut travailler avec les fichiers qui se trouvent sur le serveur de pleins de manières différentes. Et on a la possibilité de coder absolument tout ce qu’on veut. On pourrait imaginer, pourquoi pas, un upload, ou un tri, ou un script, qui vient travailler des fichiers, des dossiers, par rapport au nom, par rapport à de l’information, par rapport à de la meta-data. Il y a possibilité de faire beaucoup de choses avec le filesystem de node et de créer des scripts très complets.

L'essentiel de Node.js

Exploitez les possibilités de Node.js et créez des applications côté serveur entièrement en JavaScript. Travaillez avec des requêtes web, gérez le protocole WebSocket, etc.

4h00 (44 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Node.js Node.js 7.0
Spécial abonnés
Date de parution :26 déc. 2016

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !