[{"data":1,"prerenderedAt":162},["ShallowReactive",2],{"talk-\u002Ffr\u002Ftalks\u002F2024-11-20\u002Ftakimeet":3,"talks-explore-fr-188011b9-8c68-406d-bd46-f2de26cf931f":60},{"metadata":4,"summary":39,"transcript":59},{"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\u002F2024-11-20\u002Ftakimeet.json","Fluidifier l'expérience utilisateur",{"summary":8},"summary.fr.md","2024-11-20","Concevez des retours d'interface fluides et fiables en choisissant entre loaders, optimistic UI et skeleton fallbacks, avec une mise en pratique dans Vue et Pinia Colada.",{"name":12,"url":13,"location":14},"TakiMeet","https:\u002F\u002Fwww.takima.fr\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\u002F2024-11-20\u002Ftakimeet","https:\u002F\u002Ftalks.soubiran.dev\u002F2024-11-20\u002Ftakimeet\u002Fthumbnail.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2024-11-20\u002Ftakimeet\u002Fthumbnail-dark.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2024-11-20\u002Ftakimeet\u002Fsrc","https:\u002F\u002Ftalks.soubiran.dev\u002F2024-11-20\u002Ftakimeet\u002Fpdf","fr",{},"2024-11-20\u002Ftakimeet","fr\u002Ftalks\u002F2024-11-20\u002Ftakimeet","188011b9-8c68-406d-bd46-f2de26cf931f",[32,33,34,35,36,37],"loading-states","optimistic-ui","pinia-colada","skeleton-screens","user-experience","vue","ul_aHI80uuxf582Fyexi85iz3z-bJNawEQSKFNhGKkQ",{"id":40,"body":41,"extension":55,"meta":56,"rawbody":57,"stem":29,"__hash__":58},"talksSummary\u002Ffr\u002Ftalks\u002F2024-11-20\u002Ftakimeet.md",{"type":42,"value":43,"toc":51},"minimark",[44,48],[45,46,47],"p",{},"Après une action, l'interface doit donner à l'utilisateur un retour compréhensible. Cette présentation compare les loaders, l'optimistic UI et les skeleton fallbacks, en reliant chaque solution au contexte de l'action, à la gestion des erreurs et au temps de réponse attendu.",[45,49,50],{},"Les exemples montrent comment utiliser Vue et Pinia Colada pour construire des interactions optimistes et gérer la récupération des données.",{"title":52,"searchDepth":53,"depth":53,"links":54},"",2,[],"md",{},"Après une action, l'interface doit donner à l'utilisateur un retour compréhensible. Cette présentation compare les loaders, l'optimistic UI et les skeleton fallbacks, en reliant chaque solution au contexte de l'action, à la gestion des erreurs et au temps de réponse attendu.\n\nLes exemples montrent comment utiliser Vue et Pinia Colada pour construire des interactions optimistes et gérer la récupération des données.\n","f4zjmWBOOV9-Fry2qO9kLogI84YH4znP-MOO4qlhDB0",null,[61,97,127],{"id":62,"title":63,"artifacts":64,"date":66,"description":67,"event":68,"extension":19,"links":75,"locale":26,"meta":85,"slug":86,"sourceLanguage":26,"stem":87,"talkId":88,"topics":89,"__hash__":96},"talks\u002Ffr\u002Ftalks\u002F2026-02-13\u002Ftouraine-tech.json","En JavaScript, il y a un paquet pour tout... et souvent pour rien.",{"summary":8,"transcript":65},"transcript.fr.md","2026-02-13","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":69,"url":70,"location":71},"Touraine Tech","https:\u002F\u002Ftouraine.tech\u002F",{"city":72,"country":16,"latitude":73,"longitude":74},"Tours",47.358059501856914,0.7028678082506143,{"slides":76,"thumbnail":77,"thumbnailDark":78,"source":79,"pdf":80,"recording":81,"youtubeEmbed":82,"audio":83,"transcript":84},"https:\u002F\u002Ftalks.soubiran.dev\u002F2026-02-13\u002Ftouraine-tech","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-02-13\u002Ftouraine-tech\u002Fthumbnail.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-02-13\u002Ftouraine-tech\u002Fthumbnail-dark.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-02-13\u002Ftouraine-tech\u002Fsrc","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-02-13\u002Ftouraine-tech\u002Fpdf","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-02-13\u002Ftouraine-tech\u002Frecording","https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FnCRJlW_Zjm8","https:\u002F\u002Ftalks.soubiran.dev\u002F2026-02-13\u002Ftouraine-tech\u002Faudio","https:\u002F\u002Fsoubiran.dev\u002Ftalks\u002F2026-02-13\u002Ftouraine-tech",{},"2026-02-13\u002Ftouraine-tech","fr\u002Ftalks\u002F2026-02-13\u002Ftouraine-tech","ca23ebbb-39da-422b-8c4e-d1d960262f7e",[90,91,92,93,94,95],"bundle-size","dependencies","e18e","javascript","package-management","performance","7HBeevtf8hNYSo4K7FPYWKSbP0zCKSG-3L2mPhFX3nU",{"id":98,"title":99,"artifacts":100,"date":101,"description":102,"event":103,"extension":19,"links":109,"locale":26,"meta":115,"slug":116,"sourceLanguage":26,"stem":117,"talkId":118,"topics":119,"__hash__":126},"talks\u002Ffr\u002Ftalks\u002F2024-12-04\u002Fvuejs-paris.json","Nuxt, NuxtHub et le full-stack",{"summary":8},"2024-12-04","Découvrez comment Nuxt et NuxtHub réunissent frontend, API, base de données, stockage et déploiement Cloudflare dans une expérience full-stack cohérente.",{"name":104,"url":105,"location":106},"Vue.js Paris","https:\u002F\u002Fwww.meetup.com\u002Ffr-FR\u002Fvuejs-paris\u002F",{"city":15,"country":16,"latitude":107,"longitude":108},48.86565735572218,2.342539485144613,{"slides":110,"thumbnail":111,"thumbnailDark":112,"source":113,"pdf":114},"https:\u002F\u002Ftalks.soubiran.dev\u002F2024-12-04\u002Fvuejs-paris","https:\u002F\u002Ftalks.soubiran.dev\u002F2024-12-04\u002Fvuejs-paris\u002Fthumbnail.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2024-12-04\u002Fvuejs-paris\u002Fthumbnail-dark.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2024-12-04\u002Fvuejs-paris\u002Fsrc","https:\u002F\u002Ftalks.soubiran.dev\u002F2024-12-04\u002Fvuejs-paris\u002Fpdf",{},"2024-12-04\u002Fvuejs-paris","fr\u002Ftalks\u002F2024-12-04\u002Fvuejs-paris","b1a91296-e8cb-47f8-965a-35eeefa3037d",[120,121,122,123,124,125],"cloudflare","edge-computing","full-stack","nitro","nuxt","nuxthub","lAUiPG9xXwKGlpjprmVRTQehsf2GrNdMQCtABGL2LMA",{"id":128,"title":129,"artifacts":130,"date":131,"description":132,"event":133,"extension":19,"links":140,"locale":26,"meta":151,"slug":152,"sourceLanguage":26,"stem":153,"talkId":154,"topics":155,"__hash__":161},"talks\u002Ffr\u002Ftalks\u002F2024-04-12\u002Fstrasbourgjs.json","Découvrons ensemble l'écosystème UnJS",{"summary":8,"transcript":65},"2024-04-12","Explorez UnJS, son écosystème de bibliothèques TypeScript universelles et les outils qui simplifient la création de packages npm compatibles avec tous les runtimes.",{"name":134,"url":135,"location":136},"StrasbourgJS","https:\u002F\u002Fstrasbourgjs.org\u002F",{"city":137,"country":16,"latitude":138,"longitude":139},"Strasbourg",48.60359333922045,7.756997318155868,{"slides":141,"thumbnail":142,"thumbnailDark":143,"source":144,"pdf":145,"recording":146,"youtubeEmbed":147,"audio":148,"transcript":149,"article":150},"https:\u002F\u002Ftalks.soubiran.dev\u002F2024-04-12\u002Fstrasbourgjs","https:\u002F\u002Ftalks.soubiran.dev\u002F2024-04-12\u002Fstrasbourgjs\u002Fthumbnail.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2024-04-12\u002Fstrasbourgjs\u002Fthumbnail-dark.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2024-04-12\u002Fstrasbourgjs\u002Fsrc","https:\u002F\u002Ftalks.soubiran.dev\u002F2024-04-12\u002Fstrasbourgjs\u002Fpdf","https:\u002F\u002Ftalks.soubiran.dev\u002F2024-04-12\u002Fstrasbourgjs\u002Frecording","https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FmPcJXqaBLFM","https:\u002F\u002Ftalks.soubiran.dev\u002F2024-04-12\u002Fstrasbourgjs\u002Faudio","https:\u002F\u002Fsoubiran.dev\u002Ftalks\u002F2024-04-12\u002Fstrasbourgjs","https:\u002F\u002Ftalks.soubiran.dev\u002F2024-04-12\u002Fstrasbourgjs\u002Farticle",{},"2024-04-12\u002Fstrasbourgjs","fr\u002Ftalks\u002F2024-04-12\u002Fstrasbourgjs","9d5155fb-ac25-41ff-ac12-b86e6c880b1d",[156,157,121,158,159,160],"cross-runtime","developer-tooling","npm-packages","typescript","unjs","KlFl-YFs9-ikiMDfXEAXRsh-xcUWbeqgugSoUEtMBO4",1790086910021]