{"id":55630,"date":"2020-01-24T00:00:00","date_gmt":"2020-01-23T21:00:00","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/sovremennyj-kurs-po-node-js-v-2020"},"modified":"2020-02-18T14:03:46","modified_gmt":"2020-02-18T11:03:46","slug":"sovremennyj-kurs-po-node-js-v-2020","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/sovremennyj-kurs-po-node-js-v-2020","title":{"rendered":"Cours moderne sur Node.js en 2020","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Cours moderne sur Node.js en 2020\" src=\"\/wp-content\/uploads\/2020\/01\/77b9f16832b724faf6df54b19062808a.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p>Chers coll\u00e8gues ing\u00e9nieurs, la communaut\u00e9 M\u00e9tharchie vous pr\u00e9sente un moderne <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/playlist?list=PLHhi8ymDMrQZmXEqIIlq2S9-Ibh9b_-rQ\">\u043a\u0443\u0440\u0441 \u043f\u043e Node.js<\/a><\/noindex>, qui propose une analyse approfondie de toutes les fonctionnalit\u00e9s et aspects de la plateforme. L\u2019accent est mis sur la cr\u00e9ation de serveurs d'applications et d'API hautement disponibles sans d\u00e9pendance \u00e0 un framework ou m\u00eame \u00e0 un protocole sp\u00e9cifique, c\u2019est-\u00e0-dire en abstraisant la logique m\u00e9tier dans une couche distincte. Les le\u00e7ons sont accompagn\u00e9es de nombreux exemples de code illustrant la structure flexible des applications et des techniques architecturales, notamment l'interaction avec les syst\u00e8mes de gestion de base de donn\u00e9es via une couche d'acc\u00e8s aux donn\u00e9es, la cr\u00e9ation d'applications interactives utilisant des WebSockets, l'assurance de la s\u00e9curit\u00e9, le Graceful shutdown, la communication inter-processus, la pr\u00e9vention des fuites de m\u00e9moire, le dimensionnement et le clustering \u00e0 l'aide de processus et de threads. \u00c0 l'heure actuelle, le cours comprend 38 le\u00e7ons (environ 35 heures et demie de vid\u00e9o), <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Index\/blob\/master\/Courses\/NodeJS.md\">37 d\u00e9p\u00f4ts avec des exemples de code<\/a><\/noindex>, 4 PDF avec des diapositives. Avant de commencer la partie essentielle du cours sur Node.js, il est n\u00e9cessaire de ma\u00eetriser au moins en partie <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/452974\/\">le cours sur la programmation asynchrone<\/a><\/noindex>.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2 id=\"vvedenie-i-osnovy\">Introduction et principes de base<\/h2>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/WBcHgaoHh1k\">Node.js Introduction \u00e0 la technologie<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/CUU49jjHloM\">Node.js en 2019<\/a><\/noindex>\n<ul>\n<li>Diapositives : <noindex><a rel=\"nofollow\" href=\"https:\/\/www.slideshare.net\/tshemsedinov\/nodejs-in-2019\">https:\/\/www.slideshare.net\/tshemsedinov\/nodejs-in-2019<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/hY6Z6qNYzmc\">\u0410\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0432 Node.js<\/a><\/noindex>\n<ul>\n<li>Ceci est uniquement un cours d'introduction, le lien vers le cours sur la programmation asynchrone<br \/>\nse trouve ci-dessus, avant le sommaire<\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/sOkjR-N6IAs\">Aper\u00e7u de l'API int\u00e9gr\u00e9e de Node.js<\/a><\/noindex>\n<ul>\n<li>Lien vers la documentation : <noindex><a rel=\"nofollow\" href=\"https:\/\/nodejs.org\/api\/documentation.html\">https:\/\/nodejs.org\/api\/documentation.html<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/hSyA7tcNaCE\">Configuration de l'environnement : Node.js, npm, git, eslint<\/a><\/noindex>\n<ul>\n<li>D\u00e9p\u00f4t avec des instruments : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Tools\">https:\/\/github.com\/HowProgrammingWorks\/Tools<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/eQGBS15vUac\">\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u0444\u0430\u0439\u043b\u0430\u043c\u0438, \u0431\u0443\u0444\u0435\u0440\u0430\u043c\u0438 \u0438 \u0444\u0430\u0439\u043b\u043e\u0432\u044b\u043c\u0438 \u043f\u043e\u0442\u043e\u043a\u0430\u043c\u0438 \u0432 Node.js<\/a><\/noindex>\n<ul>\n<li>Travail avec les fichiers : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Files\">https:\/\/github.com\/HowProgrammingWorks\/Files<\/a><\/noindex><\/li>\n<li>Flux de fichiers : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Streams\">https:\/\/github.com\/HowProgrammingWorks\/Streams<\/a><\/noindex><\/li>\n<li>Tampons : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Buffers\">https:\/\/github.com\/HowProgrammingWorks\/Buffers<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/29QINR9rruQ\">\u041d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0435 \u0437\u0430 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u0432 Node.js<\/a><\/noindex>\n<ul>\n<li>Syst\u00e8me de fichiers dans Node.js : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Files\">https:\/\/github.com\/HowProgrammingWorks\/Files<\/a><\/noindex><\/li>\n<li>Surveillance des fichiers : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/FilesystemWatch\">https:\/\/github.com\/HowProgrammingWorks\/FilesystemWatch<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/5aSZyKi5BmE\">\u041a\u043e\u043d\u0441\u043e\u043b\u044c \u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0432 JavaScript \u0438 Node.js<\/a><\/noindex>\n<ul>\n<li>Exemples de code : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/CommandLine\">https:\/\/github.com\/HowProgrammingWorks\/CommandLine<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"struktura-i-arhitektura-prilozheniy-na-nodejs\">\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0438 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 Node.js<\/h2>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/d_vyO2CkiOc\">Approche architecturale de la programmation<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/O7A9chb573E\">\u041c\u043e\u0434\u0443\u043b\u0438, \u0441\u043b\u043e\u0438, \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u043f\u0435\u0441\u043e\u0447\u043d\u0438\u0446\u044b \u0432 JavaScript \u0438 Node.js<\/a><\/noindex>\n<ul>\n<li>Exemple de projet : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Project\">https:\/\/github.com\/HowProgrammingWorks\/Project<\/a><\/noindex><\/li>\n<li>Couches abstraites : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/AbstractionLayers\">https:\/\/github.com\/HowProgrammingWorks\/AbstractionLayers<\/a><\/noindex><\/li>\n<li>Sables : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Sandboxes\">https:\/\/github.com\/HowProgrammingWorks\/Sandboxes<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/Fz86Fdjz-LM\">\u0418\u043d\u0432\u0435\u0440\u0441\u0438\u044f \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438 \u0432\u043d\u0435\u0434\u0440\u0435\u043d\u0438\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0435\u0439 \u0432 Node.js<\/a><\/noindex>\n<ul>\n<li>Inversion de contr\u00f4le : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/InversionOfControl\">https:\/\/github.com\/HowProgrammingWorks\/InversionOfControl<\/a><\/noindex><\/li>\n<li>Injection de d\u00e9pendances : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/DependencyInjection\">https:\/\/github.com\/HowProgrammingWorks\/DependencyInjection<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/2OXWZFMvfbc\">\u041c\u0435\u0436\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432\u043e\u0435 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0435 \u0432 Node.js<\/a><\/noindex>\n<ul>\n<li>Exemples de code : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/InterProcessCommunication\">https:\/\/github.com\/HowProgrammingWorks\/InterProcessCommunication<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/A3RpwNlVeyY\">Couches, couplage et coh\u00e9sion du code<\/a><\/noindex>\n<ul>\n<li>Exemples de code : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Abstractions\">https:\/\/github.com\/HowProgrammingWorks\/Abstractions<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"razrabotka-serverov-prilozheniy-i-api-na-nodejs\">\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438 API \u043d\u0430 Node.js<\/h2>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/bHn-wTlTTR0\">Client-serveur sur Node.js TCP et UDP, DNS<\/a><\/noindex>\n<ul>\n<li>Exemples de code : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Socket\">https:\/\/github.com\/HowProgrammingWorks\/Socket<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/7Ufxj0oTaUo\">Serveur HTTP sur Node.js (routage, cluster, IP collante)<\/a><\/noindex>\n<ul>\n<li>Exemples de code : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/NodeServer\">https:\/\/github.com\/HowProgrammingWorks\/NodeServer<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/T_wKXuWW4Wo\">HTTP \u0441\u0435\u0441\u0441\u0438\u0438 \u0438 cookies \u043d\u0430 \u0447\u0438\u0441\u0442\u043e\u043c Node.js<\/a><\/noindex>\n<ul>\n<li>Exemples de code : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Session\">https:\/\/github.com\/HowProgrammingWorks\/Session<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/wMMki2FEYGY\">Requ\u00eates HTTP dans le navigateur et Node.js : XMLHttpRequest, fetch<\/a><\/noindex>\n<ul>\n<li>Exemples de code : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/HttpRequest\">https:\/\/github.com\/HowProgrammingWorks\/HttpRequest<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/-az912XBCu8\">D\u00e9veloppement d'API sur Node.js (client et serveur)<\/a><\/noindex>\n<ul>\n<li>Exemples de code : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/API\">https:\/\/github.com\/HowProgrammingWorks\/API<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/Sf7ln3n16ws\">Serveur WebSocket sur Node.js (tableaux \u00e9lectroniques et chat)<\/a><\/noindex>\n<ul>\n<li>WebSockets : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/WebsocketChat\">https:\/\/github.com\/HowProgrammingWorks\/WebsocketChat<\/a><\/noindex><\/li>\n<li>Chat : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/LiveTable\">https:\/\/github.com\/HowProgrammingWorks\/LiveTable<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/lipkLQVqDd8\">Scaffold pour API, UI et donn\u00e9es<\/a><\/noindex>\n<ul>\n<li>Exemples de code : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Scaffolding\">https:\/\/github.com\/HowProgrammingWorks\/Scaffolding<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/7tfZDABPvVs\">\u0412\u044b\u0441\u043e\u043a\u043e\u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0435 \u0440\u0430\u0441\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 Node.js<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/n_AdKIzbpBc\">\u041e\u0442\u0434\u0430\u0447\u0430 \u0441\u0442\u0430\u0442\u0438\u043a\u0438 \u0432 Node.js<\/a><\/noindex>\n<ul>\n<li>Exemples de code et exercices : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/ServeStatic\">https:\/\/github.com\/HowProgrammingWorks\/ServeStatic<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"rabota-s-bazami-dannyh-na-nodejs\">\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u0431\u0430\u0437\u0430\u043c\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 Node.js<\/h2>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/CRcSWtWVvrA\">Couche d'acc\u00e8s aux donn\u00e9es, curseur, transaction<\/a><\/noindex>\n<ul>\n<li>Exemples de code : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Transaction\">https:\/\/github.com\/HowProgrammingWorks\/Transaction<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/2tDvHQCBt3w\">Travail avec des bases de donn\u00e9es dans Node.js avec l'exemple de PostgreSQL<\/a><\/noindex>\n<ul>\n<li>Exemples de code : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Databases\">https:\/\/github.com\/HowProgrammingWorks\/Databases<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"lekcii-po-cqrs-i-event-sourcing\">Le\u00e7ons sur CQRS et Event Sourcing<\/h2>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/vER0vYL4hM4\">Mod\u00e8le de Commande (Command) action et param\u00e8tres comme objet<\/a><\/noindex>\n<ul>\n<li>Ce mod\u00e8le sera n\u00e9cessaire pour la prochaine le\u00e7on<\/li>\n<li>Exemples de code : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Command\">https:\/\/github.com\/HowProgrammingWorks\/Command<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/T2tRc80Q8Qw\">CQS, CQRS, Event Sourcing \u2014 S\u00e9paration des requ\u00eates et modifications des donn\u00e9es<\/a><\/noindex>\n<ul>\n<li>CQS : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/CQS\">https:\/\/github.com\/HowProgrammingWorks\/CQS<\/a><\/noindex><\/li>\n<li>CQRS : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/CQRS\">https:\/\/github.com\/HowProgrammingWorks\/CQRS<\/a><\/noindex><\/li>\n<li>EventSourcing : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/EventSourcing\">https:\/\/github.com\/HowProgrammingWorks\/EventSourcing<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/kFNtKiK2SPs\">Application de l'EventSourcing<\/a><\/noindex>\n<ul>\n<li>Voir les exemples de la le\u00e7on pr\u00e9c\u00e9dente<\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/xp5MVKEqxY4\">Mod\u00e8le d'acteurs (Actor Model)<\/a><\/noindex>\n<ul>\n<li>Exemples de code : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/ActorModel\">https:\/\/github.com\/HowProgrammingWorks\/ActorModel<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"upravlenie-pamyatyu-i-parallelnoe-programmirovanie\">Gestion de la m\u00e9moire et programmation parall\u00e8le<\/h2>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/0oZa64SB2wM\">Fuites de m\u00e9moire dans Node.js et JavaScript, collecte des d\u00e9chets et profilage<\/a><\/noindex>\n<ul>\n<li>Exemples de code : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/MemoryLeaks\">https:\/\/github.com\/HowProgrammingWorks\/MemoryLeaks<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/zLm8pnbxSII\">Atomics, SharedArrayBuffer, worker_threads \u0432 Node.js<\/a><\/noindex>\n<ul>\n<li>Flux : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Threads\/\">https:\/\/github.com\/HowProgrammingWorks\/Threads\/<\/a><\/noindex><\/li>\n<li>Op\u00e9rations atomiques : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Atomics\/\">https:\/\/github.com\/HowProgrammingWorks\/Atomics\/<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/JNLrITevhRI\">\u0421\u0435\u043c\u0430\u0444\u043e\u0440\u044b \u0438 \u043c\u044c\u044e\u0442\u0435\u043a\u0441\u044b \u0432 JavaScript \u0438 Node.js<\/a><\/noindex>\n<ul>\n<li>S\u00e9maphores : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Semaphore\">https:\/\/github.com\/HowProgrammingWorks\/Semaphore<\/a><\/noindex><\/li>\n<li>Mutexes : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Mutex\">https:\/\/github.com\/HowProgrammingWorks\/Mutex<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/KNsm_iIQt7U\">\u0420\u0430\u0437\u0434\u0435\u043b\u044f\u0435\u043c\u0430\u044f \u043f\u0430\u043c\u044f\u0442\u044c \u0432 \u043c\u043d\u043e\u0433\u043e\u043f\u043e\u0442\u043e\u0447\u043d\u043e\u043c Node.js<\/a><\/noindex> \u2014 pr\u00e9sentation \u00e0 la conf\u00e9rence JS Fest 2019 Spring\n<ul>\n<li>Diapositives : <noindex><a rel=\"nofollow\" href=\"https:\/\/www.slideshare.net\/JSFestUA\/js-fest-2019-nodejs\">https:\/\/www.slideshare.net\/JSFestUA\/js-fest-2019-nodejs<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><\/p>\n<h2 id=\"bezopasnost-nadezhnost-razvertyvanie-i-infrastruktura\">S\u00e9curit\u00e9, fiabilit\u00e9, d\u00e9ploiement et infrastructure<\/h2>\n<p><\/p>\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/1Ml5NE2fsZ8\">Erreurs non trait\u00e9es dans les promesses<\/a><\/noindex>\n<ul>\n<li>Exemples de code : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/PromiseError\">https:\/\/github.com\/HowProgrammingWorks\/PromiseError<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/pfiHTx3j87Y\">\u041f\u0440\u043e\u0431\u043b\u0435\u043c\u0430 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e\u0433\u043e \u0441\u0442\u0435\u043a\u0442\u0440\u0435\u0439\u0441\u0430 \u0432 JavaScript \u0438 Node.js<\/a><\/noindex>\n<ul>\n<li>Exemples de code : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/StackTrace\">https:\/\/github.com\/HowProgrammingWorks\/StackTrace<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/4DkZj2Cdokc\">Journalisation dans Node.js et JavaScript<\/a><\/noindex>\n<ul>\n<li>Exemples de code : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/Logging\">https:\/\/github.com\/HowProgrammingWorks\/Logging<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/ZstnowFeCe0\">Graceful Shutdown \u0432 Node.js<\/a><\/noindex>\n<ul>\n<li>Exemples de code et exercices : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/HowProgrammingWorks\/GracefulShutdown\">https:\/\/github.com\/HowProgrammingWorks\/GracefulShutdown<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/Pdfo1G-gI6s\">\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 Node.js<\/a><\/noindex>\n<ul>\n<li>Diapositives : <noindex><a rel=\"nofollow\" href=\"https:\/\/www.slideshare.net\/tshemsedinov\/nodejs-security-199004963\">https:\/\/www.slideshare.net\/tshemsedinov\/nodejs-security-199004963<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/youtu.be\/x-Rd6fPV6L8\">Serverless Clouds (FaaS) \u0438 \u0438\u0437\u043e\u043b\u044f\u0446\u0438\u044f \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u043e\u0432 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 Node.js<\/a><\/noindex>\n<ul>\n<li>Diapositives : <noindex><a rel=\"nofollow\" href=\"https:\/\/www.slideshare.net\/tshemsedinov\/serverless-clouds-faas-and-request-context-isolation-in-nodejs\">https:\/\/www.slideshare.net\/tshemsedinov\/serverless-clouds-faas-and-request-context-isolation-in-nodejs<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p><\/p>\n<p>Nous vous demandons de laisser vos commentaires sur le cours et vos suggestions pour \u00e9tendre les mat\u00e9riaux du cours. Merci pour votre int\u00e9r\u00eat envers notre travail et l'aide de la communaut\u00e9 \u00e0 am\u00e9liorer les exemples de code. Vous pouvez vous abonner \u00e0 la cha\u00eene YouTube avec des conf\u00e9rences ouvertes ici : <noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/TimurShemsedinov\">https:\/\/www.youtube.com\/TimurShemsedinov<\/a><\/noindex> et sur le GitHub de l'auteur ici : <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/tshemsedinov\">https:\/\/github.com\/tshemsedinov<\/a><\/noindex><\/p>\n<p class=\"for_users_only_msg\">Seuls les utilisateurs enregistr\u00e9s peuvent participer au sondage. <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/auth\/login\/\">Connectez-vous<\/a><\/noindex>, s'il vous pla\u00eet.<\/p>\n<h2 class=\"default-block__polling-title\">Allez-vous suivre le cours ?<\/h2>\n<ul class=\"poll-result\">\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent  poll-result__data-percent_winner\">70,4%<\/strong>Oui, tout m'int\u00e9resse155<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">26,4%<\/strong>Je vais le parcourir de mani\u00e8re s\u00e9lective58<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">3,2%<\/strong>Pas int\u00e9ress\u00e97<\/p>\n<\/li>\n<\/ul>\n<p>    220 utilisateurs ont vot\u00e9. 10 utilisateurs se sont abstenus.<\/p>\n<h2 class=\"default-block__polling-title\">Voulez-vous la suite des cours ?<\/h2>\n<ul class=\"poll-result\">\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent  poll-result__data-percent_winner\">95,0%<\/strong>Oui, bien s\u00fbr191<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">3,0%<\/strong>Oui, et je sugg\u00e9rerai des sujets6<\/p>\n<\/li>\n<li class=\"poll-result__item\">\n<p>                <strong class=\"poll-result__data-percent\">2,0%<\/strong>Je m'arr\u00eate l\u00e04<\/p>\n<\/li>\n<\/ul>\n<p>    201 utilisateurs ont vot\u00e9. 13 utilisateurs se sont abstenus.<br \/>\n<br \/>Source : <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/485294\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0414\u043e\u0440\u043e\u0433\u0438\u0435 \u0442\u043e\u0432\u0430\u0440\u0438\u0449\u0438 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u044b, \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u041c\u0435\u0442\u0430\u0440\u0445\u0438\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432\u0430\u0448\u0435\u043c\u0443 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044e \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u043a\u0443\u0440\u0441 \u043f\u043e Node.js, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0433\u043b\u0443\u0431\u043e\u043a\u0438\u0439 \u0440\u0430\u0437\u0431\u043e\u0440 \u0432\u0441\u0435\u0445 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0438 \u0430\u0441\u043f\u0435\u043a\u0442\u043e\u0432 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u044b. \u041e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u0443\u043f\u043e\u0440 \u0434\u0435\u043b\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0442\u043e, \u043a\u0430\u043a \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0435 \u0432\u044b\u0441\u043e\u043a\u043e\u043d\u0430\u0433\u0440\u0443\u0436\u0435\u043d\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438 API \u0431\u0435\u0437 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438 \u043a \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u043c\u0443 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a\u0443 \u0438 \u0434\u0430\u0436\u0435 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u0443, \u0442.\u0435. \u0430\u0431\u0441\u0442\u0440\u0430\u0433\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0431\u0438\u0437\u043d\u0435\u0441-\u043b\u043e\u0433\u0438\u043a\u0443 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u043b\u043e\u0439. \u041a \u043b\u0435\u043a\u0446\u0438\u044f\u043c \u043f\u0440\u0438\u043a\u0440\u0435\u043f\u043b\u0435\u043d\u043e \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u043a\u043e\u0434\u0430, \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u044e\u0449\u0438\u0445 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":55631,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-55630","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0414\u043e\u0440\u043e\u0433\u0438\u0435 \u0442\u043e\u0432\u0430\u0440\u0438\u0449\u0438 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u044b, \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u041c\u0435\u0442\u0430\u0440\u0445\u0438\u044f.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/news\/sovremennyj-kurs-po-node-js-v-2020\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u043a\u0443\u0440\u0441 \u043f\u043e Node.js \u0432 2020 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0414\u043e\u0440\u043e\u0433\u0438\u0435 \u0442\u043e\u0432\u0430\u0440\u0438\u0449\u0438 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u044b, \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u041c\u0435\u0442\u0430\u0440\u0445\u0438\u044f.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/sovremennyj-kurs-po-node-js-v-2020\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-01-23T21:00:00+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-18T11:03:46+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Cours moderne sur Node.js en 2020 | ProHoster","description":"Chers camarades ing\u00e9nieurs, communaut\u00e9 M\u00e9tarchie.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/sovremennyj-kurs-po-node-js-v-2020","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0439 \u043a\u0443\u0440\u0441 \u043f\u043e Node.js \u0432 2020 | ProHoster","og:description":"\u0414\u043e\u0440\u043e\u0433\u0438\u0435 \u0442\u043e\u0432\u0430\u0440\u0438\u0449\u0438 \u0438\u043d\u0436\u0435\u043d\u0435\u0440\u044b, \u0441\u043e\u043e\u0431\u0449\u0435\u0441\u0442\u0432\u043e \u041c\u0435\u0442\u0430\u0440\u0445\u0438\u044f.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/sovremennyj-kurs-po-node-js-v-2020","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-01-23T21:00:00+00:00","article:modified_time":"2020-02-18T11:03:46+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"55630","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 19:40:27","updated":"2022-10-06 09:56:03","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/55630","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=55630"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/55630\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/55631"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=55630"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=55630"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=55630"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}