[{"data":1,"prerenderedAt":373},["ShallowReactive",2],{"i-ic:outline-arrow-upward":3,"Footer_afPiwGMwNiEyV4syWzw87ovzxHAgs4iwKtCn4zqBf8E":8,"episode-\u002Fpodcasts\u002Fnews_mars_23":16,"github-sponsor":275,"i-material-symbols:home":350,"i-ic:baseline-play-circle-filled-white":352,"i-material-symbols:ios-share":354,"i-cbi:deezer-logo":356,"i-vscode-icons:file-type-rss":358,"i-ri:heart-3-fill":361,"Brand_dlIOZD2O03VXPoFYukMOJnSnZRMTmJ0YwMKY5fNK8":363,"Duration_PRYhFSjufPCI0ZdHmd1E3NXOSiQQt16OGdRJlD2HfE":368},{"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":249,"description":251,"dsSlug":252,"duration":253,"episodeArtwork":254,"episodeNumber":255,"episodeType":256,"explicit":6,"extension":257,"guid":258,"links":259,"meta":260,"navigation":261,"path":262,"publicationDate":263,"season":264,"seo":265,"status":266,"stem":267,"subtitle":268,"tags":269,"videoLink":273,"__hash__":274},"podcasts\u002Fpodcasts\u002F061.news_mars_23\u002Findex.md","Les News pour mars 2023","Double Slash",{"type":21,"value":22,"toc":232},"minimark",[23,28,39,67,71,77,80,88,92,98,101,105,112,123,127,133,136,140,146,149,153,160,164,171,175,182,186,193,197,204,208,215,218,222,229],[24,25,27],"h2",{"id":26},"astro-retour-dexpérience","Astro, retour d'expérience",[29,30,31,32,38],"p",{},"Après avoir refait le site ",[33,34,35],"a",{"href":35,"rel":36},"https:\u002F\u002Fwww.goodmotion.fr",[37],"nofollow"," avec Astro (2.0), Patrick fait un retour son usage du framework.",[40,41,42,46,49,52,55,58,61,64],"ul",{},[43,44,45],"li",{},"Première chose, Astro génère une MPA (multiple page application) et non pas SPA (single page application)",[43,47,48],{},"Astro génère de base des pages avec .md, .mdx ou .astro",[43,50,51],{},"La syntaxe des templates .astro est top !! ❤️ JSX like, props, slot..",[43,53,54],{},"La compilation des js et css est optimisée. Dans les fichiers .astro, on a la partie template, les scripts et les styles. Très semblable à vue, svelte par exemple",[43,56,57],{},"Bonne gestion de TypeScript. Affichage des erreurs très clair, prompt (Astro Bot) quand on ajoute des plugins astro (tailwind par exemple) qui aide à configurer.",[43,59,60],{},"La compilation est très rapide.",[43,62,63],{},"Nouveau système d’optimisation des images en natif (en expérimentation)",[43,65,66],{},"Et zéro JS par défaut  !!",[24,68,70],{"id":69},"strapi","Strapi",[29,72,73],{},[33,74,75],{"href":75,"rel":76},"https:\u002F\u002Fstrapi.io\u002Fpricing-cloud",[37],[29,78,79],{},"Mise à jour des prix pour la version self-hosted\nAprès un échange avec Jim Laurie (avec qui nous avons fait l’épisode 21 en mars 2021), voici son retour :",[40,81,82,85],{},[43,83,84],{},"Cloud : il ne faut pas la comparer à un PaaS. La version Cloud se place en face d’un contentfull. Sauf que tu gardes le contrôle de ton code source et le contrôle de la customisation. Puis un hosting solide avec CDN, mail et CI\u002FCD en natif. + Accès au support car automatiquement Entreprise.",[43,86,87],{},"Strapi Self-hosted : changement de prix, release RBAC (Role based Access Control) dans la 4.8\nLa Community édition devient super intéressante.",[24,89,91],{"id":90},"rust-bundler","Rust Bundler",[29,93,94],{},[33,95,96],{"href":96,"rel":97},"https:\u002F\u002Fwww.rspack.dev\u002F",[37],[29,99,100],{},"Bundler écrit en Rust compatible Webpack",[24,102,104],{"id":103},"chrome-111","Chrome 111",[29,106,107,108],{},"Les nouveautés de Chrome 111\n",[33,109,110],{"href":110,"rel":111},"https:\u002F\u002Fdeveloper.chrome.com\u002Fblog\u002Fnew-in-chrome-111\u002F",[37],[40,113,114,117,120],{},[43,115,116],{},"View Transitions API",[43,118,119],{},"CSS Color Level 4 (CSS now supports high definition displays, specifying colors from HD gamuts while also offering color spaces with specializations)",[43,121,122],{},"New color devtools.",[24,124,126],{"id":125},"decap-cms","Decap CMS",[29,128,129],{},[33,130,131],{"href":131,"rel":132},"https:\u002F\u002Fwww.netlify.com\u002Fblog\u002Fnetlify-cms-to-become-decap-cms\u002F",[37],[29,134,135],{},"Netlify CMS devient Decap CMS et passe chez une agence partenaire de Netlify",[24,137,139],{"id":138},"typescript-50","TypeScript 5.0",[29,141,142],{},[33,143,144],{"href":144,"rel":145},"https:\u002F\u002Fdevblogs.microsoft.com\u002Ftypescript\u002Fannouncing-typescript-5-0\u002F",[37],[29,147,148],{},"Restructuration autour des modules ECMAScript. Conséquence, npm install 46% plus petit en moyenne, temps de build 10 à 25% plus rapide.\nLes décorateurs deviennent la norme ECMAScript.",[24,150,152],{"id":151},"arrow-js","Arrow JS",[29,154,155,156],{},"Librairie de 2kb pour ajouter de la réactivité et créer des components avec 2 fonctions.\n",[33,157,158],{"href":158,"rel":159},"https:\u002F\u002Fwww.arrow-js.com\u002F",[37],[24,161,163],{"id":162},"nouvel-doc-react-js","Nouvel Doc React JS",[29,165,166,167],{},"La nouvelle doc de React sort de la beta !\n",[33,168,169],{"href":169,"rel":170},"https:\u002F\u002Freact.dev\u002F",[37],[24,172,174],{"id":173},"cheatsheet-pinia","Cheatsheet Pinia",[29,176,177,178],{},"Un petit cheatsheet Pinia, le store officiel pour Vue.js 3.\n",[33,179,180],{"href":180,"rel":181},"https:\u002F\u002Fpbs.twimg.com\u002Fmedia\u002FFrgsHvqWcAEN9Ka?format=jpg&name=4096x4096",[37],[24,183,185],{"id":184},"histoire-de-la-réactivité","Histoire de la réactivité",[29,187,188,189],{},"MIŠKO HEVERY écrit un article sur l'histoire de la réactivité.\nÇa passe par Flex, backbone.js, Angular 1, Knockout, React...\n",[33,190,191],{"href":191,"rel":192},"https:\u002F\u002Fwww.builder.io\u002Fblog\u002Fhistory-of-reactivity",[37],[24,194,196],{"id":195},"dont-be-fooled-by-serverless","Don't be fooled by serverless",[29,198,199,200],{},"DAVID HEINEMEIER HANSSON explique que comme toujours, il n'y a pas une solution pour tous les projets. Et donc le serverless, n'est pas la réponse à tout !\n",[33,201,202],{"href":202,"rel":203},"https:\u002F\u002Fworld.hey.com\u002Fdhh\u002Fdon-t-be-fooled-by-serverless-776cd730",[37],[24,205,207],{"id":206},"wordpress-radicle","WordPress Radicle",[29,209,210,211],{},"Starter projet WordPress qui embarque une structure avancée de projet et aussi tous les outils : Acorn, Bedrock, Bud, Sage et Trellis\n",[33,212,213],{"href":213,"rel":214},"https:\u002F\u002Froots.io\u002Fradicle\u002F",[37],[29,216,217],{},"Sort à la fin du mois. Dispo pour 80$",[24,219,221],{"id":220},"web-api-check","Web API Check",[29,223,224,225],{},"Verifier les API directement dans son navigateur :\n",[33,226,227],{"href":227,"rel":228},"https:\u002F\u002Fwebapicheck.com\u002F",[37],[29,230,231],{},"Bonne écoute !",{"title":233,"searchDepth":234,"depth":234,"links":235},"",2,[236,237,238,239,240,241,242,243,244,245,246,247,248],{"id":26,"depth":234,"text":27},{"id":69,"depth":234,"text":70},{"id":90,"depth":234,"text":91},{"id":103,"depth":234,"text":104},{"id":125,"depth":234,"text":126},{"id":138,"depth":234,"text":139},{"id":151,"depth":234,"text":152},{"id":162,"depth":234,"text":163},{"id":173,"depth":234,"text":174},{"id":184,"depth":234,"text":185},{"id":195,"depth":234,"text":196},{"id":206,"depth":234,"text":207},{"id":220,"depth":234,"text":221},[250],"Technology","Dans cet épisode spécial news pour mars 2023, nous évoquons un retour d'expérience avec Astro, Strapi qui sort une version cloud et ajuste ses prix, TypeScript 5.0, WordPress Radicle, la nouvelle doc React, etc..","DS_061_news_03_23",2509,"https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fc_scale,q_80:444,w_300\u002Fv1679433180\u002Fepisode\u002FART_61_news03_h42zrh.png",61,"full","md",null,[],{},true,"\u002Fpodcasts\u002Fnews_mars_23","2023-03-22",1,{"title":18,"description":251},"published","podcasts\u002F061.news_mars_23\u002Findex","Épisode spécial news pour mars 2023, nous évoquons un retour d'expérience avec Astro, Strapi qui sort une version cloud et ajuste ses prix, TypeScript 5.0, WordPress Radicle...",[270,271,272],"cms","static","rust","PifnPdrBiXU","bAgo8sjg16vuI76V79dRWBk1aLnSTWL3L9npB0FcVZM",{"data":276},{"organization":277},{"sponsorsListing":278},{"name":279,"fullDescriptionHTML":280,"url":281,"shortDescription":282,"activeGoal":283,"isPublic":261,"sponsorable":287},"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":284,"percentComplete":285,"targetValue":285,"title":286},"L'ensemble des charges seront couvertes. Service de stockage et abonnement aux services utilisés.",70,"$70 per month",{"sponsors":288},{"edges":289},[290,296,302,308,314,320,326,332,338,344],{"node":291},{"id":292,"name":293,"url":294,"avatarUrl":295},"MDQ6VXNlcjEwMDMwNw==","Clément Delmas","https:\u002F\u002Fgithub.com\u002Fclem","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F100307?u=878ed4b7cdf920879b57046f19e434fea2c7d296&v=4",{"node":297},{"id":298,"name":299,"url":300,"avatarUrl":301},"MDQ6VXNlcjI3NTYwOQ==","Thibaud Lepretre","https:\u002F\u002Fgithub.com\u002Fkakawait","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F275609?v=4",{"node":303},{"id":304,"name":305,"url":306,"avatarUrl":307},"MDQ6VXNlcjE5MTQxNjA=","David Pollet","https:\u002F\u002Fgithub.com\u002Fdavidpollet","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1914160?u=4b3da16383b9fa810fd0980f756000709403ab45&v=4",{"node":309},{"id":310,"name":311,"url":312,"avatarUrl":313},"MDQ6VXNlcjYzMzMzOTY=","Eric","https:\u002F\u002Fgithub.com\u002Fericledonge","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6333396?u=e9e541a6b9125d8e8b558fdd914c847eb36db695&v=4",{"node":315},{"id":316,"name":317,"url":318,"avatarUrl":319},"MDQ6VXNlcjg4OTk3Njg=","François Gardien","https:\u002F\u002Fgithub.com\u002FYoutch","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F8899768?u=85ae8c4299c380bcec02e99e9364624f3ce333c7&v=4",{"node":321},{"id":322,"name":323,"url":324,"avatarUrl":325},"MDQ6VXNlcjEwMTc2NjI2","Antharuu","https:\u002F\u002Fgithub.com\u002Fantharuu","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F10176626?u=3f6ef490b330d5a9bbaa3137560b5d1d4cf13a4a&v=4",{"node":327},{"id":328,"name":329,"url":330,"avatarUrl":331},"MDQ6VXNlcjEwMTg2OTkz","Adrien Zaganelli","https:\u002F\u002Fgithub.com\u002FadrienZ","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F10186993?u=08189ef8cf708a61445b6a57cf7a2aa361d484af&v=4",{"node":333},{"id":334,"name":335,"url":336,"avatarUrl":337},"MDQ6VXNlcjI2MTQyMzgz","Thomas Lemoine","https:\u002F\u002Fgithub.com\u002Fthomaslemoine","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F26142383?u=4c68175459b0ae1f8c68c48c40f2ae148747675d&v=4",{"node":339},{"id":340,"name":341,"url":342,"avatarUrl":343},"MDQ6VXNlcjY1NzM3MTMx","Valentin Grenier","https:\u002F\u002Fgithub.com\u002Fvalentin-grenier","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F65737131?u=0ba0cc828412f6655a948c6a82f69b9c909f8fd9&v=4",{"node":345},{"id":346,"name":347,"url":348,"avatarUrl":349},"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":351},"\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":353},"\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":355},"\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":357},"\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":359,"height":359,"rotate":4,"vFlip":6,"hFlip":6,"body":360},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":362},"\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",364],{"key":365,"result":366},"Brand_dlIOZD2O03VXPoFYukMOJnSnZRMTmJ0YwMKY5fNK8",{"head":367},{},["Island",369],{"key":370,"result":371},"Duration_PRYhFSjufPCI0ZdHmd1E3NXOSiQQt16OGdRJlD2HfE",{"head":372},{},1785405177373]