{"id":3454,"date":"2013-03-26T05:27:33","date_gmt":"2013-03-26T04:27:33","guid":{"rendered":"http:\/\/flaven.fr\/?p=3454"},"modified":"2026-09-16T10:07:27","modified_gmt":"2026-09-16T08:07:27","slug":"node-javascript-introduction-rapide-a-la-bibliotheque-javascript-node-js","status":"publish","type":"post","link":"https:\/\/flaven.fr\/2013\/03\/node-javascript-introduction-rapide-a-la-bibliotheque-javascript-node-js\/","title":{"rendered":"Node, JavaScript &#8211; Introduction rapide \u00e0 la biblioth\u00e8que JavaScript Node.js"},"content":{"rendered":"<p>\t<!--  Node, JavaScript - Introduction rapide \u00e0 la biblioth\u00e8que JavaScript Node.js   --><br \/>\n\t<!--  Node, JavaScript, API, HTML5, Web Application, iPhone, iPad, Android, Airbnb, Walmart, Serveur, Ryan Dahl, John Resig, jQuery, Xcode, Ruby, Homebrew, Airbnb, Walmart --><br \/>\n\tBeaucoup d&#8217;effervescence autour de cette librairie javascript, qui \u00e0 lire certains semble \u00eatre la nouvelle <code>Next Big Thing<\/code> en mati\u00e8re de d\u00e9veloppement notamment dans la conception et le d\u00e9veloppement d&#8217;applications web. Beaucoup de poids-lourds du web l&#8217;utilisent notamment aux Etats-Unis, pour information on peut citer Airbnb, Walmart&#8230;<\/p>\n<h4>La d\u00e9finition donn\u00e9e par la site officiel de <code>nodejs.org<\/code> <\/h4>\n<p>\tTout d&#8217;abord, revenons \u00e0 la source si l&#8217;on peut dire en donnant la d\u00e9finition exacte de ce qui figure sur le site officiel de cette libraire con\u00e7ue par Ryan Dahl, une sorte de John Resig bis, en terme d&#8217;innovation !<\/p>\n<blockquote><p>\n\tNode.js is a platform built on <a href=\"http:\/\/code.google.com\/p\/v8\/\" target=\"_blank\">Chrome&#8217;s JavaScript runtime<\/a><br \/>\n\t        for easily building fast, scalable network applications.  Node.js<br \/>\n\t        uses an event-driven, non-blocking I\/O model that makes it<br \/>\n\t        lightweight and efficient, perfect for data-intensive real-time<br \/>\n\t        applications that run across distributed devices.\n\t\t<\/p><\/blockquote>\n<p>Bon, il est certain qu&#8217;une fois la d\u00e9finition \u00e9nonc\u00e9e, on est pas plus avanc\u00e9e puisque c&#8217;est relativement abscons surtout si on est pas familier du d\u00e9veloppement. On va donc tenter avec des mots simples de d\u00e9finir ce qu&#8217;est <code>Node.js<\/code> et surtout voir les implications \u00e9ventuelles en terme de d\u00e9veloppement et d&#8217;utilisation, le tout avec des explications et une illustration concr\u00e8te tir\u00e9e du blog de l&#8217;\u00e9quipe de d\u00e9veloppement de Airbnb (<a href=\"http:\/\/code.google.com\/p\/v8\/\" target=\"_blank\">@AirbnbNerds<\/a>) qu&#8217;ils en soient remerci\u00e9s.<\/p>\n<p><b>Pour donner une d\u00e9finition vraiment basique, Node.js est un environnement d&#8217;ex\u00e9cution de programme adoss\u00e9 au <a href=\"http:\/\/code.google.com\/p\/v8\/\" target=\"_blank\">Chrome&#8217;s JavaScript runtime<\/a> qui s&#8217;ex\u00e9cute indiff\u00e9remment c\u00f4t\u00e9 client ou c\u00f4t\u00e9 serveur. C&#8217;est ce dernier point qui nous int\u00e9resse. Comme le dit les gens de Airbnb, cette unification via <code>Node.js<\/code> de la logique d&#8217;une application fait que tout marche indiff\u00e9remment c\u00f4t\u00e9 client ou c\u00f4t\u00e9 serveur, cela annihile totalement la contrainte de la plate-forme, plus efficient en terme de d\u00e9veloppement donc on peut se pr\u00e9occuper un peu plus du UX design, du SEO&#8230; bref tout le sel d&#8217;une application.<\/b><\/p>\n<p>C&#8217;est en substance ce que nous dit cette citation du Blog de (<a href=\"http:\/\/code.google.com\/p\/v8\/\" target=\"_blank\">@AirbnbNerds<\/a>)\t<\/p>\n<blockquote><p>\n[&#8230;] in theory, if we have a JavaScript runtime on the server, we should be able to pull most of this application logic back down to the server in a way that can be shared with the client.  Then, as a developer you just focus on writing application code.  Your great new product can run on both sides of the wire, serving up real HTML on first pageload, but then kicking off a client-side JavaScript app.  In other words, the Holy Grail.\n<\/p><\/blockquote>\n<p>Source : <a href=\"http:\/\/nerds.airbnb.com\/weve-launched-our-first-nodejs-app-to-product\" target=\"_blank\">http:\/\/nerds.airbnb.com\/weve-launched-our-first-nodejs-app-to-product<\/a><\/p>\n<p>Les gens de (<a href=\"http:\/\/code.google.com\/p\/v8\/\" target=\"_blank\">@AirbnbNerds<\/a>) y voient m\u00eame le Graal et Ryan Dahl en serait le messie ! Et ils le prouvent en proposant une capture de leur derni\u00e8re application construite sous <code>Node.js<\/code><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2013\/03\/using_node_js_AirbnbNerds.png\" width=\"408\" height=\"746\" alt=\"Node, JavaScript - Introduction rapide \u00e0 la biblioth\u00e8que JavaScript Node\"><br \/><em>Copyright \u00a9 AirbnbNerds<\/em><br \/>\nSource : <a href=\"http:\/\/nerds.airbnb.com\/weve-launched-our-first-nodejs-app-to-product\" target=\"_blank\">http:\/\/nerds.airbnb.com\/weve-launched-our-first-nodejs-app-to-product<\/a> <\/p>\n<p>Cet enthousiasme semble d&#8217;ailleurs partag\u00e9 par d&#8217;autres, une pr\u00e9sentation de <code>Node.js<\/code> par Beardsley (&#8220;B&#8221;) Ruml de <a href=\"http:\/\/ruml.com\" target=\"_blank\">http:\/\/ruml.com<\/a> \u00e0 la <code>Harvard University\u2019s introductory computer science course<\/code> n&#8217;y va pas avec le dos de la cuill\u00e8re en terme d&#8217;\u00e9loges&#8230; On le cite in-extenso, carr\u00e9ment le futur du Web.<\/p>\n<blockquote><p>\n\t\t\tWhy is node.js &#8220;the future&#8221; of web applications?<br \/>\n\t\t\tWeb evolution:<\/p>\n<ul>\n<li>a series of linked static pages;<\/li>\n<li>pages which were dynamically generated from a<br \/>\n\t\t\tdatabase (templating);<\/li>\n<li>pages which send significant amounts of new data and can ask for updates for parts of a page without refreshing the page (Ajax);<\/li>\n<li>pages which need constant communication;<\/li>\n<li>updates without asking; many browsers talking<br \/>\n\t\t\tto each other (chat, backchannel);<\/li>\n<\/ul>\n<\/blockquote>\n<p><i>Source : <a href=\"http:\/\/cdn.cs50.net\/2011\/fall\/seminars\/Node_js\/Node_js.pdf\" target=\"_blank\">http:\/\/cdn.cs50.net\/2011\/fall\/seminars\/Node_js\/Node_js.pdf<\/a><\/i><\/p>\n<p>\t\t\t<b>Passer cette euphorie contagieuse, on est en doit de se demander si on ne passe pas \u00e0 c\u00f4t\u00e9 de quelque chose. Un b\u00e9mol, les am\u00e9ricains sont les rois du storytelling et ne jurent que par la nouveaut\u00e9. On va donc montr\u00e9 comment installer <code>Node.js<\/code> et surtout on vous invite \u00e0 suivre de pr\u00e9s de nouveau venu&#8230;<\/b><\/p>\n<h4>Installer <code>Node.js<\/code> et jouer un peu&#8230;<\/h4>\n<p>Comme, nous sommes assez feignants, on a d\u00e9cid\u00e9 de passer par <code>Homebrew<\/code> pour installer <code>Node.js<\/code> forcement, vous allez devoir installer <code>Homebrew<\/code> sur votre Mac. C&#8217;est assez facile pour une fois.<br \/>\n<i>Homebrew est pr\u00e9sent\u00e9 non comme le &#8220;chainon manquant&#8221; mais comme le &#8220;package manquant&#8221;. Ecrit en Ruby, Homebrew permet de rapidement et facilement compiler des logiciels sur un Mac. Vous aurez besoin aussi d&#8217;installer les Developer Tools pour Mac qui sont install\u00e9es avec Xcode. Xcode est disponible gratuitement.<\/i><br \/>\n<i>Source : <a href=\"http:\/\/mxcl.github.com\/homebrew\/\" target=\"_blank\">http:\/\/mxcl.github.com\/homebrew\/<\/a><\/i>\t\t<\/p>\n<p><b>Installer <code>Homebrew<\/code><\/b>\t\t\t<\/p>\n<pre lang=\"ruby\">\nruby -e \"$(curl -fsSkL raw.github.com\/mxcl\/homebrew\/go)\"\n<\/pre>\n<p><i>Source : <a href=\"http:\/\/mxcl.github.com\/homebrew\/\" target=\"_blank\">http:\/\/mxcl.github.com\/homebrew\/<\/a><\/i><\/p>\n<p><b>Lancer la commande d&#8217;installation de <code>Node.js<\/code> sous <code>Homebrew<\/code><\/b><\/p>\n<pre lang=\"bash\">brew install node<\/pre>\n<p><b>Dans le terminal, vous pouvez lancer ce type de commande, soit en vous pla\u00e7ant dans le r\u00e9pertoire, soit en \u00e9tant \u00e0 la racine de votre disque dur.<\/b><\/p>\n<p><b>Une fois <code>Node.js<\/code> install\u00e9 via <code>Homebrew<\/code>, on peut v\u00e9rifier que <code>Node.js<\/code> est op\u00e9rationnel en affichant la version via <code>node -v<\/code><\/b><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2013\/03\/using_node_js_1.jpg\" width=\"500\" height=\"265\" alt=\"Node, JavaScript - Introduction rapide \u00e0 la biblioth\u00e8que JavaScript Node\"><\/p>\n<p><b>Lancement du script <code>script_hecube_node_1.js<\/code> via cette commande <\/p>\n<pre lang=\"bash\">node \/Users\/nom-d-utilisateur\/Documents\/script_hecube_node_1.js<\/pre>\n<p><\/b><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2013\/03\/using_node_js_2.jpg\" width=\"500\" height=\"265\" alt=\"Node, JavaScript - Introduction rapide \u00e0 la biblioth\u00e8que JavaScript Node\"><\/p>\n<p><b>La sortie c\u00f4t\u00e9 navigateur<\/b><br \/>\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2013\/03\/using_node_js_3.jpg\" width=\"500\" height=\"265\" alt=\"Node, JavaScript - Introduction rapide \u00e0 la biblioth\u00e8que JavaScript Node\"><\/p>\n<p><b>La source de notre script rikiki <code>script_hecube_node_1.js<\/code><\/b><\/p>\n<pre lang=\"javascript\">\n\t\n\t\/* \n\tNode, JavaScript - Introduction rapide \u00e0 la biblioth\u00e8que JavaScript Node\n\tMore on http:\/\/social.hecube.net\/\n\t*\/\n\t\/* \n\tNOTE - To launch the script, type the following command in console :\n\tnode \/node \/Users\/nom-d-utilisateur\/Documents\/script_hecube_node_1.js\n\t*\/\n\tvar sys = require(\"sys\"),\n\tmy_http = require(\"http\");\n\tmy_http.createServer(function(request,response){\n\n\n\t\tsys.puts(\"Le serveur est touch\u00e9 par un \"hit\" par l'affichage de la page http:\/\/127.0.0.1:8080\/ via script_hecube_node_1.js\");\n\n\n\t\tresponse.writeHeader(200, {\"Content-Type\": \"text\/plain\"});\n\t\tresponse.write(\"Se servir de node avec script_hecube_node_1.js\");\n\t\tresponse.end();\n\t}).listen(8080);\n\tsys.puts(\"Server Running on 8080\");\n\t\/* show message in terminal but with the console command *\/\n\tconsole.log('Voir \u00e0 l'adresse suivante : http:\/\/127.0.0.1:8080\/');\n\n\t\n<\/pre>\n<h2>En savoir plus<\/h2>\n<ul>\n<li>Le site offciel de nodejs<br \/><a href=\"http:\/\/nodejs.org\/\" target=\"_blank\">http:\/\/nodejs.org\/<\/a><\/li>\n<li>Creating a REST API using Node.js, Express, and MongoDB<br \/><a href=\"http:\/\/coenraets.org\/blog\/2012\/10\/creating-a-rest-api-using-node-js-express-and-mongodb\/\" target=\"_blank\">http:\/\/coenraets.org\/blog\/2012\/10\/creating-a-rest-api-using-node-js-express-and-mongodb\/<\/a><\/li>\n<li>Why Walmart is using Node.js<br \/><a href=\"http:\/\/venturebeat.com\/2012\/01\/24\/why-walmart-is-using-node-js\/\" target=\"_blank\">http:\/\/venturebeat.com\/2012\/01\/24\/why-walmart-is-using-node-js\/<\/a><\/li>\n<li>Diving into Node.js \u2013 Introduction &#038; Installation<br \/><a href=\"http:\/\/www.stoimen.com\/blog\/2010\/11\/16\/diving-into-node-js-introduction-and-installation\/\" target=\"_blank\">http:\/\/www.stoimen.com\/blog\/2010\/11\/16\/diving-into-node-js-introduction-and-installation\/<\/a><\/li>\n<li>Node.js for Beginners<br \/><a href=\"http:\/\/net.tutsplus.com\/tutorials\/javascript-ajax\/node-js-for-beginners\/\" target=\"_blank\">http:\/\/net.tutsplus.com\/tutorials\/javascript-ajax\/node-js-for-beginners\/<\/a><\/li>\n<li>Setting up Node.js and npm on Mac OSX<br \/><a href=\"http:\/\/shapeshed.com\/setting-up-nodejs-and-npm-on-mac-osx\/\" target=\"_blank\">http:\/\/shapeshed.com\/setting-up-nodejs-and-npm-on-mac-osx\/<\/a><\/li>\n<li>Homebrew, The missing package manager for OS X<br \/><a href=\"http:\/\/mxcl.github.com\/homebrew\/\" target=\"_blank\">http:\/\/mxcl.github.com\/homebrew\/<\/a><\/li>\n<li>How to Install Node.js<br \/><a href=\"http:\/\/howtonode.org\/how-to-install-nodejs\" target=\"_blank\">http:\/\/howtonode.org\/how-to-install-nodejs<\/a><\/li>\n<li>Tutorial: Get started with Node.js on Mac (Beginner)<br \/><a href=\"http:\/\/dannemanne.com\/posts\/tutorial_get_started_with_node_js_on_mac_beginner_\" target=\"_blank\">http:\/\/dannemanne.com\/posts\/tutorial_get_started_with_node_js_on_mac_beginner_<\/a><\/li>\n<li>Our First Node.js App: Backbone on the Client and Server &#8211; Airbnb Engineering<br \/><a href=\"http:\/\/nerds.airbnb.com\/weve-launched-our-first-nodejs-app-to-product\" target=\"_blank\">http:\/\/nerds.airbnb.com\/weve-launched-our-first-nodejs-app-to-product<\/a><\/li>\n<li>How We Built an iOS App, an Android App and a Node.js API in 20 Hours | Blog &#8211; Semantics3<br \/><a href=\"http:\/\/blog.semantics3.com\/how-we-built-an-ios-app-an-android-app-and-a-node-js-api-in-20-hours\/\" target=\"_blank\">http:\/\/blog.semantics3.com\/how-we-built-an-ios-app-an-android-app-and-a-node-js-api-in-20-hours\/<\/a><\/li>\n<li>Jeff Mesnil &mdash; HTML5 Web Application for iPhone and iPad With node.js<br \/><a href=\"http:\/\/jmesnil.net\/weblog\/2010\/11\/24\/html5-web-application-for-iphone-and-ipad-with-node-js\/\" target=\"_blank\">http:\/\/jmesnil.net\/weblog\/2010\/11\/24\/html5-web-application-for-iphone-and-ipad-with-node-js\/<\/a><\/li>\n<li>Real-Time Geolocation Service with Node.js | Codrops<br \/><a href=\"http:\/\/tympanus.net\/codrops\/2012\/10\/11\/real-time-geolocation-service-with-node-js\/\" target=\"_blank\">http:\/\/tympanus.net\/codrops\/2012\/10\/11\/real-time-geolocation-service-with-node-js\/<\/a><\/li>\n<li>Node Tuts &#8211; Episode I &#8211; Node.js Introduction de Pedro Teixeira<br \/><a href=\"http:\/\/vimeo.com\/52691590\" target=\"_blank\">http:\/\/vimeo.com\/52691590<\/a><\/li>\n<li>Real-Time Geolocation Service with Node.js | Codrops<br \/><a href=\"http:\/\/tympanus.net\/codrops\/2012\/10\/11\/real-time-geolocation-service-with-node-js\/\" target=\"_blank\">http:\/\/tympanus.net\/codrops\/2012\/10\/11\/real-time-geolocation-service-with-node-js\/<\/a><\/li>\n<li>Node.js par Beardsley (&#8220;B&#8221;) Ruml de <a href=\"http:\/\/ruml.com\" target=\"_blank\">http:\/\/ruml.com<\/a><br \/><a href=\"http:\/\/cdn.cs50.net\/2011\/fall\/seminars\/Node_js\/Node_js.pdf\" target=\"_blank\">http:\/\/cdn.cs50.net\/2011\/fall\/seminars\/Node_js\/Node_js.pdf<\/a><\/li>\n<li>Harvard University\u2019s introductory computer science course<br \/><a href=\"https:\/\/www.cs50.net\/\" target=\"_blank\">https:\/\/www.cs50.net\/<\/a><\/li>\n<h4>Les liens de Beardsley (&#8220;B&#8221;) Ruml de <a href=\"http:\/\/ruml.com\" target=\"_blank\">http:\/\/ruml.com<\/a><\/h4>\n<li>NodeCloud &#8211; Node.js resources<br \/><a href=\"nodecloud.org\" target=\"_blank\">nodecloud.org<\/a><\/li>\n<li>The Node Beginner Book \u00bb A comprehensive Node.js tutorial<br \/><a href=\"http:\/\/nodebeginner.org\" target=\"_blank\">http:\/\/nodebeginner.org<\/a><\/li>\n<li>Mastering Node<br \/><a href=\"http:\/\/visionmedia.github.com\/masteringnode\/book.html\" target=\"_blank\">http:\/\/visionmedia.github.com\/masteringnode\/book.html<\/a><\/li>\n<li>Node Tuts screencasts<br \/><a href=\"http:\/\/nodetuts.com\" target=\"_blank\">http:\/\/nodetuts.com<\/a><\/li>\n<li>How To Node<br \/><a href=\"http:\/\/howtonode.org\" target=\"_blank\">http:\/\/howtonode.org<\/a><\/li>\n<li>How to log in node.js<br \/><a href=\"http:\/\/docs.nodejitsu.com\/articles\/intermediate\/how-to-log\" target=\"_blank\">http:\/\/docs.nodejitsu.com\/articles\/intermediate\/how-to-log<\/a><\/li>\n<li>Javascript, node.js and for loops<br \/><a href=\"http:\/\/blog.mixu.net\/2011\/02\/03\/javascript-node-js-and-for-loops\/\" target=\"_blank\">http:\/\/blog.mixu.net\/2011\/02\/03\/javascript-node-js-and-for-loops\/<\/a><\/li>\n<li>De tr\u00e8s nombreuses ressources sur Node.js <br \/><a href=\"http:\/\/stackoverflow.com\/questions\/2353818\/how-do-i-get-started-with-node-js\" target=\"_blank\">http:\/\/stackoverflow.com\/questions\/2353818\/how-do-i-get-started-with-node-js<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Beaucoup d&#8217;effervescence autour de cette librairie javascript, qui \u00e0 lire certains semble \u00eatre la nouvelle Next Big Thing en mati\u00e8re de d\u00e9veloppement notamment dans la&hellip; <\/p>\n<p class=\"text-center\"><a href=\"https:\/\/flaven.fr\/2013\/03\/node-javascript-introduction-rapide-a-la-bibliotheque-javascript-node-js\/\" class=\"more-link\">Continue reading &rarr; <span class=\"screen-reader-text\">Node, JavaScript &#8211; Introduction rapide \u00e0 la biblioth\u00e8que JavaScript Node.js<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":9368,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"bf_ai_meta_description":"Node.js est une biblioth\u00e8que JavaScript pour cr\u00e9er des applications web rapides et \u00e9volutives. D\u00e9couvrez ses outils et r\u00e9sultats concrets.","bf_ai_og_title":"Introduction \u00e0 Node.js","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[3440,1,3442,3444,3447,3449,3450,3451,3435],"tags":[568,2238,579,2183,569,2185,426,249,226,570,2190,3455,3514,571,95,573,574,575,576,577],"class_list":["post-3454","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cloud-infrastructure","category-miscellaneous-other","category-mobile-devices","category-programming-databases","category-technology-trends","category-tutorials-how-to","category-ux-product-design","category-web-design-front-end","category-web-development","tag-airbnb","tag-android","tag-apache","tag-api","tag-homebrew","tag-html5","tag-ipad","tag-iphone","tag-javascript","tag-john-resig","tag-jquery","tag-linux","tag-mongodb","tag-node","tag-ruby","tag-ryan-dahl","tag-serveur","tag-walmart","tag-web-application","tag-xcode"],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p3Vuhl-TI","jetpack_featured_media_url":"https:\/\/flaven.fr\/wp-content\/uploads\/2013\/03\/using_node_js_b_bf.jpg","_links":{"self":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts\/3454","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/comments?post=3454"}],"version-history":[{"count":1,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts\/3454\/revisions"}],"predecessor-version":[{"id":13207,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts\/3454\/revisions\/13207"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/media\/9368"}],"wp:attachment":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/media?parent=3454"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/categories?post=3454"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/tags?post=3454"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}