• il y a 2 ans
Serveur Discord de DevTheory : https://go.devtheory.fr/discord

Actu: Svelte 4 : https://svelte.dev/blog/svelte-4
Actu: Node.js - Mise à jour de sécurité : https://nodejs.org/en/blog/vulnerability/june-2023-security-releases
Article: Packaging and selling a Node.js app : https://docs.emailengine.app/packaging-and-selling-a-node-js-app/
Lib: Node-emoji : https://github.com/omnidan/node-emoji

--------------------------------------------------------------------
DevTheory

Formations : https://devtheory.fr/?utm_source=youtube&utm_medium=yt_description
Discord : https://go.devtheory.fr/discord
Twitter: https://go.devtheory.fr/twitter
LinkedIn : https://go.devtheory.fr/linkedin

--------------------------------------------------------------------
Informations

00:00 - Introduction
00:19 - Actu: Svelte 4
03:16 - Actu: Node.js - Mise à jour de sécurité
04:47 - Article: Packaging and selling a Node.js app
07:07 - Lib: Node-emoji
08:20 - Conclusion

Contact partenariat : https://go.devtheory.fr/partenariat
Transcription
00:00 La sortie de Svelte version 4,
00:02 ainsi que des mises à jour de sécurité très importantes pour Node.js.
00:06 C'est parti pour les Actu.js de la semaine du lundi 26 juin 2023.
00:10 Bonjour à tous, c'est Brian de Dev Theory,
00:16 la chaîne pour devenir RST un bon développeur JavaScript.
00:19 Cette semaine, on va commencer par parler de Svelte version 4.
00:22 Eh oui, une nouvelle version majeure de Svelte vient de sortir.
00:26 Alors, pourquoi il y a cette nouvelle version majeure ?
00:29 Qu'est-ce qu'elle apporte ?
00:30 Il ne faut pas s'attendre à de nouvelles fonctionnalités.
00:33 Effectivement, cette version 4 va améliorer grandement les performances,
00:37 mais va surtout faire en sorte de passer beaucoup de choses
00:41 dans lesquelles elle était dépendante en deprecated.
00:44 Par exemple, les anciennes versions en dessous de Node 16
00:46 sont maintenant deprecated, donc elles ne sont plus supportées,
00:50 ainsi que d'autres choses qu'on verra un peu plus tard.
00:52 Mais d'abord, parlons des performances.
00:55 En niveau des performances, on a une amélioration de la taille des sites web
01:01 qui sont améliorés de 12 % pour le site web de kit.svelte.dev.
01:06 Pourquoi ça ? Parce qu'ils ont réussi à réduire le bundle final
01:10 d'une application faite avec Svelte.
01:12 Votre application a moins de JavaScript à la fin,
01:15 et le poids de l'application est inférieur.
01:17 Elle se charge normalement plus rapidement.
01:19 C'est vraiment mieux au niveau de ce point-là.
01:20 C'est une mise à jour.
01:21 Vous avez juste à passer de la version 3 à la version 4.
01:24 Et ça y est, vous bénéficiez de ça.
01:25 C'est vraiment super.
01:27 Mais également, la grosse amélioration au sein des performances,
01:29 elle est surtout sur la taille du paquet de Svelte lui-même,
01:33 qui est passé de 10 MB à 2,8 MB.
01:37 C'est vraiment beaucoup, beaucoup moins.
01:40 C'est 75 % de moins.
01:42 C'est vraiment énorme.
01:43 Ça veut dire qu'au niveau du NPM install,
01:45 ça va s'installer beaucoup plus rapidement.
01:48 Vous allez pouvoir beaucoup plus rapidement développer avec Svelte,
01:51 mais surtout, vos déploiements en production vont se faire plus rapidement,
01:55 puisqu'il y a moins de choses à télécharger.
01:58 Ça, c'est vraiment super au niveau de la performance.
02:00 Ensuite, au niveau de la développeur expérience,
02:02 ils ont également amélioré certains points
02:04 au niveau du système de transition entre les pages notamment,
02:07 mais aussi au niveau de votre IDE.
02:09 Quand vous allez regarder, par exemple,
02:11 où est-ce que la définition d'une fonction s'est faite,
02:13 vous n'allez pas arriver dans un fichier .declaration, .typescript,
02:16 mais vous allez arriver directement dans la déclaration de la fonction.
02:20 Ça, c'est également une bonne amélioration au sein de la DX.
02:23 Il y a également d'autres choses qui ont été mises à jour,
02:25 par exemple les documentations, le site web et certains tutoriels.
02:28 Vous voyez que ce n'est pas énorme,
02:30 ce n'est pas une mise à jour majeure incroyable.
02:32 Pourquoi ça ?
02:33 Parce qu'en fait, elle prépare le terrain pour Svelte 5.
02:37 C'est Svelte 5, justement,
02:39 qui apportera des major new features
02:43 ainsi que des performance improvements à Svelte.
02:46 C'est cette version 5 qui sera assez énorme.
02:49 Si on regarde le guide de migration vers la version 4,
02:52 on voit que c'est surtout des minimum versions
02:56 qui ont été mises en place,
02:57 par exemple la version 16 de Node.js
03:00 ou la version 5 de TypeScript.
03:02 Ensuite, on a les différents plugins avec les versions minimales
03:05 pour être supportés sous Svelte 4.
03:08 Voilà sur tous les mises à jour de Svelte.
03:10 On est maintenant curieux de savoir
03:13 ce que va apporter la version 5 de Svelte.
03:16 Autre nouvelle cette semaine, je vous en parlais justement
03:19 pendant l'introduction,
03:20 ce sont des mises à jour très importantes de sécurité
03:23 concernant Node.js.
03:24 Ce sont des mises à jour qui concernent à la fois Node.js version 20,
03:27 version 18 et version 16.
03:29 Ça veut dire qu'il faut les faire maintenant,
03:31 quelle que soit votre version Node.js.
03:33 Si jamais vous gérez votre version Node.js,
03:35 faites les mises à jour maintenant
03:37 parce que, par exemple, il y a trois mises à jour
03:40 concernant des failles de sécurité high,
03:42 donc des failles de sécurité importantes, très importantes.
03:45 Vous voyez qu'il y en a trois des high
03:46 et il y en a même quelques-unes qui sont en médium,
03:48 qui sont tout de même assez importantes.
03:49 En médium, il y en a aussi trois ou quatre.
03:51 C'est important de faire tout ça.
03:52 Par exemple, pour parler de la première,
03:54 pour vous dire un peu quel type de faille c'est,
03:56 ici, on a la propriété proto de process.main.module
04:01 qui faisait en sorte d'accéder aux mêmes méthodes
04:04 que process.main.module,
04:05 mais à travers cette propriété-là, proto,
04:08 et ça faisait en sorte de bypasser tout le policy mechanism,
04:11 donc tout le mécanisme de règle, de mise en place
04:15 pour savoir si oui ou non la personne,
04:17 enfin le code qui exécute cette ligne-là
04:19 a le droit ou non d'exécuter cette ligne-là.
04:21 En fait, ça a bypassé ce système-là,
04:22 donc c'est effectivement une faille assez importante.
04:25 Elle est high ici, donc elle a été résolue,
04:27 ainsi que deux autres qui ont été high également ici,
04:30 présents dans cet article-là
04:31 que je vous mettrai bien sûr en description.
04:33 Et donc voilà, faites votre mise à jour de Node.js
04:35 si jamais vous gérez ça sur votre serveur de production ou quoi,
04:38 parce que c'est très important
04:39 et ça concerne toutes les versions actuellement maintenues par Node.js,
04:43 justement, donc la 20, la 18, ainsi que la 16.
04:47 Autre chose cette semaine, c'est l'article de la semaine.
04:49 J'ai trouvé cet article intéressant
04:51 pour remettre un peu de contexte
04:53 dans les choses qui sont possibles à faire
04:55 quand on est développeur JavaScript,
04:56 et notamment développeur JavaScript back-end.
04:58 En fait, c'est un développeur, Andris Reynman,
05:00 qui a créé une app Node.js
05:03 et qui l'a ensuite en fait packagé à travers Docker
05:06 ou d'autres choses comme une application Windows ou Mac OS ou quoi,
05:10 et qui l'a ensuite carrément vendu.
05:12 En fait, il a vendu toute cette application-là qu'il avait créée.
05:15 Et donc, pour vous dire un peu ce que c'est,
05:17 cette application, c'est Email Engine.
05:19 En fait, c'est créé, c'est en Node.js pur,
05:21 et c'est créé avec Happy pour gérer une API REST,
05:25 Bule MQ pour gérer le système de queues,
05:29 et ensuite Node Mailer pour employer des mails.
05:30 En fait, qu'est-ce que ça fait, Email Engine ?
05:33 Eh bien, tout simplement, vous mettez votre compte,
05:36 votre email ainsi que votre mot de passe,
05:38 et derrière, ça va créer automatiquement
05:41 tout un système d'API REST ainsi que de webbooks
05:45 sur votre email.
05:48 Ça veut dire que vous pouvez envoyer des emails via l'API REST,
05:51 mais vous pouvez également recevoir via des webbooks
05:53 les emails que vous recevez sur votre adresse
05:56 ou sur l'adresse de toute votre team, etc.
05:58 C'est intéressant parce qu'en fait, tout ça, il l'a créé en Node.js,
06:01 mais là où c'est vraiment intéressant,
06:03 c'est qu'en fait, il a vendu son application
06:05 pas sous la forme d'une application Node.js.
06:08 Vous voyez qu'il le vend sous forme d'application pure
06:11 que l'on peut installer sous Mac, sous Linux, sous Windows, sous Docker,
06:14 sur votre propre serveur ou alors directement en serverless
06:17 via DigitalOcean ou Render.
06:19 Et c'est ça qui est intéressant,
06:20 c'est que même si on fait une application Node.js,
06:23 on n'est pas obligé de dire, dès la page d'accueil,
06:25 c'est fait avec Node.js, c'est pour les applications Node.js.
06:27 Là, il l'a vraiment packagé sous plein de plateformes différentes,
06:31 ce qui fait ensuite que beaucoup d'utilisateurs
06:33 qui sont non développeurs peuvent l'utiliser.
06:35 Ici, c'est plutôt pour les développeurs
06:37 parce que c'est plutôt fait justement avec une API REST,
06:39 c'est-à-dire un système de webbook, etc.
06:40 Mais c'est fait justement pour un peu tout le monde.
06:42 C'est packagé sur plein de plateformes différentes.
06:44 Et après, dans cet article-là, il explique comment il l'a créé,
06:47 comment il a fait en sorte d'avoir différents systèmes de distribution,
06:50 comme je le disais juste avant.
06:52 Et ensuite, il parle au niveau de la vente,
06:54 comment il a fait pour vendre Email Engine à un autre organisme.
07:01 Voilà, donc, concernant cet article que je trouvais intéressant
07:03 et qui peut remettre certaines choses en contexte,
07:05 qui peut ouvrir un peu les possibilités.
07:07 Ensuite, on va parler de la librairie de la semaine.
07:11 La librairie de la semaine, c'est Node Emoji.
07:13 C'est une petite librairie,
07:15 simplement pour vous dire que si jamais vous voulez gérer des emojis,
07:18 il y a une librairie qui est toute faite avec Node.js.
07:20 Et là, vous vous dites qu'il n'y a pas forcément grand-chose à faire avec les emojis,
07:23 mais en fait, il y a pourtant quelques méthodes qui sont possibles.
07:27 Par exemple, ici, on a une chaîne de caractères
07:29 avec ce système de deux points qu'on peut utiliser sur Slack, Discord ou quoi,
07:34 où on met le nom de l'emoji.
07:35 Et ensuite, en utilisant .emojify, ça va remplacer ces caractères-là.
07:41 Enfin, ces substrings par l'emoji en question.
07:44 On peut également chercher un emoji avec son nom exact.
07:47 On peut get un emoji avec son nom et ça va nous renvoyer directement l'emoji.
07:51 On peut savoir si un emoji existe, par exemple,
07:53 en mettant le "deux points pizza" ou l'emoji "pizza" directement,
07:56 ou alors un qui n'existe pas, ça va renvoyer "false".
07:59 On peut avoir un emoji en random.
08:01 Et on peut également search un emoji.
08:03 Ça peut être intéressant.
08:03 Si on tape "uni", ça va nous renvoyer un "ne red possible emoji",
08:07 avec ici, vous voyez, l'emoji "unicorn".
08:09 Il y a pas mal de choses différentes.
08:11 Donc voilà, si jamais, à un moment,
08:12 vous devez, d'une manière ou d'une autre, gérer des emojis en JavaScript,
08:15 je pense que notre emoji, c'est le go-to pour faire ça.
08:19 Voilà tout concernant cette semaine.
08:21 Je vous mets bien sûr le lien de toutes ces petites actualités
08:24 juste en dessous, en description.
08:26 Quant à nous, on se retrouve dès la semaine prochaine.
08:28 N'oubliez pas de vous abonner à cette chaîne
08:30 pour recevoir ces actualités de la semaine-là.
08:32 Je vous souhaite une très bonne semaine et un bon codage.
08:36 [musique]
08:43 [musique]
08:48 ♪ ♪ ♪

Recommandations