[{"data":1,"prerenderedAt":381},["ShallowReactive",2],{"i-ic:outline-arrow-upward":3,"Footer_afPiwGMwNiEyV4syWzw87ovzxHAgs4iwKtCn4zqBf8E":8,"episode-\u002Fpodcasts\u002Fnews-mars-rc2":16,"github-sponsor":283,"i-material-symbols:home":358,"i-ic:baseline-play-circle-filled-white":360,"i-material-symbols:ios-share":362,"i-cbi:deezer-logo":364,"i-vscode-icons:file-type-rss":366,"i-ri:heart-3-fill":369,"Brand_dlIOZD2O03VXPoFYukMOJnSnZRMTmJ0YwMKY5fNK8":371,"Duration_Umw1DGtMEriB4KrrrIIBcfSf85XZFNgrD6hXo5DvVmw":376},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":7},0,24,false,"\u003Cpath fill=\"currentColor\" d=\"m4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8z\"\u002F>",["Island",9],{"key":10,"result":11},"Footer_afPiwGMwNiEyV4syWzw87ovzxHAgs4iwKtCn4zqBf8E",{"head":12},{"style":13},[14],{"innerHTML":15},":where(.i-mdi\\:github){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url(\"data:image\u002Fsvg+xml,%3Csvg xmlns='http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5c.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34c-.46-1.16-1.11-1.47-1.11-1.47c-.91-.62.07-.6.07-.6c1 .07 1.53 1.03 1.53 1.03c.87 1.52 2.34 1.07 2.91.83c.09-.65.35-1.09.63-1.34c-2.22-.25-4.55-1.11-4.55-4.92c0-1.11.38-2 1.03-2.71c-.1-.25-.45-1.29.1-2.64c0 0 .84-.27 2.75 1.02c.79-.22 1.65-.33 2.5-.33s1.71.11 2.5.33c1.91-1.29 2.75-1.02 2.75-1.02c.55 1.35.2 2.39.1 2.64c.65.71 1.03 1.6 1.03 2.71c0 3.82-2.34 4.66-4.57 4.91c.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2'\u002F%3E%3C\u002Fsvg%3E\")}",{"id":17,"title":18,"author":19,"body":20,"categories":256,"description":258,"dsSlug":259,"duration":260,"episodeArtwork":261,"episodeNumber":262,"episodeType":263,"explicit":6,"extension":264,"guid":260,"links":265,"meta":266,"navigation":267,"path":268,"publicationDate":269,"season":238,"seo":270,"status":271,"stem":272,"subtitle":273,"tags":274,"videoLink":281,"__hash__":282},"podcasts\u002Fpodcasts\u002F108.news-mars-rc2\u002Findex.md","Les news web dev pour mars 2025 RC2","Double Slash",{"type":21,"value":22,"toc":236},"minimark",[23,36,41,48,52,59,63,74,78,85,89,96,102,106,113,117,124,128,134,138,144,148,154,158,170,174,181,185,192,196,202,206,213,217,220,227,233],[24,25,26,30],"p",{},[27,28,29],"strong",{},"Important ! Patch Next.js CVE-2025-29927",[31,32,33],"a",{"href":33,"rel":34},"https:\u002F\u002Fnextjs.org\u002Fblog\u002Fcve-2025-29927",[35],"nofollow",[37,38,40],"h2",{"id":39},"ts-réécrit-en-go-pour-la-fin-de-lannée","TS réécrit en Go pour la fin de l’année",[24,42,43,44],{},"10 fois plus rapide ! Et pourquoi pas en Rust ? À savoir que TS est actuellement écrit en TS.\n",[31,45,46],{"href":46,"rel":47},"https:\u002F\u002Fdevblogs.microsoft.com\u002Ftypescript\u002Ftypescript-native-port\u002F",[35],[37,49,51],{"id":50},"tailwind-ui-devient-tailwind","Tailwind UI devient Tailwind +",[24,53,54,55],{},"Pas de changement majeur.\n",[31,56,57],{"href":57,"rel":58},"https:\u002F\u002Ftailwindcss.com\u002Fblog\u002Ftailwind-plus",[35],[37,60,62],{"id":61},"httpie-desktop","HTTPIE Desktop",[24,64,65,69,70],{},[31,66,67],{"href":67,"rel":68},"https:\u002F\u002Fhttpie.io\u002Fdesktop",[35],"\nOn en avait déjà parlé : AI ⇒ ",[31,71,72],{"href":72,"rel":73},"https:\u002F\u002Fhttpie.io\u002Fai",[35],[37,75,77],{"id":76},"electric-sql-v1","Electric SQL V1",[24,79,80,81],{},"Le sync contre le fetch.\n",[31,82,83],{"href":83,"rel":84},"https:\u002F\u002Felectric-sql.com\u002Fblog\u002F2025\u002F03\u002F17\u002Felectricsql-1.0-released",[35],[37,86,88],{"id":87},"lynx-js","Lynx JS",[24,90,91,92],{},"Équivalent à React Native mais l’écosystème en moins.\n2 Runtimes : Main Thread : affichage pixel, Background Thread : other task\n",[31,93,94],{"href":94,"rel":95},"https:\u002F\u002Flynxjs.org\u002Findex.html",[35],[24,97,98],{},[31,99,100],{"href":100,"rel":101},"https:\u002F\u002Fnihirzala.medium.com\u002Flynx-js-a-game-changer-for-cross-platform-development-8b232af0725d",[35],[37,103,105],{"id":104},"nuxt-316","Nuxt 3.16",[24,107,108,109],{},"Support de la hydratation différée !\n",[31,110,111],{"href":111,"rel":112},"https:\u002F\u002Fnuxt.com\u002Fblog\u002Fv3-16",[35],[37,114,116],{"id":115},"pglite","PGLite",[24,118,119,120],{},"Postgres dans le navigateur !\n",[31,121,122],{"href":122,"rel":123},"https:\u002F\u002Fgithub.com\u002Felectric-sql\u002Fpglite",[35],[37,125,127],{"id":126},"grid-tw","Grid TW",[24,129,130],{},[31,131,132],{"href":132,"rel":133},"https:\u002F\u002Fwww.tailwindgen.com\u002F",[35],[37,135,137],{"id":136},"nextjs-vs-tanstack","NextJS VS TanStack",[24,139,140],{},[31,141,142],{"href":142,"rel":143},"https:\u002F\u002Fwww.kylegill.com\u002Fessays\u002Fnext-vs-tanstack\u002F",[35],[37,145,147],{"id":146},"_10-erreurs-php-qui-peuvent-casser-votre-application-php","10 erreurs PHP qui peuvent casser votre application PHP",[24,149,150],{},[31,151,152],{"href":152,"rel":153},"https:\u002F\u002Fandro0.medium.com\u002F10-critical-php-development-mistakes-that-could-break-your-application-in-2025-6e6aa146c8a2",[35],[37,155,157],{"id":156},"la-hype-mcp-server","La hype MCP server",[24,159,160,161,165,166],{},"Cursor et Windsurf deviennent des clients MCP\nExemple avec Neon DB : ",[31,162,163],{"href":163,"rel":164},"https:\u002F\u002Fneon.tech\u002Fblog\u002Fcascade-and-neon-mcp",[35],"\nAwesome MCP : ",[31,167,168],{"href":168,"rel":169},"https:\u002F\u002Fgithub.com\u002Fpunkpeye\u002Fawesome-mcp-servers",[35],[37,171,173],{"id":172},"cline-bot-ai","Cline Bot AI",[24,175,176,177],{},"Code Assistant AI et client MCP\n",[31,178,179],{"href":179,"rel":180},"https:\u002F\u002Fcline.bot\u002F",[35],[37,182,184],{"id":183},"triplex-2d-et-3d","Triplex 2D et 3D",[24,186,187,188],{},"Espace de travail visuel pour construire une application React\n",[31,189,190],{"href":190,"rel":191},"https:\u002F\u002Ftriplex.dev\u002F",[35],[37,193,195],{"id":194},"meilisearch-launch-week","Meilisearch Launch Week",[24,197,198],{},[31,199,200],{"href":200,"rel":201},"https:\u002F\u002Fwww.meilisearch.com\u002Flaunch-week",[35],[37,203,205],{"id":204},"vercel-ai-sdk-42","Vercel AI SDK 4.2",[24,207,208,209],{},"Modèles de raisonnement, client MCP\n",[31,210,211],{"href":211,"rel":212},"https:\u002F\u002Fvercel.com\u002Fblog\u002Fai-sdk-4-2",[35],[37,214,216],{"id":215},"open-ai-agents","Open AI Agents",[24,218,219],{},"Nouvelle API des réponses. Nous pouvons utiliser des outils comme la recherche web.",[24,221,222,223],{},"Exemple : ",[31,224,225],{"href":225,"rel":226},"https:\u002F\u002Fgist.githubusercontent.com\u002Fipatate\u002F74bc54713102e98e4967af7944d5d895\u002Fraw\u002Fd200d86ecf9de4ffb7ee51a614df7123ceaa1903\u002Fgistfile1.txt",[35],[24,228,229],{},[31,230,231],{"href":231,"rel":232},"https:\u002F\u002Fopenai.com\u002Findex\u002Fnew-tools-for-building-agents\u002F",[35],[24,234,235],{},"Bonne écoute !",{"title":237,"searchDepth":238,"depth":238,"links":239},"",2,[240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255],{"id":39,"depth":238,"text":40},{"id":50,"depth":238,"text":51},{"id":61,"depth":238,"text":62},{"id":76,"depth":238,"text":77},{"id":87,"depth":238,"text":88},{"id":104,"depth":238,"text":105},{"id":115,"depth":238,"text":116},{"id":126,"depth":238,"text":127},{"id":136,"depth":238,"text":137},{"id":146,"depth":238,"text":147},{"id":156,"depth":238,"text":157},{"id":172,"depth":238,"text":173},{"id":183,"depth":238,"text":184},{"id":194,"depth":238,"text":195},{"id":204,"depth":238,"text":205},{"id":215,"depth":238,"text":216},[257],"Technology","Dans ce deuxième épisode de news pour mars 2025, nous évoquons la réécriture de TypeScript en Go, Electric SQL dans sa version 1, l'arrivée de Lynx JS pour le développement cross-platform, Nuxt v3.16 avec l'hydratation différée, et PGLite qui vous permet d'utiliser Postgres dans le navigateur. Nous aborderons aussi un outil pour créer des Grids avec Tailwind, ainsi qu'un article comparatif entre Next.js et TanStack. Enfin, dans la rubrique IA, nous vous présentons la montée en puissance du MCP, Cline Bot AI, Triplex (2D\u002F3D), la Meilisearch Launch Week, le Vercel AI SDK v4.2, et les toutes nouvelles réponses des APIs d'OpenAI.","DS_108_news-mars-rc2",null,"https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fv1742969025\u002Fepisode\u002FART_108_r9k2ed.png",108,"full","md",[],{},true,"\u002Fpodcasts\u002Fnews-mars-rc2","2025-03-26",{"title":18,"description":258},"published","podcasts\u002F108.news-mars-rc2\u002Findex","Épisode news web développement pour mars 2025 RC2",[275,276,277,278,279,280],"tailwindCSS","Typescript","LynxJS","NuxtJS","Postgres","MCP","W2sss9uykoQ","dEHNT5yKO4Y3GoDxOwvUd9uIDJm5_J5w2VPRWsAAbHw",{"data":284},{"organization":285},{"sponsorsListing":286},{"name":287,"fullDescriptionHTML":288,"url":289,"shortDescription":290,"activeGoal":291,"isPublic":267,"sponsorable":295},"sponsors-double-slash-podcast","\u003Cp>Le podcast des dev pour dev par des dev !\u003C\u002Fp>\n\u003Cp>Des podcasts et des videos sur les technologie WEB modernes.\u003C\u002Fp>\n\u003Cp>A deux ou avec un invité, on discute des tendances, des nouvelles technologies, des meilleures pratiques actuelles.\u003C\u002Fp>\n\u003Cp>🎥 \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fchannel\u002FUCp5DGBAX2XNJXeOVAo7bICQ\">Youtube\u003C\u002Fa>\u003Cbr>\n🎙️ \u003Ca href=\"https:\u002F\u002Fspoti.fi\u002F317wtvD\">Spotify\u003C\u002Fa> ▪️ \u003Ca href=\"https:\u002F\u002Fapple.co\u002F3fTguFo\">Apple Podcast\u003C\u002Fa> ▪️ \u003Ca href=\"https:\u002F\u002Fbit.ly\u002F3i0hDgy\">Deezer\u003C\u002Fa> ▪️ \u003Ca href=\"https:\u002F\u002Fbit.ly\u002F31aKKYd\">Google Podcast\u003C\u002Fa>\u003Cbr>\n🌐 \u003Ca href=\"https:\u002F\u002Fdouble-slash.dev\u002F\">Double Slash DEV\u003C\u002Fa>\u003C\u002Fp>","https:\u002F\u002Fgithub.com\u002Fsponsors\u002Fdouble-slash-podcast","Le podcast des dev pour les dev par des dev !",{"description":292,"percentComplete":293,"targetValue":293,"title":294},"L'ensemble des charges seront couvertes. Service de stockage et abonnement aux services utilisés.",70,"$70 per month",{"sponsors":296},{"edges":297},[298,304,310,316,322,328,334,340,346,352],{"node":299},{"id":300,"name":301,"url":302,"avatarUrl":303},"MDQ6VXNlcjEwMDMwNw==","Clément Delmas","https:\u002F\u002Fgithub.com\u002Fclem","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F100307?u=878ed4b7cdf920879b57046f19e434fea2c7d296&v=4",{"node":305},{"id":306,"name":307,"url":308,"avatarUrl":309},"MDQ6VXNlcjI3NTYwOQ==","Thibaud Lepretre","https:\u002F\u002Fgithub.com\u002Fkakawait","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F275609?v=4",{"node":311},{"id":312,"name":313,"url":314,"avatarUrl":315},"MDQ6VXNlcjE5MTQxNjA=","David Pollet","https:\u002F\u002Fgithub.com\u002Fdavidpollet","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1914160?u=4b3da16383b9fa810fd0980f756000709403ab45&v=4",{"node":317},{"id":318,"name":319,"url":320,"avatarUrl":321},"MDQ6VXNlcjYzMzMzOTY=","Eric","https:\u002F\u002Fgithub.com\u002Fericledonge","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6333396?u=e9e541a6b9125d8e8b558fdd914c847eb36db695&v=4",{"node":323},{"id":324,"name":325,"url":326,"avatarUrl":327},"MDQ6VXNlcjg4OTk3Njg=","François Gardien","https:\u002F\u002Fgithub.com\u002FYoutch","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F8899768?u=85ae8c4299c380bcec02e99e9364624f3ce333c7&v=4",{"node":329},{"id":330,"name":331,"url":332,"avatarUrl":333},"MDQ6VXNlcjEwMTc2NjI2","Antharuu","https:\u002F\u002Fgithub.com\u002Fantharuu","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F10176626?u=3f6ef490b330d5a9bbaa3137560b5d1d4cf13a4a&v=4",{"node":335},{"id":336,"name":337,"url":338,"avatarUrl":339},"MDQ6VXNlcjEwMTg2OTkz","Adrien Zaganelli","https:\u002F\u002Fgithub.com\u002FadrienZ","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F10186993?u=08189ef8cf708a61445b6a57cf7a2aa361d484af&v=4",{"node":341},{"id":342,"name":343,"url":344,"avatarUrl":345},"MDQ6VXNlcjI2MTQyMzgz","Thomas Lemoine","https:\u002F\u002Fgithub.com\u002Fthomaslemoine","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F26142383?u=4c68175459b0ae1f8c68c48c40f2ae148747675d&v=4",{"node":347},{"id":348,"name":349,"url":350,"avatarUrl":351},"MDQ6VXNlcjY1NzM3MTMx","Valentin Grenier","https:\u002F\u002Fgithub.com\u002Fvalentin-grenier","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F65737131?u=0ba0cc828412f6655a948c6a82f69b9c909f8fd9&v=4",{"node":353},{"id":354,"name":355,"url":356,"avatarUrl":357},"U_kgDOBipZwA","Hebrard Frederic","https:\u002F\u002Fgithub.com\u002Ffrederichebrard","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F103438784?v=4",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":359},"\u003Cpath fill=\"currentColor\" d=\"M4 21V9l8-6l8 6v12h-6v-7h-4v7z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":361},"\u003Cpath fill=\"currentColor\" d=\"M12 2C6.475 2 2 6.475 2 12s4.475 10 10 10s10-4.475 10-10S17.525 2 12 2m-2 14.5v-9l6 4.5z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":363},"\u003Cpath fill=\"currentColor\" d=\"M6 22q-.825 0-1.412-.587T4 20V10q0-.825.588-1.412T6 8h3v2H6v10h12V10h-3V8h3q.825 0 1.413.588T20 10v10q0 .825-.587 1.413T18 22zm5-6V4.825l-1.6 1.6L8 5l4-4l4 4l-1.4 1.425l-1.6-1.6V16z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":365},"\u003Cpath fill=\"currentColor\" d=\"M18.774 5.051c.185-1.072.457-1.747.757-1.748c.561 0 1.015 2.341 1.015 5.228s-.455 5.229-1.016 5.229c-.23 0-.443-.4-.614-1.064c-.27 2.439-.831 4.115-1.48 4.115c-.5 0-.953-1.007-1.256-2.594c-.207 3.018-.727 5.161-1.334 5.161c-.381 0-.73-.848-.987-2.231C13.55 20 12.834 22 12 22s-1.551-2-1.86-4.853c-.255 1.383-.6 2.231-.986 2.231c-.609 0-1.128-2.142-1.335-5.161c-.3 1.587-.752 2.594-1.256 2.594c-.649 0-1.21-1.676-1.481-4.115c-.169.668-.382 1.064-.613 1.064c-.562 0-1.017-2.34-1.017-5.229S3.908 3.3 4.471 3.3c.3 0 .57.676.758 1.748C5.527 3.2 6.014 2 6.564 2c.653 0 1.219 1.7 1.487 4.168c.262-1.8.658-2.941 1.1-2.941c.624 0 1.154 2.252 1.351 5.393C10.874 7.01 11.41 6 12 6s1.128 1.011 1.5 2.62c.2-3.141.727-5.393 1.351-5.393c.444 0 .84 1.145 1.1 2.941C16.219 3.7 16.785 2 17.439 2c.547 0 1.035 1.2 1.335 3.051m-16.2 5.3C2.258 10.355 2 9.31 2 8.017s.258-2.337.576-2.337s.578 1.044.578 2.337s-.254 2.338-.578 2.338Zm18.848 0c-.32 0-.577-1.045-.577-2.338s.257-2.337.577-2.337S22 6.724 22 8.017s-.258 2.338-.576 2.338Z\"\u002F>",{"left":4,"top":4,"width":367,"height":367,"rotate":4,"vFlip":6,"hFlip":6,"body":368},32,"\u003Cdefs>\u003ClinearGradient id=\"SVGvSi4fdXe\" x1=\"30.06\" x2=\"225.94\" y1=\"30.06\" y2=\"225.94\" gradientTransform=\"matrix(.11 0 0 .11 2 2)\" gradientUnits=\"userSpaceOnUse\">\u003Cstop offset=\"0\" stop-color=\"#e3702d\"\u002F>\u003Cstop offset=\".11\" stop-color=\"#ea7d31\"\u002F>\u003Cstop offset=\".35\" stop-color=\"#f69537\"\u002F>\u003Cstop offset=\".5\" stop-color=\"#fb9e3a\"\u002F>\u003Cstop offset=\".7\" stop-color=\"#ea7c31\"\u002F>\u003Cstop offset=\".89\" stop-color=\"#de642b\"\u002F>\u003Cstop offset=\"1\" stop-color=\"#d95b29\"\u002F>\u003C\u002FlinearGradient>\u003C\u002Fdefs>\u003Crect width=\"28\" height=\"28\" x=\"2\" y=\"2\" fill=\"#cc5d15\" rx=\"6.01\" ry=\"6.01\"\u002F>\u003Crect width=\"26.91\" height=\"26.91\" x=\"2.54\" y=\"2.54\" fill=\"#f49c52\" rx=\"5.47\" ry=\"5.47\"\u002F>\u003Crect width=\"25.82\" height=\"25.82\" x=\"3.1\" y=\"3.1\" fill=\"url(#SVGvSi4fdXe)\" rx=\"5.14\" ry=\"5.14\"\u002F>\u003Cpath fill=\"#fff\" d=\"M6.82 6.16v3.83a15.31 15.31 0 0 1 15.3 15.3h3.83A19.14 19.14 0 0 0 6.81 6.17zm0 6.45v3.72a8.97 8.97 0 0 1 8.96 8.97h3.72A12.69 12.69 0 0 0 6.81 12.6zm2.62 7.44a2.63 2.63 0 0 0-2.63 2.62a2.63 2.63 0 0 0 2.63 2.63a2.63 2.63 0 0 0 2.63-2.63a2.63 2.63 0 0 0-2.63-2.63z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":370},"\u003Cpath fill=\"currentColor\" d=\"M16.5 3C19.538 3 22 5.5 22 9c0 7-7.5 11-10 12.5C9.5 20 2 16 2 9c0-3.5 2.5-6 5.5-6C9.36 3 11 4 12 5c1-1 2.64-2 4.5-2\"\u002F>",["Island",372],{"key":373,"result":374},"Brand_dlIOZD2O03VXPoFYukMOJnSnZRMTmJ0YwMKY5fNK8",{"head":375},{},["Island",377],{"key":378,"result":379},"Duration_Umw1DGtMEriB4KrrrIIBcfSf85XZFNgrD6hXo5DvVmw",{"head":380},{},1785405178448]