[{"data":1,"prerenderedAt":163},["ShallowReactive",2],{"talk-\u002Ffr\u002Ftalks\u002F2025-11-13\u002Fdevfest-toulouse":3,"talks-explore-fr-aacbf28b-dab6-43e1-ad04-6234ced1b8e0":65},{"metadata":4,"summary":39,"transcript":64},{"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-11-13\u002Fdevfest-toulouse.json","La réactivité et les signaux : démystifions la magie du frontend",{"summary":8},"summary.fr.md","2025-11-13","Décortiquez les mécanismes de réactivité du frontend : propagation des changements, suivi des dépendances, signaux, computed values et effects derrière les frameworks modernes.",{"name":12,"url":13,"location":14},"DevFest Toulouse","https:\u002F\u002Fdevfesttoulouse.fr\u002F",{"city":15,"country":16,"latitude":17,"longitude":18},"Toulouse","France",43.54228454982411,1.5135988668549822,"json",{"slides":21,"thumbnail":22,"thumbnailDark":23,"source":24,"pdf":25},"https:\u002F\u002Ftalks.soubiran.dev\u002F2025-11-13\u002Fdevfest-toulouse","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-11-13\u002Fdevfest-toulouse\u002Fthumbnail.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-11-13\u002Fdevfest-toulouse\u002Fthumbnail-dark.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-11-13\u002Fdevfest-toulouse\u002Fsrc","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-11-13\u002Fdevfest-toulouse\u002Fpdf","fr",{},"2025-11-13\u002Fdevfest-toulouse","fr\u002Ftalks\u002F2025-11-13\u002Fdevfest-toulouse","aacbf28b-dab6-43e1-ad04-6234ced1b8e0",[32,33,34,35,36,37],"computed-values","dependency-tracking","effects","frontend-reactivity","signals","vue","Gm2xiCRx9AwcOrqjelhfcKd-3bPjaTyfcBBniznTmuo",{"id":40,"body":41,"extension":60,"meta":61,"rawbody":62,"stem":29,"__hash__":63},"talksSummary\u002Ffr\u002Ftalks\u002F2025-11-13\u002Fdevfest-toulouse.md",{"type":42,"value":43,"toc":56},"minimark",[44,53],[45,46,47,48,52],"p",{},"Derrière les API réactives des frameworks frontend se trouve un système de suivi des dépendances. Cette présentation le rend concret avec ",[49,50,51],"code",{},"alien-signals",", en reliant les signaux, les valeurs calculées et les effets dans un même graphe.",[45,54,55],{},"Les graphes orientés, le tri topologique, les listes doublement chaînées et les propagations push-pull servent à suivre les algorithmes. La présentation met ensuite ces concepts en regard de la réactivité par composant de Vue.",{"title":57,"searchDepth":58,"depth":58,"links":59},"",2,[],"md",{},"Derrière les API réactives des frameworks frontend se trouve un système de suivi des dépendances. Cette présentation le rend concret avec `alien-signals`, en reliant les signaux, les valeurs calculées et les effets dans un même graphe.\n\nLes graphes orientés, le tri topologique, les listes doublement chaînées et les propagations push-pull servent à suivre les algorithmes. La présentation met ensuite ces concepts en regard de la réactivité par composant de Vue.\n","xgur4E4bolfuuQ6HDEzYKxQI9OYkMbjHIcT13zBW2HQ",null,[66,102,130],{"id":67,"title":68,"artifacts":69,"date":71,"description":72,"event":73,"extension":19,"links":80,"locale":26,"meta":90,"slug":91,"sourceLanguage":26,"stem":92,"talkId":93,"topics":94,"__hash__":101},"talks\u002Ffr\u002Ftalks\u002F2025-01-21\u002Fparis-typescript.json","Deviens full-stack avec TypeScript",{"summary":8,"transcript":70},"transcript.fr.md","2025-01-21","Découvrez comment AdonisJS met TypeScript au service du backend avec routage, ORM, validation, authentification, autorisation, tests et architecture applicative.",{"name":74,"url":75,"location":76},"Paris TypeScript","https:\u002F\u002Ftypescript.paris\u002F",{"city":77,"country":16,"latitude":78,"longitude":79},"Paris",48.868673706774,2.333473847730007,{"slides":81,"thumbnail":82,"thumbnailDark":83,"source":84,"pdf":85,"recording":86,"youtubeEmbed":87,"audio":88,"transcript":89},"https:\u002F\u002Ftalks.soubiran.dev\u002F2025-01-21\u002Fparis-typescript","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-01-21\u002Fparis-typescript\u002Fthumbnail.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-01-21\u002Fparis-typescript\u002Fthumbnail-dark.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-01-21\u002Fparis-typescript\u002Fsrc","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-01-21\u002Fparis-typescript\u002Fpdf","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-01-21\u002Fparis-typescript\u002Frecording","https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FxKrok6ZtHUk","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-01-21\u002Fparis-typescript\u002Faudio","https:\u002F\u002Fsoubiran.dev\u002Ftalks\u002F2025-01-21\u002Fparis-typescript",{},"2025-01-21\u002Fparis-typescript","fr\u002Ftalks\u002F2025-01-21\u002Fparis-typescript","2aecfc0c-2767-4a99-ba55-4aa3f92fe376",[95,96,97,98,99,100],"adonisjs","backend","full-stack","testing","typescript","web-architecture","4SLK4h7_ISuzPPR-j1halMTppIfE3hIz1GzByuVDmGM",{"id":103,"title":104,"artifacts":105,"date":106,"description":107,"event":108,"extension":19,"links":112,"locale":26,"meta":118,"slug":119,"sourceLanguage":26,"stem":120,"talkId":121,"topics":122,"__hash__":129},"talks\u002Ffr\u002Ftalks\u002F2025-12-09\u002Fparis-typescript.json","En JavaScript, il y a un paquet pour tout... et souvent pour rien.",{"summary":8},"2025-12-09","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":74,"url":75,"location":109},{"city":77,"country":16,"latitude":110,"longitude":111},48.87169321094806,2.304536999998755,{"slides":113,"thumbnail":114,"thumbnailDark":115,"source":116,"pdf":117},"https:\u002F\u002Ftalks.soubiran.dev\u002F2025-12-09\u002Fparis-typescript","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-12-09\u002Fparis-typescript\u002Fthumbnail.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-12-09\u002Fparis-typescript\u002Fthumbnail-dark.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-12-09\u002Fparis-typescript\u002Fsrc","https:\u002F\u002Ftalks.soubiran.dev\u002F2025-12-09\u002Fparis-typescript\u002Fpdf",{},"2025-12-09\u002Fparis-typescript","fr\u002Ftalks\u002F2025-12-09\u002Fparis-typescript","08fe9461-b29a-4c24-a0f5-6c432266e5a9",[123,124,125,126,127,128],"bundle-size","dependencies","e18e","javascript","package-management","performance","0Qw6myN0xJIM_A_X2DGalssbp1CagZZuXhLW59Bu6N4",{"id":131,"title":132,"artifacts":133,"date":134,"description":135,"event":136,"extension":19,"links":142,"locale":26,"meta":152,"slug":153,"sourceLanguage":26,"stem":154,"talkId":155,"topics":156,"__hash__":162},"talks\u002Ffr\u002Ftalks\u002F2023-04-12\u002Fdevoxxfr.json","Unpoly pour reprendre le contrôle !",{"summary":8,"transcript":70},"2023-04-12","Découvrez Unpoly, une bibliothèque JavaScript HTML-first qui apporte navigation rapide, fragments de page, formulaires et interactions modernes aux applications rendues côté serveur.",{"name":137,"url":138,"location":139},"Devoxx France","https:\u002F\u002Fdevoxx.fr\u002F",{"city":77,"country":16,"latitude":140,"longitude":141},48.87920881050965,2.2836092090943354,{"slides":143,"thumbnail":144,"thumbnailDark":145,"source":146,"pdf":147,"recording":148,"youtubeEmbed":149,"audio":150,"transcript":151},"https:\u002F\u002Ftalks.soubiran.dev\u002F2023-04-12\u002Fdevoxxfr","https:\u002F\u002Ftalks.soubiran.dev\u002F2023-04-12\u002Fdevoxxfr\u002Fthumbnail.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2023-04-12\u002Fdevoxxfr\u002Fthumbnail-dark.png","https:\u002F\u002Ftalks.soubiran.dev\u002F2023-04-12\u002Fdevoxxfr\u002Fsrc","https:\u002F\u002Ftalks.soubiran.dev\u002F2023-04-12\u002Fdevoxxfr\u002Fpdf","https:\u002F\u002Ftalks.soubiran.dev\u002F2023-04-12\u002Fdevoxxfr\u002Frecording","https:\u002F\u002Fwww.youtube.com\u002Fembed\u002FMIM6E_XMRHQ","https:\u002F\u002Ftalks.soubiran.dev\u002F2023-04-12\u002Fdevoxxfr\u002Faudio","https:\u002F\u002Fsoubiran.dev\u002Ftalks\u002F2023-04-12\u002Fdevoxxfr",{},"2023-04-12\u002Fdevoxxfr","fr\u002Ftalks\u002F2023-04-12\u002Fdevoxxfr","50cc57fb-f69f-4f88-8f7d-5b03b004c182",[157,158,159,160,161],"html-over-the-wire","progressive-enhancement","server-rendered-applications","unpoly","web-performance","ifTMWHMmg2YgimgcJ-09HSFHiyz5WiPmn3K0heFR9Vw",1790086908302]