[{"data":1,"prerenderedAt":150},["ShallowReactive",2],{"talk-\u002Ftalks\u002F2025-09-17\u002Fnodejs-paris":3,"talks-explore-en-df47afd1-7a7e-4aad-8fa9-a1f563785468":61},{"metadata":4,"summary":40,"transcript":60},{"id":5,"title":6,"artifacts":7,"date":9,"description":10,"event":11,"extension":19,"links":20,"locale":26,"meta":27,"slug":28,"sourceLanguage":29,"stem":30,"talkId":31,"topics":32,"__hash__":39},"talks\u002Ftalks\u002F2025-09-17\u002Fnodejs-paris.json","Inertia: One Ring to rule them all",{"summary":8},"summary.en.md","2025-09-17","See how Inertia.js and AdonisJS combine a TypeScript monolith, server-side routing, and a modern interface without the complexity of a separate API.",{"name":12,"url":13,"location":14},"Node.js Paris","https:\u002F\u002Fnodejs.paris\u002F",{"city":15,"country":16,"latitude":17,"longitude":18},"Paris","France",48.80486167446941,2.324595137047259,"json",{"slides":21,"thumbnail":22,"thumbnailDark":23,"source":24,"pdf":25},"https:\u002F\u002Ftalks.soubiran.dev\u002F2025-09-17\u002Fnodejs-paris","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-09-17\u002Fnodejs-paris\u002Fthumbnail.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-09-17\u002Fnodejs-paris\u002Fthumbnail-dark.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-09-17\u002Fnodejs-paris\u002Fsrc","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-09-17\u002Fnodejs-paris\u002Fpdf","en",{},"2025-09-17\u002Fnodejs-paris","fr","talks\u002F2025-09-17\u002Fnodejs-paris","df47afd1-7a7e-4aad-8fa9-a1f563785468",[33,34,35,36,37,38],"adonisjs","full-stack","inertiajs","monolith","server-driven-ui","typescript","2fuCIMArWKp4LZtfXuiXIpb9zSoBtuEhRl9xzUjTDx0",{"id":41,"body":42,"extension":56,"meta":57,"rawbody":58,"stem":30,"__hash__":59},"talksSummary\u002Ftalks\u002F2025-09-17\u002Fnodejs-paris.md",{"type":43,"value":44,"toc":52},"minimark",[45,49],[46,47,48],"p",{},"Inertia is presented as a protocol between a backend and a frontend adapter, with the goal of keeping the simplicity of a monolith while using tools such as Vue, React, or Svelte. The talk places this approach in the context of projects built with increasingly complex stacks.",[46,50,51],{},"Using AdonisJS examples, it explains how Inertia distinguishes HTML and JSON responses, uses request headers, and transfers page data to the frontend. It also compares Inertia with frontend libraries and separate API-driven applications.",{"title":53,"searchDepth":54,"depth":54,"links":55},"",2,[],"md",{},"Inertia is presented as a protocol between a backend and a frontend adapter, with the goal of keeping the simplicity of a monolith while using tools such as Vue, React, or Svelte. The talk places this approach in the context of projects built with increasingly complex stacks.\n\nUsing AdonisJS examples, it explains how Inertia distinguishes HTML and JSON responses, uses request headers, and transfers page data to the frontend. It also compares Inertia with frontend libraries and separate API-driven applications.\n","XqAZ7RbHAUU164kWf8bYJBhXV0GJ6xzgri0B0g7CoMc",null,[62,98,120],{"id":63,"title":64,"artifacts":65,"date":67,"description":68,"event":69,"extension":19,"links":75,"locale":26,"meta":86,"slug":87,"sourceLanguage":29,"stem":88,"talkId":89,"topics":90,"__hash__":97},"talks\u002Ftalks\u002F2025-04-17\u002Fdevoxxfr.json","Reactivity and signals: demystifying frontend magic",{"summary":8,"transcript":66},"transcript.en.md","2025-04-17","Unpack frontend reactivity: change propagation, dependency tracking, signals, computed values, and effects in modern frameworks.",{"name":70,"url":71,"location":72},"Devoxx France","https:\u002F\u002Fwww.devoxx.fr\u002F",{"city":15,"country":16,"latitude":73,"longitude":74},48.87920881050965,2.2836092090943354,{"slides":76,"thumbnail":77,"thumbnailDark":78,"source":79,"pdf":80,"recording":81,"youtubeEmbed":82,"audio":83,"transcript":84,"article":85},"https:\u002F\u002Ftalks.soubiran.dev\u002F2025-04-17\u002Fdevoxxfr","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-04-17\u002Fdevoxxfr\u002Fthumbnail.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-04-17\u002Fdevoxxfr\u002Fthumbnail-dark.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-04-17\u002Fdevoxxfr\u002Fsrc","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-04-17\u002Fdevoxxfr\u002Fpdf","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-04-17\u002Fdevoxxfr\u002Frecording","https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FIyts6NE6bps","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-04-17\u002Fdevoxxfr\u002Faudio","https:\u002F\u002Fsoubiran.dev\u002Ftalks\u002F2025-04-17\u002Fdevoxxfr","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-04-17\u002Fdevoxxfr\u002Farticle",{},"2025-04-17\u002Fdevoxxfr","talks\u002F2025-04-17\u002Fdevoxxfr","48a8a750-8be9-4457-9dfd-588a701fd385",[91,92,93,94,95,96],"computed-values","dependency-tracking","effects","frontend-reactivity","signals","vue","RdECC2Ca4qEQLVoI3cU28PfC_nulfjqyjWPmJRpncmo",{"id":99,"title":64,"artifacts":100,"date":101,"description":68,"event":102,"extension":19,"links":108,"locale":26,"meta":114,"slug":115,"sourceLanguage":29,"stem":116,"talkId":117,"topics":118,"__hash__":119},"talks\u002Ftalks\u002F2025-10-14\u002Fparis-typescript.json",{"summary":8},"2025-10-14",{"name":103,"url":104,"location":105},"Paris TypeScript","https:\u002F\u002Ftypescript.paris\u002F",{"city":15,"country":16,"latitude":106,"longitude":107},48.866768910791514,2.342438728872608,{"slides":109,"thumbnail":110,"thumbnailDark":111,"source":112,"pdf":113},"https:\u002F\u002Ftalks.soubiran.dev\u002F2025-10-14\u002Fparis-typescript","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-10-14\u002Fparis-typescript\u002Fthumbnail.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-10-14\u002Fparis-typescript\u002Fthumbnail-dark.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-10-14\u002Fparis-typescript\u002Fsrc","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-10-14\u002Fparis-typescript\u002Fpdf",{},"2025-10-14\u002Fparis-typescript","talks\u002F2025-10-14\u002Fparis-typescript","0e074a1e-bc04-49a6-b1df-8053daaa0a2a",[91,92,93,94,95,96],"-rVCW__i3J4xAmWFBbXRLa5Y0PArsJvA0TivUF4NycE",{"id":121,"title":122,"artifacts":123,"date":124,"description":125,"event":126,"extension":19,"links":132,"locale":26,"meta":138,"slug":139,"sourceLanguage":29,"stem":140,"talkId":141,"topics":142,"__hash__":149},"talks\u002Ftalks\u002F2026-06-16\u002Fncldays.json","Staying in motion in an unstable world: agency as a skill",{"summary":8},"2026-06-16","Explore agency as a skill for adapting: make intentional decisions, act despite uncertainty, and keep moving in an unstable environment.",{"name":127,"url":128,"location":129},"NCL Days","https:\u002F\u002Fwww.ncldays.fr\u002F",{"city":130,"country":130,"latitude":131,"longitude":131},"Online",0,{"slides":133,"thumbnail":134,"thumbnailDark":135,"source":136,"pdf":137},"https:\u002F\u002Ftalks.soubiran.dev\u002F2026-06-16\u002Fncldays","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-06-16\u002Fncldays\u002Fthumbnail.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-06-16\u002Fncldays\u002Fthumbnail-dark.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-06-16\u002Fncldays\u002Fsrc","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-06-16\u002Fncldays\u002Fpdf",{},"2026-06-16\u002Fncldays","talks\u002F2026-06-16\u002Fncldays","ce02a444-1736-451b-a343-8ffc07631655",[143,144,145,146,147,148],"adaptability","agency","decision-making","personal-growth","professional-development","uncertainty","frBmt7ptksU6j4m4NThUGcdU6x8iFoWZWIzFb2XGkmQ",1790086905940]