[{"data":1,"prerenderedAt":170},["ShallowReactive",2],{"talk-\u002Ffr\u002Ftalks\u002F2025-03-05\u002Fnodejs-paris":3,"talks-explore-fr-9ca534b2-6405-4c1b-855f-e743f3043c93":79},{"metadata":4,"summary":39,"transcript":78},{"id":5,"title":6,"artifacts":7,"date":9,"description":10,"event":11,"extension":19,"links":20,"locale":26,"meta":27,"slug":28,"sourceLanguage":26,"stem":29,"talkId":30,"topics":31,"__hash__":38},"talks\u002Ffr\u002Ftalks\u002F2025-03-05\u002Fnodejs-paris.json","Vous n'avez pas besoin de ces nouvelles API Node.js",{"summary":8},"summary.fr.md","2025-03-05","Prenez du recul sur les nouvelles API Node.js, de --watch et node:test à parseArgs, .env et SQLite, pour adopter les outils dont vos projets ont réellement besoin.",{"name":12,"url":13,"location":14},"Node.js Paris","http:\u002F\u002Fnodejs.paris\u002Fmeetups",{"city":15,"country":16,"latitude":17,"longitude":18},"Paris","France",48.86860314335723,2.3354337719970117,"json",{"slides":21,"thumbnail":22,"thumbnailDark":23,"source":24,"pdf":25},"https:\u002F\u002Ftalks.soubiran.dev\u002F2025-03-05\u002Fnodejs-paris","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-03-05\u002Fnodejs-paris\u002Fthumbnail.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-03-05\u002Fnodejs-paris\u002Fthumbnail-dark.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-03-05\u002Fnodejs-paris\u002Fsrc","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-03-05\u002Fnodejs-paris\u002Fpdf","fr",{},"2025-03-05\u002Fnodejs-paris","fr\u002Ftalks\u002F2025-03-05\u002Fnodejs-paris","9ca534b2-6405-4c1b-855f-e743f3043c93",[32,33,34,35,36,37],"developer-tooling","nodejs","nodejs-apis","package-managers","runtimes","yagni","Ap7ZF7mS58GfPp9th1Fy6bfirDHHXbTEYai6w8IuNPI",{"id":40,"body":41,"extension":74,"meta":75,"rawbody":76,"stem":29,"__hash__":77},"talksSummary\u002Ffr\u002Ftalks\u002F2025-03-05\u002Fnodejs-paris.md",{"type":42,"value":43,"toc":70},"minimark",[44,67],[45,46,47,48,52,53,52,56,52,59,62,63,66],"p",{},"Les nouvelles API de Node.js ne répondent pas automatiquement à un besoin. Cette présentation passe en revue ",[49,50,51],"code",{},"node --watch",", ",[49,54,55],{},"node:test",[49,57,58],{},"parseArgs",[49,60,61],{},"--env-file"," et ",[49,64,65],{},"node:sqlite",", avant d'élargir la réflexion aux frameworks, aux runtimes, aux IDE et aux gestionnaires de paquets.",[45,68,69],{},"Le principe YAGNI sert de fil conducteur. Il s'agit de rester curieux tout en évitant d'adopter une nouveauté sans problème concret à résoudre.",{"title":71,"searchDepth":72,"depth":72,"links":73},"",2,[],"md",{},"Les nouvelles API de Node.js ne répondent pas automatiquement à un besoin. Cette présentation passe en revue `node --watch`, `node:test`, `parseArgs`, `--env-file` et `node:sqlite`, avant d'élargir la réflexion aux frameworks, aux runtimes, aux IDE et aux gestionnaires de paquets.\n\nLe principe YAGNI sert de fil conducteur. Il s'agit de rester curieux tout en évitant d'adopter une nouveauté sans problème concret à résoudre.\n","wofKDgxykuFAekF_PjLai1kE54DE2oeo_5xVOYJN-pE",null,[80,112,142],{"id":81,"title":82,"artifacts":83,"date":84,"description":85,"event":86,"extension":19,"links":93,"locale":26,"meta":100,"slug":101,"sourceLanguage":26,"stem":102,"talkId":103,"topics":104,"__hash__":111},"talks\u002Ffr\u002Ftalks\u002F2025-06-26\u002Fbreizhcamp.json","En JavaScript, il y a un paquet pour tout... et souvent pour rien.",{"summary":8},"2025-06-26","Analysez le coût des dépendances JavaScript superflues et apprenez à réduire l'empreinte des packages, du bundle et de la chaîne de production.",{"name":87,"url":88,"location":89},"BreizhCamp","https:\u002F\u002Fbreizhcamp.org\u002F",{"city":90,"country":16,"latitude":91,"longitude":92},"Rennes",48.111154286133214,-1.6369320132492642,{"slides":94,"thumbnail":95,"thumbnailDark":96,"source":97,"pdf":98,"article":99},"https:\u002F\u002Ftalks.soubiran.dev\u002F2025-06-26\u002Fbreizhcamp","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-06-26\u002Fbreizhcamp\u002Fthumbnail.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-06-26\u002Fbreizhcamp\u002Fthumbnail-dark.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-06-26\u002Fbreizhcamp\u002Fsrc","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-06-26\u002Fbreizhcamp\u002Fpdf","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-06-26\u002Fbreizhcamp\u002Farticle",{},"2025-06-26\u002Fbreizhcamp","fr\u002Ftalks\u002F2025-06-26\u002Fbreizhcamp","a7fb1bde-10f3-48ba-b37e-7ad5f4ba9668",[105,106,107,108,109,110],"bundle-size","dependencies","e18e","javascript","package-management","performance","2qwiCX3AZI9__BR2eSNeA6f5X6o5IcYR1jS2vKjX3Rc",{"id":113,"title":114,"artifacts":115,"date":116,"description":117,"event":118,"extension":19,"links":124,"locale":26,"meta":130,"slug":131,"sourceLanguage":26,"stem":132,"talkId":133,"topics":134,"__hash__":141},"talks\u002Ffr\u002Ftalks\u002F2026-06-27-2\u002Fasynconf.json","Au cœur d'une pipeline : démystifions Vite et ses plugins",{"summary":8},"2026-06-27","Explorez la pipeline de Vite, où chaque requête traverse résolution, chargement et transformation, pour comprendre et créer des plugins, des modules virtuels et des intégrations sur mesure.",{"name":119,"url":120,"location":121},"Asynconf","https:\u002F\u002Fapp.itsasync.fr\u002Fconference",{"city":15,"country":16,"latitude":122,"longitude":123},48.89269193190247,2.2396244361872975,{"slides":125,"thumbnail":126,"thumbnailDark":127,"source":128,"pdf":129},"https:\u002F\u002Ftalks.soubiran.dev\u002F2026-06-27-2\u002Fasynconf","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-06-27-2\u002Fasynconf\u002Fthumbnail.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-06-27-2\u002Fasynconf\u002Fthumbnail-dark.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-06-27-2\u002Fasynconf\u002Fsrc","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-06-27-2\u002Fasynconf\u002Fpdf",{},"2026-06-27-2\u002Fasynconf","fr\u002Ftalks\u002F2026-06-27-2\u002Fasynconf","2f5b40c9-1ec8-4fe0-9a07-66031d9fcc96",[135,136,137,138,139,140],"bundlers","esm","module-transforms","plugin-development","virtual-modules","vite","RlQ1BWIDEzLlCTE0CW9MOuSmpdSj-pkt1bBqMTh2Hq4",{"id":143,"title":114,"artifacts":144,"date":146,"description":117,"event":147,"extension":19,"links":154,"locale":26,"meta":164,"slug":165,"sourceLanguage":26,"stem":166,"talkId":167,"topics":168,"__hash__":169},"talks\u002Ffr\u002Ftalks\u002F2026-06-12\u002Fdevlille.json",{"summary":8,"transcript":145},"transcript.fr.md","2026-06-12",{"name":148,"url":149,"location":150},"DevLille","https:\u002F\u002Fdevlille.fr\u002F",{"city":151,"country":16,"latitude":152,"longitude":153},"Lille",50.632820223594464,3.0780877271604523,{"slides":155,"thumbnail":156,"thumbnailDark":157,"source":158,"pdf":159,"recording":160,"youtubeEmbed":161,"audio":162,"transcript":163},"https:\u002F\u002Ftalks.soubiran.dev\u002F2026-06-12\u002Fdevlille","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-06-12\u002Fdevlille\u002Fthumbnail.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-06-12\u002Fdevlille\u002Fthumbnail-dark.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-06-12\u002Fdevlille\u002Fsrc","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-06-12\u002Fdevlille\u002Fpdf","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-06-12\u002Fdevlille\u002Frecording","https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FAwhemfKsd8k","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-06-12\u002Fdevlille\u002Faudio","https:\u002F\u002Fsoubiran.dev\u002Ftalks\u002F2026-06-12\u002Fdevlille",{},"2026-06-12\u002Fdevlille","fr\u002Ftalks\u002F2026-06-12\u002Fdevlille","0c4796cc-e442-4a4d-9b3b-e634831b348c",[135,136,137,138,139,140],"4K66Wgb2l4CLcEN-5Rt1yKeUacd83hsLp1KxxBTDvDk",1790086909919]