[{"data":1,"prerenderedAt":7063},["ShallowReactive",2],{"i-ic:outline-arrow-upward":3,"Footer_afPiwGMwNiEyV4syWzw87ovzxHAgs4iwKtCn4zqBf8E":8,"podcasts-count-1":16,"podcasts-1":17,"i-material-symbols:home":6929,"i-ic:baseline-play-circle-filled-white":6931,"Duration_NJRa9zPyKrTUsIvLY8TgoviWv2AGa03uBfGEJ1BQVk4":6933,"Duration_Vev9dJUWGsTTGSg2IAAMw96CRzrlNXL15219JzktA8M":6938,"Duration_MaheYdoKNBdXxDwVHc4tuelg3fYwH70Mvl1H9mi0gE":6943,"Duration_tm3uk3sCrY3zDdcBxcjsEJ987tav7Zo8c8InRUGfxM":6948,"Brand_bAcjTzQpW6OVpFK319jfMki97vH1GrZiqHmeI7Xg4o":6953,"Duration_yRpt6cRUBVus81ZzE9PHibAGCH4rUlqwwL02qsFfjo":6958,"Duration_6DpBmUHzEWIUhabT3SOXv9B28FVbN2yhtqSbse1Wb8":6963,"Duration_FCH4KmHUIpXvIdJWjTB787ly3eRYU6sykhrJyN5fU":6968,"Duration_2LDBVkApvUdrRU1ZxHsy55vtQxfIzk6GhnPBTP00JFU":6973,"Duration_ACwHSubuVt4ssyiCYAd8ueVluHrfOxjweyTonq3vGx0":6978,"Duration_RBwJCLegoCZw17wV1oKmUudN9syNP12JOB8YOCuhAw":6983,"Duration_KbUr7Cqdyr78xLxOMyTQKKDlsRpFj1mzHpsGYoPMneA":6988,"Duration_lpbf0BL3rWevboVLxA2rB5EndEdiLHwjf9xwL3Bdw":6993,"Duration_5auv6cRcezl7gXaQmhzuJItMUdhJXS2kinwBaNJHS94":6998,"Duration_WpTQ6RWNJs4rDelCoLvtaaBIGfudnpp8rmXlgBmFHa8":7003,"Duration_ENadSA1iyFvqS6dtxMU91FLOMLh2UdWs2N5fjCapuw":7008,"Duration_tFkM6ASGNihWZdxbjueiQyoi4DEKQz4Q6sf459FFE":7013,"Duration_Z7Ja893nx66IJDfrkVoIWgo6ihZ7eiaIF3E2ugCuNno":7018,"Duration_1kQ9wk6hu2VzUQ2G1y4ILza7TODOghS0YyVZizHqa84":7023,"Duration_auWLuOyS6OnRpahpmJtLFMJI4W8zGwdlDXI7mL8NuA":7028,"Duration_WwkINuuEmHrlAomB5fJ4BLBEu5n6vBuB4kOQTYCdiU":7033,"Duration_WQuCrsv48rz5mIuh5PD4KdO71CDlESbU5EbK5LXoMg":7038,"Duration_o93lnRPhkTiVbi9ad472awVudj7z4HNm97wMwJKuc":7043,"Duration_xnOp7iu3KYWb4LMt4ybTmyt0F3QEZRZdjXjozy4KEME":7048,"Duration_lt5Sqc22FU8fpZ9pxxYH4VUgQPoNdX2nZIwzBkHF4M":7053,"Duration_AB5uGt0ILsKqdhtcFUBygfzdXUJCK4VDRcgxZTkPY":7058},{"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\")}",136,[18,698,1283,1664,1980,2019,2324,2640,2946,3073,3359,3635,3730,4127,4499,4587,4904,4951,5192,5634,5908,6204,6272,6508,6556],{"id":19,"title":20,"author":21,"body":22,"categories":673,"description":675,"dsSlug":676,"duration":677,"episodeArtwork":678,"episodeNumber":16,"episodeType":679,"explicit":6,"extension":680,"guid":681,"links":682,"meta":683,"navigation":684,"path":685,"publicationDate":686,"season":118,"seo":687,"status":688,"stem":689,"subtitle":690,"tags":691,"videoLink":696,"__hash__":697},"podcasts\u002Fpodcasts\u002F136.workflow\u002Findex.md","Workflow SDK, orchestrer des tâches asynchrones sans usine à gaz","Double Slash",{"type":23,"value":24,"toc":667},"minimark",[25,30,34,46,50,55,67,72,75,276,279,660,663],[26,27,29],"h2",{"id":28},"workflow-sdk-orchestrer-simplement-sans-réinventer-les-queues","Workflow SDK : orchestrer simplement sans réinventer les queues",[31,32,33],"p",{},"Comment enchaîner des étapes métier fiables : retry, pause, webhook, reprise après erreur. Sans monter une usine Kafka\u002FRedis à la main ?",[31,35,36,37,41,42,45],{},"Dans cet épisode, Alex partage son retour d’expérience sur ",[38,39,40],"strong",{},"Workflow"," (initié par Vercel, utilisable hors Vercel) : séquençage de tâches avec \"useWorkflow\" \u002F \"useStep\", sleeps en langage humain, observabilité, et le ",[38,43,44],{},"World"," qui abstrait runtime, queues et persistance. via Self-host ou le dashboard Vercel, des cas concrets (autorépondeurs, paniers abandonnés, agents).",[26,47,49],{"id":48},"workflow-sdk","Workflow SDK",[31,51,52,54],{},[38,53,49],{}," permet de transformer de simples fonctions TypeScript en processus fiables capables de durer dans le temps. Il gère automatiquement les interruptions, les reprises, les nouvelles tentatives en cas d’erreur, la conservation de l’état et le suivi de chaque étape. Cela facilite notamment la création d’automatisations, de traitements asynchrones et d’agents IA, sans avoir à mettre en place soi-même des files d’attente ou une infrastructure complexe.",[56,57,58],"ul",{},[59,60,61],"li",{},[62,63,64],"a",{"href":64,"rel":65},"https:\u002F\u002Fworkflow-sdk.dev",[66],"nofollow",[68,69,71],"h3",{"id":70},"code-exemple","Code exemple",[31,73,74],{},"On ajoute \"use workflow\" dans une fonction async",[76,77,82],"pre",{"className":78,"code":79,"language":80,"meta":81,"style":81},"language-js shiki shiki-themes synthwave-84","import { sleep } from \"workflow\";\nexport async function handleUserSignup(email: string) {\n  \"use workflow\";\n  const user = await createUser(email);\n  await sendWelcomeEmail(user);\n  await sleep(\"5s\"); \u002F\u002F Pause for 5s - doesn't consume any resources\n  await sendOnboardingEmail(user);\n  return { userId: user.id, status: \"onboarded\" };\n}\n","js","",[83,84,85,116,149,157,183,199,219,233,270],"code",{"__ignoreMap":81},[86,87,90,94,98,102,105,109,113],"span",{"class":88,"line":89},"line",1,[86,91,93],{"class":92},"sfE7D","import",[86,95,97],{"class":96},"soy-K"," { ",[86,99,101],{"class":100},"sqjNi","sleep",[86,103,104],{"class":96}," } ",[86,106,108],{"class":107},"scrqX","from",[86,110,112],{"class":111},"sFl1-"," \"workflow\"",[86,114,115],{"class":96},";\n",[86,117,119,122,125,128,132,135,139,142,146],{"class":88,"line":118},2,[86,120,121],{"class":92},"export",[86,123,124],{"class":107}," async",[86,126,127],{"class":107}," function",[86,129,131],{"class":130},"sgRlq"," handleUserSignup",[86,133,134],{"class":96},"(",[86,136,138],{"class":137},"sH7Js","email",[86,140,141],{"class":107},":",[86,143,145],{"class":144},"sRQ1T"," string",[86,147,148],{"class":96},") {\n",[86,150,152,155],{"class":88,"line":151},3,[86,153,154],{"class":111},"  \"use workflow\"",[86,156,115],{"class":96},[86,158,160,163,166,170,173,176,178,180],{"class":88,"line":159},4,[86,161,162],{"class":107},"  const",[86,164,165],{"class":100}," user",[86,167,169],{"class":168},"sW278"," =",[86,171,172],{"class":107}," await",[86,174,175],{"class":130}," createUser",[86,177,134],{"class":96},[86,179,138],{"class":100},[86,181,182],{"class":96},");\n",[86,184,186,189,192,194,197],{"class":88,"line":185},5,[86,187,188],{"class":107},"  await",[86,190,191],{"class":130}," sendWelcomeEmail",[86,193,134],{"class":96},[86,195,196],{"class":100},"user",[86,198,182],{"class":96},[86,200,202,204,207,209,212,215],{"class":88,"line":201},6,[86,203,188],{"class":107},[86,205,206],{"class":130}," sleep",[86,208,134],{"class":96},[86,210,211],{"class":111},"\"5s\"",[86,213,214],{"class":96},"); ",[86,216,218],{"class":217},"sjThu","\u002F\u002F Pause for 5s - doesn't consume any resources\n",[86,220,222,224,227,229,231],{"class":88,"line":221},7,[86,223,188],{"class":107},[86,225,226],{"class":130}," sendOnboardingEmail",[86,228,134],{"class":96},[86,230,196],{"class":100},[86,232,182],{"class":96},[86,234,236,239,241,244,247,249,252,256,259,262,264,267],{"class":88,"line":235},8,[86,237,238],{"class":107},"  return",[86,240,97],{"class":96},[86,242,243],{"class":100},"userId",[86,245,141],{"class":246},"s2hdG",[86,248,165],{"class":100},[86,250,251],{"class":96},".",[86,253,255],{"class":254},"sz5MA","id",[86,257,258],{"class":96},", ",[86,260,261],{"class":100},"status",[86,263,141],{"class":246},[86,265,266],{"class":111}," \"onboarded\"",[86,268,269],{"class":96}," };\n",[86,271,273],{"class":88,"line":272},9,[86,274,275],{"class":96},"}\n",[31,277,278],{},"Dans les fonctions qui font partie du workflow, on ajoute « use step » pour les rendre gérables par le workflow.",[76,280,284],{"className":281,"code":282,"language":283,"meta":81,"style":81},"language-ts shiki shiki-themes synthwave-84","import { FatalError } from \"workflow\"\n\u002F\u002F Our workflow function defined earlier\nasync function createUser(email: string) {\n  \"use step\";\n  console.log(`Creating user with email: ${email}`);\n  \u002F\u002F Full Node.js access - database calls, APIs, etc.\n  return { id: crypto.randomUUID(), email };\n}\nasync function sendWelcomeEmail(user: { id: string; email: string; }) {\n  \"use step\";\n  console.log(`Sending welcome email to user: ${user.id}`);\n  if (Math.random() \u003C 0.3) {\n  \u002F\u002F By default, steps will be retried for unhandled errors\n   throw new Error(\"Retryable!\");\n  }\n}\nasync function sendOnboardingEmail(user: { id: string; email: string}) {\n  \"use step\";\n  if (!user.email.includes(\"@\")) {\n    \u002F\u002F To skip retrying, throw a FatalError instead\n    throw new FatalError(\"Invalid Email\");\n  }\n  console.log(`Sending onboarding email to user: ${user.id}`);\n}\n","ts",[83,285,286,302,307,326,333,361,366,391,395,429,436,464,493,499,518,524,529,563,570,599,605,623,628,656],{"__ignoreMap":81},[86,287,288,290,292,295,297,299],{"class":88,"line":89},[86,289,93],{"class":107},[86,291,97],{"class":96},[86,293,294],{"class":100},"FatalError",[86,296,104],{"class":96},[86,298,108],{"class":107},[86,300,301],{"class":111}," \"workflow\"\n",[86,303,304],{"class":88,"line":118},[86,305,306],{"class":217},"\u002F\u002F Our workflow function defined earlier\n",[86,308,309,312,314,316,318,320,322,324],{"class":88,"line":151},[86,310,311],{"class":107},"async",[86,313,127],{"class":107},[86,315,175],{"class":130},[86,317,134],{"class":96},[86,319,138],{"class":137},[86,321,141],{"class":107},[86,323,145],{"class":144},[86,325,148],{"class":96},[86,327,328,331],{"class":88,"line":159},[86,329,330],{"class":111},"  \"use step\"",[86,332,115],{"class":96},[86,334,335,338,340,343,345,348,351,353,356,359],{"class":88,"line":185},[86,336,337],{"class":100},"  console",[86,339,251],{"class":96},[86,341,342],{"class":130},"log",[86,344,134],{"class":96},[86,346,347],{"class":111},"`Creating user with email: ",[86,349,350],{"class":92},"${",[86,352,138],{"class":100},[86,354,355],{"class":92},"}",[86,357,358],{"class":111},"`",[86,360,182],{"class":96},[86,362,363],{"class":88,"line":201},[86,364,365],{"class":217},"  \u002F\u002F Full Node.js access - database calls, APIs, etc.\n",[86,367,368,370,372,374,376,379,381,384,387,389],{"class":88,"line":221},[86,369,238],{"class":107},[86,371,97],{"class":96},[86,373,255],{"class":100},[86,375,141],{"class":246},[86,377,378],{"class":100}," crypto",[86,380,251],{"class":96},[86,382,383],{"class":130},"randomUUID",[86,385,386],{"class":96},"(), ",[86,388,138],{"class":100},[86,390,269],{"class":96},[86,392,393],{"class":88,"line":235},[86,394,275],{"class":96},[86,396,397,399,401,403,405,407,409,411,413,415,417,420,422,424,426],{"class":88,"line":272},[86,398,311],{"class":107},[86,400,127],{"class":107},[86,402,191],{"class":130},[86,404,134],{"class":96},[86,406,196],{"class":137},[86,408,141],{"class":107},[86,410,97],{"class":96},[86,412,255],{"class":100},[86,414,141],{"class":107},[86,416,145],{"class":144},[86,418,419],{"class":96},"; ",[86,421,138],{"class":100},[86,423,141],{"class":107},[86,425,145],{"class":144},[86,427,428],{"class":96},"; }) {\n",[86,430,432,434],{"class":88,"line":431},10,[86,433,330],{"class":111},[86,435,115],{"class":96},[86,437,439,441,443,445,447,450,452,454,456,458,460,462],{"class":88,"line":438},11,[86,440,337],{"class":100},[86,442,251],{"class":96},[86,444,342],{"class":130},[86,446,134],{"class":96},[86,448,449],{"class":111},"`Sending welcome email to user: ",[86,451,350],{"class":92},[86,453,196],{"class":100},[86,455,251],{"class":246},[86,457,255],{"class":100},[86,459,355],{"class":92},[86,461,358],{"class":111},[86,463,182],{"class":96},[86,465,467,470,473,476,478,481,484,487,491],{"class":88,"line":466},12,[86,468,469],{"class":107},"  if",[86,471,472],{"class":96}," (",[86,474,475],{"class":100},"Math",[86,477,251],{"class":96},[86,479,480],{"class":130},"random",[86,482,483],{"class":96},"() ",[86,485,486],{"class":107},"\u003C",[86,488,490],{"class":489},"sSmKr"," 0.3",[86,492,148],{"class":96},[86,494,496],{"class":88,"line":495},13,[86,497,498],{"class":217},"  \u002F\u002F By default, steps will be retried for unhandled errors\n",[86,500,502,505,508,511,513,516],{"class":88,"line":501},14,[86,503,504],{"class":107},"   throw",[86,506,507],{"class":107}," new",[86,509,510],{"class":130}," Error",[86,512,134],{"class":96},[86,514,515],{"class":111},"\"Retryable!\"",[86,517,182],{"class":96},[86,519,521],{"class":88,"line":520},15,[86,522,523],{"class":96},"  }\n",[86,525,527],{"class":88,"line":526},16,[86,528,275],{"class":96},[86,530,532,534,536,538,540,542,544,546,548,550,552,554,556,558,560],{"class":88,"line":531},17,[86,533,311],{"class":107},[86,535,127],{"class":107},[86,537,226],{"class":130},[86,539,134],{"class":96},[86,541,196],{"class":137},[86,543,141],{"class":107},[86,545,97],{"class":96},[86,547,255],{"class":100},[86,549,141],{"class":107},[86,551,145],{"class":144},[86,553,419],{"class":96},[86,555,138],{"class":100},[86,557,141],{"class":107},[86,559,145],{"class":144},[86,561,562],{"class":96},"}) {\n",[86,564,566,568],{"class":88,"line":565},18,[86,567,330],{"class":111},[86,569,115],{"class":96},[86,571,573,575,577,580,582,584,586,588,591,593,596],{"class":88,"line":572},19,[86,574,469],{"class":107},[86,576,472],{"class":96},[86,578,579],{"class":107},"!",[86,581,196],{"class":100},[86,583,251],{"class":96},[86,585,138],{"class":100},[86,587,251],{"class":96},[86,589,590],{"class":130},"includes",[86,592,134],{"class":96},[86,594,595],{"class":111},"\"@\"",[86,597,598],{"class":96},")) {\n",[86,600,602],{"class":88,"line":601},20,[86,603,604],{"class":217},"    \u002F\u002F To skip retrying, throw a FatalError instead\n",[86,606,608,611,613,616,618,621],{"class":88,"line":607},21,[86,609,610],{"class":107},"    throw",[86,612,507],{"class":107},[86,614,615],{"class":130}," FatalError",[86,617,134],{"class":96},[86,619,620],{"class":111},"\"Invalid Email\"",[86,622,182],{"class":96},[86,624,626],{"class":88,"line":625},22,[86,627,523],{"class":96},[86,629,631,633,635,637,639,642,644,646,648,650,652,654],{"class":88,"line":630},23,[86,632,337],{"class":100},[86,634,251],{"class":96},[86,636,342],{"class":130},[86,638,134],{"class":96},[86,640,641],{"class":111},"`Sending onboarding email to user: ",[86,643,350],{"class":92},[86,645,196],{"class":100},[86,647,251],{"class":246},[86,649,255],{"class":100},[86,651,355],{"class":92},[86,653,358],{"class":111},[86,655,182],{"class":96},[86,657,658],{"class":88,"line":5},[86,659,275],{"class":96},[31,661,662],{},"Bonne écoute !",[664,665,666],"style",{},"html pre.shiki code .sfE7D, html code.shiki .sfE7D{--shiki-default:#72F1B8}html pre.shiki code .soy-K, html code.shiki .soy-K{--shiki-default:#BBBBBB}html pre.shiki code .sqjNi, html code.shiki .sqjNi{--shiki-default:#FF7EDB}html pre.shiki code .scrqX, html code.shiki .scrqX{--shiki-default:#FEDE5D}html pre.shiki code .sFl1-, html code.shiki .sFl1-{--shiki-default:#FF8B39}html pre.shiki code .sgRlq, html code.shiki .sgRlq{--shiki-default:#36F9F6}html pre.shiki code .sH7Js, html code.shiki .sH7Js{--shiki-default:#FF7EDB;--shiki-default-font-style:italic}html pre.shiki code .sRQ1T, html code.shiki .sRQ1T{--shiki-default:#FE4450}html pre.shiki code .sW278, html code.shiki .sW278{--shiki-default:#FFFFFFEE}html pre.shiki code .sjThu, html code.shiki .sjThu{--shiki-default:#848BBD;--shiki-default-font-style:italic}html pre.shiki code .s2hdG, html code.shiki .s2hdG{--shiki-default:#B6B1B1}html pre.shiki code .sz5MA, html code.shiki .sz5MA{--shiki-default:#2EE2FA}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sSmKr, html code.shiki .sSmKr{--shiki-default:#F97E72}",{"title":81,"searchDepth":118,"depth":118,"links":668},[669,670],{"id":28,"depth":118,"text":29},{"id":48,"depth":118,"text":49,"children":671},[672],{"id":70,"depth":151,"text":71},[674],"Technology","Présentation de Workflow SDK, la librairie Vercel pour orchestrer simplement des tâches asynchrones en JavaScript\u002FTypeScript, avec retries, pauses, webhooks, actions humaines et observabilité, en partageant son retour d’expérience et des cas concrets.","DS_136_workflow","2 627","https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fv1784274696\u002Fepisode\u002FART_136_zvafgr.png","full","md",null,[],{},true,"\u002Fpodcasts\u002Fworkflow","2026-07-17",{"title":20,"description":675},"published","podcasts\u002F136.workflow\u002Findex","Un processus intelligent ?",[692,693,694,695],"workflow","javascript","queue","vercel","r8gtqImnrCk","KSvEe86uXNDdfDNZeuH0Dn9HV2h4d_p3716Gltitieg",{"id":699,"title":700,"author":21,"body":701,"categories":1254,"description":1255,"dsSlug":1256,"duration":681,"episodeArtwork":1257,"episodeNumber":1258,"episodeType":679,"explicit":6,"extension":680,"guid":681,"links":1259,"meta":1260,"navigation":684,"path":1261,"publicationDate":1262,"season":118,"seo":1263,"status":688,"stem":1264,"subtitle":1265,"tags":1266,"videoLink":1281,"__hash__":1282},"podcasts\u002Fpodcasts\u002F135.news-jul26\u002Findex.md","News Juillet 2026, TypeScript 7 RC, Astro 7 et des pièges pour agents IA",{"type":23,"value":702,"toc":1236},[703,707,713,728,732,738,749,756,760,766,776,779,802,805,809,815,824,850,853,857,863,870,873,880,884,890,901,905,911,918,922,928,935,939,945,952,958,962,968,983,1001,1005,1011,1018,1021,1027,1031,1037,1047,1051,1057,1071,1074,1078,1084,1093,1121,1124,1150,1157,1161,1167,1179,1182,1218,1221,1225,1231],[26,704,706],{"id":705},"mitchell-hashimoto-et-les-pièges-à-agents","Mitchell Hashimoto et les pièges à agents",[31,708,709],{},[62,710,711],{"href":711,"rel":712},"https:\u002F\u002Fx.com\u002Fmitchellh\u002Fstatus\u002F2067970516951150721",[66],[31,714,715,716,719,720,723,724,727],{},"Mitchell Hashimoto (créateur de HashiCorp) partage une astuce pour détecter les agents IA qui ne relisent pas leur code : il ",[38,717,718],{},"empoisonne"," ses fichiers ",[83,721,722],{},"AGENTS.md"," et commentaires de code avec des ",[38,725,726],{},"prompt injections"," pour piéger ceux qui envoient du code non relu à un humain. Résultat : détection immédiate et bannissement. Une méthode radicale pour garantir la qualité des contributions.",[26,729,731],{"id":730},"typescript-70-rc","TypeScript 7.0 RC",[31,733,734],{},[62,735,736],{"href":736,"rel":737},"https:\u002F\u002Fdevblogs.microsoft.com\u002Ftypescript\u002Fannouncing-typescript-7-0-rc\u002F",[66],[31,739,740,741,744,745,748],{},"Microsoft annonce la ",[38,742,743],{},"Release Candidate de TypeScript 7.0",", une version majeure construite sur une nouvelle base en Go. Cette version est ",[38,746,747],{},"jusqu'à 10 fois plus rapide"," que TypeScript 6.0, tout en conservant une compatibilité totale avec les projets existants.",[31,750,751,752,755],{},"TypeScript 7.0 introduit également des améliorations comme la parallélisation du type-checking, un mode ",[83,753,754],{},"--watch"," repensé, et des changements de comportement pour aligner JavaScript et TypeScript. La version stable est attendue dans le mois.",[26,757,759],{"id":758},"astro-70","Astro 7.0",[31,761,762],{},[62,763,764],{"href":764,"rel":765},"https:\u002F\u002Fastro.build\u002Fblog\u002Fastro-7\u002F",[66],[31,767,768,769,772,773,251],{},"Astro 7.0 est là, avec des ",[38,770,771],{},"builds jusqu'à 61 % plus rapides"," grâce à un compilateur Rust, un pipeline Markdown\u002FMDX optimisé, et Vite 8 avec son nouveau bundler ",[38,774,775],{},"Rolldown",[31,777,778],{},"Cette version introduit aussi :",[56,780,781,790,796],{},[59,782,783,786,787,251],{},[38,784,785],{},"Advanced Routing"," : Contrôle total du pipeline de requêtes via ",[83,788,789],{},"src\u002Ffetch.ts",[59,791,792,795],{},[38,793,794],{},"Route Caching"," : Cache CDN pour Netlify, Vercel et Cloudflare (bêta privée).",[59,797,798,801],{},[38,799,800],{},"Améliorations IA"," : Serveur de développement en arrière-plan et logs JSON pour les agents de codage.",[31,803,804],{},"Astro 7.0 est conçu pour les workflows modernes, y compris l'intégration avec les agents IA.",[26,806,808],{"id":807},"sätteri","Sätteri",[31,810,811],{},[62,812,813],{"href":813,"rel":814},"https:\u002F\u002Fsatteri.bruits.org",[66],[31,816,817,819,820,823],{},[38,818,808],{}," est un moteur de traitement ",[38,821,822],{},"Markdown\u002FMDX ultra-rapide écrit en Rust",", combiné à une API flexible en JavaScript pour les plugins. Il offre le meilleur des deux mondes : la performance du Rust et l'extensibilité de l'écosystème JS.",[56,825,826,832,838,844],{},[59,827,828,831],{},[38,829,830],{},"~8 700 documents\u002Fseconde"," (benchmark sur machine standard).",[59,833,834,837],{},[38,835,836],{},"Compatibilité"," : CommonMark, GFM, MDX, et extensions personnalisées.",[59,839,840,843],{},[38,841,842],{},"Plugins"," : Architecture modulaire pour ajouter des fonctionnalités (math, directives, etc.).",[59,845,846,849],{},[38,847,848],{},"WASM"," : Fonctionne dans le navigateur ou en Node.js.",[31,851,852],{},"Sätteri est le moteur utilisé par Astro 7 pour son pipeline Markdown\u002FMDX par défaut.",[26,854,856],{"id":855},"cursor-ios","Cursor iOS",[31,858,859],{},[62,860,861],{"href":861,"rel":862},"https:\u002F\u002Fcursor.com\u002Fblog\u002Fios-mobile-app",[66],[31,864,865,866,869],{},"Cursor lance son ",[38,867,868],{},"application mobile iOS",", permettant de coder en mobilité avec une réduction de 75 % sur la consommation de tokens. Idéal pour développer en déplacement.",[31,871,872],{},"Retour d’expérience perso : 5 heures de route (voiture en passager), mobile only, et une grosse fonctionnalité\u002Fservice en sortie.",[31,874,875,876],{},"Pour souscrire à cursor (lien affilié) : ",[62,877,878],{"href":878,"rel":879},"https:\u002F\u002Fcursor.com\u002Freferral?code=B1WRHVRW4SCM",[66],[26,881,883],{"id":882},"docker-chez-vercel","Docker chez Vercel !",[31,885,886],{},[62,887,888],{"href":888,"rel":889},"https:\u002F\u002Fvercel.com\u002Fblog\u002Fdockerfile-on-vercel",[66],[31,891,892,893,896,897,900],{},"Vercel permet désormais d’exécuter ",[38,894,895],{},"n’importe quel serveur HTTP directement depuis un Dockerfile",". Ajoutez un fichier ",[83,898,899],{},"Dockerfile.vercel"," à votre projet, et Vercel construit, stocke, déploie et met à l’échelle automatiquement l’image sur Fluid Compute, avec une tarification basée sur l’utilisation réelle du CPU. Idéal pour les apps Rails, Django, Spring Boot, Go, ou tout autre serveur HTTP.",[26,902,904],{"id":903},"deno-desktop-créez-des-applications-de-bureau-avec-deno","Deno Desktop : Créez des applications de bureau avec Deno",[31,906,907],{},[62,908,909],{"href":909,"rel":910},"https:\u002F\u002Fdocs.deno.com\u002Fruntime\u002Fdesktop\u002F",[66],[31,912,913,914,917],{},"Deno 2.9 introduit ",[83,915,916],{},"deno desktop",", un outil pour transformer un projet Deno (fichier TypeScript, Next.js, Astro, etc.) en une application de bureau autonome. Il propose une détection automatique des frameworks, un rechargement à chaud, des liaisons en processus pour une communication fluide entre le backend et l'interface, ainsi qu'un système de mise à jour automatique par diff binaire.",[26,919,921],{"id":920},"babel-800-esm-only-fin-du-support-es5-par-défaut-et-migration-fluide","Babel 8.0.0 : ESM-only, fin du support ES5 par défaut et migration fluide",[31,923,924],{},[62,925,926],{"href":926,"rel":927},"https:\u002F\u002Fbabeljs.io\u002Fblog\u002F2026\u002F06\u002F16\u002F8.0.0\u002F",[66],[31,929,930,931,934],{},"Babel 8.0.0 est enfin sorti après 8 ans sans version majeure. Cette mise à jour modernise Babel en le rendant ",[38,932,933],{},"ESM-only",", en arrêtant la compilation par défaut vers ES5 (désormais basée sur les navigateurs modernes via Browserslist), et en intégrant des types TypeScript pour tous ses packages. Babel 8 nécessite Node.js 22+ et vise à simplifier la migration pour les utilisateurs.",[26,936,938],{"id":937},"introducing-eve","Introducing eve",[31,940,941],{},[62,942,943],{"href":943,"rel":944},"https:\u002F\u002Fvercel.com\u002Fblog\u002Fintroducing-eve",[66],[31,946,947,948,951],{},"Vercel introduit ",[38,949,950],{},"eve",", un framework open-source pour construire, exécuter et scalabiliser des agents en production. Eve simplifie le développement d'agents en fournissant des fonctionnalités intégrées comme l'exécution durable, le sandboxing, les approbations humaines, les sous-agents, le traçage et les évaluations. Le framework est conçu pour éviter de réinventer la roue à chaque projet, tout comme Next.js l'a fait pour le web.",[31,953,954],{},[62,955,956],{"href":956,"rel":957},"https:\u002F\u002Fwww.openui.com\u002Fdocs\u002Fopenui-lang\u002Fexamples\u002Fharnesses\u002Fvercel-eve",[66],[26,959,961],{"id":960},"sakana-fugu","Sakana Fugu",[31,963,964],{},[62,965,966],{"href":966,"rel":967},"https:\u002F\u002Fsakana.ai\u002Ffugu-release\u002F",[66],[31,969,970,971,974,975,978,979,982],{},"Sakana AI lance ",[38,972,973],{},"Fugu"," et ",[38,976,977],{},"Fugu Ultra",", une famille de modèles basés sur une ",[38,980,981],{},"orchestration multi-agents autonome",". Fugu agit comme un seul modèle API, mais coordonne dynamiquement les meilleurs modèles du monde pour résoudre des tâches complexes en plusieurs étapes.",[31,984,985,986,974,989,992,993,996,997],{},"Fugu Ultra rivalise avec des modèles comme ",[38,987,988],{},"Fable 5",[38,990,991],{},"Mythos Preview"," sur des benchmarks exigeants en ingénierie, raisonnement et sciences, tout en évitant les risques liés aux contrôles d'exportation. Le système est conçu pour offrir une ",[38,994,995],{},"souveraineté IA",", en permettant de contourner les restrictions d'accès d'un fournisseur unique.\n",[62,998,999],{"href":999,"rel":1000},"https:\u002F\u002Fwww.usine-digitale.fr\u002Fintelligence-artificielle\u002Fia-generative\u002Ffugu-ultra-ce-modele-dia-de-pointe-venu-du-japon-qui-atteindrait-des-performances-dignes-de-claude-mythos-5-en-orchestrant-dautres-modeles-de-facon-autonome.BMZ3SVCHV5FVHNRJ3ZW4O4K44M.html",[66],[26,1002,1004],{"id":1003},"ornith-10","Ornith 1.0",[31,1006,1007],{},[62,1008,1009],{"href":1009,"rel":1010},"https:\u002F\u002Fdeep-reinforce.com\u002Fornith_1_0.html",[66],[31,1012,1013,1014,1017],{},"Deep Reinforce introduit ",[38,1015,1016],{},"Ornith-1.0",", une famille de modèles open-source auto-améliorants spécialement conçus pour les tâches de codage agentique. Disponible en plusieurs tailles (9B Dense, 31B Dense, 35B MoE, 397B MoE), Ornith-1.0 atteint des performances de pointe sur divers benchmarks de codage, rivalisant avec des modèles comme Claude Opus 4.7.",[31,1019,1020],{},"Le framework d'entraînement auto-améliorant permet aux modèles d'optimiser conjointement les solutions et les structures qui les guident, offrant ainsi des gains de capacité durables sans conception manuelle de harnais.",[31,1022,1023],{},[62,1024,1025],{"href":1025,"rel":1026},"https:\u002F\u002Fgoodtech.info\u002Fdeepreinforce-ornith-llm-open-source-code-agentique\u002F",[66],[26,1028,1030],{"id":1029},"mistral-ocr-4","Mistral OCR 4",[31,1032,1033],{},[62,1034,1035],{"href":1035,"rel":1036},"https:\u002F\u002Fmistral.ai\u002Fnews\u002Focr-4\u002F",[66],[31,1038,1039,1040,1042,1043,1046],{},"Mistral annonce la sortie de ",[38,1041,1030],{},", un modèle de reconnaissance optique de caractères (OCR) de pointe pour l'intelligence documentaire. Il prend en charge ",[38,1044,1045],{},"170 langues",", offre des boîtes englobantes, une classification des blocs et des scores de confiance intégrés, et peut être déployé en auto-hébergement. Idéal pour les workflows RAG, les agents et les pipelines de données structurées.",[26,1048,1050],{"id":1049},"firecrawl-keyless","Firecrawl Keyless",[31,1052,1053],{},[62,1054,1055],{"href":1055,"rel":1056},"https:\u002F\u002Fwww.firecrawl.dev\u002Fblog\u002Ffirecrawl-keyless-launch",[66],[31,1058,1059,1060,1062,1063,1066,1067,1070],{},"Firecrawl lance ",[38,1061,1050],{},", une solution pour rechercher, scraper et interagir avec le web ",[38,1064,1065],{},"sans clé API",". Chaque développeur bénéficie de ",[38,1068,1069],{},"1 000 crédits gratuits par mois",", automatiquement.",[31,1072,1073],{},"Avec Firecrawl Keyless, vous pouvez rechercher des résultats en direct, scraper n'importe quelle URL pour obtenir du markdown propre, et interagir avec des pages dynamiques. Disponible via MCP, CLI et API.",[26,1075,1077],{"id":1076},"lighton","LightOn",[31,1079,1080],{},[62,1081,1082],{"href":1082,"rel":1083},"https:\u002F\u002Flighton.ai",[66],[31,1085,1086,1088,1089,1092],{},[38,1087,1077],{}," est une plateforme d'",[38,1090,1091],{},"OCR et de retrieval avancé"," pour les documents, conçue pour les workflows IA en production. Elle propose trois endpoints clés :",[56,1094,1095,1105,1111],{},[59,1096,1097,1100,1101,1104],{},[38,1098,1099],{},"\u002Fparse"," : Extraction de texte structuré (PDF, images, tableaux, écriture manuscrite) avec ",[38,1102,1103],{},"LightOnOCR-2"," (SOTA sur OLMOCR-Bench).",[59,1106,1107,1110],{},[38,1108,1109],{},"\u002Fextract"," : Récupération de champs spécifiques (numéros de facture, dates, etc.) en JSON structuré.",[59,1112,1113,1116,1117,1120],{},[38,1114,1115],{},"\u002Fsearch"," : Recherche hybride (dense + sparse + late-interaction) avec ",[38,1118,1119],{},"citations précises"," et contrôle d'accès au niveau des chunks.",[31,1122,1123],{},"Points forts :",[56,1125,1126,1132,1138,1144],{},[59,1127,1128,1131],{},[38,1129,1130],{},"Modèles open-source"," (LateOn, NextPlaid, PyLate, DenseOn) en production.",[59,1133,1134,1137],{},[38,1135,1136],{},"MCP-native"," : Intégration directe avec les agents via Model Context Protocol.",[59,1139,1140,1143],{},[38,1141,1142],{},"Gouvernance"," : Workspaces isolés, ACLs au niveau des chunks, et conformité RGPD\u002FSOC 2.",[59,1145,1146,1149],{},[38,1147,1148],{},"Tarification transparente"," : Gratuite pour démarrer, puis à l'usage.",[31,1151,1152,1153,1156],{},"Idéal pour les applications nécessitant une ",[38,1154,1155],{},"recherche fiable, auditable et sécurisée"," sur des corpus documentaires.",[26,1158,1160],{"id":1159},"linkup","Linkup",[31,1162,1163],{},[62,1164,1165],{"href":1165,"rel":1166},"https:\u002F\u002Fwww.linkup.so",[66],[31,1168,1169,1171,1172,1175,1176,251],{},[38,1170,1160],{}," est une ",[38,1173,1174],{},"API de recherche web de grade production"," pour l'IA, utilisée par McKinsey, SNCF, Cohere, Legora, Polymarket et Artisan AI. ",[38,1177,1178],{},"#1 sur le benchmark SimpleQA d'OpenAI",[31,1180,1181],{},"Fonctionnalités :",[56,1183,1184,1190,1196,1206,1212],{},[59,1185,1186,1189],{},[38,1187,1188],{},"Recherche web optimisée pour l'IA"," : Réponses sourcées et citées, avec extraits complets.",[59,1191,1192,1195],{},[38,1193,1194],{},"Index privé"," : Créez un index dédié pour vos données propriétaires, avec contrôle d'accès.",[59,1197,1198,1201,1202,1205],{},[38,1199,1200],{},"Déploiement flexible"," : Cloud managé ou ",[38,1203,1204],{},"Bring Your Own Cloud"," (BYOC) pour une conformité maximale.",[59,1207,1208,1211],{},[38,1209,1210],{},"Intégrations"," : Compatible avec OpenAI SDK, LangChain, CrewAI, et bien d'autres.",[59,1213,1214,1217],{},[38,1215,1216],{},"Performances"," : Précision de pointe, latence sous la seconde, SLA de 99,9%.",[31,1219,1220],{},"Cas d'usage : Agents de vente, veille corporate, détection de fuites de données, monitoring de réputation, etc.",[26,1222,1224],{"id":1223},"proxae","Proxae",[31,1226,1227],{},[62,1228,1229],{"href":1229,"rel":1230},"https:\u002F\u002Fproxae.com",[66],[31,1232,1233,1235],{},[38,1234,1224],{}," permet de certifier vos idées, textes et fichiers dans la blockchain Bitcoin. Créez des preuves infalsifiables et vérifiables à vie, sans confiance requise. Idéal pour protéger vos créations et prouver leur antériorité.",{"title":81,"searchDepth":118,"depth":118,"links":1237},[1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252,1253],{"id":705,"depth":118,"text":706},{"id":730,"depth":118,"text":731},{"id":758,"depth":118,"text":759},{"id":807,"depth":118,"text":808},{"id":855,"depth":118,"text":856},{"id":882,"depth":118,"text":883},{"id":903,"depth":118,"text":904},{"id":920,"depth":118,"text":921},{"id":937,"depth":118,"text":938},{"id":960,"depth":118,"text":961},{"id":1003,"depth":118,"text":1004},{"id":1029,"depth":118,"text":1030},{"id":1049,"depth":118,"text":1050},{"id":1076,"depth":118,"text":1077},{"id":1159,"depth":118,"text":1160},{"id":1223,"depth":118,"text":1224},[674],"Nous évoquons TypeScript 7.0 RC jusqu'à 10 fois plus rapide, Astro 7.0 avec Sätteri et Rolldown, l'astuce de Mitchell Hashimoto pour piéger les PR sans review de code, Cursor sur iOS, Docker sur Vercel, Deno Desktop, Babel 8, le framework d'agents Eve, les modèles IA Fugu et Ornith, le nouveau Mistral OCR 4, Firecrawl Keyless, LightOn, Linkup et Proxae.","DS_135_news-jul26","https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fv1782901023\u002FART_135_m3vbav.png",135,[],{},"\u002Fpodcasts\u002Fnews-jul26","2026-07-01",{"title":700,"description":1255},"podcasts\u002F135.news-jul26\u002Findex","Les news pour juillet 2026, TypeScript 7 RC, Astro 7, agents IA et outils du mois.",[1267,1268,1269,1270,695,1271,1272,1273,950,1274,1275,1276,1277,1278,1279,1280,1159,1076],"typescript","astro","satteri","cursor","docker","deno","babel","ai","agents","mistral","ocr","firecrawl","fugu","ornith","zap1n9Sb_B4","yy5tgI6pHgFTECoSF_yVykbOUTv0jOSmE4C7_-oANMk",{"id":1284,"title":1285,"author":21,"body":1286,"categories":1640,"description":1641,"dsSlug":1642,"duration":681,"episodeArtwork":1643,"episodeNumber":1644,"episodeType":679,"explicit":6,"extension":680,"guid":681,"links":1645,"meta":1646,"navigation":684,"path":1647,"publicationDate":1648,"season":118,"seo":1649,"status":688,"stem":1650,"subtitle":1651,"tags":1652,"videoLink":1662,"__hash__":1663},"podcasts\u002Fpodcasts\u002F134.news-juin26-rc2\u002Findex.md","News Juin 2026 RC2, React quitte Meta, VoidZero rejoint Cloudflare et IA locale",{"type":23,"value":1287,"toc":1623},[1288,1292,1299,1306,1310,1316,1323,1327,1334,1341,1345,1351,1358,1362,1368,1379,1383,1390,1409,1413,1416,1422,1426,1432,1443,1447,1453,1456,1460,1466,1487,1491,1497,1504,1508,1514,1520,1523,1527,1533,1556,1560,1566,1597,1601,1608],[26,1289,1291],{"id":1290},"protect-the-shire-wordpress","Protect The Shire – WordPress",[31,1293,1294],{},[62,1295,1298],{"href":1296,"rel":1297},"https:\u002F\u002Fwordpress.org\u002Fnews\u002F2026\u002F06\u002Fpts\u002F",[66],"Lire l'article",[31,1300,1301,1302,1305],{},"WordPress lance l'initiative ",[38,1303,1304],{},"Protect The Shire"," pour sécuriser les 78 000 plugins et thèmes de son répertoire. Une période de refroidissement de 24 heures est introduite pour les mises à jour automatiques, permettant une revue approfondie des changements. L'objectif est de concilier rapidité et sécurité, en s'appuyant sur l'IA pour analyser les codes et prévenir les attaques de la chaîne d'approvisionnement.",[26,1307,1309],{"id":1308},"la-react-foundation-un-nouveau-foyer-pour-react-sous-la-linux-foundation","La React Foundation : Un nouveau foyer pour React sous la Linux Foundation",[31,1311,1312],{},[62,1313,1298],{"href":1314,"rel":1315},"https:\u002F\u002Freact.dev\u002Fblog\u002F2026\u002F02\u002F24\u002Fthe-react-foundation",[66],[31,1317,1318,1319,1322],{},"React, React Native et les projets associés comme JSX ne sont plus détenus par Meta, mais par la ",[38,1320,1321],{},"React Foundation",", une fondation indépendante hébergée par la Linux Foundation. Les membres fondateurs incluent Amazon, Callstack, Expo, Huawei, Meta, Microsoft, Software Mansion et Vercel. Cette transition vise à garantir une gouvernance technique indépendante et à soutenir l'écosystème React.",[26,1324,1326],{"id":1325},"the-story-of-php-la-bande-annonce-du-documentaire","The Story of PHP : La bande-annonce du documentaire",[31,1328,1329],{},[62,1330,1333],{"href":1331,"rel":1332},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=4W4y46WVdCU",[66],"Voir la vidéo",[31,1335,1336,1337,1340],{},"CultRepo annonce la sortie prochaine d'un ",[38,1338,1339],{},"documentaire sur l'histoire de PHP",", avec des témoignages exclusifs de figures majeures comme Nils Adermann (créateur de Composer), Taylor Otwell (créateur de Laravel), Nikita Popov (contributeur principal de PHP), Fabien Potencier (créateur de Symfony), et Roman Pronskiy (directeur fondateur de The PHP Foundation). Ce documentaire retrace l'évolution de PHP, depuis ses débuts improvisés jusqu'à son rôle central dans les plateformes de contenu, les CMS, et les infrastructures gouvernementales.",[26,1342,1344],{"id":1343},"rejoignez-lessai-dorigine-de-webmcp-dans-chrome-149","Rejoignez l'essai d'origine de WebMCP dans Chrome 149",[31,1346,1347],{},[62,1348,1298],{"href":1349,"rel":1350},"https:\u002F\u002Fdeveloper.chrome.com\u002Fblog\u002Fai-webmcp-origin-trial",[66],[31,1352,1353,1354,1357],{},"Chrome 149 lance un ",[38,1355,1356],{},"essai d'origine pour WebMCP",", une fonctionnalité permettant aux développeurs de définir des règles d'interaction entre les applications web et les agents IA. Cela permet de déclarer explicitement la fonction des éléments d'interface (boutons, champs de formulaire, etc.) et de gérer l'état de la page, pour un remplissage plus précis des formulaires ou un débogage efficace.",[26,1359,1361],{"id":1360},"tanstack-ai-en-version-bêta-loutil-agnostique-pour-lia","TanStack AI en version bêta : L'outil agnostique pour l'IA",[31,1363,1364],{},[62,1365,1298],{"href":1366,"rel":1367},"https:\u002F\u002Ftanstack.com\u002Fblog\u002Ftanstack-ai-beta",[66],[31,1369,1370,1371,1374,1375,1378],{},"TanStack annonce la version ",[38,1372,1373],{},"bêta de TanStack AI",", un outil ",[38,1376,1377],{},"agnostique de framework et de fournisseur"," conçu pour les développeurs qui veulent garder le contrôle de leur stack. Après une phase alpha riche en apprentissages, cette version bêta propose une API stable, une documentation complète et une prise en charge multi-modale (texte, audio, vidéo, images, chat vocal en temps réel). TanStack AI permet de basculer facilement entre les fournisseurs (OpenAI, Anthropic, Google, etc.) tout en conservant une typage TypeScript strict et des outils intégrés comme les appels de fonctions, la génération structurée, et le Model Context Protocol (MCP).",[26,1380,1382],{"id":1381},"maizzle-6-est-disponible","Maizzle 6 est disponible",[31,1384,1385],{},[62,1386,1389],{"href":1387,"rel":1388},"https:\u002F\u002Fx.com\u002Fcossssmin\u002Fstatus\u002F2064351831782838539",[66],"Lire le thread",[31,1391,1392,1393,1396,1397,1400,1401,1404,1405,1408],{},"Maizzle 6 est enfin là avec une ",[38,1394,1395],{},"refonte complète"," : passage à ",[38,1398,1399],{},"Tailwind CSS 4",", des templates en ",[38,1402,1403],{},"Vue",", un plugin ",[38,1406,1407],{},"Vite",", des composants dédiés, une expérience développeur repensée, et même des compétences pour les agents IA. Une version majeure pour construire des emails HTML comme on construit des applications.",[26,1410,1412],{"id":1411},"glm-52","GLM-5.2",[31,1414,1415],{},"Le modèle chinois rivalise avec les meilleurs modèles tout en étant open source\u002Fweight",[31,1417,1418],{},[62,1419,1389],{"href":1420,"rel":1421},"https:\u002F\u002Fx.com\u002FZai_org\u002Fstatus\u002F2066938937344495629?s=20",[66],[26,1423,1425],{"id":1424},"mellum2-passe-en-open-source-un-modèle-rapide-pour-les-workflows-dia","Mellum2 passe en open source : un modèle rapide pour les workflows d'IA",[31,1427,1428],{},[62,1429,1298],{"href":1430,"rel":1431},"https:\u002F\u002Fblog.jetbrains.com\u002Fai\u002F2026\u002F06\u002Fmellum2-goes-open-source-a-fast-model-for-ai-workflows\u002F",[66],[31,1433,1434,1435,1438,1439,1442],{},"JetBrains annonce que ",[38,1436,1437],{},"Mellum2",", un modèle de 12 milliards de paramètres, passe en open source sous licence Apache 2.0. Conçu pour résoudre les défis les plus difficiles de l'IA en production (latence, débit, coût), Mellum2 utilise une architecture ",[38,1440,1441],{},"Mixture-of-Experts (MoE)"," où seulement 2,5 milliards de paramètres sont actifs par token. Idéal pour le routage, les pipelines RAG à faible latence, les sous-agents rapides et les déploiements locaux ou privés.",[26,1444,1446],{"id":1445},"voidzero-rejoint-cloudflare","VoidZero rejoint Cloudflare",[31,1448,1449],{},[62,1450,1298],{"href":1451,"rel":1452},"https:\u002F\u002Fvoidzero.dev\u002Fposts\u002Fvoidzero-cloudflare",[66],[31,1454,1455],{},"VoidZero annonce son intégration à Cloudflare. Les projets phares comme Vite, Vitest, Rolldown, Oxc et Vite+ resteront open-source et sous licence MIT. Evan You et son équipe continueront de diriger ces projets, avec un engagement total de Cloudflare pour soutenir leur mission. Cette collaboration vise à renforcer l'écosystème Vite et à améliorer l'expérience de déploiement sur Cloudflare, tout en respectant les valeurs de l'open source et de la communauté.",[26,1457,1459],{"id":1458},"declarative-partial-updates-out-of-order-streaming-dans-chrome-148","Declarative Partial Updates & Out-of-Order Streaming dans Chrome 148",[31,1461,1462],{},[62,1463,1298],{"href":1464,"rel":1465},"https:\u002F\u002Fdeveloper.chrome.com\u002Fblog\u002Fdeclarative-partial-updates",[66],[31,1467,1468,1469,1472,1473,1476,1477,258,1480,258,1483,1486],{},"Chrome 148 introduit les ",[38,1470,1471],{},"Declarative Partial Updates",", une fonctionnalité permettant de charger et afficher des parties spécifiques d'une page HTML de manière asynchrone et hors ordre. Cela optimise les performances des applications web en utilisant des balises ",[83,1474,1475],{},"\u003Ctemplate>"," et des instructions de traitement (",[83,1478,1479],{},"\u003C?marker>",[83,1481,1482],{},"\u003C?start>",[83,1484,1485],{},"\u003C?end>","), ainsi que de nouvelles API JavaScript pour insérer ou remplacer dynamiquement du contenu.",[26,1488,1490],{"id":1489},"considérations-de-sécurité-pour-les-agents-webmcp","Considérations de sécurité pour les agents WebMCP",[31,1492,1493],{},[62,1494,1298],{"href":1495,"rel":1496},"https:\u002F\u002Fdeveloper.chrome.com\u002Fdocs\u002Fagents\u002Fsecurity",[66],[31,1498,1499,1500,1503],{},"L'article de Chrome aborde les ",[38,1501,1502],{},"considérations de sécurité pour les développeurs d'agents utilisant WebMCP",", avec des recommandations pour se protéger contre les contenus malveillants et les attaques par injection de prompts, notamment via des garde-fous déterministes et probabilistes.",[26,1505,1507],{"id":1506},"quel-est-le-meilleur-modèle-économique-pour-un-laboratoire-dia-abonnement-ou-api","Quel est le meilleur modèle économique pour un laboratoire d'IA : abonnement ou API ?",[31,1509,1510],{},[62,1511,1389],{"href":1512,"rel":1513},"https:\u002F\u002Fx.com\u002FSemiAnalysis_\u002Fstatus\u002F2064815044085318040",[66],[31,1515,1516],{},[62,1517,1389],{"href":1518,"rel":1519},"https:\u002F\u002Fx.com\u002FHesamation\u002Fstatus\u002F2066615113998553111?s=20",[66],[31,1521,1522],{},"SemiAnalysis a comparé les plans d'abonnement d'Anthropic et d'OpenAI en testant des tâches de codage longues jusqu'à épuisement des limites hebdomadaires. Contrairement à l'idée reçue, les abonnements offrent des marges bien plus généreuses que prévu : un abonnement à 200 $\u002Fmois permet d'obtenir une valeur équivalente à bien plus que 2 000 $\u002Fmois en tokens (au tarif API). Cependant, les laboratoires d'IA pourraient limiter les nouvelles fonctionnalités ou modèles aux abonnements, pour éviter de réduire explicitement leurs avantages et ainsi éviter un retour de bâton public.",[26,1524,1526],{"id":1525},"mistral-ai-annonce-un-nouveau-modèle-open-weight-et-des-outils-pour-lautonomie-des-systèmes-dia","Mistral AI annonce un nouveau modèle open-weight et des outils pour l'autonomie des systèmes d'IA",[31,1528,1529],{},[62,1530,1389],{"href":1531,"rel":1532},"https:\u002F\u002Fx.com\u002Farthurmensch\u002Fstatus\u002F2066913353860018596",[66],[31,1534,1535,1536,1539,1540,1543,1544,1547,1548,1551,1552,1555],{},"Mistral AI prépare un ",[38,1537,1538],{},"nouveau modèle"," pour cet été, marquant le début d'une famille de modèles grands mais \"sparse\". Tous les modèles à venir seront ",[38,1541,1542],{},"open-weight",", avec un accent sur la confiance des clients et l'autonomie des communautés. ",[38,1545,1546],{},"Studio"," (déploiement) et ",[38,1549,1550],{},"Forge"," (entraînement) sont des produits portables, hébergés sur une infrastructure contrôlée par Mistral. L'objectif : permettre aux entreprises et gouvernements de déployer des systèmes d'IA ",[38,1553,1554],{},"indépendants",", avec une structure de coûts efficace et un entraînement continu basé sur les interactions humain-IA.",[26,1557,1559],{"id":1558},"amd-lance-le-ryzen-ai-halo-un-monstre-dia-locale-pour-windows-11","AMD lance le Ryzen AI Halo : un monstre d'IA locale pour Windows 11",[31,1561,1562],{},[62,1563,1298],{"href":1564,"rel":1565},"https:\u002F\u002Fwww.neowin.net\u002Fnews\u002Famd-launches-4000-ryzen-ai-halo-local-ai-monster-for-windows-11-with-128gb-ram\u002F",[66],[31,1567,1568,1569,1572,1573,1576,1577,1580,1581,1584,1585,1588,1589,1592,1593,1596],{},"AMD présente le ",[38,1570,1571],{},"Ryzen AI Halo",", une plateforme conçue pour simplifier le déploiement de l'IA locale sous Windows 11. Avec ",[38,1574,1575],{},"128 Go de RAM",", ce PC à ",[38,1578,1579],{},"4 000 $"," est optimisé pour les charges de travail d'IA générative, prenant en charge des modèles jusqu'à ",[38,1582,1583],{},"200 milliards de paramètres",". Grâce à sa plateforme ",[38,1586,1587],{},"ROCm 7.2"," et son ",[38,1590,1591],{},"Ryzen AI Development Center",", il offre une solution clé en main pour les développeurs, avec des performances supérieures de ",[38,1594,1595],{},"14 % en TPS\u002F$"," par rapport à Nvidia DGX Spark (Linux uniquement). Une alternative puissante pour les créateurs et entreprises souhaitant exécuter des modèles d'IA localement.",[26,1598,1600],{"id":1599},"gmktec-evo-x2-un-mini-pc-puissant-pour-lia-locale","GMKtec Evo X2 : Un mini-PC puissant pour l'IA locale",[31,1602,1603],{},[62,1604,1607],{"href":1605,"rel":1606},"https:\u002F\u002Fwww.amazon.fr\u002FGMKtec-Evo-X2-5-1GHz-LPDDR5X-Display\u002Fdp\u002FB0F6X332N6?th=1",[66],"Voir sur Amazon",[31,1609,1610,1611,1614,1615,1618,1619,1622],{},"Le ",[38,1612,1613],{},"GMKtec Evo X2"," est un mini-PC compact mais puissant, équipé d'un processeur performant (jusqu'à ",[38,1616,1617],{},"5,1 GHz","), de ",[38,1620,1621],{},"LPDDR5X",", et conçu pour les tâches exigeantes comme l'IA locale. Idéal pour les développeurs et les utilisateurs cherchant une solution portable et efficace pour exécuter des modèles d'IA sans sacrifier la puissance.",{"title":81,"searchDepth":118,"depth":118,"links":1624},[1625,1626,1627,1628,1629,1630,1631,1632,1633,1634,1635,1636,1637,1638,1639],{"id":1290,"depth":118,"text":1291},{"id":1308,"depth":118,"text":1309},{"id":1325,"depth":118,"text":1326},{"id":1343,"depth":118,"text":1344},{"id":1360,"depth":118,"text":1361},{"id":1381,"depth":118,"text":1382},{"id":1411,"depth":118,"text":1412},{"id":1424,"depth":118,"text":1425},{"id":1445,"depth":118,"text":1446},{"id":1458,"depth":118,"text":1459},{"id":1489,"depth":118,"text":1490},{"id":1506,"depth":118,"text":1507},{"id":1525,"depth":118,"text":1526},{"id":1558,"depth":118,"text":1559},{"id":1599,"depth":118,"text":1600},[674],"Nous évoquons React qui passe sous la Linux Foundation avec la React Foundation, VoidZero et Vite qui rejoignent Cloudflare, l'initiative Protect The Shire pour sécuriser les 78 000 plugins WordPress, TanStack AI en beta, Maizzle 6 et sa refonte Tailwind CSS 4, les nouveaux modèles open-weight de Mistral, Mellum2 qui passe en open source, le Ryzen AI Halo d'AMD avec 128 Go de RAM pour faire tourner 200 milliards de paramètres en local, et les nouveautés Chrome comme WebMCP et les Declarative Partial Updates.","DS_134_news-juin26-rc2","https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fv1781689392\u002Fepisode\u002FART_134_dmbb8r.png",134,[],{},"\u002Fpodcasts\u002Fnews-juin26-rc2","2026-06-17",{"title":1285,"description":1641},"podcasts\u002F134.news-juin26-rc2\u002Findex","Les news pour la deuxième quinzaine de juin 2026, React Foundation, VoidZero x Cloudflare, WordPress Protect The Shire et toujours plus d'IA.",[1653,1654,1655,1656,1657,1658,1659,1660,1661],"wordpress","PHP","React","chrome","Maizzle","TanStack","IA","Mistral","AMD","4DUHYPTYipk","QDXcLfe96VIANUp6FNoBARKGMpWfqWvr0fi34JAr4lo",{"id":1665,"title":1666,"author":21,"body":1667,"categories":1954,"description":1955,"dsSlug":1956,"duration":681,"episodeArtwork":1957,"episodeNumber":1958,"episodeType":679,"explicit":6,"extension":680,"guid":681,"links":1959,"meta":1960,"navigation":684,"path":1961,"publicationDate":1962,"season":118,"seo":1963,"status":688,"stem":1964,"subtitle":1965,"tags":1966,"videoLink":1978,"__hash__":1979},"podcasts\u002Fpodcasts\u002F133.news-jun26\u002Findex.md","News Juin 2026, Bun passe à Rust, npm verrouille les scripts et SEO pour l'IA",{"type":23,"value":1668,"toc":1935},[1669,1673,1678,1702,1708,1712,1719,1736,1739,1752,1755,1763,1769,1773,1779,1783,1789,1793,1799,1805,1809,1815,1819,1825,1829,1835,1839,1845,1849,1863,1867,1873,1877,1883,1887,1893,1897,1903,1907,1912,1916,1922,1926,1932],[26,1670,1672],{"id":1671},"composer-210","Composer 2.10",[31,1674,1675],{},[38,1676,1677],{},"Filtrage natif des logiciels malveillants",[56,1679,1680,1683,1695],{},[59,1681,1682],{},"Intègre une détection automatique des paquets malveillants publiés sur Packagist.org, alimentée par Aikido.",[59,1684,1685,1686,258,1689,974,1692,251],{},"Les versions de paquets malveillantes sont bloquées lors des opérations ",[83,1687,1688],{},"composer update",[83,1690,1691],{},"require",[83,1693,1694],{},"install",[59,1696,1697,1698,1701],{},"Le logiciel malveillant est également signalé par ",[83,1699,1700],{},"composer audit",", qui échoue par défaut en cas de détection.",[31,1703,1704],{},[62,1705,1706],{"href":1706,"rel":1707},"https:\u002F\u002Fblog.packagist.com\u002Fcomposer-2-10-release\u002F",[66],[26,1709,1711],{"id":1710},"npm","NPM",[31,1713,1714,1715,1718],{},"pnpm bloque les scripts preinstall et postinstall, yarn v4 aussi.",[1716,1717],"br",{},"\nActuellement, npm autorise les scripts preinstall et postinstall par défaut.\nPour désactiver les scripts, utilisez l'option --ignore-scripts :",[76,1720,1724],{"className":1721,"code":1722,"language":1723,"meta":81,"style":81},"language-bash shiki shiki-themes synthwave-84","npm install --ignore-scripts\n","bash",[83,1725,1726],{"__ignoreMap":81},[86,1727,1728,1730,1733],{"class":88,"line":89},[86,1729,1710],{"class":144},[86,1731,1732],{"class":96}," install",[86,1734,1735],{"class":489}," --ignore-scripts\n",[31,1737,1738],{},"npm v11.16",[56,1740,1741,1744,1749],{},[59,1742,1743],{},"Phase 1 - PR fusionné",[59,1745,1746,1747],{},"package.allowScripts = ",[86,1748],{},[59,1750,1751],{},"Avertissements sur les scripts postinstall non approuvés",[31,1753,1754],{},"npm v12.0",[56,1756,1757,1760],{},[59,1758,1759],{},"Phase 2 - Prochain PR à venir",[59,1761,1762],{},"Bloque par défaut les scripts postinstall non approuvés",[31,1764,1765],{},[62,1766,1767],{"href":1767,"rel":1768},"https:\u002F\u002Fx.com\u002Fsebastienlorber\u002Fstatus\u002F2059659115228508376?s=20",[66],[26,1770,1772],{"id":1771},"utiq","Utiq",[31,1774,1775],{},[62,1776,1777],{"href":1777,"rel":1778},"https:\u002F\u002Fkorben.info\u002Futiq-identifiant-publicitaire-telcos.html",[66],[26,1780,1782],{"id":1781},"windsurf-est-mort-vive-devindesktop","Windsurf est mort, Vive DevinDesktop",[31,1784,1785],{},[62,1786,1787],{"href":1787,"rel":1788},"https:\u002F\u002Fdevin.ai\u002Fblog\u002Fwindsurf-is-now-devin-desktop",[66],[26,1790,1792],{"id":1791},"perry","Perry",[31,1794,1795,1796],{},"TS to native ",[38,1797,1798],{},"macOS, iPadOS, iOS, Android, Linux, Windows, watchOS, tvOS, WebAssembly, and the Web",[31,1800,1801],{},[62,1802,1803],{"href":1803,"rel":1804},"https:\u002F\u002Fwww.perryts.com",[66],[26,1806,1808],{"id":1807},"kimi-webbridge","Kimi WebBridge",[31,1810,1811],{},[62,1812,1813],{"href":1813,"rel":1814},"https:\u002F\u002Fwww.kimi.com\u002Ffeatures\u002Fwebbridge",[66],[26,1816,1818],{"id":1817},"mcp-chrome-dev-tools","MCP Chrome dev tools",[31,1820,1821],{},[62,1822,1823],{"href":1823,"rel":1824},"https:\u002F\u002Fdeveloper.chrome.com\u002Fblog\u002Fdevtools-for-agents-v1",[66],[26,1826,1828],{"id":1827},"is-ai-profitable","IS AI Profitable",[31,1830,1831],{},[62,1832,1833],{"href":1833,"rel":1834},"https:\u002F\u002Fisaiprofitable.com",[66],[26,1836,1838],{"id":1837},"seo-geo-les-infos-de-google","SEO GEO les infos de Google",[31,1840,1841],{},[62,1842,1843],{"href":1843,"rel":1844},"https:\u002F\u002Fdevelopers.google.com\u002Fsearch\u002Fdocs\u002Ffundamentals\u002Fai-optimization-guide?hl=fr",[66],[26,1846,1848],{"id":1847},"bun-en-rust","Bun en Rust",[56,1850,1851,1857],{},[59,1852,1853],{},[62,1854,1855],{"href":1855,"rel":1856},"https:\u002F\u002Frust.developpez.com\u002Factu\u002F382917\u002FBun-la-boite-a-outils-JavaScript-sur-laquelle-tourne-Claude-Code-en-train-d-etre-portee-de-Zig-vers-Rust-par-des-agents-IA-Entre-experience-prometteuse-et-signal-d-alarme-les-developpeurs-sont-partages\u002F",[66],[59,1858,1859],{},[62,1860,1861],{"href":1861,"rel":1862},"https:\u002F\u002Fgithub.com\u002Foven-sh\u002Fbun\u002Fpull\u002F30412",[66],[26,1864,1866],{"id":1865},"osaurus","Osaurus",[31,1868,1869],{},[62,1870,1871],{"href":1871,"rel":1872},"https:\u002F\u002Fosaurus.ai",[66],[26,1874,1876],{"id":1875},"omlx","OMLX",[31,1878,1879],{},[62,1880,1881],{"href":1881,"rel":1882},"https:\u002F\u002Fomlx.ai",[66],[26,1884,1886],{"id":1885},"liquid-dom","Liquid Dom",[31,1888,1889],{},[62,1890,1891],{"href":1891,"rel":1892},"https:\u002F\u002Fgithub.com\u002FAndrewPrifer\u002Fliquid-dom",[66],[26,1894,1896],{"id":1895},"openhare","OpenHare",[31,1898,1899],{},[62,1900,1901],{"href":1901,"rel":1902},"https:\u002F\u002Fsjjian.github.io\u002Fopenhare\u002F",[66],[26,1904,1906],{"id":1905},"tablepro","TablePro",[31,1908,1909],{},[62,1910,1881],{"href":1881,"rel":1911},[66],[26,1913,1915],{"id":1914},"formisch","Formisch",[31,1917,1918],{},[62,1919,1920],{"href":1920,"rel":1921},"https:\u002F\u002Fformisch.dev",[66],[26,1923,1925],{"id":1924},"attention-aux-skills","Attention aux Skills",[31,1927,1928],{},[62,1929,1930],{"href":1930,"rel":1931},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=WNJHMoHTrBU",[66],[664,1933,1934],{},"html pre.shiki code .sRQ1T, html code.shiki .sRQ1T{--shiki-default:#FE4450}html pre.shiki code .soy-K, html code.shiki .soy-K{--shiki-default:#BBBBBB}html pre.shiki code .sSmKr, html code.shiki .sSmKr{--shiki-default:#F97E72}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}",{"title":81,"searchDepth":118,"depth":118,"links":1936},[1937,1938,1939,1940,1941,1942,1943,1944,1945,1946,1947,1948,1949,1950,1951,1952,1953],{"id":1671,"depth":118,"text":1672},{"id":1710,"depth":118,"text":1711},{"id":1771,"depth":118,"text":1772},{"id":1781,"depth":118,"text":1782},{"id":1791,"depth":118,"text":1792},{"id":1807,"depth":118,"text":1808},{"id":1817,"depth":118,"text":1818},{"id":1827,"depth":118,"text":1828},{"id":1837,"depth":118,"text":1838},{"id":1847,"depth":118,"text":1848},{"id":1865,"depth":118,"text":1866},{"id":1875,"depth":118,"text":1876},{"id":1885,"depth":118,"text":1886},{"id":1895,"depth":118,"text":1896},{"id":1905,"depth":118,"text":1906},{"id":1914,"depth":118,"text":1915},{"id":1924,"depth":118,"text":1925},[674],"Nous évoquons le portage de Bun de Zig vers Rust par des agents IA, npm qui bloque par défaut les scripts postinstall non approuvés, Composer 2.10 qui filtre nativement les paquets malveillants, Windsurf absorbé par Devin Desktop, le guide SEO de Google optimisé pour les IA, MCP Chrome DevTools, Kimi WebBridge et quelques outils comme Perry, Osaurus ou Liquid Dom.","DS_133_news-juin26","https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fv1780480242\u002Fepisode\u002FART_133_tt4h5f.png",133,[],{},"\u002Fpodcasts\u002Fnews-jun26","2026-06-03",{"title":1666,"description":1955},"podcasts\u002F133.news-jun26\u002Findex","Les news pour juin 2026, sécurité npm\u002FComposer, Bun porté en Rust, SEO IA et outils MCP.",[1710,1967,1968,1969,1970,1971,1972,1973,1974,1274,1975,1656,1976,1977,1791],"bun","rust","zig","composer","windsurf","devin","google","seo","mcp","devtools","kimi","lS9ZDxoTzNo","9JlQTn72WckrHwnHmZuEaWp1vUZvrp95BNiawEherlQ",{"id":1981,"title":1982,"author":21,"body":1983,"categories":2000,"description":2001,"dsSlug":2002,"duration":681,"episodeArtwork":2003,"episodeNumber":2004,"episodeType":679,"explicit":6,"extension":680,"guid":681,"links":2005,"meta":2006,"navigation":684,"path":2007,"publicationDate":2008,"season":118,"seo":2009,"status":688,"stem":2010,"subtitle":2011,"tags":2012,"videoLink":2017,"__hash__":2018},"podcasts\u002Fpodcasts\u002F132.ia-local\u002Findex.md","Comment faire tourner une IA en local: outils, modèles et configuration matérielle",{"type":23,"value":1984,"toc":1998},[1985,1988,1991],[31,1986,1987],{},"En 2026, la voie la plus simple pour exécuter une IA localement consiste à installer Ollama, à télécharger un modèle tel que Llama 4 Scout ou Gemma 4, puis à générer ses premières réponses en quelques minutes — le tout depuis votre poste, sans aucune fuite de données vers l'extérieur. Ceux qui préfèrent éviter le terminal pourront opter pour LM Studio et son interface graphique. Et avant même de lancer le moindre téléchargement, des outils comme canirun.ai ou llmfit vous diront exactement quels modèles sont compatibles avec votre matériel.",[31,1989,1990],{},"Les modèles open source ont franchi un cap décisif : un 14 milliards de paramètres tournant sur un GPU grand public rivalise désormais avec le GPT-4 d'il y a deux ans. Pas étonnant que tant de développeurs, d'équipes et d'utilisateurs attachés à leur vie privée envisagent de rapatrier l'IA du cloud vers leur propre machine.",[31,1992,1993,1994],{},"Cet épisode se base sur cet article : ",[62,1995,1996],{"href":1996,"rel":1997},"https:\u002F\u002Fdouble-slash.dev\u002Farticles\u002Fia-local\u002F",[66],{"title":81,"searchDepth":118,"depth":118,"links":1999},[],[674],"Le prix des tokens ne cesse de monter et la protection des données devient de plus en plus importante. Alors, pourquoi ne pas faire tourner un modèle d'IA directement sur votre machine, en local ? Dans cet épisode, nous vous expliquons comment procéder, quel modèle choisir en fonction de la puissance de votre machine, et quels logiciels utiliser.","DS_132_ia-local","https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fv1778599560\u002Fepisode\u002FART_132_kg8gzh.png",132,[],{},"\u002Fpodcasts\u002Fia-local","2026-05-12",{"title":1982,"description":2001},"podcasts\u002F132.ia-local\u002Findex","Faire tourner une IA en local: outils, modèles et configuration matérielle",[1659,2013,2014,2015,2016],"ollama","LM Studio","LLMFit","canirunai","bItXp5CWpjs","gt-mYlh5tSS_ohSueVWLXpj-yUsALANF6VfHa-8zAjc",{"id":2020,"title":2021,"author":21,"body":2022,"categories":2304,"description":2305,"dsSlug":2306,"duration":681,"episodeArtwork":2307,"episodeNumber":2308,"episodeType":679,"explicit":6,"extension":680,"guid":681,"links":2309,"meta":2310,"navigation":684,"path":2311,"publicationDate":2312,"season":118,"seo":2313,"status":688,"stem":2314,"subtitle":2315,"tags":2316,"videoLink":2322,"__hash__":2323},"podcasts\u002Fpodcasts\u002F131.news-mai26\u002Findex.md","News Mai 2026, TypeScript 7 en beta, faux package TanStack et agent Cursor destructeur",{"type":23,"value":2023,"toc":2284},[2024,2028,2031,2036,2042,2046,2049,2056,2060,2063,2070,2074,2077,2083,2087,2093,2097,2103,2107,2145,2151,2155,2162,2166,2173,2176,2179,2186,2190,2196,2200,2206,2210,2216,2220,2226,2230,2237,2243,2247,2253,2257,2264,2268,2274,2278],[26,2025,2027],{"id":2026},"npmx-dev","NPMX Dev",[31,2029,2030],{},"Déjà évoqué dans un autre épisode mais il intègre un nouvel indicateur",[31,2032,2033],{},[38,2034,2035],{},"You might not need this dependency.",[31,2037,2038],{},[62,2039,2040],{"href":2040,"rel":2041},"https:\u002F\u002Fnpmx.dev\u002Fsearch?q=date",[66],[26,2043,2045],{"id":2044},"patterns","Patterns",[31,2047,2048],{},"Bonne pratique en structure de code et des skills !",[31,2050,2051],{},[62,2052,2055],{"href":2053,"rel":2054},"https:\u002F\u002Fwww.patterns.dev\u002F",[66],"https:\u002F\u002Fwww.patterns.dev",[26,2057,2059],{"id":2058},"starship","StarShip",[31,2061,2062],{},"Un jolie terminal simplement !",[31,2064,2065],{},[62,2066,2069],{"href":2067,"rel":2068},"https:\u002F\u002Fstarship.rs\u002F",[66],"https:\u002F\u002Fstarship.rs",[26,2071,2073],{"id":2072},"react-email-6","React Email 6",[31,2075,2076],{},"Des templates et un éditeur !",[31,2078,2079],{},[62,2080,2081],{"href":2081,"rel":2082},"https:\u002F\u002Fresend.com\u002Fblog\u002Freact-email-6",[66],[26,2084,2086],{"id":2085},"typescript-7-beta","TypeScript 7 Beta",[31,2088,2089],{},[62,2090,2091],{"href":2091,"rel":2092},"https:\u002F\u002Fdevblogs.microsoft.com\u002Ftypescript\u002Fannouncing-typescript-7-0-beta",[66],[26,2094,2096],{"id":2095},"un-agent-cursor-détruit-les-db-dune-startup","Un agent cursor détruit les DB d’une startup",[31,2098,2099],{},[62,2100,2101],{"href":2101,"rel":2102},"https:\u002F\u002Fkorben.info\u002Fun-agent-efface-la-base-de-prod-de-pocketos-en-neuf-secondes.html",[66],[26,2104,2106],{"id":2105},"faux-package-tanstack","Faux package TanStack",[31,2108,1610,2109,2112,2113,2116,2117,2122,2123,2126,2127,2133,2134,2140,2141,2144],{},[38,2110,2111],{},"29 avril 2026",", un attaquant a publié ",[38,2114,2115],{},"quatre versions malveillantes"," (2.0.4 à 2.0.7) du package npm ",[38,2118,2119],{},[83,2120,2121],{},"tanstack"," (non lié à l’organisation officielle ",[38,2124,2125],{},"@tanstack",", connue pour des bibliothèques comme TanStack Query, TanStack Table, etc.). Ces versions contenaient un ",[38,2128,2129,2130],{},"script ",[83,2131,2132],{},"postinstall"," conçu pour ",[38,2135,2136,2137],{},"exfiltrer les fichiers ",[83,2138,2139],{},".env"," (et autres fichiers sensibles) vers un endpoint contrôlé par l’attaquant via ",[38,2142,2143],{},"Svix",", un service légitime de webhooks.",[31,2146,2147],{},[62,2148,2149],{"href":2149,"rel":2150},"https:\u002F\u002Fwww.aikido.dev\u002Fblog\u002Ffake-tanstack-packages-steal-env-files",[66],[26,2152,2154],{"id":2153},"ai-style-design","AI style design",[31,2156,2157],{},[62,2158,2161],{"href":2159,"rel":2160},"https:\u002F\u002Fguess-the-designer.replit.app\u002F",[66],"https:\u002F\u002Fguess-the-designer.replit.app",[26,2163,2165],{"id":2164},"uish","UI.sh",[31,2167,2168,2172],{},[62,2169,2165],{"href":2170,"rel":2171},"http:\u002F\u002FUI.sh",[66]," ?",[31,2174,2175],{},"Est-ce que ça vaut le coup ou pas ?",[31,2177,2178],{},"120$ year",[31,2180,2181],{},[62,2182,2185],{"href":2183,"rel":2184},"https:\u002F\u002Fimpeccable.style\u002F",[66],"https:\u002F\u002Fimpeccable.style",[26,2187,2189],{"id":2188},"open-design","Open Design",[31,2191,2192],{},[62,2193,2194],{"href":2194,"rel":2195},"https:\u002F\u002Fgithub.com\u002Fnexu-io\u002Fopen-design\u002F",[66],[26,2197,2199],{"id":2198},"laravel-abuse","Laravel abuse !",[31,2201,2202],{},[62,2203,2204],{"href":2204,"rel":2205},"https:\u002F\u002Fphp.developpez.com\u002Factu\u002F382285\u002FLaravel-injecte-desormais-des-publicites-directement-dans-le-contexte-de-votre-agent-IA-pour-orienter-les-developpeurs-vers-son-offre-cloud-commerciale-apres-avoir-leve-57-millions-de-dollars-en-capital-risque\u002F",[66],[26,2207,2209],{"id":2208},"benchmark","Benchmark",[31,2211,2212],{},[62,2213,2214],{"href":2214,"rel":2215},"https:\u002F\u002Fwww.blogdumoderateur.com\u002Fbenchmarks-ia-evaluations-modeles-crise-credibilite\u002F",[66],[26,2217,2219],{"id":2218},"rtk","RTK",[31,2221,2222],{},[62,2223,2224],{"href":2224,"rel":2225},"https:\u002F\u002Fgithub.com\u002Frtk-ai\u002Frtk",[66],[26,2227,2229],{"id":2228},"flue","Flue",[31,2231,2232],{},[62,2233,2236],{"href":2234,"rel":2235},"https:\u002F\u002Fflueframework.com\u002F",[66],"https:\u002F\u002Fflueframework.com",[31,2238,2239],{},[62,2240,2241],{"href":2241,"rel":2242},"https:\u002F\u002Fgithub.com\u002Fwithastro\u002Fflue",[66],[26,2244,2246],{"id":2245},"clear-site-data","Clear site data !",[31,2248,2249],{},[62,2250,2251],{"href":2251,"rel":2252},"https:\u002F\u002Fx.com\u002FMozDevNet\u002Fstatus\u002F2049458826580267459",[66],[26,2254,2256],{"id":2255},"claude-500-par-mois","Claude 500$ par mois",[31,2258,2259],{},[62,2260,2263],{"href":2261,"rel":2262},"https:\u002F\u002Fwww.linkedin.com\u002Fpulse\u002Fvotre-abonnement-claude-%C3%A0-500-par-mois-%C3%AAtes-vous-pr%C3%AAt-chris-lefevre-cvpje\u002F",[66],"https:\u002F\u002Fwww.linkedin.com\u002Fpulse\u002Fvotre-abonnement-claude-à-500-par-mois-êtes-vous-prêt-chris-lefevre-cvpje\u002F",[26,2265,2267],{"id":2266},"vibe-kanban","Vibe Kanban",[31,2269,2270],{},[62,2271,2272],{"href":2272,"rel":2273},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=W76woOYHlvY",[66],[26,2275,2277],{"id":2276},"matt-pocock-principles-for-ai-coding","Matt Pocock - Principles for AI Coding",[31,2279,2280],{},[62,2281,2282],{"href":2282,"rel":2283},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=v4F1gFy-hqg",[66],{"title":81,"searchDepth":118,"depth":118,"links":2285},[2286,2287,2288,2289,2290,2291,2292,2293,2294,2295,2296,2297,2298,2299,2300,2301,2302,2303],{"id":2026,"depth":118,"text":2027},{"id":2044,"depth":118,"text":2045},{"id":2058,"depth":118,"text":2059},{"id":2072,"depth":118,"text":2073},{"id":2085,"depth":118,"text":2086},{"id":2095,"depth":118,"text":2096},{"id":2105,"depth":118,"text":2106},{"id":2153,"depth":118,"text":2154},{"id":2164,"depth":118,"text":2165},{"id":2188,"depth":118,"text":2189},{"id":2198,"depth":118,"text":2199},{"id":2208,"depth":118,"text":2209},{"id":2218,"depth":118,"text":2219},{"id":2228,"depth":118,"text":2229},{"id":2245,"depth":118,"text":2246},{"id":2255,"depth":118,"text":2256},{"id":2266,"depth":118,"text":2267},{"id":2276,"depth":118,"text":2277},[674],"Nous évoquons TypeScript 7 qui débarque en beta, NPMX et son indicateur « You might not need this dependency », un agent Cursor qui détruit une base de prod en neuf secondes, le faux package TanStack qui volait les fichiers .env, Laravel qui glisse des publicités dans le contexte des agents IA, et quelques outils comme React Email 6, Starship ou Patterns.dev.","DS_131_news-mai26","https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fv1778059761\u002Fepisode\u002FART_131_yyi6wl.png",131,[],{},"\u002Fpodcasts\u002Fnews-mai26","2026-05-06",{"title":2021,"description":2305},"podcasts\u002F131.news-mai26\u002Findex","Les news pour mai 2026, TypeScript 7, sécurité npm, IA et outils du mois.",[1267,1270,2121,2317,2318,2319,2058,1274,2228,2320,2321],"npmx","laravel","react email","security","claude","N4cECyxaZik","wmEUOYjGOay1zgyenlivQqdS-xoSyGjV0vBH9yC4scc",{"id":2325,"title":2326,"author":21,"body":2327,"categories":2621,"description":2622,"dsSlug":2623,"duration":681,"episodeArtwork":2624,"episodeNumber":2625,"episodeType":679,"explicit":6,"extension":680,"guid":681,"links":2626,"meta":2627,"navigation":684,"path":2628,"publicationDate":2629,"season":118,"seo":2630,"status":688,"stem":2631,"subtitle":2632,"tags":2633,"videoLink":2638,"__hash__":2639},"podcasts\u002Fpodcasts\u002F130.news-avril26\u002Findex.md","News avril 2026, Cursor et Copilot dans la tourmente, Axios compromis et Arrow JS",{"type":23,"value":2328,"toc":2603},[2329,2333,2341,2345,2351,2365,2369,2377,2381,2389,2393,2402,2411,2415,2424,2428,2434,2442,2446,2461,2465,2479,2484,2510,2514,2522,2526,2529,2538,2542,2551,2555,2563,2567,2576,2580,2589,2593,2601],[26,2330,2332],{"id":2331},"cursor-sort-composer-2","Cursor sort Composer 2",[56,2334,2335],{},[59,2336,2337],{},[62,2338,2339],{"href":2339,"rel":2340},"https:\u002F\u002Fcursor.com\u002Ffr\u002Fblog\u002Fcomposer-2",[66],[26,2342,2344],{"id":2343},"copilot-injecte-des-ads-dans-les-pr","Copilot injecte des ads dans les PR !",[31,2346,2347,2350],{},[38,2348,2349],{},"e 30 Mars 2026 :"," GitHub a dû désactiver une fonctionnalité de Copilot qui injectait des pubs dans les Pull Requests.",[56,2352,2353,2359],{},[59,2354,2355],{},[62,2356,2357],{"href":2357,"rel":2358},"https:\u002F\u002Fnotes.zachmanson.com\u002Fcopilot-edited-an-ad-into-my-pr\u002F",[66],[59,2360,2361],{},[62,2362,2363],{"href":2363,"rel":2364},"https:\u002F\u002Fgithub.com\u002FPlagueHO\u002Fplagueho.github.io\u002Fpull\u002F24#issue-3076164344",[66],[26,2366,2368],{"id":2367},"les-modèles-de-copilot-vont-sentraîner-sur-vos-données-à-partir-du-24-avril-2026","Les modèles de Copilot vont s'entraîner sur vos données à partir du 24 avril 2026.",[56,2370,2371],{},[59,2372,2373],{},[62,2374,2375],{"href":2375,"rel":2376},"https:\u002F\u002Fwww.perplexity.ai\u002Fpage\u002Fgithub-to-train-ai-on-copilot-xqOPKn9QQJ6SMNryKd6b_A",[66],[26,2378,2380],{"id":2379},"cursor-3","Cursor 3",[56,2382,2383],{},[59,2384,2385],{},[62,2386,2387],{"href":2387,"rel":2388},"https:\u002F\u002Fcursor.com\u002Fblog\u002Fcursor-3",[66],[26,2390,2392],{"id":2391},"arrowjs","ArrowJS",[31,2394,2395,2396,2401],{},"Arrow requires no build step, no JSX compilation, no React compiler, no Vite plugin (there is one if you need SSR), no Vue template complier, and yet it runs incredibly fast at less than 5kb over the wire. When coupled with the ",[62,2397,2400],{"href":2398,"rel":2399},"https:\u002F\u002Farrow-js.com\u002F#sandbox",[66],"Arrow sandbox",", it's perfect for interfaces produced by chat agents too.",[56,2403,2404],{},[59,2405,2406],{},[62,2407,2410],{"href":2408,"rel":2409},"https:\u002F\u002Farrow-js.com\u002F",[66],"https:\u002F\u002Farrow-js.com",[26,2412,2414],{"id":2413},"vault-cms","Vault CMS",[56,2416,2417],{},[59,2418,2419],{},[62,2420,2423],{"href":2421,"rel":2422},"https:\u002F\u002Fvaultcms.org\u002F",[66],"https:\u002F\u002Fvaultcms.org",[26,2425,2427],{"id":2426},"adaptateur-nextjs","Adaptateur Next.js",[31,2429,2430,2433],{},[38,2431,2432],{},"C'est la fin du vendor lock-in"," sur Vercel pour Next.js. Chaque plateforme aura le même niveau de support.",[56,2435,2436],{},[59,2437,2438],{},[62,2439,2440],{"href":2440,"rel":2441},"https:\u002F\u002Fnextjs.org\u002Fblog\u002Fnextjs-across-platforms",[66],[26,2443,2445],{"id":2444},"wasmer-edge-js","Wasmer Edge js",[56,2447,2448,2455],{},[59,2449,2450],{},[62,2451,2454],{"href":2452,"rel":2453},"https:\u002F\u002Fedgejs.org\u002F",[66],"https:\u002F\u002Fedgejs.org",[59,2456,2457],{},[62,2458,2459],{"href":2459,"rel":2460},"https:\u002F\u002Fwasmer.io\u002Fposts\u002Fedgejs-safe-nodejs-using-wasm-sandbox",[66],[26,2462,2464],{"id":2463},"axios-compromis","Axios compromis !!",[56,2466,2467,2473],{},[59,2468,2469],{},[62,2470,2471],{"href":2471,"rel":2472},"https:\u002F\u002Flesjoiesducode.fr\u002Faxios-npm-compromis-cheval-de-troie",[66],[59,2474,2475],{},[62,2476,2477],{"href":2477,"rel":2478},"https:\u002F\u002Fgithub.com\u002Faxios\u002Faxios\u002Fissues\u002F10636#issuecomment-4182134203",[66],[31,2480,2481],{},[38,2482,2483],{},"Solutions pour prévenir ce genre de problèmes :",[56,2485,2486,2492,2498,2504],{},[59,2487,2488],{},[62,2489,2490],{"href":2490,"rel":2491},"https:\u002F\u002Fsocket.dev\u002Fblog\u002Fintroducing-socket-firewall",[66],[59,2493,2494],{},[62,2495,2496],{"href":2496,"rel":2497},"https:\u002F\u002Fx.com\u002Fbunjavascript\u002Fstatus\u002F2038891841144389959",[66],[59,2499,2500],{},[62,2501,2502],{"href":2502,"rel":2503},"https:\u002F\u002Fsocket.dev\u002Fblog\u002Fsocket-integrates-with-bun-1-3-security-scanner-api",[66],[59,2505,2506],{},[62,2507,2508],{"href":2508,"rel":2509},"https:\u002F\u002Fx.com\u002Fmajortal\u002Fstatus\u002F2038894343696634239",[66],[26,2511,2513],{"id":2512},"seer","Seer",[56,2515,2516],{},[59,2517,2518],{},[62,2519,2520],{"href":2520,"rel":2521},"https:\u002F\u002Fsentry.io\u002Fproduct\u002Fseer\u002F",[66],[26,2523,2525],{"id":2524},"emdash","EmDash",[31,2527,2528],{},"Cloudflare développe un CMS TypeScript équivalent à WordPress qui, d'après eux, corrige les principaux défauts du CMS.",[56,2530,2531],{},[59,2532,2533],{},[62,2534,2537],{"href":2535,"rel":2536},"https:\u002F\u002Fblog.cloudflare.com\u002Femdash-wordpress?utm_campaign=cf_blog&utm_content=20260401&utm_medium=organic_social&utm_source=twitter\u002F",[66],"https:\u002F\u002Fblog.cloudflare.com\u002Femdash-wordpress",[26,2539,2541],{"id":2540},"can-i-run-ai","Can i Run AI",[56,2543,2544],{},[59,2545,2546],{},[62,2547,2550],{"href":2548,"rel":2549},"https:\u002F\u002Fwww.canirun.ai\u002F",[66],"https:\u002F\u002Fwww.canirun.ai",[26,2552,2554],{"id":2553},"llmfit","Llmfit",[56,2556,2557],{},[59,2558,2559],{},[62,2560,2561],{"href":2561,"rel":2562},"https:\u002F\u002Fgithub.com\u002FAlexsJones\u002Fllmfit",[66],[26,2564,2566],{"id":2565},"motion-wind","Motion Wind",[56,2568,2569],{},[59,2570,2571],{},[62,2572,2575],{"href":2573,"rel":2574},"https:\u002F\u002Fwww.motionwind.xyz\u002F",[66],"https:\u002F\u002Fwww.motionwind.xyz",[26,2577,2579],{"id":2578},"design-system","Design system",[56,2581,2582],{},[59,2583,2584],{},[62,2585,2588],{"href":2586,"rel":2587},"https:\u002F\u002Fwww.linkedin.com\u002Fpulse\u002F23-marques-et-800-d%C3%A9veloppeurs-le%C3%A7ons-dun-design-system-rapha%C3%ABl-badia-99g5e\u002F",[66],"https:\u002F\u002Fwww.linkedin.com\u002Fpulse\u002F23-marques-et-800-développeurs-leçons-dun-design-system-raphaël-badia-99g5e\u002F",[26,2590,2592],{"id":2591},"pinterest-est-passé-aux-carrousels-css-natifs","Pinterest est passé aux carrousels CSS natifs",[56,2594,2595],{},[59,2596,2597],{},[62,2598,2599],{"href":2599,"rel":2600},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=oWJPu3yvfp8&t=2s",[66],[31,2602,662],{},{"title":81,"searchDepth":118,"depth":118,"links":2604},[2605,2606,2607,2608,2609,2610,2611,2612,2613,2614,2615,2616,2617,2618,2619,2620],{"id":2331,"depth":118,"text":2332},{"id":2343,"depth":118,"text":2344},{"id":2367,"depth":118,"text":2368},{"id":2379,"depth":118,"text":2380},{"id":2391,"depth":118,"text":2392},{"id":2413,"depth":118,"text":2414},{"id":2426,"depth":118,"text":2427},{"id":2444,"depth":118,"text":2445},{"id":2463,"depth":118,"text":2464},{"id":2512,"depth":118,"text":2513},{"id":2524,"depth":118,"text":2525},{"id":2540,"depth":118,"text":2541},{"id":2553,"depth":118,"text":2554},{"id":2565,"depth":118,"text":2566},{"id":2578,"depth":118,"text":2579},{"id":2591,"depth":118,"text":2592},[674],"Un épisode où l'on évoque le drama pour la sortie du nouveau modèle de Cursor, Copilot qui injecte des bugs dans les PR et qui va utiliser vos données pour s'entraîner, un nouveau framework JS — Next.js — qui s'adapte enfin aux autres providers, Axios qui se fait injecter du code malveillant, et quelques outils.","DS_130_news-avril26","https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fq_auto\u002Ff_auto\u002Fv1775232343\u002FART_130_jvz7f3.png",130,[],{},"\u002Fpodcasts\u002Fnews-avril26","2026-04-03",{"title":2326,"description":2622},"podcasts\u002F130.news-avril26\u002Findex","Les news pour avril 2026, nouveau modèle, nouveau framework JS et IA.",[1270,2634,2635,2636,2391,2637],"composer 2","copilot","axios","nextjs","kgAUN5messQ","SWS8qwtIMVOps9sDDQmeRaG_QeYRRZvJHN4EFpinQZU",{"id":2641,"title":2642,"author":21,"body":2643,"categories":2929,"description":2930,"dsSlug":2931,"duration":681,"episodeArtwork":2932,"episodeNumber":2933,"episodeType":679,"explicit":6,"extension":680,"guid":681,"links":2934,"meta":2935,"navigation":684,"path":2936,"publicationDate":2937,"season":118,"seo":2938,"status":688,"stem":2939,"subtitle":2940,"tags":2941,"videoLink":2944,"__hash__":2945},"podcasts\u002Fpodcasts\u002F129.news-mars26\u002Findex.md","News Mars 2026, Vite+, Void Cloud, du drama et de l'IA",{"type":23,"value":2644,"toc":2907},[2645,2649,2658,2662,2670,2674,2682,2686,2694,2698,2701,2710,2719,2727,2734,2738,2746,2750,2758,2762,2770,2774,2782,2786,2794,2801,2805,2813,2817,2825,2829,2832,2840,2844,2852,2856,2865,2869,2877,2881,2884,2892,2896,2899,2905],[26,2646,2648],{"id":2647},"léquipe-sort-de-la-spa-et-revient-en-mpa","L’équipe sort de la SPA et revient en MPA",[56,2650,2651],{},[59,2652,2653],{},[62,2654,2657],{"href":2655,"rel":2656},"https:\u002F\u002Fmedium.com\u002Flequipe-tech\u002Fde-spa-%C3%A0-mpa-reprendre-en-main-la-performance-500c506d2983",[66],"https:\u002F\u002Fmedium.com\u002Flequipe-tech\u002Fde-spa-à-mpa-reprendre-en-main-la-performance-500c506d2983",[26,2659,2661],{"id":2660},"mcp-datagouv","MCP DataGouv",[56,2663,2664],{},[59,2665,2666],{},[62,2667,2668],{"href":2668,"rel":2669},"https:\u002F\u002Fwww.data.gouv.fr\u002Fposts\u002Fexperimentation-autour-dun-serveur-mcp-pour-datagouv",[66],[26,2671,2673],{"id":2672},"mistral-forge","Mistral Forge",[56,2675,2676],{},[59,2677,2678],{},[62,2679,2680],{"href":2680,"rel":2681},"https:\u002F\u002Fmistral.ai\u002Fnews\u002Fforge",[66],[26,2683,2685],{"id":2684},"dell-pro-max","Dell Pro max",[56,2687,2688],{},[59,2689,2690],{},[62,2691,2692],{"href":2692,"rel":2693},"https:\u002F\u002Fwww.businesswire.com\u002Fnews\u002Fhome\u002F20260316408062\u002Fen\u002FDell-Technologies-First-to-Ship-NVIDIA-GB300-Desktop-for-Autonomous-AI-Agents-with-NVIDIA-NemoClaw-and-NVIDIA-OpenShell",[66],[26,2695,2697],{"id":2696},"air","Air",[31,2699,2700],{},"Agentic development environment",[56,2702,2703],{},[59,2704,2705],{},[62,2706,2709],{"href":2707,"rel":2708},"https:\u002F\u002Fair.dev\u002F",[66],"https:\u002F\u002Fair.dev",[26,2711,2713,2714,2718],{"id":2712},"un-dev-une-ia-copient-recodent-nextjs-en-version-workers-en-une-semaine","Un dev + une IA ",[2715,2716,2717],"del",{},"copient"," recodent Next.js en version Workers en une semaine",[56,2720,2721],{},[59,2722,2723],{},[62,2724,2725],{"href":2725,"rel":2726},"https:\u002F\u002Fblog.cloudflare.com\u002Fvinext\u002F",[66],[31,2728,2729,2730],{},"Réaction du coté de Vercel ",[62,2731,2732],{"href":2732,"rel":2733},"https:\u002F\u002Fx.com\u002Frauchg\u002Fstatus\u002F2026864132423823499?s=20",[66],[26,2735,2737],{"id":2736},"chat-sdk","Chat SDK",[56,2739,2740],{},[59,2741,2742],{},[62,2743,2744],{"href":2744,"rel":2745},"https:\u002F\u002Fgithub.com\u002Fvercel\u002Fchat",[66],[26,2747,2749],{"id":2748},"db-vectoriel-embarquée","DB Vectoriel embarquée",[56,2751,2752],{},[59,2753,2754],{},[62,2755,2756],{"href":2756,"rel":2757},"https:\u002F\u002Fgithub.com\u002Falibaba\u002Fzvec",[66],[26,2759,2761],{"id":2760},"laravel-13","Laravel 13",[56,2763,2764],{},[59,2765,2766],{},[62,2767,2768],{"href":2768,"rel":2769},"https:\u002F\u002Flaravel.com\u002Fdocs\u002F13.x\u002Freleases",[66],[26,2771,2773],{"id":2772},"vite-8","Vite 8",[56,2775,2776],{},[59,2777,2778],{},[62,2779,2780],{"href":2780,"rel":2781},"https:\u002F\u002Fvite.dev\u002Fblog\u002Fannouncing-vite8",[66],[26,2783,2785],{"id":2784},"void-cloud","Void Cloud",[56,2787,2788],{},[59,2789,2790],{},[62,2791,2792],{"href":2792,"rel":2793},"https:\u002F\u002Fvoid.cloud\u002F",[66],[31,2795,2796,2797],{},"Réaction d’Evan You suite aux critiques ",[62,2798,2799],{"href":2799,"rel":2800},"https:\u002F\u002Fx.com\u002Fyouyuxi\u002Fstatus\u002F2032501581644497139?s=20",[66],[26,2802,2804],{"id":2803},"vite-plus-alpha","Vite plus (alpha)",[56,2806,2807],{},[59,2808,2809],{},[62,2810,2811],{"href":2811,"rel":2812},"https:\u002F\u002Fvoidzero.dev\u002Fposts\u002Fannouncing-vite-plus-alpha",[66],[26,2814,2816],{"id":2815},"personal-computer-perplexity","Personal Computer Perplexity",[56,2818,2819],{},[59,2820,2821],{},[62,2822,2823],{"href":2823,"rel":2824},"https:\u002F\u002Fwww.perplexity.ai\u002Fpersonal-computer-waitlist",[66],[26,2826,2828],{"id":2827},"css-tabular-nums","CSS Tabular Nums",[31,2830,2831],{},"Pas du tout nouveau mais j’avais envie d’en parler",[56,2833,2834],{},[59,2835,2836],{},[62,2837,2838],{"href":2838,"rel":2839},"https:\u002F\u002Fx.com\u002Fsorenblank\u002Fstatus\u002F2028520200417706017?s=20",[66],[26,2841,2843],{"id":2842},"web-haptics","Web Haptics",[56,2845,2846],{},[59,2847,2848],{},[62,2849,2850],{"href":2850,"rel":2851},"https:\u002F\u002Fhaptics.lochie.me\u002F",[66],[26,2853,2855],{"id":2854},"paykit","Paykit",[56,2857,2858],{},[59,2859,2860],{},[62,2861,2864],{"href":2862,"rel":2863},"https:\u002F\u002Fpaykit.sh\u002F",[66],"https:\u002F\u002Fpaykit.sh",[26,2866,2868],{"id":2867},"google-antigravity-de-gratuit-à-275mois-sans-prévenir","Google Antigravity - De gratuit à 275€\u002Fmois sans prévenir",[56,2870,2871],{},[59,2872,2873],{},[62,2874,2875],{"href":2875,"rel":2876},"https:\u002F\u002Fkorben.info\u002Fgoogle-antigravity-bait-and-switch.html",[66],[26,2878,2880],{"id":2879},"lia-sait-jouer-aux-tests","L’IA sait jouer aux tests",[31,2882,2883],{},"100% code coverage ne veut pas dire que tous les cas sont testés !",[56,2885,2886],{},[59,2887,2888],{},[62,2889,2890],{"href":2890,"rel":2891},"https:\u002F\u002Fbenoit.gouthiere.be\u002Fblog\u002Fia-code-tu-testes\u002F",[66],[26,2893,2895],{"id":2894},"étude-ia-sur-long-terme","Étude IA sur long terme",[31,2897,2898],{},"Alibaba a testé 18 agents de codage IA sur 100 bases de code réelles, sur une période de 233 jours pour chacune. Leur échec a été retentissant.\nRéussir les tests une seule fois s'avère facile. Maintenir du code pendant 8 mois sans tout casser, c'est là que l'IA s'effondre complètement.\nSWE-CI est le premier benchmark qui mesure la maintenance du code à long terme plutôt que les corrections de bugs ponctuelles. Chaque tâche suit 71 commits consécutifs d'évolution réelle.\n75 % des modèles cassent du code fonctionnel lors de la maintenance. Seuls Claude Opus 4.5 et 4.6 affichent un taux de régression nul supérieur à 50 %. Tous les autres modèles accumulent une dette technique qui s'aggrave à chaque itération.",[31,2900,2901],{},[62,2902,2903],{"href":2903,"rel":2904},"https:\u002F\u002Farxiv.org\u002Fabs\u002F2603.03823",[66],[31,2906,662],{},{"title":81,"searchDepth":118,"depth":118,"links":2908},[2909,2910,2911,2912,2913,2914,2916,2917,2918,2919,2920,2921,2922,2923,2924,2925,2926,2927,2928],{"id":2647,"depth":118,"text":2648},{"id":2660,"depth":118,"text":2661},{"id":2672,"depth":118,"text":2673},{"id":2684,"depth":118,"text":2685},{"id":2696,"depth":118,"text":2697},{"id":2712,"depth":118,"text":2915},"Un dev + une IA copient recodent Next.js en version Workers en une semaine",{"id":2736,"depth":118,"text":2737},{"id":2748,"depth":118,"text":2749},{"id":2760,"depth":118,"text":2761},{"id":2772,"depth":118,"text":2773},{"id":2784,"depth":118,"text":2785},{"id":2803,"depth":118,"text":2804},{"id":2815,"depth":118,"text":2816},{"id":2827,"depth":118,"text":2828},{"id":2842,"depth":118,"text":2843},{"id":2854,"depth":118,"text":2855},{"id":2867,"depth":118,"text":2868},{"id":2879,"depth":118,"text":2880},{"id":2894,"depth":118,"text":2895},[674],"Nous évoquons le média L'Équipe qui repasse en MPA, Void Zero qui arrive avec plusieurs sorties. Vite 8, Vite Plus et Void Cloud. Datagouv nous propose du MCP, Mistral vous donne la possibilité d'avoir votre propre modèle, un DB vectoriel embarqué et des études sur l'IA.","DS_129_news-mars26","https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fv1773850355\u002FART_129_efsvof.png",129,[],{},"\u002Fpodcasts\u002Fnews-mars26","2026-03-18",{"title":2642,"description":2930},"podcasts\u002F129.news-mars26\u002Findex","Les news pour le mois de mars 2026, du dev, du js et de l'IA",[1975,2318,2942,695,2943],"vite","cloudflare","v63hhVHonJQ","Y47l4ffD_TEJCrmTs-BmcNMECyK-aDLrdQYlIPQEcFs",{"id":2947,"title":2948,"author":21,"body":2949,"categories":3053,"description":3054,"dsSlug":3055,"duration":681,"episodeArtwork":3056,"episodeNumber":3057,"episodeType":679,"explicit":6,"extension":680,"guid":681,"links":3058,"meta":3059,"navigation":684,"path":3060,"publicationDate":3061,"season":118,"seo":3062,"status":688,"stem":3063,"subtitle":3064,"tags":3065,"videoLink":3071,"__hash__":3072},"podcasts\u002Fpodcasts\u002F128.iafatigue\u002Findex.md","L'IA nous rend-elle plus productifs... ou plus crevés ?",{"type":23,"value":2950,"toc":3046},[2951,2955,2958,2966,2970,2973,2976,2985,2989,2992,3000,3004,3007,3015,3018,3023,3027,3030,3044],[26,2952,2954],{"id":2953},"_1-limpact-sur-lapprentissage","1 - L'impact sur l'apprentissage",[31,2956,2957],{},"Quel est l'impact sur l'apprentissage ? Antropic révèle une étude sur 52 développeurs et teste l'apprentissage d'une technologie avec IA et sans IA.",[56,2959,2960],{},[59,2961,2962],{},[62,2963,2964],{"href":2964,"rel":2965},"https:\u002F\u002Fwww.anthropic.com\u002Fresearch\u002FAI-assistance-coding-skills",[66],[26,2967,2969],{"id":2968},"_2-quels-impacts-sur-le-long-terme","2 - Quels impacts sur le long terme ?",[31,2971,2972],{},"Les études et benchmarks se concentrent sur les gains à court terme. Mais qu'en est-il pour le long terme ? Serons-nous encore codés ou réfléchirons-nous dans quelques mois\u002Fannées ?",[31,2974,2975],{},"Des études se mettent en place pour évaluer les changements sur le long terme :",[56,2977,2978],{},[59,2979,2980],{},[62,2981,2984],{"href":2982,"rel":2983},"https:\u002F\u002Farxiv.org\u002Fabs\u002F2602.03593",[66],"Beyond the Commit: Developer Perspectives on Productivity with AI Coding Assistants",[26,2986,2988],{"id":2987},"_3-ia-fatigue-sur-les-employés","3 - \"IA Fatigue\" sur les employés",[31,2990,2991],{},"Vous n'êtes pas seul ! Votre société vous impose des outils, mais vous ne savez pas comment les utiliser ? Vous avez peur d'être remplacé. Un article vous présente les bonnes méthodes pour remonter la pente.",[56,2993,2994],{},[59,2995,2996],{},[62,2997,2998],{"href":2998,"rel":2999},"https:\u002F\u002Fwww.forbes.com\u002Fsites\u002Fcarolinecastrillon\u002F2025\u002F06\u002F24\u002Fwhy-ai-fatigue-is-wearing-you-down-and-how-to-beat-it\u002F",[66],[26,3001,3003],{"id":3002},"_4-ia-fatigue-chez-les-devs","4 - \"IA Fatigue\" chez les devs",[31,3005,3006],{},"C'est déjà une réalité, pour preuve ce tweet :",[56,3008,3009],{},[59,3010,3011],{},[62,3012,3013],{"href":3013,"rel":3014},"https:\u002F\u002Fx.com\u002Feliaswalyba\u002Fstatus\u002F2023157830170083567?s=20",[66],[31,3016,3017],{},"Et aussi un retour d'expérience d'un développeur qui utilise l'IA au quotidien et qui a fini par craquer ! Il nous explique par quoi il est passé et les choses qu'il a mises en place pour éviter de retomber dans la déprime.",[56,3019,3020],{},[59,3021,3022],{},"Retour d'expérience d'un dev qui utilise l'IA au quotidien et qui a fini par craquer !",[26,3024,3026],{"id":3025},"podcast","Podcast",[31,3028,3029],{},"Episode du podcast Underscore \"L'IA va-t-elle nous rendre tous idiots ?\"",[56,3031,3032,3038],{},[59,3033,3034],{},[62,3035,3036],{"href":3036,"rel":3037},"https:\u002F\u002Fopen.spotify.com\u002Fepisode\u002F5LKUDiC3hPrfbGagy8O8xh",[66],[59,3039,3040],{},[62,3041,3042],{"href":3042,"rel":3043},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=4xq6bVbS-Pw",[66],[31,3045,662],{},{"title":81,"searchDepth":118,"depth":118,"links":3047},[3048,3049,3050,3051,3052],{"id":2953,"depth":118,"text":2954},{"id":2968,"depth":118,"text":2969},{"id":2987,"depth":118,"text":2988},{"id":3002,"depth":118,"text":3003},{"id":3025,"depth":118,"text":3026},[674],"L'IA nous rend souvent plus productifs, ça, c'est indéniable. Seulement, pourquoi vous sentez-vous plus fatigué que jamais ? Vos tâches ont-elles radicalement changé ? Avez-vous l'impression de ne plus maîtriser les choses, que tout va trop vite ? Peut-être êtes-vous victime de la fatigue liée à l'IA ? Dans cet épisode, nous allons parler de ce mal qui émerge et dont personne ne parle encore.","DS_128_iafatigue","https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fv1772388449\u002FART_128_cbbk9z.png",128,[],{},"\u002Fpodcasts\u002Fiafatigue","2026-03-02",{"title":2948,"description":3054},"podcasts\u002F128.iafatigue\u002Findex","IA Fatigue, l'IA nous rend-elle plus productifs... ou plus crevés ?",[3066,3067,3068,3069,3070],"ia","productivité","fatigue","bien-être","épuisement","9CCTfMwxEbE","BLN1SjOYYP9zr_7_M16_0oyPKrCHB9aKfo2vBDwX-xQ",{"id":3074,"title":3075,"author":21,"body":3076,"categories":3339,"description":3340,"dsSlug":3341,"duration":681,"episodeArtwork":3342,"episodeNumber":3343,"episodeType":679,"explicit":6,"extension":680,"guid":681,"links":3344,"meta":3345,"navigation":684,"path":3346,"publicationDate":3347,"season":118,"seo":3348,"status":688,"stem":3349,"subtitle":3350,"tags":3351,"videoLink":3357,"__hash__":3358},"podcasts\u002Fpodcasts\u002F127.news-fev26\u002Findex.md","News Février 2026, du WebMCP, des agents spammeurs et du Markdown.",{"type":23,"value":3077,"toc":3321},[3078,3082,3090,3094,3103,3107,3116,3120,3128,3132,3141,3144,3147,3155,3159,3167,3171,3179,3183,3186,3190,3198,3202,3210,3214,3223,3227,3230,3238,3244,3252,3255,3258,3261,3265,3268,3277,3281,3289,3299,3306,3312,3319],[26,3079,3081],{"id":3080},"cloudflare-markdown-for-agent","Cloudflare markdown for agent",[56,3083,3084],{},[59,3085,3086],{},[62,3087,3088],{"href":3088,"rel":3089},"https:\u002F\u002Fdevelopers.cloudflare.com\u002Ffundamentals\u002Freference\u002Fmarkdown-for-agents\u002F",[66],[26,3091,3093],{"id":3092},"ui-sh","UI sh",[56,3095,3096],{},[59,3097,3098],{},[62,3099,3102],{"href":3100,"rel":3101},"https:\u002F\u002Fui.sh\u002F",[66],"https:\u002F\u002Fui.sh",[26,3104,3106],{"id":3105},"native-php-free","Native PHP free",[56,3108,3109],{},[59,3110,3111],{},[62,3112,3115],{"href":3113,"rel":3114},"https:\u002F\u002Fnativephp.com\u002F",[66],"https:\u002F\u002Fnativephp.com",[26,3117,3119],{"id":3118},"jeu-trois-rivières","Jeu Trois rivières",[56,3121,3122],{},[59,3123,3124],{},[62,3125,3126],{"href":3126,"rel":3127},"https:\u002F\u002Fkorben.info\u002Ftrois-rivieres-le-jeu-video-qui-sensibilise-a-lecologie.html",[66],[26,3129,3131],{"id":3130},"picoclaw","PicoClaw",[56,3133,3134],{},[59,3135,3136],{},[62,3137,3140],{"href":3138,"rel":3139},"https:\u002F\u002Fpicoclaw.net\u002F",[66],"https:\u002F\u002Fpicoclaw.net",[26,3142,3143],{"id":2317},"NPMX",[31,3145,3146],{},"Fast npm registry",[56,3148,3149],{},[59,3150,3151],{},[62,3152,3153],{"href":3153,"rel":3154},"https:\u002F\u002Fnpmx.dev\u002Fsearch",[66],[26,3156,3158],{"id":3157},"transformerjs-v4","TransformerJS v4",[56,3160,3161],{},[59,3162,3163],{},[62,3164,3165],{"href":3165,"rel":3166},"https:\u002F\u002Fhuggingface.co\u002Fblog\u002Ftransformersjs-v4",[66],[26,3168,3170],{"id":3169},"observatoire-de-la-souveraineté","Observatoire de la Souveraineté",[56,3172,3173],{},[59,3174,3175],{},[62,3176,3177],{"href":3177,"rel":3178},"https:\u002F\u002Fproton.me\u002Ffr\u002Fbusiness\u002Feurope-tech-watch",[66],[26,3180,3182],{"id":3181},"webmcp","WebMCP",[31,3184,3185],{},"Fournir des outils aux agents pour interagir avec un site web.",[68,3187,3189],{"id":3188},"dans-chrome-145-en-experimental","Dans Chrome 145 en experimental",[56,3191,3192],{},[59,3193,3194],{},[62,3195,3196],{"href":3196,"rel":3197},"https:\u002F\u002Fdeveloper.chrome.com\u002Fblog\u002Fwebmcp-epp?hl=fr",[66],[68,3199,3201],{"id":3200},"concepts","Concepts",[56,3203,3204],{},[59,3205,3206],{},[62,3207,3208],{"href":3208,"rel":3209},"https:\u002F\u002Fdocs.mcp-b.ai\u002Fintroduction",[66],[68,3211,3213],{"id":3212},"article","Article",[56,3215,3216],{},[59,3217,3218],{},[62,3219,3222],{"href":3220,"rel":3221},"https:\u002F\u002Fmedium.com\u002Freading-sh\u002Fchromes-webmcp-makes-ai-agents-stop-pretending-e8c7da1ba650",[66],"https:\u002F\u002Fmedium.com\u002Freading-sh\u002Fchromes-webmcp-makes-ai-agents-stop-pretending-e8c7da1ba650?sk=f729fbaf4c5b2a973fef3e64bda46956",[26,3224,3226],{"id":3225},"projet-open-source-spammés-par-des-agents-ia","Projet Open-source spammés par des agents IA",[31,3228,3229],{},"Rien ne vas plus, les projets open-sources sont spammé par des issues ouvertes par des agents IA.",[56,3231,3232],{},[59,3233,3234],{},[62,3235,3236],{"href":3236,"rel":3237},"https:\u002F\u002Fx.com\u002Fyouyuxi\u002Fstatus\u002F2022504876153147756?s=20",[66],[3239,3240,3241],"blockquote",{},[31,3242,3243],{},"L'IA, avec ses problèmes de spam et ses hallucinations, crée des problèmes qui n'existent pas... Imaginez que des agents de programmation prennent ça pour argent comptant. C'est vraiment triste. :\u002F",[56,3245,3246],{},[59,3247,3248],{},[62,3249,3250],{"href":3250,"rel":3251},"https:\u002F\u002Fgithub.com\u002Forgs\u002Fcommunity\u002Fdiscussions\u002F185387",[66],[31,3253,3254],{},"GitHub a publié une mise à jour à la fois honnête et inquiétante. L'IA est utilisée pour soumettre à la chaîne des pull requests (PR) dans des dépôts populaires. Ces contributions ignorent les règles, échouent aux contrôles qualité de base et sont immédiatement abandonnées. Pour les mainteneurs, cela représente des heures passées chaque semaine à examiner des contributions inutiles au lieu de développer de nouvelles fonctionnalités.",[31,3256,3257],{},"La réponse de GitHub est double. À court terme, la plateforme ajoute des permissions de PR configurables et la possibilité de supprimer les PR indésirables depuis l'interface. À long terme, elle explore des outils de triage basés sur l'IA pour lutter contre ce spam généré par l'IA elle-même.",[31,3259,3260],{},"L'IA facilite la contribution, ce qui est formidable. Mais elle facilite aussi les contributions de faible qualité, ce qui crée de réels problèmes. GitHub marche sur un fil. Trop restrictif, et l'accès des nouveaux contributeurs devient difficile. Trop permissif, et le spam l'emporte.",[26,3262,3264],{"id":3263},"mago-php","Mago PHP",[31,3266,3267],{},"Formater, linter pour PHP.",[56,3269,3270],{},[59,3271,3272],{},[62,3273,3276],{"href":3274,"rel":3275},"https:\u002F\u002Fmago.carthage.software\u002F",[66],"https:\u002F\u002Fmago.carthage.software",[26,3278,3280],{"id":3279},"_200-lignes-de-de-markdown-font-perdre-285-milliard-de-dollars","200 lignes de de markdown font perdre 285 milliard de dollars",[56,3282,3283],{},[59,3284,3285],{},[62,3286,3287],{"href":3287,"rel":3288},"https:\u002F\u002Fnatesnewsletter.substack.com\u002Fp\u002F200-lines-of-markdown-just-triggered",[66],[31,3290,3291,3292,3295,3296,251],{},"Ce fichier n’a pas ",[38,3293,3294],{},"causé la chute",", il l’a ",[38,3297,3298],{},"révélée",[31,3300,3301,3302,3305],{},"Le markdown a mis en lumière la ",[38,3303,3304],{},"fragilité du modèle de tarification “par siège”"," (licences par utilisateur), qui a dominé l’industrie SaaS depuis ~20 ans.",[31,3307,3308,3309,251],{},"Si l’IA peut automatiser des tâches facturées traditionnellement à l’heure\u002Fpersonne, alors les ",[38,3310,3311],{},"marges des fournisseurs SaaS sont menacées immédiatement, pas dans le futur",[31,3313,3314,3315,3318],{},"Certains traders ont même parlé de “",[38,3316,3317],{},"SaaSpocalypse","” — une vente panique basée sur cette dynamique.",[31,3320,662],{},{"title":81,"searchDepth":118,"depth":118,"links":3322},[3323,3324,3325,3326,3327,3328,3329,3330,3331,3336,3337,3338],{"id":3080,"depth":118,"text":3081},{"id":3092,"depth":118,"text":3093},{"id":3105,"depth":118,"text":3106},{"id":3118,"depth":118,"text":3119},{"id":3130,"depth":118,"text":3131},{"id":2317,"depth":118,"text":3143},{"id":3157,"depth":118,"text":3158},{"id":3169,"depth":118,"text":3170},{"id":3181,"depth":118,"text":3182,"children":3332},[3333,3334,3335],{"id":3188,"depth":151,"text":3189},{"id":3200,"depth":151,"text":3201},{"id":3212,"depth":151,"text":3213},{"id":3225,"depth":118,"text":3226},{"id":3263,"depth":118,"text":3264},{"id":3279,"depth":118,"text":3280},[674],"Nous évoquons l'arrivée des WebMCP, l'option Cloudflare qui permet de retourner du markdown sur une requête, NativePHP qui devient open-source et gratuit, un jeu éducatif pour les enfants, TransformerJS qui arrive en V4, les projets open-source qui se font spammer et la perte de confiance des marchés envers les SaaS.","DS_127_news-fev26","https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fv1771363427\u002FART_127_fidhxe.png",127,[],{},"\u002Fpodcasts\u002Fnews-fev26","2026-02-18",{"title":3075,"description":3340},"podcasts\u002F127.news-fev26\u002Findex","Les news sur le développement web et l'IA pour février 2026 RC1",[2943,3352,3353,3354,3130,3355,3356,3181],"ui","php","nativephp","transformerjs","souverainete","Uwq-TIg580Q","UK7z5-aqrJaHYQhQGtjpJ1XgHAxonsz9aS12z8N01NI",{"id":3360,"title":3361,"author":21,"body":3362,"categories":3615,"description":3616,"dsSlug":3617,"duration":681,"episodeArtwork":3618,"episodeNumber":3619,"episodeType":679,"explicit":6,"extension":680,"guid":681,"links":3620,"meta":3621,"navigation":684,"path":3622,"publicationDate":3623,"season":118,"seo":3624,"status":688,"stem":3625,"subtitle":3626,"tags":3627,"videoLink":3633,"__hash__":3634},"podcasts\u002Fpodcasts\u002F126.news-jan26\u002Findex.md","🤖 News Janvier 2026 : Open Code, Qwen Code et un peu de code",{"type":23,"value":3363,"toc":3597},[3364,3368,3371,3379,3383,3386,3394,3398,3401,3409,3413,3416,3424,3428,3431,3439,3443,3446,3454,3458,3461,3469,3473,3481,3485,3488,3497,3501,3504,3512,3516,3519,3527,3534,3537,3551,3555,3558,3566,3570,3573,3581,3585,3588],[26,3365,3367],{"id":3366},"astro-rejoint-cloudflare","Astro rejoint Cloudflare",[31,3369,3370],{},"Bonne nouvelle ou mauvaise, seul l'avenir nous le dira !",[56,3372,3373],{},[59,3374,3375],{},[62,3376,3377],{"href":3377,"rel":3378},"https:\u002F\u002Fastro.build\u002Fblog\u002Fjoining-cloudflare\u002F",[66],[26,3380,3382],{"id":3381},"livewire-4","Livewire 4",[31,3384,3385],{},"Livewire passe en version 4 et tout est plus rapide.",[56,3387,3388],{},[59,3389,3390],{},[62,3391,3392],{"href":3392,"rel":3393},"https:\u002F\u002Fgithub.com\u002Flivewire\u002Flivewire\u002Freleases\u002Ftag\u002Fv4.0.0",[66],[26,3395,3397],{"id":3396},"jquery-4","JQuery 4",[31,3399,3400],{},"Vingt ans après sa sortie initiale, la bibliothèque jQuery, toujours aussi populaire (en termes d'utilisation réelle), atteint la version 4.0 avec une migration vers les modules ES (compatibles avec les outils de compilation modernes) et l'abandon de la prise en charge d'Internet Explorer 10 et des versions antérieures.",[56,3402,3403],{},[59,3404,3405],{},[62,3406,3407],{"href":3407,"rel":3408},"https:\u002F\u002Fblog.jquery.com\u002F2026\u002F01\u002F17\u002Fjquery-4-0-0\u002F",[66],[26,3410,3412],{"id":3411},"anime-js-layout","Anime JS Layout",[31,3414,3415],{},"Animer vos layouts de façon super simple.",[56,3417,3418],{},[59,3419,3420],{},[62,3421,3422],{"href":3422,"rel":3423},"https:\u002F\u002Fanimejs.com\u002Fdocumentation\u002Flayout",[66],[26,3425,3427],{"id":3426},"laravel-boost-20","Laravel Boost 2.0",[31,3429,3430],{},"V2 avec la prise en charge des skills",[56,3432,3433],{},[59,3434,3435],{},[62,3436,3437],{"href":3437,"rel":3438},"https:\u002F\u002Flaravel-news.com\u002Flaravel-boost-v2",[66],[26,3440,3442],{"id":3441},"claude-code-avec-ollama","Claude Code avec Ollama",[31,3444,3445],{},"Grand emballement comme d'habitude sur le fait que l'on peut faire tourner Claude Code avec une IA locale. Oui, c'est vrai ; par contre, pour obtenir de bons résultats, vous devez changer de machine et investir un bon paquet de dollars.",[56,3447,3448],{},[59,3449,3450],{},[62,3451,3452],{"href":3452,"rel":3453},"https:\u002F\u002Fx.com\u002Fdr_cintas\u002Fstatus\u002F2014380662300533180?s=20",[66],[26,3455,3457],{"id":3456},"comment-fonctionne-claude-code","Comment fonctionne Claude Code",[31,3459,3460],{},"Petite explication sur le fonctionnement de Claude Code.",[56,3462,3463],{},[59,3464,3465],{},[62,3466,3467],{"href":3467,"rel":3468},"https:\u002F\u002Fdiamantai.substack.com\u002Fp\u002Fstop-thinking-claude-code-is-magic",[66],[26,3470,3472],{"id":3471},"skill","Skill",[31,3474,3475,3476],{},"Vercel sort un annuaire des répertoires de skills à utiliser dans ses projets.\n-",[62,3477,3480],{"href":3478,"rel":3479},"https:\u002F\u002Fskills.sh\u002F",[66],"https:\u002F\u002Fskills.sh",[26,3482,3484],{"id":3483},"open-code","Open Code",[31,3486,3487],{},"Comme Claude mais pour différents providers. Donc mieux !",[56,3489,3490],{},[59,3491,3492],{},[62,3493,3496],{"href":3494,"rel":3495},"https:\u002F\u002Fopencode.ai\u002F",[66],"https:\u002F\u002Fopencode.ai",[26,3498,3500],{"id":3499},"qwen-code","Qwen Code",[31,3502,3503],{},"Comme Claude Code, mais pour Qwen Code, le modèle d'Alibaba IA.",[56,3505,3506],{},[59,3507,3508],{},[62,3509,3510],{"href":3510,"rel":3511},"https:\u002F\u002Fgithub.com\u002FQwenLM\u002Fqwen-code",[66],[26,3513,3515],{"id":3514},"la-folie-twitterx","La folie Twitter\u002FX",[31,3517,3518],{},"Arrêtez de croire tous les messages que vous voyez !",[56,3520,3521],{},[59,3522,3523],{},[62,3524,3525],{"href":3525,"rel":3526},"https:\u002F\u002Fx.com\u002Frameerez\u002Fstatus\u002F2015859121661059569",[66],[26,3528,3530,3533],{"id":3529},"clawdbot-moltbot",[2715,3531,3532],{},"Clawdbot"," Moltbot",[31,3535,3536],{},"Les gens deviennent fous et installent n’importe quoi. Attention à la sécurité.",[56,3538,3539,3545],{},[59,3540,3541],{},[62,3542,3543],{"href":3543,"rel":3544},"https:\u002F\u002Fgithub.com\u002Fmoltbot\u002Fmoltbot",[66],[59,3546,3547],{},[62,3548,3549],{"href":3549,"rel":3550},"https:\u002F\u002Fx.com\u002Frryssf_\u002Fstatus\u002F2015587158468300948?s=20",[66],[26,3552,3554],{"id":3553},"extensions-vscode-qui-volent-les-data-de-15-millions-de-dev","Extensions VSCode qui volent les data de 1,5 millions de dev",[31,3556,3557],{},"Attention aux extensions trop belles.",[56,3559,3560],{},[59,3561,3562],{},[62,3563,3564],{"href":3564,"rel":3565},"https:\u002F\u002Fwww.perplexity.ai\u002Fpage\u002Ftwo-ai-extensions-on-vs-code-m-P7uiORRbQAmFaq6fXKAmTQ",[66],[26,3567,3569],{"id":3568},"trouver-les-fuites-de-mémoire","Trouver les fuites de mémoire",[31,3571,3572],{},"Trouvez les fuites de mémoire dans vos applications.",[56,3574,3575],{},[59,3576,3577],{},[62,3578,3579],{"href":3579,"rel":3580},"https:\u002F\u002Ffacebook.github.io\u002Fmemlab\u002F",[66],[26,3582,3584],{"id":3583},"number-flow","Number Flow",[31,3586,3587],{},"Librairie de composants pour afficher vos nombres de façon classe !",[56,3589,3590],{},[59,3591,3592],{},[62,3593,3596],{"href":3594,"rel":3595},"https:\u002F\u002Fnumber-flow.barvian.me\u002F",[66],"https:\u002F\u002Fnumber-flow.barvian.me",{"title":81,"searchDepth":118,"depth":118,"links":3598},[3599,3600,3601,3602,3603,3604,3605,3606,3607,3608,3609,3610,3612,3613,3614],{"id":3366,"depth":118,"text":3367},{"id":3381,"depth":118,"text":3382},{"id":3396,"depth":118,"text":3397},{"id":3411,"depth":118,"text":3412},{"id":3426,"depth":118,"text":3427},{"id":3441,"depth":118,"text":3442},{"id":3456,"depth":118,"text":3457},{"id":3471,"depth":118,"text":3472},{"id":3483,"depth":118,"text":3484},{"id":3499,"depth":118,"text":3500},{"id":3514,"depth":118,"text":3515},{"id":3529,"depth":118,"text":3611},"Clawdbot Moltbot",{"id":3553,"depth":118,"text":3554},{"id":3568,"depth":118,"text":3569},{"id":3583,"depth":118,"text":3584},[674],"Dans cet épisode, nous évoquons du côté de l'IA, Claude Code avec Ollama, Open Code, Qwen Code et les compétences. L'équipe d'Astro qui migre vers Cloudflare. jQuery 4, Livewire 4 et une superbe librairie pour afficher vos chiffres.","DS_126_newsJanv26","https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fv1769619232\u002Fepisode\u002FART_126_ekvo7l.png",126,[],{},"\u002Fpodcasts\u002Fnews-jan26","2026-01-28",{"title":3361,"description":3616},"podcasts\u002F126.news-jan26\u002Findex","Les news sur le développement web et l'IA pour janvier 2026 RC1",[3628,2943,1268,3629,3630,3631,1274,3632],"skills","claude code","open code","qwen code","qwen","u3I9I1q8iSA","Zw5ehnUp_1nJh2r0zVD6k95fVO4ZObfDm0ucByf8wWc",{"id":3636,"title":3637,"author":21,"body":3638,"categories":3713,"description":3714,"dsSlug":3715,"duration":681,"episodeArtwork":3716,"episodeNumber":3717,"episodeType":679,"explicit":6,"extension":680,"guid":681,"links":3718,"meta":3719,"navigation":684,"path":3720,"publicationDate":3721,"season":118,"seo":3722,"status":688,"stem":3723,"subtitle":3724,"tags":3725,"videoLink":3728,"__hash__":3729},"podcasts\u002Fpodcasts\u002F125.inertia\u002Findex.md","Inertia JS, le front et le back unifiés",{"type":23,"value":3639,"toc":3711},[3640,3643,3646,3649,3652,3655,3669,3672,3709],[31,3641,3642],{},"L'avantage principal d'Inertia est qu'il permet aux développeurs de créer des applications web réactives sans avoir à gérer une API séparée. Au lieu de cela, Inertia agit comme un pont entre le front-end et le back-end, permettant aux développeurs de rendre des vues côté serveur tout en utilisant des composants front-end modernes.",[31,3644,3645],{},"Il supprime totalement la nécessité de construire une API REST ou GraphQL, ce qui simplifie le développement et réduit la complexité de l'application. Inertia gère la navigation côté client, les transitions de pages et le partage d'état entre les composants, offrant ainsi une expérience utilisateur fluide et réactive.",[31,3647,3648],{},"Pour la partie formulaires, Inertia facilite la gestion des soumissions de formulaires et des validations côté serveur, tout en permettant aux développeurs de conserver une logique de validation cohérente entre le front-end et le back-end. Un autre avantage, pour les formulaires, est la validation CSRF automatique. Les routes ne peuvent pas être appelées depuis une autre origine. Côté sécurité, c'est un plus.",[31,3650,3651],{},"Côté front, vous ne changez pas vos habitudes avec Vue.js ou React. Vous continuez à utiliser vos composants, votre état local et vos bibliothèques préférées. Inertia s'intègre parfaitement avec ces frameworks, vous permettant de tirer parti de leurs fonctionnalités tout en bénéficiant de la simplicité d'une architecture back-end traditionnelle.",[31,3653,3654],{},"Avantages d'Inertia JS :",[56,3656,3657,3660,3663,3666],{},[59,3658,3659],{},"On profite de tout l'écosystème Laravel.",[59,3661,3662],{},"Un seul projet back et front.",[59,3664,3665],{},"Mixe possible : un front classique HTML et une partie Inertia (connectée,…).",[59,3667,3668],{},"Les requêtes passent par le back, donc on peut utiliser les middlewares, l'authentification, etc.",[31,3670,3671],{},"Liens utiles :",[56,3673,3674,3681,3688,3695,3702],{},[59,3675,3676,3677],{},"Site officiel : ",[62,3678,3679],{"href":3679,"rel":3680},"https:\u002F\u002Finertiajs.com\u002F",[66],[59,3682,3683,3684],{},"Documentation : ",[62,3685,3686],{"href":3686,"rel":3687},"https:\u002F\u002Finertiajs.com\u002Fdocs",[66],[59,3689,3690,3691],{},"Inertia sur Adonis : ",[62,3692,3693],{"href":3693,"rel":3694},"https:\u002F\u002Fdocs.adonisjs.com\u002Fguides\u002Fviews-and-templates\u002Finertia",[66],[59,3696,3697,3698],{},"Starter kit Adonis + Inertia : ",[62,3699,3700],{"href":3700,"rel":3701},"https:\u002F\u002Fgithub.com\u002Fadonisjs\u002Finertia-starter-kit",[66],[59,3703,3704,3705],{},"Starter kit Laravel + Inertia : ",[62,3706,3707],{"href":3707,"rel":3708},"https:\u002F\u002Flaravel.com\u002Fstarter-kits",[66],[31,3710,662],{},{"title":81,"searchDepth":118,"depth":118,"links":3712},[],[674],"Inertia est un système qui permet de construire des applications web modernes en utilisant des frameworks front-end comme Vue.js ou React, tout en conservant une architecture back-end traditionnelle avec Laravel ou d'autres frameworks similaires.","DS_125_inertiaJS_frontBack","https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fv1768479819\u002Fepisode\u002FART_125_o7rqog.png",125,[],{},"\u002Fpodcasts\u002Finertia","2026-01-15",{"title":3637,"description":3714},"podcasts\u002F125.inertia\u002Findex","Construire des applications web modernes avec Inertia JS",[2318,3353,1267,3726,3727],"vue","inertia","MYNWK94LUxA","KxLA1521ijwdJgsfo1hSzDqeacxsWRHatjnSKn6fRKM",{"id":3731,"title":3732,"author":21,"body":3733,"categories":4107,"description":4108,"dsSlug":4109,"duration":681,"episodeArtwork":4110,"episodeNumber":4111,"episodeType":679,"explicit":6,"extension":680,"guid":681,"links":4112,"meta":4113,"navigation":684,"path":4114,"publicationDate":4115,"season":118,"seo":4116,"status":688,"stem":4117,"subtitle":4118,"tags":4119,"videoLink":4125,"__hash__":4126},"podcasts\u002Fpodcasts\u002F124.news-dec25\u002Findex.md","🤖 News Décembre 2025 : de l'IA, de la bêta et des pannes",{"type":23,"value":3734,"toc":4083},[3735,3739,3747,3751,3760,3764,3772,3776,3785,3789,3798,3802,3810,3814,3823,3827,3849,3857,3861,3864,3872,3876,3885,3889,3892,3900,3904,3912,3916,3924,3928,3933,3941,3945,3960,3964,3972,3975,3995,3999,4007,4011,4040,4044,4058,4062,4071,4075],[26,3736,3738],{"id":3737},"calendrier-laravel","Calendrier Laravel",[56,3740,3741],{},[59,3742,3743],{},[62,3744,3745],{"href":3745,"rel":3746},"https:\u002F\u002Flaravel.com\u002Fadvent",[66],[26,3748,3750],{"id":3749},"orion-browser","Orion browser",[56,3752,3753],{},[59,3754,3755],{},[62,3756,3759],{"href":3757,"rel":3758},"https:\u002F\u002Forionbrowser.com\u002F",[66],"https:\u002F\u002Forionbrowser.com",[26,3761,3763],{"id":3762},"landing-page-php-pour-la-sortie-de-85","Landing page PHP pour la sortie de 8.5",[56,3765,3766],{},[59,3767,3768],{},[62,3769,3770],{"href":3770,"rel":3771},"https:\u002F\u002Fwww.php.net\u002Freleases\u002F8.5\u002Fen.php",[66],[26,3773,3775],{"id":3774},"nano-thumbnail","Nano Thumbnail",[56,3777,3778],{},[59,3779,3780],{},[62,3781,3784],{"href":3782,"rel":3783},"https:\u002F\u002Fnanothumbnail.com\u002F",[66],"https:\u002F\u002Fnanothumbnail.com",[26,3786,3788],{"id":3787},"vue-ai-élément-librairie","Vue AI Élément librairie",[56,3790,3791],{},[59,3792,3793],{},[62,3794,3797],{"href":3795,"rel":3796},"https:\u002F\u002Fwww.ai-elements-vue.com\u002F",[66],"https:\u002F\u002Fwww.ai-elements-vue.com",[26,3799,3801],{"id":3800},"liquid-glass-react-wrapper","Liquid Glass React Wrapper",[56,3803,3804],{},[59,3805,3806],{},[62,3807,3808],{"href":3808,"rel":3809},"https:\u002F\u002Fgithub.com\u002Frdev\u002Fliquid-glass-react",[66],[26,3811,3813],{"id":3812},"juste-pour-le-fun-un-svg-manipulable-dans-le-footer-du-site-cloudflare-workers","Juste pour le fun, un SVG manipulable dans le footer du site Cloudflare Workers",[56,3815,3816],{},[59,3817,3818],{},[62,3819,3822],{"href":3820,"rel":3821},"https:\u002F\u002Fworkers.cloudflare.com\u002F",[66],"https:\u002F\u002Fworkers.cloudflare.com",[26,3824,3826],{"id":3825},"euria-dinfomaniak","EURIA d’infomaniak",[31,3828,3829,3832,3833,3836,3837,3840,3841,3844,3845,3848],{},[38,3830,3831],{},"É","thique, ",[38,3834,3835],{},"U","niverselle, ",[38,3838,3839],{},"R","esponsable, ",[38,3842,3843],{},"I","ndépendante et ",[38,3846,3847],{},"A","utonome",[56,3850,3851],{},[59,3852,3853],{},[62,3854,3855],{"href":3855,"rel":3856},"https:\u002F\u002Fnews.infomaniak.com\u002Feuria-assistant-ia-souverain\u002F",[66],[26,3858,3860],{"id":3859},"bloom","Bloom",[31,3862,3863],{},"IA pour construire des sites medusajs",[56,3865,3866],{},[59,3867,3868],{},[62,3869,3870],{"href":3870,"rel":3871},"https:\u002F\u002Fmedusajs.com\u002Fblog\u002Fintroducing-bloom\u002F",[66],[26,3873,3875],{"id":3874},"antigravity-éditeur-de-code-made-in-google","Antigravity éditeur de code made in Google",[56,3877,3878],{},[59,3879,3880],{},[62,3881,3884],{"href":3882,"rel":3883},"https:\u002F\u002Fantigravity.google\u002F",[66],"https:\u002F\u002Fantigravity.google",[26,3886,3888],{"id":3887},"site-antigravity-full-css","Site Antigravity full CSS",[31,3890,3891],{},"Refaire le site de l'éditeur en full CSS",[56,3893,3894],{},[59,3895,3896],{},[62,3897,3898],{"href":3898,"rel":3899},"https:\u002F\u002Fx.com\u002Fbramus\u002Fstatus\u002F1995969632466042961?s=20",[66],[26,3901,3903],{"id":3902},"vite-8-beta","Vite 8 beta",[56,3905,3906],{},[59,3907,3908],{},[62,3909,3910],{"href":3910,"rel":3911},"https:\u002F\u002Fvite.dev\u002Fblog\u002Fannouncing-vite8-beta",[66],[26,3913,3915],{"id":3914},"oxfmt-alpha","OXFMT alpha",[56,3917,3918],{},[59,3919,3920],{},[62,3921,3922],{"href":3922,"rel":3923},"https:\u002F\u002Fvoidzero.dev\u002Fposts\u002Fannouncing-oxfmt-alpha",[66],[26,3925,3927],{"id":3926},"tanstack-ia","TanStack IA",[31,3929,3930],{},[38,3931,3932],{},"A complete AI ecosystem, not a vendor platform",[56,3934,3935],{},[59,3936,3937],{},[62,3938,3939],{"href":3939,"rel":3940},"https:\u002F\u002Ftanstack.com\u002Fai\u002Flatest",[66],[26,3942,3944],{"id":3943},"anthropic-bun","Anthropic Bun",[56,3946,3947,3953],{},[59,3948,3949],{},[62,3950,3951],{"href":3951,"rel":3952},"https:\u002F\u002Fwww.anthropic.com\u002Fnews\u002Fanthropic-acquires-bun-as-claude-code-reaches-usd1b-milestone",[66],[59,3954,3955,3956],{},"😅 ",[62,3957,3958],{"href":3958,"rel":3959},"https:\u002F\u002Fx.com\u002Fterminaldotshop\u002Fstatus\u002F1995932448925114797?s=20",[66],[26,3961,3963],{"id":3962},"webgpu-sur-tous-les-principaux-browsers","WebGPU sur tous les principaux browsers",[56,3965,3966],{},[59,3967,3968],{},[62,3969,3970],{"href":3970,"rel":3971},"https:\u002F\u002Fweb.dev\u002Fblog\u002Fwebgpu-supported-major-browsers",[66],[31,3973,3974],{},"WebGPU représente la prochaine génération d’API graphique pour le web, apportant la puissance des API natives modernes directement dans le navigateur. Son architecture bas‑niveau, combinée à un langage de shading dédié (WGSL), ouvre la voie à des expériences visuelles et de calcul beaucoup plus riches que celles permises par WebGL. Si vous développez des applications nécessitant des rendus complexes, du calcul parallèle ou simplement une meilleure exploitation du GPU, il vaut la peine d’explorer dès maintenant WebGPU et ses outils associés.",[56,3976,3977,3983,3989],{},[59,3978,3979],{},[62,3980,3981],{"href":3981,"rel":3982},"https:\u002F\u002Fhuggingface.co\u002Fblog\u002Ftransformersjs-v3",[66],[59,3984,3985],{},[62,3986,3987],{"href":3987,"rel":3988},"https:\u002F\u002Fmistral.ai\u002Fnews\u002Fmistral-3",[66],[59,3990,3991],{},[62,3992,3993],{"href":3993,"rel":3994},"https:\u002F\u002Fhuggingface.co\u002Fspaces\u002Fmistralai\u002FMinistral_3B_WebGPU",[66],[26,3996,3998],{"id":3997},"panne-cloudflare-du-21-novembre-2025","Panne cloudflare du 21 novembre 2025",[56,4000,4001],{},[59,4002,4003],{},[62,4004,4005],{"href":4005,"rel":4006},"https:\u002F\u002Fcloud-computing.developpez.com\u002Factu\u002F377833\u002FUne-panne-massive-de-Cloudflare-a-ete-declenchee-par-une-erreur-de-configuration-qui-a-fait-doubler-la-taille-d-un-fichier-important-entrainant-des-perturbations-sur-de-nombreux-sites-et-services-en-ligne\u002F",[66],[68,4008,4010],{"id":4009},"les-alternatives-européennes","Les alternatives européennes",[56,4012,4013,4020,4027,4034],{},[59,4014,4015],{},[62,4016,4019],{"href":4017,"rel":4018},"https:\u002F\u002Fbunny.net",[66],"bunny.net",[59,4021,4022],{},[62,4023,4026],{"href":4024,"rel":4025},"https:\u002F\u002Fwww.keycdn.com",[66],"keycdn",[59,4028,4029],{},[62,4030,4033],{"href":4031,"rel":4032},"https:\u002F\u002Fwww.myrasecurity.com\u002F",[66],"https:\u002F\u002Fwww.myrasecurity.com",[59,4035,4036],{},[62,4037,4038],{"href":4038,"rel":4039},"https:\u002F\u002Fgcore.com\u002F",[66],[68,4041,4043],{"id":4042},"et-non-européennes","Et non européennes",[56,4045,4046,4052],{},[59,4047,4048],{},[62,4049,4050],{"href":4050,"rel":4051},"https:\u002F\u002Fwww.fastly.com\u002Ffr\u002F",[66],[59,4053,4054],{},[62,4055,4056],{"href":4056,"rel":4057},"https:\u002F\u002Fwww.akamai.com\u002Ffr",[66],[26,4059,4061],{"id":4060},"shader","Shader",[56,4063,4064],{},[59,4065,4066],{},[62,4067,4070],{"href":4068,"rel":4069},"https:\u002F\u002Fshaders.com\u002F",[66],"https:\u002F\u002Fshaders.com",[26,4072,4074],{"id":4073},"fizzy","Fizzy",[56,4076,4077],{},[59,4078,4079],{},[62,4080,4081],{"href":4081,"rel":4082},"https:\u002F\u002Fgithub.com\u002Fbasecamp\u002Ffizzy",[66],{"title":81,"searchDepth":118,"depth":118,"links":4084},[4085,4086,4087,4088,4089,4090,4091,4092,4093,4094,4095,4096,4097,4098,4099,4100,4101,4105,4106],{"id":3737,"depth":118,"text":3738},{"id":3749,"depth":118,"text":3750},{"id":3762,"depth":118,"text":3763},{"id":3774,"depth":118,"text":3775},{"id":3787,"depth":118,"text":3788},{"id":3800,"depth":118,"text":3801},{"id":3812,"depth":118,"text":3813},{"id":3825,"depth":118,"text":3826},{"id":3859,"depth":118,"text":3860},{"id":3874,"depth":118,"text":3875},{"id":3887,"depth":118,"text":3888},{"id":3902,"depth":118,"text":3903},{"id":3914,"depth":118,"text":3915},{"id":3926,"depth":118,"text":3927},{"id":3943,"depth":118,"text":3944},{"id":3962,"depth":118,"text":3963},{"id":3997,"depth":118,"text":3998,"children":4102},[4103,4104],{"id":4009,"depth":151,"text":4010},{"id":4042,"depth":151,"text":4043},{"id":4060,"depth":118,"text":4061},{"id":4073,"depth":118,"text":4074},[674],"Dans cet épisode, nous évoquons PHP avec Laravel et la landing page de la v8.5. Nous parlons également de l'IA avec EURIA d'Infomaniak, Bloom pour MedusaJS, TanStack IA, la bibliothèque Vue AI Élément, Anthropic qui achète Bun et l'arrivée de WebGPU sur les principaux navigateurs. Nous abordons aussi les pannes successives de Cloudflare, ainsi que ses alternatives européennes et non européennes.","DS_124_newsDec25","https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fv1765313645\u002Fepisode\u002FART_124_wf0qcz.png",124,[],{},"\u002Fpodcasts\u002Fnews-dec25","2025-12-10",{"title":3732,"description":4108},"podcasts\u002F124.news-dec25\u002Findex","Les news sur le développement web et l'IA pour décembre 2025 RC1",[2318,3353,1267,2943,4120,3726,4121,3355,2121,4122,1967,4123,4124,1274],"antigravity","webgpu","anthropic","euria","medusajs","IH4317UsceY","O7xhvKJaRbejAJ-V6J8TeV-Stzr8DwigcRQYy1_gWW0",{"id":4128,"title":4129,"author":21,"body":4130,"categories":4482,"description":4483,"dsSlug":4484,"duration":681,"episodeArtwork":4485,"episodeNumber":4486,"episodeType":679,"explicit":6,"extension":680,"guid":681,"links":4487,"meta":4488,"navigation":684,"path":4489,"publicationDate":4490,"season":118,"seo":4491,"status":688,"stem":4492,"subtitle":4493,"tags":4494,"videoLink":4497,"__hash__":4498},"podcasts\u002Fpodcasts\u002F123.news-nov25\u002Findex.md","🔥 News Novembre 2025 : 1an de MCP, Vercel Workflow, AI SDK et Mastra V1",{"type":23,"value":4131,"toc":4460},[4132,4136,4139,4147,4150,4153,4161,4165,4168,4176,4180,4183,4191,4195,4198,4212,4216,4224,4228,4236,4240,4248,4252,4265,4269,4277,4281,4297,4301,4326,4330,4338,4342,4350,4354,4357,4365,4369,4372,4380,4384,4417,4421,4435,4439,4448,4452],[26,4133,4135],{"id":4134},"mini-perplexity-open-source","Mini Perplexity open-source",[31,4137,4138],{},"Minimalistic AI-powered search engine",[56,4140,4141],{},[59,4142,4143],{},[62,4144,4145],{"href":4145,"rel":4146},"https:\u002F\u002Fgithub.com\u002Fzaidmukaddam\u002Fscira",[66],[26,4148,1321],{"id":4149},"react-foundation",[31,4151,4152],{},"Pour garantir une gouvernance neutre, ouverte et collaborative du développement de React et React Native. Seth Webster est à la tête de la fondation.",[56,4154,4155],{},[59,4156,4157],{},[62,4158,4159],{"href":4159,"rel":4160},"https:\u002F\u002Freact.dev\u002Fblog\u002F2025\u002F10\u002F07\u002Fintroducing-the-react-foundation",[66],[26,4162,4164],{"id":4163},"typescript-devient-le-premier-langage-sur-github-devant-python","TypeScript devient le premier langage sur GitHub (devant Python).",[31,4166,4167],{},"En août 2025, il a dépassé Python.",[56,4169,4170],{},[59,4171,4172],{},[62,4173,4174],{"href":4174,"rel":4175},"https:\u002F\u002Fgithub.blog\u002Fnews-insights\u002Foctoverse\u002Foctoverse-a-new-developer-joins-github-every-second-as-ai-leads-typescript-to-1",[66],[26,4177,4179],{"id":4178},"forgithub","Forgithub",[31,4181,4182],{},"Ajouter \"for\" devant une url de repository GitHub pour voir les outils disponibles.",[56,4184,4185],{},[59,4186,4187],{},[62,4188,4189],{"href":4189,"rel":4190},"https:\u002F\u002Fforgithub.com\u002Fdouble-slash-podcast\u002Fwebsite",[66],[26,4192,4194],{"id":4193},"php-85","PHP 8.5",[31,4196,4197],{},"2 articles sur cette nouvelle version :",[56,4199,4200,4206],{},[59,4201,4202],{},[62,4203,4204],{"href":4204,"rel":4205},"https:\u002F\u002Fles-tilleuls.coop\u002Fblog\u002Fsortie-de-php-8-5-ce-quil-faut-retenir",[66],[59,4207,4208],{},[62,4209,4210],{"href":4210,"rel":4211},"https:\u002F\u002Flaravel-france.com\u002Fposts\u002Fles-nouveautes-de-php-8-5-qui-vont-changer-votre-code",[66],[26,4213,4215],{"id":4214},"vercel-bun","Vercel 😍 Bun",[56,4217,4218],{},[59,4219,4220],{},[62,4221,4222],{"href":4222,"rel":4223},"https:\u002F\u002Fbun.com\u002Fblog\u002Fvercel-adds-native-bun-support",[66],[26,4225,4227],{"id":4226},"vitejs-le-doc","ViteJS le doc",[56,4229,4230],{},[59,4231,4232],{},[62,4233,4234],{"href":4234,"rel":4235},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=bmWQqAKLgT4",[66],[26,4237,4239],{"id":4238},"better-auth-databaseless","Better Auth DatabaseLess",[56,4241,4242],{},[59,4243,4244],{},[62,4245,4246],{"href":4246,"rel":4247},"https:\u002F\u002Fcanary.better-auth.com\u002Fdocs\u002Fconcepts\u002Fsession-management#stateless-session-management",[66],[26,4249,4251],{"id":4250},"vercel-workflow","Vercel Workflow",[56,4253,4254],{},[59,4255,4256,4260,4261],{},[62,4257,4258],{"href":4258,"rel":4259},"https:\u002F\u002Fuseworkflow.dev\u002F",[66],"\nDispo sur Nuxt ",[62,4262,4263],{"href":4263,"rel":4264},"https:\u002F\u002Fuseworkflow.dev\u002Fdocs\u002Fgetting-started\u002Fnuxt",[66],[26,4266,4268],{"id":4267},"cursor-v2","Cursor V2",[56,4270,4271],{},[59,4272,4273],{},[62,4274,4275],{"href":4275,"rel":4276},"https:\u002F\u002Fcursor.com\u002Fblog\u002F2-0",[66],[26,4278,4280],{"id":4279},"ai-sdk-tools","AI SDK Tools",[56,4282,4283,4290],{},[59,4284,4285],{},[62,4286,4289],{"href":4287,"rel":4288},"https:\u002F\u002Fai-sdk-tools.dev\u002F",[66],"https:\u002F\u002Fai-sdk-tools.dev",[59,4291,4292,4293],{},"L’histoire : ",[62,4294,4295],{"href":4295,"rel":4296},"https:\u002F\u002Fx.com\u002Fpontusab\u002Fstatus\u002F1983930049414967593?s=61",[66],[26,4298,4300],{"id":4299},"mastra-v1-beta","Mastra V1 Beta !",[56,4302,4303,4309],{},[59,4304,4305],{},[62,4306,4307],{"href":4307,"rel":4308},"https:\u002F\u002Fmastra.ai\u002Fblog\u002Fmastrav1",[66],[59,4310,4311,4312],{},"Conf IA",[56,4313,4314,4320],{},[59,4315,4316],{},[62,4317,4318],{"href":4318,"rel":4319},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=EvxcTGCeEW0",[66],[59,4321,4322],{},[62,4323,4324],{"href":4324,"rel":4325},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=3TqaDP63Qdk",[66],[26,4327,4329],{"id":4328},"arkregex","ArkRegex",[56,4331,4332],{},[59,4333,4334],{},[62,4335,4336],{"href":4336,"rel":4337},"https:\u002F\u002Farktype.io\u002Fdocs\u002Fblog\u002Farkregex",[66],[26,4339,4341],{"id":4340},"hyde-php-20","Hyde PHP 2.0",[56,4343,4344],{},[59,4345,4346],{},[62,4347,4348],{"href":4348,"rel":4349},"https:\u002F\u002Fhydephp.com\u002F",[66],[26,4351,4353],{"id":4352},"composer-29","Composer 2.9",[31,4355,4356],{},"Composer now automatically blocks updates to packages with known security advisories.",[56,4358,4359],{},[59,4360,4361],{},[62,4362,4363],{"href":4363,"rel":4364},"https:\u002F\u002Fblog.packagist.com\u002Fcomposer-2-9",[66],[26,4366,4368],{"id":4367},"home-brew","Home brew",[31,4370,4371],{},"Passe en version 5 et gagne sa compatibilité avec macOS 26, la dernière version du système d'exploitation.",[56,4373,4374],{},[59,4375,4376],{},[62,4377,4378],{"href":4378,"rel":4379},"https:\u002F\u002Fbrew.sh\u002F2025\u002F11\u002F12\u002Fhomebrew-5.0.0",[66],[26,4381,4383],{"id":4382},"happy-birthday-mcp","Happy birthday MCP",[56,4385,4386,4392,4398,4405,4411],{},[59,4387,4388],{},[62,4389,4390],{"href":4390,"rel":4391},"https:\u002F\u002Fwww.anthropic.com\u002Fnews\u002Fmodel-context-protocol",[66],[59,4393,4394],{},[62,4395,4396],{"href":4396,"rel":4397},"https:\u002F\u002Fhuggingface.co\u002FMCP-1st-Birthday",[66],[59,4399,4400,4401],{},"Bonus ⇒ ",[62,4402,4403],{"href":4403,"rel":4404},"https:\u002F\u002Fhuggingface.co\u002Flearn\u002Fmcp-course\u002Funit0\u002Fintroduction",[66],[59,4406,4407],{},[62,4408,4409],{"href":4409,"rel":4410},"https:\u002F\u002Fnuxt.com\u002Fblog\u002Fbuilding-nuxt-mcp",[66],[59,4412,4413],{},[62,4414,4415],{"href":4415,"rel":4416},"https:\u002F\u002Fwww.anthropic.com\u002Fengineering\u002Fcode-execution-with-mcp",[66],[26,4418,4420],{"id":4419},"directive-content-signal-policy","Directive Content Signal Policy",[56,4422,4423,4429],{},[59,4424,4425],{},[62,4426,4427],{"href":4427,"rel":4428},"https:\u002F\u002Fblog.cloudflare.com\u002Fcontent-signals-policy\u002F",[66],[59,4430,4431],{},[62,4432,4433],{"href":4433,"rel":4434},"https:\u002F\u002Fwp-performance.com\u002Frobots.txt",[66],[26,4436,4438],{"id":4437},"handy","Handy",[56,4440,4441],{},[59,4442,4443],{},[62,4444,4447],{"href":4445,"rel":4446},"https:\u002F\u002Fhandy.computer\u002F",[66],"https:\u002F\u002Fhandy.computer",[26,4449,4451],{"id":4450},"_7-animations-tips","7 animations tips",[56,4453,4454],{},[59,4455,4456],{},[62,4457,4458],{"href":4458,"rel":4459},"https:\u002F\u002Femilkowal.ski\u002Fui\u002F7-practical-animation-tips",[66],{"title":81,"searchDepth":118,"depth":118,"links":4461},[4462,4463,4464,4465,4466,4467,4468,4469,4470,4471,4472,4473,4474,4475,4476,4477,4478,4479,4480,4481],{"id":4134,"depth":118,"text":4135},{"id":4149,"depth":118,"text":1321},{"id":4163,"depth":118,"text":4164},{"id":4178,"depth":118,"text":4179},{"id":4193,"depth":118,"text":4194},{"id":4214,"depth":118,"text":4215},{"id":4226,"depth":118,"text":4227},{"id":4238,"depth":118,"text":4239},{"id":4250,"depth":118,"text":4251},{"id":4267,"depth":118,"text":4268},{"id":4279,"depth":118,"text":4280},{"id":4299,"depth":118,"text":4300},{"id":4328,"depth":118,"text":4329},{"id":4340,"depth":118,"text":4341},{"id":4352,"depth":118,"text":4353},{"id":4367,"depth":118,"text":4368},{"id":4382,"depth":118,"text":4383},{"id":4419,"depth":118,"text":4420},{"id":4437,"depth":118,"text":4438},{"id":4450,"depth":118,"text":4451},[674],"Dans cet épisode, nous évoquons la React Foundation, PHP 8.5, le document ViteJS, la gestion des workflows avec Vercel, Mastra et AI SDK, Composer PHP et le nouveau modèle de Cursor. Le premier anniversaire du MCP, Cloudflare qui fait la guerre aux bots et quelques outils et articles.","DS_123_news-nov25","https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fv1763134132\u002Fepisode\u002FART_123_csirmf.png",123,[],{},"\u002Fpodcasts\u002Fnews-nov25","2025-11-14",{"title":4129,"description":4483},"podcasts\u002F123.news-nov25\u002Findex","Les news sur le développement web et l'IA pour novembre 2025 RC1",[1975,3353,1267,4495,1270,4496,692,695,2943],"github","react","klfTSelCOTw","rSMpLAa_XFbu0zHqolIxcc9O8bnW6qfVf5BRpPS5NS0",{"id":4500,"title":4501,"author":21,"body":4502,"categories":4567,"description":4568,"dsSlug":4569,"duration":681,"episodeArtwork":4570,"episodeNumber":4571,"episodeType":679,"explicit":6,"extension":680,"guid":681,"links":4572,"meta":4573,"navigation":684,"path":4574,"publicationDate":4575,"season":118,"seo":4576,"status":688,"stem":4577,"subtitle":4578,"tags":4579,"videoLink":4585,"__hash__":4586},"podcasts\u002Fpodcasts\u002F122.better-auth\u002Findex.md","Better Auth, la solution ultime pour l'authentification",{"type":23,"value":4503,"toc":4560},[4504,4508,4522,4526,4529,4532,4539,4543,4546,4550,4553,4557],[26,4505,4507],{"id":4506},"better-auth-une-librairie-typescript-pour-lauthentification-et-les-autorisations","Better Auth : une librairie TypeScript pour l'authentification et les autorisations",[56,4509,4510,4516],{},[59,4511,4512],{},[62,4513,4514],{"href":4514,"rel":4515},"https:\u002F\u002Fwww.better-auth.com",[66],[59,4517,4518],{},[62,4519,4520],{"href":4520,"rel":4521},"https:\u002F\u002Fgithub.com\u002Fbetter-auth\u002Fbetter-auth",[66],[26,4523,4525],{"id":4524},"pourquoi-better-auth","Pourquoi Better Auth ?",[31,4527,4528],{},"Problèmes actuels avec les systèmes d'authentification",[31,4530,4531],{},"– Dépendance à des services tiers pour l'authentification\n– Limitations et contraintes liées à l'évolution des besoins\n– Importance de la sécurité et de la mise à jour des systèmes d'authentification",[31,4533,4534,4535],{},"Plus d'infos : ",[62,4536,4537],{"href":4537,"rel":4538},"https:\u002F\u002Fwww.better-auth.com\u002Fdocs\u002Fintroduction",[66],[26,4540,4542],{"id":4541},"la-proposition-de-better-auth","La proposition de Better Auth",[31,4544,4545],{},"– Une librairie TypeScript agnostique aux frameworks pour l'authentification et les autorisations\n– Composée de deux parties : serveur et client\n– Compatible avec plusieurs frameworks et bases de données",[26,4547,4549],{"id":4548},"fonctionnalités-clés-de-better-auth","Fonctionnalités clés de Better Auth",[31,4551,4552],{},"– Génération automatique de migrations pour les bases de données\n– Intégration avec des adaptateurs pour les ORM et les bases de données\n– Utilisation de hooks pour personnaliser le processus d'authentification\n– Support pour l'authentification par email et mot de passe, ainsi que pour les connexions sociales\n– Intégration avec des frameworks full stack et des microservices",[26,4554,4556],{"id":4555},"les-avantages-de-better-auth","Les avantages de Better Auth",[31,4558,4559],{},"– Flexibilité et personnalisation\n– Sécurité et mises à jour régulières\n– Intégration facile avec des frameworks et des bases de données\n– Système de plugins pour étendre les fonctionnalités",{"title":81,"searchDepth":118,"depth":118,"links":4561},[4562,4563,4564,4565,4566],{"id":4506,"depth":118,"text":4507},{"id":4524,"depth":118,"text":4525},{"id":4541,"depth":118,"text":4542},{"id":4548,"depth":118,"text":4549},{"id":4555,"depth":118,"text":4556},[674],"Dans cet épisode du podcast, nous plongeons dans un sujet qui touche absolument tous les développeurs : l’authentification. Cette partie de votre application devient vite un cauchemar dès qu’on veut faire plus que “email + mot de passe”. Nous allons parler de Better Auth, une librairie TypeScript qui promet de rendre l’authentification enfin agréable. Framework agnostique, elle vous apporte tout ce qu'il faut : 2FA, passkeys, multi-tenancy, multi-sessions, SSO... bref, tout ce qui fait qu’on finit normalement par pleurer dans la documentation ou à réinventer une roue carrée. Si vous voulez vous concentrer sur votre produit et arrêter de bricoler des flux d’authentification maison, cet épisode est pour vous.","DS_122_better-auth","https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fv1760035124\u002Fepisode\u002FART_122_hxhaur.png",122,[],{},"\u002Fpodcasts\u002Fbetter-auth","2025-10-30",{"title":4501,"description":4568},"podcasts\u002F122.better-auth\u002Findex","Better Auth, la solution ultime pour l'authentification et les autorisations en TypeScript",[4580,4581,1267,4582,4583,4584,2320],"authentication","authorization","passkeys","2FA","SSO","RNUwnZ7OeyU","DcUPxDoJf7UoWngRH7m_ZQo7wsHKshbXGRmhdEI9FJ8",{"id":4588,"title":4589,"author":21,"body":4590,"categories":4887,"description":4888,"dsSlug":4889,"duration":681,"episodeArtwork":4890,"episodeNumber":4891,"episodeType":679,"explicit":6,"extension":680,"guid":681,"links":4892,"meta":4893,"navigation":684,"path":4894,"publicationDate":4895,"season":118,"seo":4896,"status":688,"stem":4897,"subtitle":4589,"tags":4898,"videoLink":4902,"__hash__":4903},"podcasts\u002Fpodcasts\u002F121.news-oct25\u002Findex.md","Les news Web Dev d’octobre 2025. Adonis, Laravel, React Compiler, Vite+ et bien plus encore !",{"type":23,"value":4591,"toc":4865},[4592,4596,4604,4608,4623,4627,4635,4639,4647,4651,4659,4662,4666,4674,4678,4686,4690,4699,4703,4711,4715,4723,4727,4735,4739,4741,4744,4747,4750,4765,4768,4771,4774,4785,4789,4798,4802,4822,4826,4834,4838,4846,4850,4858,4863],[26,4593,4595],{"id":4594},"premier-navigateur-avec-js-30-ans-déjà","Premier navigateur avec JS, 30 ans déjà !",[56,4597,4598],{},[59,4599,4600],{},[62,4601,4602],{"href":4602,"rel":4603},"https:\u002F\u002Fwww.jwz.org\u002Fblog\u002F2025\u002F09\u002Fnetscape-navigator-2-0-was-released-30-years-ago-today\u002F",[66],[26,4605,4607],{"id":4606},"la-course-au-navigateur-a-repris","La course au navigateur a repris.",[56,4609,4610,4616],{},[59,4611,4612],{},[62,4613,4614],{"href":4614,"rel":4615},"https:\u002F\u002Fgithub.com\u002Fimputnet\u002Fhelium",[66],[59,4617,4618],{},[62,4619,4622],{"href":4620,"rel":4621},"https:\u002F\u002Fhelium.computer\u002F",[66],"https:\u002F\u002Fhelium.computer",[26,4624,4626],{"id":4625},"new-site-cloudflare-worker-built-with-astro","New site Cloudflare Worker (built with Astro)",[56,4628,4629],{},[59,4630,4631],{},[62,4632,3820],{"href":4633,"rel":4634},"https:\u002F\u002Fworkers.cloudflare.com\u002F?1",[66],[26,4636,4638],{"id":4637},"craft-cms-bascule-sur-laravel-sur-la-version-6","Craft CMS bascule sur Laravel sur la version 6",[56,4640,4641],{},[59,4642,4643],{},[62,4644,4645],{"href":4645,"rel":4646},"https:\u002F\u002Flaravel-news.com\u002Fcraft-cms-is-moving-to-laravel",[66],[26,4648,4650],{"id":4649},"wordpress-mcp-plugins","WordPress MCP plugins ?",[56,4652,4653],{},[59,4654,4655],{},[62,4656,4657],{"href":4657,"rel":4658},"https:\u002F\u002Fmake.wordpress.org\u002Fai\u002F2025\u002F07\u002F17\u002Fabilities-api",[66],[31,4660,4661],{},"Des plugins qui déclareront leurs capacités afin de pouvoir interagir avec des LLM, etc.",[26,4663,4665],{"id":4664},"adonis-à-10-ans","Adonis à 10 ans !",[56,4667,4668],{},[59,4669,4670],{},[62,4671,4672],{"href":4672,"rel":4673},"https:\u002F\u002Fadonisjs.com\u002Fblog\u002Fa-decade-of-adonisjs-and-the-future",[66],[26,4675,4677],{"id":4676},"webstudio-inception","WebStudio Inception",[56,4679,4680],{},[59,4681,4682],{},[62,4683,4684],{"href":4684,"rel":4685},"https:\u002F\u002Fwebstudio.is\u002Finception",[66],[26,4687,4689],{"id":4688},"hype-ou-expression-dun-ras-le-bol","Hype ou expression d'un ras-le-bol ?",[56,4691,4692],{},[59,4693,4694],{},[62,4695,4698],{"href":4696,"rel":4697},"https:\u002F\u002Fomarchy.org\u002F",[66],"https:\u002F\u002Fomarchy.org",[26,4700,4702],{"id":4701},"nuxt-ui-4-et-free","Nuxt UI 4 et Free !!",[56,4704,4705],{},[59,4706,4707],{},[62,4708,4709],{"href":4709,"rel":4710},"https:\u002F\u002Fnuxt.com\u002Fblog\u002Fnuxt-ui-v4",[66],[26,4712,4714],{"id":4713},"laravel-mcp","Laravel MCP",[56,4716,4717],{},[59,4718,4719],{},[62,4720,4721],{"href":4721,"rel":4722},"https:\u002F\u002Flaravel-news.com\u002Flaravel-mcp-beta",[66],[26,4724,4726],{"id":4725},"react-compiler-v1","React compiler V1",[56,4728,4729],{},[59,4730,4731],{},[62,4732,4733],{"href":4733,"rel":4734},"https:\u002F\u002Freact.dev\u002Fblog\u002F2025\u002F10\u002F07\u002Freact-compiler-1",[66],[26,4736,4738],{"id":4737},"vite-et-vite","Vite et Vite+",[68,4740,1407],{"id":2942},[31,4742,4743],{},"Rolldown encore en bêta mais de plus en plus stable. 22 fois plus rapide pour les builds.\nLancé avec Vite 8 début 2026 et bientôt avec la bêta 8.\nIls passent de plus en plus de plugins internes sur Rust.",[31,4745,4746],{},"Gros gains côté développement aussi, HMR, reload, etc. pour les grandes applications.",[68,4748,4749],{"id":2942},"Vite +",[56,4751,4752,4759],{},[59,4753,4754],{},[62,4755,4758],{"href":4756,"rel":4757},"https:\u002F\u002Fviteplus.dev\u002F",[66],"https:\u002F\u002Fviteplus.dev",[59,4760,4761],{},[62,4762,4763],{"href":4763,"rel":4764},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=x7Jsmt_o9ek",[66],[31,4766,4767],{},"Vite, Rolldown, Oxc, Vitest :\nFormatter, Linter, Transformer, Resolver, Minifier, Parser, Semantic Analysis\nVite est plus puissant et fait tout !\nTout fonctionne sur la même base et avec un seul fichier de configuration.",[31,4769,4770],{},"Monorepo, cache, etc.\nÀ noter, le cache fonctionne sans configuration.",[31,4772,4773],{},"Pour les équipes, plus besoin de se casser la tête sur l'outillage.\nPricing :",[56,4775,4776,4779,4782],{},[59,4777,4778],{},"Gratuit pour les projets open-source et les petites entreprises",[59,4780,4781],{},"Payant pour les startups et les moyennes entreprises",[59,4783,4784],{},"Entreprise",[26,4786,4788],{"id":4787},"elysiajs","Elysiajs",[56,4790,4791],{},[59,4792,4793],{},[62,4794,4797],{"href":4795,"rel":4796},"https:\u002F\u002Felysiajs.com\u002F",[66],"https:\u002F\u002Felysiajs.com",[26,4799,4801],{"id":4800},"cursor-cli-la-réponse-à-claude-desktop","Cursor CLI, la réponse à Claude Desktop",[56,4803,4804,4810,4813,4816,4819],{},[59,4805,4806],{},[62,4807,4808],{"href":4808,"rel":4809},"https:\u002F\u002Fcursor.com\u002Fcli",[66],[59,4811,4812],{},"Plan MODE",[59,4814,4815],{},"Slash commands (library of prompts)",[59,4817,4818],{},"Browser control",[59,4820,4821],{},"Bugbot (summary of the PR)",[26,4823,4825],{"id":4824},"github-copilot-cli-en-bêta","GitHub Copilot CLI en bêta",[56,4827,4828],{},[59,4829,4830],{},[62,4831,4832],{"href":4832,"rel":4833},"https:\u002F\u002Fgithub.blog\u002Fchangelog\u002F2025-09-25-github-copilot-cli-is-now-in-public-preview\u002F",[66],[26,4835,4837],{"id":4836},"scanner-les-packages-avant-leur-installation","Scanner les packages avant leur installation",[56,4839,4840],{},[59,4841,4842],{},[62,4843,4844],{"href":4844,"rel":4845},"https:\u002F\u002Fgithub.com\u002Flirantal\u002Fnpq",[66],[26,4847,4849],{"id":4848},"socket-firewall","Socket Firewall",[31,4851,4852,4853,4857],{},"Bloquer les paquets malveillants ",[4854,4855,4856],"em",{},"au moment de l’installation",", sur la machine du développeur.",[31,4859,4860],{},[62,4861,2490],{"href":2490,"rel":4862},[66],[31,4864,662],{},{"title":81,"searchDepth":118,"depth":118,"links":4866},[4867,4868,4869,4870,4871,4872,4873,4874,4875,4876,4877,4878,4882,4883,4884,4885,4886],{"id":4594,"depth":118,"text":4595},{"id":4606,"depth":118,"text":4607},{"id":4625,"depth":118,"text":4626},{"id":4637,"depth":118,"text":4638},{"id":4649,"depth":118,"text":4650},{"id":4664,"depth":118,"text":4665},{"id":4676,"depth":118,"text":4677},{"id":4688,"depth":118,"text":4689},{"id":4701,"depth":118,"text":4702},{"id":4713,"depth":118,"text":4714},{"id":4725,"depth":118,"text":4726},{"id":4737,"depth":118,"text":4738,"children":4879},[4880,4881],{"id":2942,"depth":151,"text":1407},{"id":2942,"depth":151,"text":4749},{"id":4787,"depth":118,"text":4788},{"id":4800,"depth":118,"text":4801},{"id":4824,"depth":118,"text":4825},{"id":4836,"depth":118,"text":4837},{"id":4848,"depth":118,"text":4849},[674],"Les 30 ans du premier navigateur qui embarquait JavaScript, les 10 ans d'Adonis, Craft CMS qui passe sur Laravel, la sortie de React Compiler V1, les annonces sur Vite+, Cursor CLI et GitHub CLI pour répondre à Claude CLI. Et comment vérifier les packages npm avant de les installer. Bonne écoute !","DS_121_news-oct25","https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fv1760531345\u002Fepisode\u002FART_121_f62ytf.png",121,[],{},"\u002Fpodcasts\u002Fnews-oct25","2025-10-15",{"title":4589,"description":4888},"podcasts\u002F121.news-oct25\u002Findex",[4496,2942,2318,4899,4900,1975,1653,693,1267,4901,2943,4495,1270],"adonis","craft cms","nodejs","rv5ljnVOWiE","-l9B-ViMOuuc4d7nwy0ZH_7o3wuX8wK1Hpu81toRAjM",{"id":4905,"title":4906,"author":21,"body":4907,"categories":4936,"description":4937,"dsSlug":4938,"duration":681,"episodeArtwork":4939,"episodeNumber":4940,"episodeType":679,"explicit":6,"extension":680,"guid":681,"links":4941,"meta":4942,"navigation":684,"path":4943,"publicationDate":4944,"season":118,"seo":4945,"status":688,"stem":4946,"subtitle":4947,"tags":4948,"videoLink":4949,"__hash__":4950},"podcasts\u002Fpodcasts\u002F120.archi\u002Findex.md","Architecture logicielle",{"type":23,"value":4908,"toc":4934},[4909,4912,4926,4929,4932],[31,4910,4911],{},"Attention : Négliger l'architecture de votre projet pourrait vous mener à des problèmes de performance, de scalabilité et de maintenance !\nVous apprendrez à :",[56,4913,4914,4917,4920,4923],{},[59,4915,4916],{},"Identifier les besoins fonctionnels et non fonctionnels de votre projet.",[59,4918,4919],{},"Comprendre les concepts de base de l'architecture logicielle : transport, stockage et transformation de données.",[59,4921,4922],{},"Découvrir comment concevoir une architecture scalable et performante.",[59,4924,4925],{},"Éviter les erreurs courantes qui peuvent coûter cher à long terme.",[31,4927,4928],{},"Vous ne voulez pas rester coincé avec un projet qui ne répond pas à vos besoins ? Vous voulez être en mesure de développer des applications performantes et scalables ?",[31,4930,4931],{},"Écoutez cet épisode pour acquérir les connaissances nécessaires pour concevoir une architecture logicielle solide et éviter les pièges courants.",[31,4933,662],{},{"title":81,"searchDepth":118,"depth":118,"links":4935},[],[674],"Vous souhaitez développer un projet web ou une application, mais vous ne savez pas par où commencer ? Vous avez peur de faire des erreurs qui pourraient vous coûter cher à long terme ? Dans cet épisode de Double Slash, Alex et Patrick vous guident à travers les concepts clés de l'architecture logicielle.","DS_120_archi","https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fv1759324754\u002Fepisode\u002FART_120_haob60.png",120,[],{},"\u002Fpodcasts\u002Farchi","2025-10-02",{"title":4906,"description":4937},"podcasts\u002F120.archi\u002Findex","Les bases pour bien structurer votre projet",[],"wsSz_iUU9j4","XmlABUrjtl1QpMdGoQONTdI7tMowNRY3sEXgmle-FIQ",{"id":4952,"title":4953,"author":21,"body":4954,"categories":5174,"description":5175,"dsSlug":5176,"duration":681,"episodeArtwork":5177,"episodeNumber":5178,"episodeType":679,"explicit":6,"extension":680,"guid":681,"links":5179,"meta":5180,"navigation":684,"path":5181,"publicationDate":5182,"season":118,"seo":5183,"status":688,"stem":5184,"subtitle":5185,"tags":5186,"videoLink":5190,"__hash__":5191},"podcasts\u002Fpodcasts\u002F119.news-sept25-rc2\u002Findex.md","Les news sur le développement web et l'IA pour septembre 2025 RC2",{"type":23,"value":4955,"toc":5157},[4956,4960,4969,4973,4981,4985,4993,4997,5017,5021,5024,5032,5036,5039,5047,5051,5054,5063,5067,5075,5079,5088,5092,5100,5104,5112,5116,5124,5128,5143,5147,5155],[26,4957,4959],{"id":4958},"nuxt-change-logs-page","Nuxt Change logs page",[56,4961,4962],{},[59,4963,4964],{},[62,4965,4968],{"href":4966,"rel":4967},"https:\u002F\u002Fnuxt-changelog.vercel.app\u002F",[66],"https:\u002F\u002Fnuxt-changelog.vercel.app",[26,4970,4972],{"id":4971},"dia-et-arc-chez-atlassian","Dia et Arc chez atlassian",[56,4974,4975],{},[59,4976,4977],{},[62,4978,4979],{"href":4979,"rel":4980},"https:\u002F\u002Fwww.atlassian.com\u002Fblog\u002Fannouncements\u002Fatlassian-acquires-the-browser-company",[66],[26,4982,4984],{"id":4983},"google-conserve-chrome","Google conserve Chrome",[56,4986,4987],{},[59,4988,4989],{},[62,4990,4991],{"href":4991,"rel":4992},"https:\u002F\u002Fwww.blogdumoderateur.com\u002Fgoogle-pas-demantele-conserve-navigateur-chrome",[66],[26,4994,4996],{"id":4995},"plusieurs-packages-npm-compromis","Plusieurs packages NPM compromis",[56,4998,4999,5005,5011],{},[59,5000,5001],{},[62,5002,5003],{"href":5003,"rel":5004},"https:\u002F\u002Fwww.aikido.dev\u002Fblog\u002Fnpm-debug-and-chalk-packages-compromised",[66],[59,5006,5007],{},[62,5008,5009],{"href":5009,"rel":5010},"https:\u002F\u002Fsocket.dev\u002Fblog\u002Fnpm-author-qix-compromised-in-major-supply-chain-attack",[66],[59,5012,5013],{},[62,5014,5015],{"href":5015,"rel":5016},"https:\u002F\u002Fsecurite.developpez.com\u002Factu\u002F375617\u002F20-paquets-JavaScript-npm-populaires-avec-2-milliards-de-telechargements-hebdomadaires-compromis-dans-une-attaque-la-plus-grande-attaque-de-la-chaine-d-approvisionnement-de-l-histoire",[66],[68,5018,5020],{"id":5019},"pnpm","PNPM",[31,5022,5023],{},"Peut-être qu'il faut utiliser un réglage pnpm pour ne pas charger les paquets trop récents ?",[56,5025,5026],{},[59,5027,5028],{},[62,5029,5030],{"href":5030,"rel":5031},"https:\u002F\u002Fx.com\u002Fcpojer\u002Fstatus\u002F1965408712551739587?s=61",[66],[26,5033,5035],{"id":5034},"ai-elements-is-now-open-source","AI Elements is now open-source",[31,5037,5038],{},"React et Shadcn\u002Fui",[56,5040,5041],{},[59,5042,5043],{},[62,5044,5045],{"href":5045,"rel":5046},"https:\u002F\u002Fai-sdk.dev\u002Felements\u002Foverview\u002Fsetup",[66],[26,5048,5050],{"id":5049},"telex-ia","Telex IA",[31,5052,5053],{},"Générateur de bloc gutenberg par IA",[56,5055,5056],{},[59,5057,5058],{},[62,5059,5062],{"href":5060,"rel":5061},"https:\u002F\u002Ftelex.automattic.ai\u002F",[66],"https:\u002F\u002Ftelex.automattic.ai",[26,5064,5066],{"id":5065},"create-llmstxt","Create llms.txt",[56,5068,5069],{},[59,5070,5071],{},[62,5072,5073],{"href":5073,"rel":5074},"https:\u002F\u002Fgithub.com\u002Ffirecrawl\u002Fcreate-llmstxt-py",[66],[26,5076,5078],{"id":5077},"bloquer-les-ai-bots","Bloquer les AI Bots",[56,5080,5081],{},[59,5082,5083],{},[62,5084,5087],{"href":5085,"rel":5086},"https:\u002F\u002Fgithub.com\u002Fai-robots-txt\u002Fai.robots.txt?ref=geeek.org",[66],"https:\u002F\u002Fgithub.com\u002Fai-robots-txt\u002Fai.robots.txt",[26,5089,5091],{"id":5090},"feedsmith-passe-en-v2","FeedSmith passe en V2",[56,5093,5094],{},[59,5095,5096],{},[62,5097,5098],{"href":5098,"rel":5099},"https:\u002F\u002Ffeedsmith.dev\u002F",[66],[26,5101,5103],{"id":5102},"how-to-keep-packagejson-under-control","How to keep package.json under control",[56,5105,5106],{},[59,5107,5108],{},[62,5109,5110],{"href":5110,"rel":5111},"https:\u002F\u002Fblog.val.town\u002Fgardening-dependencies",[66],[26,5113,5115],{"id":5114},"codex-passe-sur-gpt-5","Codex passe sur GPT-5",[56,5117,5118],{},[59,5119,5120],{},[62,5121,5122],{"href":5122,"rel":5123},"https:\u002F\u002Fopenai.com\u002Findex\u002Fintroducing-upgrades-to-codex",[66],[26,5125,5127],{"id":5126},"apertus-une-ia-vraiment-open-source","Apertus, une IA vraiment open-source !",[56,5129,5130,5137],{},[59,5131,5132],{},[62,5133,5136],{"href":5134,"rel":5135},"https:\u002F\u002Fpublicai.co\u002F",[66],"https:\u002F\u002Fpublicai.co",[59,5138,5139],{},[62,5140,5141],{"href":5141,"rel":5142},"https:\u002F\u002Fgithub.com\u002Fswiss-ai\u002Fapertus-tech-report\u002Fraw\u002Fmain\u002FApertus_Tech_Report.pdf",[66],[26,5144,5146],{"id":5145},"php-sdk-mcp","PHP SDK MCP",[56,5148,5149],{},[59,5150,5151],{},[62,5152,5153],{"href":5153,"rel":5154},"https:\u002F\u002Fthephp.foundation\u002Fblog\u002F2025\u002F09\u002F05\u002Fphp-mcp-sdk",[66],[31,5156,662],{},{"title":81,"searchDepth":118,"depth":118,"links":5158},[5159,5160,5161,5162,5165,5166,5167,5168,5169,5170,5171,5172,5173],{"id":4958,"depth":118,"text":4959},{"id":4971,"depth":118,"text":4972},{"id":4983,"depth":118,"text":4984},{"id":4995,"depth":118,"text":4996,"children":5163},[5164],{"id":5019,"depth":151,"text":5020},{"id":5034,"depth":118,"text":5035},{"id":5049,"depth":118,"text":5050},{"id":5065,"depth":118,"text":5066},{"id":5077,"depth":118,"text":5078},{"id":5090,"depth":118,"text":5091},{"id":5102,"depth":118,"text":5103},{"id":5114,"depth":118,"text":5115},{"id":5126,"depth":118,"text":5127},{"id":5145,"depth":118,"text":5146},[674],"Un épisode news dans lequel nous évoquons : une page Nuxt changelogs, Dia et Arc qui partent chez Atlassian, Google qui conserve Chrome, plusieurs packages NPM compromis, une librairie AI Elements qui devient open-source, Telex IA, comment créer des fichiers llms.txt, comment bloquer les bots AI, FeedSmith qui passe en V2, un article pour conserver son package.json sous contrôle, Codex qui passe sur GPT-5, Apertus, une IA vraiment open-source, et un SDK PHP pour faire des serveurs MCP.","DS_119_news-sept25-rc2","https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fv1758102044\u002Fepisode\u002FART_119_rtdn6v.png",119,[],{},"\u002Fpodcasts\u002Fnews-sept25-rc2","2025-09-17",{"title":4953,"description":5175},"podcasts\u002F119.news-sept25-rc2\u002Findex","Toutes les dernières news sur le développement web et l'IA pour septembre 2025 RC2",[5187,5188,1656,1710,5019,1274,5189,3353],"nuxt","atlassian","gpt-5","MSA5UTdi_lo","4b7hu1Un-dUu2oee6Em2vW2BjTi8ykfrSB5-dD3x-24",{"id":5193,"title":5194,"author":21,"body":5195,"categories":5608,"description":5609,"dsSlug":5610,"duration":681,"episodeArtwork":5611,"episodeNumber":5612,"episodeType":679,"explicit":6,"extension":680,"guid":681,"links":5613,"meta":5614,"navigation":684,"path":5615,"publicationDate":5616,"season":118,"seo":5617,"status":688,"stem":5618,"subtitle":5619,"tags":5620,"videoLink":5632,"__hash__":5633},"podcasts\u002Fpodcasts\u002F118.sept25-rc1\u002Findex.md","Les news sur le développement web et l'IA pour septembre 2025 RC1",{"type":23,"value":5196,"toc":5589},[5197,5201,5206,5234,5237,5241,5247,5250,5253,5273,5276,5279,5310,5314,5329,5333,5340,5346,5349,5355,5378,5382,5388,5391,5395,5401,5422,5426,5433,5437,5444,5450,5454,5460,5464,5470,5473,5489,5492,5496,5502,5506,5512,5519,5553,5557,5563,5566,5570,5577,5581,5587],[68,5198,5200],{"id":5199},"attention-malt","Attention Malt",[31,5202,5203],{},[38,5204,5205],{},"Schéma d’attaque identifié",[56,5207,5208,5215,5222,5228],{},[59,5209,5210,5211,5214],{},"Durée des projets ",[38,5212,5213],{},"très courte"," (souvent une seule journée)",[59,5216,5217,5218,5221],{},"Rémunération ",[38,5219,5220],{},"anormalement élevée"," par rapport à la simplicité apparente de la mission",[59,5223,5224,5225],{},"Présenté comme une ",[38,5226,5227],{},"aide rapide ou une simple tâche de débogage",[59,5229,5230,5231],{},"Avec une demande d’",[38,5232,5233],{},"exécuter un programme suspect",[31,5235,5236],{},"• Ne téléchargez pas, ni n’exécutez de fichiers dont l’origine ou le contenu vous semblent suspect",[26,5238,5240],{"id":5239},"gel-db","Gel DB",[31,5242,5243],{},[62,5244,5245],{"href":5245,"rel":5246},"https:\u002F\u002Fwww.geldata.com\u002Fblog\u002Fedgedb-is-now-gel-and-postgres-is-the-future",[66],[31,5248,5249],{},"EdgeDB, deviens Gel.",[31,5251,5252],{},"Opens source, PostgreSQL, ses fonctionnalités avancées et son extensibilité en font un outil unique et puissant.",[31,5254,5255,5256,5259,5260,5263,5264,258,5267,974,5270,251],{},"Gel offrira désormais un support complet pour ",[38,5257,5258],{},"SQL",", en plus de son langage de requête existant, ",[38,5261,5262],{},"Gel",". Ce changement permet une plus grande compatibilité et flexibilité, permettant aux utilisateurs d'intégrer Gel avec divers outils et bibliothèques, tels que ",[38,5265,5266],{},"Drizzle",[38,5268,5269],{},"Prisma",[38,5271,5272],{},"SQLAlchemy",[31,5274,5275],{},"Le rebranding vise à fournir de la clarté et de la simplicité, car le nom \"EdgeDB\" était considéré comme potentiellement trompeur. L'entreprise reste engagée dans sa mission et ses valeurs fondamentales, sans changement pour son équipe, ses outils ou ses bibliothèques.",[31,5277,5278],{},"Points clés :",[56,5280,5281,5287,5293,5299,5304],{},[59,5282,5283,5286],{},[38,5284,5285],{},"Rebranding"," : EdgeDB est désormais Gel.",[59,5288,5289,5292],{},[38,5290,5291],{},"Focus sur PostgreSQL"," : Gel utilisera PostgreSQL comme fondation.",[59,5294,5295,5298],{},[38,5296,5297],{},"Support SQL"," : Gel supportera nativement SQL.",[59,5300,5301,5303],{},[38,5302,836],{}," : Gel sera compatible avec divers outils et bibliothèques.",[59,5305,5306,5309],{},[38,5307,5308],{},"Pas de changement"," : La mission de l'entreprise, son équipe et ses outils restent inchangés.",[26,5311,5313],{"id":5312},"laracon-us-2025","Laracon US 2025",[56,5315,5316,5319,5322],{},[59,5317,5318],{},"Laravel Forge : refresh interface, ameliorations déploiement.",[59,5320,5321],{},"Laravel Cloud : Mysql, Tarifs simplifiés, preview PR…",[59,5323,5324,5325,5328],{},"Starter Kits : ",[62,5326,3707],{"href":3707,"rel":5327},[66],"\nDes starters basés sur 3 environnements : React et Vue (Inertia) ou Livewire.",[68,5330,5332],{"id":5331},"inertia-210","Inertia 2.1.0",[31,5334,5335,5336],{},"Form component ",[62,5337,5338],{"href":5338,"rel":5339},"https:\u002F\u002Flaravel-news.com\u002Finertia-form-component",[66],[31,5341,5342],{},[62,5343,5344],{"href":5344,"rel":5345},"https:\u002F\u002Finertiajs.com\u002Fforms#form-component",[66],[68,5347,5348],{"id":3381},"Livewire 4 :",[31,5350,5351],{},[62,5352,5353],{"href":5353,"rel":5354},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=M60-nxlrePc",[66],[56,5356,5357,5360,5363,5366,5369,5372,5375],{},[59,5358,5359],{},"Aucun Breaking changes !",[59,5361,5362],{},"Single File Component par défaut",[59,5364,5365],{},"Les components peuvent être",[59,5367,5368],{},"Slot (comme les composants Blade) avec attributs personnalisables",[59,5370,5371],{},"Loading attribute auto pour gérer l’affichage d’une icône par exemple",[59,5373,5374],{},"Moteur de rendu Blaze, blade sur-vitaminé",[59,5376,5377],{},"Island component, Component isolé et lazy load pour améliorer la performance",[68,5379,5381],{"id":5380},"laravel-boost","Laravel Boost",[31,5383,5384],{},[62,5385,5386],{"href":5386,"rel":5387},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=sUtRcpma8iU",[66],[31,5389,5390],{},"AI MCP assistant pour le dev. Spécialisé sur Laravel, connaît le context, etc..",[68,5392,5394],{"id":5393},"pest-4","Pest 4",[31,5396,5397],{},[62,5398,5399],{"href":5399,"rel":5400},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=f5gAgwwwwOI",[66],[56,5402,5403,5410,5413,5416,5419],{},[59,5404,5405,5406,5409],{},"Tests de navigateur intégrés (Playwright) avec ",[83,5407,5408],{},"visit()",", nous pouvons lancer un scénario de navigation complet depuis Pest.",[59,5411,5412],{},"Test visuel avec comparaison et régression",[59,5414,5415],{},"Detection d’erreur JS dans la console",[59,5417,5418],{},"Emulation Mobile, etc..",[59,5420,5421],{},"Exécution en parallèle et sharding.",[26,5423,5425],{"id":5424},"css-layout-generator-encore","CSS Layout generator (encore..)",[31,5427,5428],{},[62,5429,5432],{"href":5430,"rel":5431},"http:\u002F\u002Flayout.bradwoods.io\u002F",[66],"layout.bradwoods.io",[26,5434,5436],{"id":5435},"nuxt-ui-theme-builder","Nuxt UI theme builder",[31,5438,5439],{},[62,5440,5443],{"href":5441,"rel":5442},"https:\u002F\u002Fwww.nuxtlify.com\u002F",[66],"https:\u002F\u002Fwww.nuxtlify.com",[31,5445,5446],{},[62,5447,5448],{"href":5448,"rel":5449},"https:\u002F\u002Fgithub.com\u002FRareer\u002Fnuxt-ui-theme-builder",[66],[26,5451,5453],{"id":5452},"font-pour-le-code-from-google","Font pour le code from Google",[31,5455,5456],{},[62,5457,5458],{"href":5458,"rel":5459},"https:\u002F\u002Fgithub.com\u002Fgooglefonts\u002Fgooglesans-code",[66],[26,5461,5463],{"id":5462},"pourquoi-les-llm-ne-peuvent-pas-écrire-de-logiciel-complet","Pourquoi les LLM ne peuvent pas écrire de logiciel complet",[31,5465,5466],{},[62,5467,5468],{"href":5468,"rel":5469},"https:\u002F\u002Fzed.dev\u002Fblog\u002Fwhy-llms-cant-build-software",[66],[31,5471,5472],{},"Ils sont doués pour écrire du code. Mais ils échouent à maintenir une cohérence entre le modèle mental attendu et la réalité du code produit.",[56,5474,5475,5482],{},[59,5476,5477,5478,5481],{},"Les LLMs ",[38,5479,5480],{},"supposent automatiquement que le code fonctionne",", sans jamais le vérifier vraiment.",[59,5483,5484,5485,5488],{},"En cas d’échec de tests, ils hésitent entre corriger le code ou les tests ou, dans le doute, ",[38,5486,5487],{},"repartent de zéro",", effaçant tout. Loin de la rigueur et de la flexibilité d’un développeur humain.",[31,5490,5491],{},"Pour être plus tard mais uniquement si l’architecture et l’entraînement des models évoluent  fondamentalement.",[26,5493,5495],{"id":5494},"les-entreprises-traînent-à-adopter-lia","Les entreprises traînent à adopter l’IA",[31,5497,5498],{},[62,5499,5500],{"href":5500,"rel":5501},"https:\u002F\u002Ffredcavazza.net\u002F2025\u002F08\u002F27\u002Fdes-limites-de-la-capacite-dabsorption-du-marche-avec-lia",[66],[26,5503,5505],{"id":5504},"prism-php-lib-pour-llm","Prism PHP, Lib pour LLM",[31,5507,5508],{},[62,5509,5510],{"href":5510,"rel":5511},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=TsEeIjWrPhI",[66],[31,5513,5514],{},[62,5515,5518],{"href":5516,"rel":5517},"https:\u002F\u002Fprismphp.com\u002F",[66],"https:\u002F\u002Fprismphp.com",[56,5520,5521,5531,5542],{},[59,5522,5523,5526,5527,5530],{},[38,5524,5525],{},"Package Laravel"," qui fournit une ",[38,5528,5529],{},"interface fluide et unifiée"," pour appeler différents LLM (OpenAI, Anthropic, Google Gemini, etc.) sans toucher aux appels HTTP bruts.",[59,5532,5533,5534,5537,5538,5541],{},"Conçu autour du ",[38,5535,5536],{},"pattern “driver”"," : chaque fournisseur possède son propre driver, mais l’API que vous utilisez reste la même, ce qui facilite le ",[38,5539,5540],{},"switch"," entre fournisseurs ou l’ajout de nouveaux services.",[59,5543,5544,5545,5549,5550],{},"Disponible sur GitHub : ",[62,5546,5547],{"href":5547,"rel":5548},"https:\u002F\u002Fgithub.com\u002Fprism-php\u002Fprism",[66]," et sur le site officiel ",[62,5551,5516],{"href":5516,"rel":5552},[66],[26,5554,5556],{"id":5555},"browser-echo-mcp","Browser Echo MCP",[31,5558,5559],{},[62,5560,5561],{"href":5561,"rel":5562},"https:\u002F\u002Fgithub.com\u002Finstructa\u002Fbrowser-echo",[66],[31,5564,5565],{},"Corriger les erreurs grâce aux logs du navigateur",[26,5567,5569],{"id":5568},"agendmd","Agend.md",[31,5571,5572],{},[62,5573,5576],{"href":5574,"rel":5575},"https:\u002F\u002Fagents.md\u002F",[66],"https:\u002F\u002Fagents.md",[26,5578,5580],{"id":5579},"lumo-ai","Lumo AI",[31,5582,5583],{},[62,5584,5585],{"href":5585,"rel":5586},"https:\u002F\u002Fproton.me\u002Fblog\u002Ffr\u002Flumo-ai",[66],[31,5588,662],{},{"title":81,"searchDepth":118,"depth":118,"links":5590},[5591,5592,5593,5599,5600,5601,5602,5603,5604,5605,5606,5607],{"id":5199,"depth":151,"text":5200},{"id":5239,"depth":118,"text":5240},{"id":5312,"depth":118,"text":5313,"children":5594},[5595,5596,5597,5598],{"id":5331,"depth":151,"text":5332},{"id":3381,"depth":151,"text":5348},{"id":5380,"depth":151,"text":5381},{"id":5393,"depth":151,"text":5394},{"id":5424,"depth":118,"text":5425},{"id":5435,"depth":118,"text":5436},{"id":5452,"depth":118,"text":5453},{"id":5462,"depth":118,"text":5463},{"id":5494,"depth":118,"text":5495},{"id":5504,"depth":118,"text":5505},{"id":5555,"depth":118,"text":5556},{"id":5568,"depth":118,"text":5569},{"id":5579,"depth":118,"text":5580},[674],"Un épisode news dans lequel nous évoquons : Gel DB, Laracon US 2025 (Inertia 2.1, Livewire 4, Pest 4), CSS Layout generator, Nuxt UI theme builder. Un article sur \"Pourquoi les LLM ne peuvent pas écrire de logiciel complet\" et un autre sur \"Les entreprises traînent à adopter l’IA\". Côté IA, Prism PHP (librairie pour LLM), Browser Echo MCP, Agents.md et Lumo AI.","DS_118_sept25-rc1","https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fv1756369528\u002Fepisode\u002FART_118_no3sns.png",118,[],{},"\u002Fpodcasts\u002Fsept25-rc1","2025-09-03",{"title":5194,"description":5609},"podcasts\u002F118.sept25-rc1\u002Findex","Toutes les dernières news sur le développement web et l'IA pour septembre 2025 RC1",[5621,2318,5622,3727,5623,5624,5187,5625,5626,5627,5628,5629,5630,5631],"malt","livewire","pest","laracon","google fonts","llm","geldb","prismphp","browser echo","agents.md","lumo ai","tOkjJ82DkZo","79EV-6Gtc736S2tXmjCdhKiIX7gYlCjm0roAN6fS-aY",{"id":5635,"title":5636,"author":21,"body":5637,"categories":5893,"description":5894,"dsSlug":5895,"duration":681,"episodeArtwork":5896,"episodeNumber":5897,"episodeType":679,"explicit":6,"extension":680,"guid":681,"links":5898,"meta":5899,"navigation":684,"path":5900,"publicationDate":5901,"season":118,"seo":5902,"status":688,"stem":5903,"subtitle":5904,"tags":5905,"videoLink":5906,"__hash__":5907},"podcasts\u002Fpodcasts\u002F117.realtime\u002Findex.md","Développer des applications Realtime",{"type":23,"value":5638,"toc":5881},[5639,5642,5645,5649,5657,5661,5737,5740,5744,5758,5762,5806,5810,5813,5838,5842,5856,5860,5879],[31,5640,5641],{},"Un exemple d'utilisation : dans une application de commande de pizza, le pizzaiolo n'a pas la possibilité d'interagir avec l'écran puisqu'il a les mains dans les ingrédients. Un tableau de bord qui affiche les commandes au fur et à mesure est une bonne solution pour l'aider.",[31,5643,5644],{},"D'autres exemples : chat, résultats sportifs, trading, collaborations en direct.",[68,5646,5648],{"id":5647},"les-points-clés","Les points clés",[56,5650,5651,5654],{},[59,5652,5653],{},"Afficher les informations en temps réel dès qu'un événement survient.",[59,5655,5656],{},"Éviter les rafraîchissements de page inutiles.",[26,5658,5660],{"id":5659},"les-différentes-approches-pour-implémenter-du-temps-réel","Les différentes approches pour implémenter du temps réel",[5662,5663,5664,5680,5693,5712],"ol",{},[59,5665,5666,5669],{},[38,5667,5668],{},"WebSockets",[56,5670,5671,5674,5677],{},[59,5672,5673],{},"Fonctionnement bi-directionnel : 1 client vers 1 serveur et N clients.",[59,5675,5676],{},"Problèmes potentiels : gestion des connexions, déconnexion automatique par le navigateur, nécessité d'auto-reconnexion.",[59,5678,5679],{},"Limitations : serveur centralisé, problèmes avec les serveurs sans état.",[59,5681,5682,5685],{},[38,5683,5684],{},"PUB\u002FSUB (Publication\u002FAbonnement) avec Redis",[56,5686,5687,5690],{},[59,5688,5689],{},"Utilisation de Redis comme système de message.",[59,5691,5692],{},"Problèmes liés aux clients non connectés et aux événements perdus.",[59,5694,5695,5698],{},[38,5696,5697],{},"SSE (Server-Sent Events)",[56,5699,5700,5703,5706,5709],{},[59,5701,5702],{},"protocole HTTP",[59,5704,5705],{},"Fonctionnement uni-directionnel : 1 serveur vers N clients.",[59,5707,5708],{},"Avantages : simple à mettre en œuvre, possibilité de stocker temporairement les abonnés.",[59,5710,5711],{},"Limitations : uniquement pour l'envoi de serveur à client.",[59,5713,5714,5717],{},[38,5715,5716],{},"Solutions Toutes Prêtes",[56,5718,5719,5725,5731],{},[59,5720,5721,5724],{},[38,5722,5723],{},"Pusher"," : offre une surcouche de WebSocket, client JS disponible, protocole supporté, mais limitations sur le free tier.",[59,5726,5727,5730],{},[38,5728,5729],{},"Ably"," : similaire à Pusher, avec un free tier disponible.",[59,5732,5733,5736],{},[38,5734,5735],{},"Soketi"," : solution open source, auto-hébergée, avec une installation en un clic.",[31,5738,5739],{},"Les développeurs web disposent de plusieurs technologies et solutions pour implémenter des fonctionnalités en temps réel. Le choix dépendra des besoins spécifiques du projet, de la scalabilité requise et des compétences de l'équipe.",[68,5741,5743],{"id":5742},"les-défis-techniques","Les défis techniques",[56,5745,5746,5749,5752,5755],{},[59,5747,5748],{},"Gestion des déconnexions et reconnexions.",[59,5750,5751],{},"Persistence des messages et gestion des conflits d'états.",[59,5753,5754],{},"Sécurité et authentification.",[59,5756,5757],{},"Afficher les informations à la bonne personne.",[26,5759,5761],{"id":5760},"quelques-liens","Quelques Liens",[56,5763,5764,5771,5778,5785,5792,5799],{},[59,5765,5766,5767],{},"Nitro Websocket ",[62,5768,5769],{"href":5769,"rel":5770},"https:\u002F\u002Fnitro.build\u002Fguide\u002Fwebsocket",[66],[59,5772,5773,5774],{},"Laravel Reverb ",[62,5775,5776],{"href":5776,"rel":5777},"https:\u002F\u002Freverb.laravel.com",[66],[59,5779,5780,5781],{},"Redis Pub\u002FSub ",[62,5782,5783],{"href":5783,"rel":5784},"https:\u002F\u002Fredis.io\u002Fdocs\u002Flatest\u002Fdevelop\u002Fpubsub",[66],[59,5786,5787,5788],{},"Server Sent Event MDM ",[62,5789,5790],{"href":5790,"rel":5791},"https:\u002F\u002Fdeveloper.mozilla.org\u002Ffr\u002Fdocs\u002FWeb\u002FAPI\u002FServer-sent_events\u002FUsing_server-sent_events",[66],[59,5793,5794,5795],{},"SSE example avec Laravel ",[62,5796,5797],{"href":5797,"rel":5798},"https:\u002F\u002Fdev.to\u002Fayowandeapp\u002Freal-time-notifications-with-server-sent-events-sse-in-laravel-and-vuejs-40pf",[66],[59,5800,5801,5802],{},"Ably Laravel ",[62,5803,5804],{"href":5804,"rel":5805},"https:\u002F\u002Flaravel.com\u002Fdocs\u002F12.x\u002Fbroadcasting#ably",[66],[26,5807,5809],{"id":5808},"quelques-services-disponibles","Quelques services disponibles",[68,5811,5723],{"id":5812},"pusher",[56,5814,5815,5818,5832,5835],{},[59,5816,5817],{},"Surcouche de web socket",[59,5819,5820,5821],{},"+\u002F - opensource\n",[56,5822,5823,5826,5829],{},[59,5824,5825],{},"Client JS",[59,5827,5828],{},"Pas server",[59,5830,5831],{},"Protocol oui",[59,5833,5834],{},"$$",[59,5836,5837],{},"Free tier",[68,5839,5841],{"id":5840},"ably","ABLY",[56,5843,5844,5850,5853],{},[59,5845,5846],{},[62,5847,5848],{"href":5848,"rel":5849},"https:\u002F\u002Fably.com",[66],[59,5851,5852],{},"$$$$",[59,5854,5855],{},"Free Tier",[68,5857,5859],{"id":5858},"soketi","SOKETI",[56,5861,5862,5868,5871],{},[59,5863,5864],{},[62,5865,5866],{"href":5866,"rel":5867},"https:\u002F\u002Fsoketi.app",[66],[59,5869,5870],{},"Full open source",[59,5872,5873,5874],{},"Self hosted\n",[56,5875,5876],{},[59,5877,5878],{},"Coolify one click install  😜",[31,5880,662],{},{"title":81,"searchDepth":118,"depth":118,"links":5882},[5883,5884,5887,5888],{"id":5647,"depth":151,"text":5648},{"id":5659,"depth":118,"text":5660,"children":5885},[5886],{"id":5742,"depth":151,"text":5743},{"id":5760,"depth":118,"text":5761},{"id":5808,"depth":118,"text":5809,"children":5889},[5890,5891,5892],{"id":5812,"depth":151,"text":5723},{"id":5840,"depth":151,"text":5841},{"id":5858,"depth":151,"text":5859},[674],"Pour offrir une meilleure expérience à vos utilisateurs, il est possible d'implémenter un rafraîchissement des données automatique. L'utilisateur voit donc les informations se mettre à jour sans faire aucune action.","DS_117_realtime","https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fv1755771163\u002Fepisode\u002FART_117_evajtf.png",117,[],{},"\u002Fpodcasts\u002Frealtime","2025-08-21",{"title":5636,"description":5894},"podcasts\u002F117.realtime\u002Findex","Développer des applications Realtime avec rafraîchissement des données automatiques",[],"E-cxziu6zBg","qnZUMbiR3zbAERD7XCTnea_AtVqRbOEVX3LFBuvjWiE",{"id":5909,"title":5910,"author":21,"body":5911,"categories":6174,"description":6175,"dsSlug":6176,"duration":681,"episodeArtwork":6177,"episodeNumber":6178,"episodeType":679,"explicit":6,"extension":680,"guid":681,"links":6179,"meta":6180,"navigation":684,"path":6181,"publicationDate":6182,"season":118,"seo":6183,"status":688,"stem":6184,"subtitle":6185,"tags":6186,"videoLink":6202,"__hash__":6203},"podcasts\u002Fpodcasts\u002F116.news-jul25\u002Findex.md","Les news sur le développement web et l'IA pour juillet 2025 RC1",{"type":23,"value":5912,"toc":6158},[5913,5917,5920,5928,5932,5935,5938,5946,5950,5958,5962,5970,5974,5977,5984,5991,6002,6006,6020,6024,6027,6041,6047,6051,6060,6064,6075,6081,6085,6094,6098,6101,6110,6118,6122,6124,6132,6136,6144,6148,6156],[26,5914,5916],{"id":5915},"vite-7","Vite 7",[31,5918,5919],{},"Minimum NodeJS 20. Le browser target change (chrome 87 → 107, etc..)\nEt possibilité de tester “rolldown-vite” (rust)",[56,5921,5922],{},[59,5923,5924],{},[62,5925,5926],{"href":5926,"rel":5927},"https:\u002F\u002Fvite.dev\u002Fblog\u002Fannouncing-vite7.html",[66],[26,5929,5931],{"id":5930},"containers-cloudflare","Containers CloudFlare",[31,5933,5934],{},"Simple à déployer, intégré avec les workers, gestion automatique du provisioning, scaling. Observabilité, facturation à l'usage.",[31,5936,5937],{},"Image Docker compatible.",[56,5939,5940],{},[59,5941,5942],{},[62,5943,5944],{"href":5944,"rel":5945},"https:\u002F\u002Fblog.cloudflare.com\u002Fcontainers-are-available-in-public-beta-for-simple-global-and-programmable",[66],[26,5947,5949],{"id":5948},"nuxt-4","Nuxt 4",[56,5951,5952],{},[59,5953,5954],{},[62,5955,5956],{"href":5956,"rel":5957},"https:\u002F\u002Fnuxt.com\u002Fblog\u002Fv4",[66],[26,5959,5961],{"id":5960},"payload-rejoint-figma-site","Payload rejoint Figma (site ?)",[56,5963,5964],{},[59,5965,5966],{},[62,5967,5968],{"href":5968,"rel":5969},"https:\u002F\u002Fpayloadcms.com\u002Fposts\u002Fblog\u002Fpayload-is-joining-figma",[66],[26,5971,5973],{"id":5972},"nuxtlabs-rejoint-vercel","NuxtLabs rejoint Vercel !",[31,5975,5976],{},"Nuxt reste open source sous licence MIT. L'équipe va maintenant travailler pour Vercel. Nuxt Hub, Nuxt Studio et Nuxt UI Pro deviendront open source.",[31,5978,5979],{},[62,5980,5983],{"href":5981,"rel":5982},"https:\u002F\u002Fnuxtlabs.com\u002F",[66],"https:\u002F\u002Fnuxtlabs.com",[31,5985,5986,5987],{},"Des questions ? ",[62,5988,5989],{"href":5989,"rel":5990},"https:\u002F\u002Fgithub.com\u002Fnuxt\u002Fnuxt\u002Fdiscussions\u002F32559",[66],[31,5992,5993,5994,974,5998],{},"Podcast DejaVue ",[62,5995,5996],{"href":5996,"rel":5997},"https:\u002F\u002Fshare.transistor.fm\u002Fe\u002F8f66cbcf",[66],[62,5999,6000],{"href":6000,"rel":6001},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=xHbjFW9EJ-8",[66],[26,6003,6005],{"id":6004},"le-cern-migre-les-sites-internes-de-drupal-à-wordpress","Le CERN migre les sites internes de Drupal à WordPress",[56,6007,6008,6014],{},[59,6009,6010],{},[62,6011,6012],{"href":6012,"rel":6013},"https:\u002F\u002Fhome.cern\u002Fnews\u002Fannouncement\u002Fcomputing\u002Fwordpress-now-available-cern-websites",[66],[59,6015,6016],{},[62,6017,6018],{"href":6018,"rel":6019},"https:\u002F\u002Fwordpress.docs.cern.ch\u002F",[66],[26,6021,6023],{"id":6022},"fair-package-manager-décentralisé-pour-wordpress","FAIR Package manager décentralisé pour WordPress",[31,6025,6026],{},"Merci Valentin Grenier",[56,6028,6029,6032,6035,6038],{},[59,6030,6031],{},"Système de miroir + auto-hébergé",[59,6033,6034],{},"Scan auto, faille publique",[59,6036,6037],{},"RGPD",[59,6039,6040],{},"Gouvernance ouverte",[31,6042,6043],{},[62,6044,6045],{"href":6045,"rel":6046},"https:\u002F\u002Fgithub.com\u002Ffairpm",[66],[26,6048,6050],{"id":6049},"tailwind-animations","Tailwind Animations",[56,6052,6053],{},[59,6054,6055],{},[62,6056,6059],{"href":6057,"rel":6058},"https:\u002F\u002Ftailwindcss-animations.vercel.app\u002F",[66],"https:\u002F\u002Ftailwindcss-animations.vercel.app",[26,6061,6063],{"id":6062},"mastra-passe-sous-licence-apache-20","Mastra passe sous licence Apache 2.0",[31,6065,6066,6067,6070,6071,6074],{},"avant c’était Elastic 2.0. Changement majeure :\n",[38,6068,6069],{},"Apache 2.0"," n’impose ",[38,6072,6073],{},"aucune"," restriction d’usage (commercial ou service cloud) en dehors de la préservation des notices et de la licence.",[31,6076,6077],{},[62,6078,6079],{"href":6079,"rel":6080},"https:\u002F\u002Fmastra.ai\u002Fblog\u002Fapache-license",[66],[26,6082,6084],{"id":6083},"comet-le-browser-de-perplexity","Comet, le browser de perplexity",[56,6086,6087],{},[59,6088,6089],{},[62,6090,6093],{"href":6091,"rel":6092},"https:\u002F\u002Fcomet.perplexity.ai\u002F",[66],"https:\u002F\u002Fcomet.perplexity.ai",[26,6095,6097],{"id":6096},"windsurf-na-pas-été-acheté-par-openai-mais-par-cognition","Windsurf n'a pas été acheté par OpenAI, mais par Cognition.",[31,6099,6100],{},"Google a fait échouer le deal avec OpenAI.",[31,6102,6103,6104,6109],{},"Cognition qui a créé Devin (",[62,6105,6108],{"href":6106,"rel":6107},"https:\u002F\u002Fdevin.ai\u002F",[66],"https:\u002F\u002Fdevin.ai",") entre autre.",[56,6111,6112],{},[59,6113,6114],{},[62,6115,6116],{"href":6116,"rel":6117},"https:\u002F\u002Fcognition.ai\u002Fblog\u002Fwindsurf",[66],[26,6119,6121],{"id":6120},"chatgpt-serait-passé-de-bing-à-google","ChatGPT serait passé de Bing à Google.",[31,6123,6121],{},[56,6125,6126],{},[59,6127,6128],{},[62,6129,6130],{"href":6130,"rel":6131},"https:\u002F\u002Fnewsletter.alekseo.com\u002Fp\u002Fsearchgpt-bing-google",[66],[26,6133,6135],{"id":6134},"fireplexity","Fireplexity",[56,6137,6138],{},[59,6139,6140],{},[62,6141,6142],{"href":6142,"rel":6143},"https:\u002F\u002Fgithub.com\u002Fmendableai\u002Ffireplexity",[66],[26,6145,6147],{"id":6146},"firegeo","Firegeo",[56,6149,6150],{},[59,6151,6152],{},[62,6153,6154],{"href":6154,"rel":6155},"https:\u002F\u002Fgithub.com\u002Fmendableai\u002Ffiregeo",[66],[31,6157,662],{},{"title":81,"searchDepth":118,"depth":118,"links":6159},[6160,6161,6162,6163,6164,6165,6166,6167,6168,6169,6170,6171,6172,6173],{"id":5915,"depth":118,"text":5916},{"id":5930,"depth":118,"text":5931},{"id":5948,"depth":118,"text":5949},{"id":5960,"depth":118,"text":5961},{"id":5972,"depth":118,"text":5973},{"id":6004,"depth":118,"text":6005},{"id":6022,"depth":118,"text":6023},{"id":6049,"depth":118,"text":6050},{"id":6062,"depth":118,"text":6063},{"id":6083,"depth":118,"text":6084},{"id":6096,"depth":118,"text":6097},{"id":6120,"depth":118,"text":6121},{"id":6134,"depth":118,"text":6135},{"id":6146,"depth":118,"text":6147},[674],"Nous évoquons Vite 7, Nuxt 4, NuxtLab qui rejoint Vercel, Figma qui achète Payload, le CERN qui migre tous les sites de Drupal vers WordPress, un nouveau système de gestion des plugins pour WordPress, Comet, le navigateur de Perplexity, WindSurf qui finit finalement chez Cognition, et des outils open source de chez Firecrawl.","DS_116_news-jul25","https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fv1752845703\u002Fepisode\u002FART_116_mzdjbh.png",116,[],{},"\u002Fpodcasts\u002Fnews-jul25","2025-07-18",{"title":5910,"description":6175},"podcasts\u002F116.news-jul25\u002Findex","Toutes les dernières news sur le développement web et l'IA pour juillet 2025 RC1",[1407,6187,6188,6189,6190,6191,6192,6193,6194,6195,6196,6197,6198,6050,6199,6200,6201,6135,6147],"Nuxt","Tailwind","AI","WordPress","Docker","Cloudflare","Figma","Payload","NuxtLabs","Vercel","CERN","FAIR","Mastra","Comet","Windsurf","Z31EBQIOfug","UwwQu0NX0HBJHAlGT3pl1pW4Zc7TBvSWbhH5_bqlCCY",{"id":6205,"title":6206,"author":21,"body":6207,"categories":6255,"description":6256,"dsSlug":6257,"duration":681,"episodeArtwork":6258,"episodeNumber":6259,"episodeType":679,"explicit":6,"extension":680,"guid":681,"links":6260,"meta":6261,"navigation":684,"path":6262,"publicationDate":6263,"season":118,"seo":6264,"status":688,"stem":6265,"subtitle":6266,"tags":6267,"videoLink":6270,"__hash__":6271},"podcasts\u002Fpodcasts\u002F115.art-de-logger\u002Findex.md","L'art de \"logger\"",{"type":23,"value":6208,"toc":6252},[6209,6213,6250],[26,6210,6212],{"id":6211},"exemple-doutils","Exemple d'outils",[56,6214,6215,6222,6229,6236,6243],{},[59,6216,6217,6218],{},"Sentry : ",[62,6219,6220],{"href":6220,"rel":6221},"https:\u002F\u002Fsentry.io",[66],[59,6223,6224,6225],{},"UpTimeRobot : ",[62,6226,6227],{"href":6227,"rel":6228},"https:\u002F\u002Fuptimerobot.com",[66],[59,6230,6231,6232],{},"New Relic : ",[62,6233,6234],{"href":6234,"rel":6235},"https:\u002F\u002Fnewrelic.com\u002Ffr",[66],[59,6237,6238,6239],{},"Axiom : ",[62,6240,6241],{"href":6241,"rel":6242},"https:\u002F\u002Faxiom.co",[66],[59,6244,6245,6246],{},"PostHog : ",[62,6247,6248],{"href":6248,"rel":6249},"https:\u002F\u002Fposthog.com",[66],[31,6251,662],{},{"title":81,"searchDepth":118,"depth":118,"links":6253},[6254],{"id":6211,"depth":118,"text":6212},[674],"Un épisode pour comprendre ce que l'on doit enregistrer comme événement au sein de son application et quelles méthodes mettre en place. Aujourd'hui, nous avons des outils à disposition pour surveiller toutes les couches de notre application, en partant du serveur jusqu'au navigateur. Toutes les couches peuvent être surveillées afin d'anticiper les potentiels bugs ou les pics de charge.","DS_115_logs","https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fv1751380396\u002Fepisode\u002FART_115_qsazo0.png",115,[],{},"\u002Fpodcasts\u002Fart-de-logger","2025-07-02",{"title":6206,"description":6256},"podcasts\u002F115.art-de-logger\u002Findex","Comprendre ce que l'on doit enregistrer pour surveiller son application web, son serveur ou sa base de données",[342,6268,6269],"evenement","observabilité","12_EHzbqgmc","ev46qa2VhAyVLRxVkGJlRxCpwhY_73_20r29q6o7mm4",{"id":6273,"title":6274,"author":21,"body":6275,"categories":6492,"description":6493,"dsSlug":6494,"duration":681,"episodeArtwork":6495,"episodeNumber":6496,"episodeType":679,"explicit":6,"extension":680,"guid":681,"links":6497,"meta":6498,"navigation":684,"path":6499,"publicationDate":6500,"season":118,"seo":6501,"status":688,"stem":6502,"subtitle":6503,"tags":6504,"videoLink":6506,"__hash__":6507},"podcasts\u002Fpodcasts\u002F114.news-juin25\u002Findex.md","Les news web dev et IA pour juin 2025 RC1",{"type":23,"value":6276,"toc":6471},[6277,6281,6287,6291,6297,6301,6307,6311,6317,6321,6328,6332,6338,6342,6348,6352,6358,6362,6368,6372,6379,6383,6389,6393,6399,6402,6408,6412,6418,6422,6428,6432,6438,6442,6448,6452,6458,6462,6469],[26,6278,6280],{"id":6279},"nuxt-4-alpha","Nuxt 4 alpha",[31,6282,6283],{},[62,6284,6285],{"href":6285,"rel":6286},"https:\u002F\u002Fnuxt.com\u002Fblog\u002Froadmap-v4",[66],[26,6288,6290],{"id":6289},"h3-v2-beta","H3 V2 Beta",[31,6292,6293],{},[62,6294,6295],{"href":6295,"rel":6296},"https:\u002F\u002Fh3.dev\u002Fblog\u002Fv2-beta",[66],[26,6298,6300],{"id":6299},"cursor-v1","Cursor V1",[31,6302,6303],{},[62,6304,6305],{"href":6305,"rel":6306},"https:\u002F\u002Fwww.cursor.com\u002Fchangelog\u002F1-0",[66],[26,6308,6310],{"id":6309},"des-packets-npm-qui-ciblent-cursor","Des packets NPM qui ciblent Cursor",[31,6312,6313],{},[62,6314,6315],{"href":6315,"rel":6316},"https:\u002F\u002Fwww.perplexity.ai\u002Fpage\u002Fmalicious-software-packages-ta-EX4BAYKTSv66RFfH1dnkbg",[66],[26,6318,6320],{"id":6319},"laravel-nightwatch","Laravel NightWatch",[31,6322,6323],{},[62,6324,6327],{"href":6325,"rel":6326},"https:\u002F\u002Fnightwatch.laravel.com\u002F",[66],"https:\u002F\u002Fnightwatch.laravel.com",[26,6329,6331],{"id":6330},"php-node","PHP node !",[31,6333,6334],{},[62,6335,6336],{"href":6336,"rel":6337},"https:\u002F\u002Fblog.platformatic.dev\u002Fseamlessly-blend-php-with-nodejs",[66],[26,6339,6341],{"id":6340},"prestashop-9","Prestashop 9",[31,6343,6344],{},[62,6345,6346],{"href":6346,"rel":6347},"https:\u002F\u002Fbuild.prestashop-project.org\u002Fnews\u002F2025\u002Fprestashop-9-0-available",[66],[26,6349,6351],{"id":6350},"apple-container","Apple Container",[31,6353,6354],{},[62,6355,6356],{"href":6356,"rel":6357},"https:\u002F\u002Fgithub.com\u002Fapple\u002Fcontainer",[66],[26,6359,6361],{"id":6360},"dia-le-browser-ia","Dia le browser IA",[31,6363,6364],{},[62,6365,6366],{"href":6366,"rel":6367},"https:\u002F\u002Fwww.diabrowser.com\u002F",[66],[26,6369,6371],{"id":6370},"eu-alternative","EU Alternative",[31,6373,6374],{},[62,6375,6378],{"href":6376,"rel":6377},"https:\u002F\u002Feuroalternative.co\u002F",[66],"https:\u002F\u002Feuroalternative.co",[26,6380,6382],{"id":6381},"upstash-search","Upstash search",[31,6384,6385],{},[62,6386,6387],{"href":6387,"rel":6388},"https:\u002F\u002Fupstash.com\u002Fdocs\u002Fsearch\u002Foverall\u002Fwhatisupstashsearch",[66],[26,6390,6392],{"id":6391},"oxlint","Oxlint",[31,6394,6395],{},[62,6396,6397],{"href":6397,"rel":6398},"https:\u002F\u002Fvoidzero.dev\u002Fposts\u002Fannouncing-oxlint-1-stable",[66],[26,6400,6401],{"id":1270},"Cursor",[31,6403,6404],{},[62,6405,6406],{"href":6406,"rel":6407},"https:\u002F\u002Fghuntley.com\u002Fstdlib\u002F",[66],[26,6409,6411],{"id":6410},"viva-tech","Viva tech",[31,6413,6414],{},[62,6415,6416],{"href":6416,"rel":6417},"https:\u002F\u002Ffredcavazza.net\u002F2025\u002F06\u002F17\u002Fia-generative-victime-dun-emballement-technologique-et-dune-adoption-tardive",[66],[26,6419,6421],{"id":6420},"triche-sur-les-benchmarks","Triche sur les Benchmarks",[31,6423,6424],{},[62,6425,6426],{"href":6426,"rel":6427},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?feature=shared&v=VonKwYIGYtE",[66],[26,6429,6431],{"id":6430},"base-vectorielle-sur-un-mp4","Base Vectorielle sur un mp4 !?!",[31,6433,6434],{},[62,6435,6436],{"href":6436,"rel":6437},"https:\u002F\u002Fgithub.com\u002FOlow304\u002Fmemvid",[66],[26,6439,6441],{"id":6440},"github-copilot-coding-agent","GitHub Copilot Coding Agent",[31,6443,6444],{},[62,6445,6446],{"href":6446,"rel":6447},"https:\u002F\u002Fgithub.blog\u002Fchangelog\u002F2025-05-19-github-copilot-coding-agent-in-public-preview\u002F",[66],[26,6449,6451],{"id":6450},"agents-directory","Agents Directory",[31,6453,6454],{},[62,6455,6456],{"href":6456,"rel":6457},"https:\u002F\u002Faiagentsdirectory.com\u002Flandscape",[66],[26,6459,6461],{"id":6460},"context7","Context7",[31,6463,6464],{},[62,6465,6468],{"href":6466,"rel":6467},"https:\u002F\u002Fcontext7.com\u002F",[66],"https:\u002F\u002Fcontext7.com",[31,6470,662],{},{"title":81,"searchDepth":118,"depth":118,"links":6472},[6473,6474,6475,6476,6477,6478,6479,6480,6481,6482,6483,6484,6485,6486,6487,6488,6489,6490,6491],{"id":6279,"depth":118,"text":6280},{"id":6289,"depth":118,"text":6290},{"id":6299,"depth":118,"text":6300},{"id":6309,"depth":118,"text":6310},{"id":6319,"depth":118,"text":6320},{"id":6330,"depth":118,"text":6331},{"id":6340,"depth":118,"text":6341},{"id":6350,"depth":118,"text":6351},{"id":6360,"depth":118,"text":6361},{"id":6370,"depth":118,"text":6371},{"id":6381,"depth":118,"text":6382},{"id":6391,"depth":118,"text":6392},{"id":1270,"depth":118,"text":6401},{"id":6410,"depth":118,"text":6411},{"id":6420,"depth":118,"text":6421},{"id":6430,"depth":118,"text":6431},{"id":6440,"depth":118,"text":6441},{"id":6450,"depth":118,"text":6451},{"id":6460,"depth":118,"text":6461},[674],"Nous évoquons Cursor qui passe en V1, NightWatch pour surveiller vos applications Laravel, PHP qui tourne dans Node.js, Prestashop 9 avec une nouvelle Admin API, un nouveau navigateur qui intègre l'IA et évidemment les nouvelles dans le monde de l'IA.","DS_114_news-juin25","https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fv1750239986\u002Fepisode\u002FART_114_cqtlil.png",114,[],{},"\u002Fpodcasts\u002Fnews-juin25","2025-06-18",{"title":6274,"description":6493},"podcasts\u002F114.news-juin25\u002Findex","Épisode news web développement et IA pour juin 2025 - RC2",[5187,1270,6505],"Dia","yfDlXHHXmY8","uRZjcDG568L-tqNhm3DgJAgOayziVEyjJe1ekXIB-SM",{"id":6509,"title":6510,"author":21,"body":6511,"categories":6540,"description":6541,"dsSlug":6542,"duration":681,"episodeArtwork":6543,"episodeNumber":6544,"episodeType":679,"explicit":6,"extension":680,"guid":681,"links":6545,"meta":6546,"navigation":684,"path":6547,"publicationDate":6548,"season":118,"seo":6549,"status":688,"stem":6550,"subtitle":6551,"tags":6552,"videoLink":6554,"__hash__":6555},"podcasts\u002Fpodcasts\u002F113.nextjs\u002Findex.md","La fabuleuse histoire de Next.js",{"type":23,"value":6512,"toc":6538},[6513,6529,6536],[56,6514,6515,6522],{},[59,6516,6517,6518],{},"Les slides générés avec Gamma IA : ",[62,6519,6520],{"href":6520,"rel":6521},"https:\u002F\u002Fgamma.app\u002Fdocs\u002FNextjs-hr58cdg6zzx19p9",[66],[59,6523,6524,6525],{},"La page générée avec Bolt : ",[62,6526,6527],{"href":6527,"rel":6528},"https:\u002F\u002Fornate-monstera-637d3b.netlify.app",[66],[31,6530,6531,6532],{},"Le fameux projet sur GitHub : ",[62,6533,6534],{"href":6534,"rel":6535},"https:\u002F\u002Fgithub.com\u002Fipatate\u002FUniversalAppReact\u002Ftree\u002Fmaster",[66],[31,6537,662],{},{"title":81,"searchDepth":118,"depth":118,"links":6539},[],[674],"Dans cet épisode spécial, nous allons revenir sur l'histoire du framework Next.js. Quelle solution il a apportée, les évolutions du framework et ses points forts.","DS_113_nextjs","https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fv1749497313\u002Fepisode\u002FART_113_j2smdh.png",113,[],{},"\u002Fpodcasts\u002Fnextjs","2025-06-11",{"title":6510,"description":6541},"podcasts\u002F113.nextjs\u002Findex","Retour sur la fabuleuse histoire de Next.js",[6553],"nextJs","k5ufJRtGAeg","GLZrb7b4Ei5rbcS2JzoCkN7R2mrcpGvoP_R8ZBW80qE",{"id":6557,"title":6558,"author":21,"body":6559,"categories":6910,"description":6911,"dsSlug":6912,"duration":681,"episodeArtwork":6913,"episodeNumber":6914,"episodeType":679,"explicit":6,"extension":680,"guid":681,"links":6915,"meta":6916,"navigation":684,"path":6917,"publicationDate":6918,"season":118,"seo":6919,"status":688,"stem":6920,"subtitle":6921,"tags":6922,"videoLink":6927,"__hash__":6928},"podcasts\u002Fpodcasts\u002F112.news-mai-rc2\u002Findex.md","Les news web dev et IA pour mai 2025 RC2",{"type":23,"value":6560,"toc":6887},[6561,6565,6572,6579,6616,6620,6627,6631,6634,6654,6657,6663,6667,6673,6677,6683,6687,6693,6697,6704,6708,6714,6718,6724,6727,6741,6744,6747,6751,6758,6762,6769,6773,6780,6784,6790,6794,6816,6820,6826,6830,6836,6840,6848,6852,6858,6862,6868,6872,6878,6882,6885],[26,6562,6564],{"id":6563},"devoxx-2025","Devoxx 2025",[31,6566,6567,6568],{},"Les vidéos : ",[62,6569,6570],{"href":6570,"rel":6571},"https:\u002F\u002Fwww.youtube.com\u002F@DevoxxFRvideos\u002Fvideos",[66],[31,6573,6574,6575,6578],{},"merci ",[38,6576,6577],{},"Alexis Slawny"," pour la mention !",[56,6580,6581,6588,6595,6602,6609],{},[59,6582,6583,6584],{},"Les Podcasts : ",[62,6585,6586],{"href":6586,"rel":6587},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=ou6izz2vZXU&list=PL4piaFbHOpRcBWHEKDs0-acbDH6JvBtiZ&index=10",[66],[59,6589,6590,6591],{},"Signal VS React Hook ",[62,6592,6593],{"href":6593,"rel":6594},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=GkeT1Oy2tPY&list=PL4piaFbHOpRcBWHEKDs0-acbDH6JvBtiZ&index=8",[66],[59,6596,6597,6598],{},"HTMX, JS Fatigue ",[62,6599,6600],{"href":6600,"rel":6601},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=O0LQuErwxho",[66],[59,6603,6604,6605],{},"Réactivité et les signaux par Estéban Soubiran ",[62,6606,6607],{"href":6607,"rel":6608},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=Iyts6NE6bps",[66],[59,6610,6611,6612],{},"Paquet pour rien aussi par Estéban ",[62,6613,6614],{"href":6614,"rel":6615},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=oPsMeG9zKmE",[66],[26,6617,6619],{"id":6618},"node-modules-inspector","Node modules inspector",[31,6621,6622],{},[62,6623,6626],{"href":6624,"rel":6625},"https:\u002F\u002Fnode-modules.dev\u002F",[66],"https:\u002F\u002Fnode-modules.dev",[26,6628,6630],{"id":6629},"strapi-conf-et-v5","Strapi Conf et V5",[31,6632,6633],{},"On a oublié de parler du mode IA ! Prochain épisode, promis.",[56,6635,6636,6647],{},[59,6637,6638,6639,974,6643],{},"AI ",[62,6640,6641],{"href":6641,"rel":6642},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=Y8hpZZk5lAY",[66],[62,6644,6645],{"href":6645,"rel":6646},"https:\u002F\u002Fstrapi.io\u002Fai",[66],[59,6648,6649,6650],{},"Preview ",[62,6651,6652],{"href":6652,"rel":6653},"https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=laMuItU2f-4",[66],[31,6655,6656],{},"Sinon réécriture full TS, amélioration du mode brouillon, édition, versions. Et changement API plugin.\nRetour d’un free cloud plan !",[31,6658,6659],{},[62,6660,6661],{"href":6661,"rel":6662},"https:\u002F\u002Fwww.perplexity.ai\u002Fsearch\u002Fresume-moi-la-strapi-conf-BB6G0iGlT5eUe4C3YvzzoQ#1",[66],[26,6664,6666],{"id":6665},"app-write-site","App Write Site",[31,6668,6669],{},[62,6670,6671],{"href":6671,"rel":6672},"https:\u002F\u002Fappwrite.io\u002Fproducts\u002Fsites",[66],[26,6674,6676],{"id":6675},"feedsmith","Feedsmith",[31,6678,6679],{},[62,6680,6681],{"href":6681,"rel":6682},"https:\u002F\u002Fgithub.com\u002Fmacieklamberski\u002Ffeedsmith",[66],[26,6684,6686],{"id":6685},"the-end-of-stack-overflow","The end of stack overflow ?",[31,6688,6689],{},[62,6690,6691],{"href":6691,"rel":6692},"https:\u002F\u002Fblog.pragmaticengineer.com\u002Fstack-overflow-is-almost-dead\u002F",[66],[26,6694,6696],{"id":6695},"paperjs","Paper.js",[31,6698,6699],{},[62,6700,6703],{"href":6701,"rel":6702},"http:\u002F\u002Fpaperjs.org\u002F",[66],"http:\u002F\u002Fpaperjs.org",[26,6705,6707],{"id":6706},"altcha","Altcha",[31,6709,6710],{},[62,6711,6712],{"href":6712,"rel":6713},"https:\u002F\u002Fgithub.com\u002Faltcha-org\u002Faltcha",[66],[26,6715,6717],{"id":6716},"proton-url","Proton URL",[31,6719,6720],{},[62,6721,6722],{"href":6722,"rel":6723},"https:\u002F\u002Fprotonurl.ch\u002F",[66],[31,6725,6726],{},"Outil de partage de données sensibles. Très utiles pour les accès et clés API !",[56,6728,6729,6732,6735,6738],{},[59,6730,6731],{},"Chiffrement de bout en bout.",[59,6733,6734],{},"Durée de vie réglable (1h, 3j, 1semaine,..)",[59,6736,6737],{},"Autodestructions après première lecture",[59,6739,6740],{},"dispo en 16 langues.",[31,6742,6743],{},"Super outil à utiliser avec vos collegues, clients, etc..",[31,6745,6746],{},"Gratuit et FR",[26,6748,6750],{"id":6749},"dev-swiss","Dev Swiss",[31,6752,6753],{},[62,6754,6757],{"href":6755,"rel":6756},"https:\u002F\u002Fdevswiss.site\u002F",[66],"https:\u002F\u002Fdevswiss.site",[26,6759,6761],{"id":6760},"tailwind-cheatsheet","Tailwind Cheatsheet",[31,6763,6764],{},[62,6765,6768],{"href":6766,"rel":6767},"http:\u002F\u002Ftailwindcss.504b.cc\u002F",[66],"tailwindcss.504b.cc\u002F",[26,6770,6772],{"id":6771},"flow","Flow",[31,6774,6775],{},[62,6776,6779],{"href":6777,"rel":6778},"https:\u002F\u002Fxyflow.com\u002F",[66],"https:\u002F\u002Fxyflow.com",[26,6781,6783],{"id":6782},"migrer-de-eslint-et-prettier-sur-biome","Migrer de ESLint et Prettier sur Biome",[31,6785,6786],{},[62,6787,6788],{"href":6788,"rel":6789},"https:\u002F\u002Fblog.appsignal.com\u002F2025\u002F05\u002F07\u002Fmigrating-a-javascript-project-from-prettier-and-eslint-to-biomejs.html",[66],[26,6791,6793],{"id":6792},"open-ai","Open AI",[56,6795,6796,6803],{},[59,6797,6798,6799],{},"MCP support ",[62,6800,6801],{"href":6801,"rel":6802},"https:\u002F\u002Fopenai.com\u002Findex\u002Fnew-tools-and-features-in-the-responses-api\u002F",[66],[59,6804,6805,6806,6811,6812],{},"Codex ",[62,6807,6810],{"href":6808,"rel":6809},"https:\u002F\u002Fwww.blogdumoderateur.com\u002Fopenai-codex-agent-ia-automatise-code-chatgpt\u002F",[66],"https:\u002F\u002Fwww.blogdumoderateur.com\u002Fopenai-codex-agent-ia-automatise-code-chatgpt\u002F -"," ",[62,6813,6814],{"href":6814,"rel":6815},"https:\u002F\u002Fopenai.com\u002Findex\u002Fintroducing-codex\u002F",[66],[26,6817,6819],{"id":6818},"openai-gpt5","OpenAI GPT5",[31,6821,6822],{},[62,6823,6824],{"href":6824,"rel":6825},"https:\u002F\u002Fwww.perplexity.ai\u002Fsearch\u002Fdonne-moi-des-infos-sur-gpt5-e-ETgte9dpRPSPigRz9DdAJA#0",[66],[26,6827,6829],{"id":6828},"github-copilot","Github Copilot",[31,6831,6832],{},[62,6833,6834],{"href":6834,"rel":6835},"https:\u002F\u002Fgithub.blog\u002Fnews-insights\u002Fproduct-news\u002Fgithub-copilot-meet-the-new-coding-agent\u002F",[66],[26,6837,6839],{"id":6838},"vidéo-sur-copilot","Vidéo sur Copilot",[31,6841,6842,6843],{},"Demo Copilot ",[62,6844,6847],{"href":6845,"rel":6846},"https:\u002F\u002Fyoutu.be\u002F9kE9JWW2Y1k?feature=shared",[66],"https:\u002F\u002Fyoutu.be\u002F9kE9JWW2Y1k",[26,6849,6851],{"id":6850},"junie","Junie",[31,6853,6854],{},[62,6855,6856],{"href":6856,"rel":6857},"https:\u002F\u002Fwww.jetbrains.com\u002Ffr-fr\u002Fjunie\u002F",[66],[26,6859,6861],{"id":6860},"jules","Jules",[31,6863,6864],{},[62,6865,6866],{"href":6866,"rel":6867},"https:\u002F\u002Fjules.google\u002F",[66],[26,6869,6871],{"id":6870},"google-io-search","Google I\u002FO Search",[31,6873,6874],{},[62,6875,6876],{"href":6876,"rel":6877},"https:\u002F\u002Fwww.perplexity.ai\u002Fsearch\u002Fdonne-moi-les-news-de-la-googl-gpCzDnaCQ5mROqQy17KZFg",[66],[26,6879,6881],{"id":6880},"perplexity-pour-les-abonnés-bouygues","Perplexity pour les abonnés Bouygues",[31,6883,6884],{},"Pour les abonnés, 1 an sur Perplexity Pro gratuit.",[31,6886,662],{},{"title":81,"searchDepth":118,"depth":118,"links":6888},[6889,6890,6891,6892,6893,6894,6895,6896,6897,6898,6899,6900,6901,6902,6903,6904,6905,6906,6907,6908,6909],{"id":6563,"depth":118,"text":6564},{"id":6618,"depth":118,"text":6619},{"id":6629,"depth":118,"text":6630},{"id":6665,"depth":118,"text":6666},{"id":6675,"depth":118,"text":6676},{"id":6685,"depth":118,"text":6686},{"id":6695,"depth":118,"text":6696},{"id":6706,"depth":118,"text":6707},{"id":6716,"depth":118,"text":6717},{"id":6749,"depth":118,"text":6750},{"id":6760,"depth":118,"text":6761},{"id":6771,"depth":118,"text":6772},{"id":6782,"depth":118,"text":6783},{"id":6792,"depth":118,"text":6793},{"id":6818,"depth":118,"text":6819},{"id":6828,"depth":118,"text":6829},{"id":6838,"depth":118,"text":6839},{"id":6850,"depth":118,"text":6851},{"id":6860,"depth":118,"text":6861},{"id":6870,"depth":118,"text":6871},{"id":6880,"depth":118,"text":6881},[674],"Nous évoquons Devoxx FR 2025, les nouveautés de Strapi V5, la fin de Stack Overflow, des outils pour partager des données sensibles et, évidemment, l'IA avec OpenAI, Copilot et la Google I\u002FO.","DS_112_news-mai-rc2","https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fv1748252690\u002Fepisode\u002FART_112_hhrmyg.png",112,[],{},"\u002Fpodcasts\u002Fnews-mai-rc2","2025-05-26",{"title":6558,"description":6911},"podcasts\u002F112.news-mai-rc2\u002Findex","Épisode news web développement et IA pour mai 2025 - RC2",[6923,6924,6925,2635,6706,6926],"devoxx","strapi","openAI","google I\u002FO","azI8XWA1zP0","6oGxr4IgJmcTwgKs9ahEGsqVgcUP5FggwCcJJbrvYJM",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":6930},"\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":6932},"\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>",["Island",6934],{"key":6935,"result":6936},"Duration_NJRa9zPyKrTUsIvLY8TgoviWv2AGa03uBfGEJ1BQVk4",{"head":6937},{},["Island",6939],{"key":6940,"result":6941},"Duration_Vev9dJUWGsTTGSg2IAAMw96CRzrlNXL15219JzktA8M",{"head":6942},{},["Island",6944],{"key":6945,"result":6946},"Duration_MaheYdoKNBdXxDwVHc4tuelg3fYwH70Mvl1H9mi0gE",{"head":6947},{},["Island",6949],{"key":6950,"result":6951},"Duration_tm3uk3sCrY3zDdcBxcjsEJ987tav7Zo8c8InRUGfxM",{"head":6952},{},["Island",6954],{"key":6955,"result":6956},"Brand_bAcjTzQpW6OVpFK319jfMki97vH1GrZiqHmeI7Xg4o",{"head":6957},{},["Island",6959],{"key":6960,"result":6961},"Duration_yRpt6cRUBVus81ZzE9PHibAGCH4rUlqwwL02qsFfjo",{"head":6962},{},["Island",6964],{"key":6965,"result":6966},"Duration_6DpBmUHzEWIUhabT3SOXv9B28FVbN2yhtqSbse1Wb8",{"head":6967},{},["Island",6969],{"key":6970,"result":6971},"Duration_FCH4KmHUIpXvIdJWjTB787ly3eRYU6sykhrJyN5fU",{"head":6972},{},["Island",6974],{"key":6975,"result":6976},"Duration_2LDBVkApvUdrRU1ZxHsy55vtQxfIzk6GhnPBTP00JFU",{"head":6977},{},["Island",6979],{"key":6980,"result":6981},"Duration_ACwHSubuVt4ssyiCYAd8ueVluHrfOxjweyTonq3vGx0",{"head":6982},{},["Island",6984],{"key":6985,"result":6986},"Duration_RBwJCLegoCZw17wV1oKmUudN9syNP12JOB8YOCuhAw",{"head":6987},{},["Island",6989],{"key":6990,"result":6991},"Duration_KbUr7Cqdyr78xLxOMyTQKKDlsRpFj1mzHpsGYoPMneA",{"head":6992},{},["Island",6994],{"key":6995,"result":6996},"Duration_lpbf0BL3rWevboVLxA2rB5EndEdiLHwjf9xwL3Bdw",{"head":6997},{},["Island",6999],{"key":7000,"result":7001},"Duration_5auv6cRcezl7gXaQmhzuJItMUdhJXS2kinwBaNJHS94",{"head":7002},{},["Island",7004],{"key":7005,"result":7006},"Duration_WpTQ6RWNJs4rDelCoLvtaaBIGfudnpp8rmXlgBmFHa8",{"head":7007},{},["Island",7009],{"key":7010,"result":7011},"Duration_ENadSA1iyFvqS6dtxMU91FLOMLh2UdWs2N5fjCapuw",{"head":7012},{},["Island",7014],{"key":7015,"result":7016},"Duration_tFkM6ASGNihWZdxbjueiQyoi4DEKQz4Q6sf459FFE",{"head":7017},{},["Island",7019],{"key":7020,"result":7021},"Duration_Z7Ja893nx66IJDfrkVoIWgo6ihZ7eiaIF3E2ugCuNno",{"head":7022},{},["Island",7024],{"key":7025,"result":7026},"Duration_1kQ9wk6hu2VzUQ2G1y4ILza7TODOghS0YyVZizHqa84",{"head":7027},{},["Island",7029],{"key":7030,"result":7031},"Duration_auWLuOyS6OnRpahpmJtLFMJI4W8zGwdlDXI7mL8NuA",{"head":7032},{},["Island",7034],{"key":7035,"result":7036},"Duration_WwkINuuEmHrlAomB5fJ4BLBEu5n6vBuB4kOQTYCdiU",{"head":7037},{},["Island",7039],{"key":7040,"result":7041},"Duration_WQuCrsv48rz5mIuh5PD4KdO71CDlESbU5EbK5LXoMg",{"head":7042},{},["Island",7044],{"key":7045,"result":7046},"Duration_o93lnRPhkTiVbi9ad472awVudj7z4HNm97wMwJKuc",{"head":7047},{},["Island",7049],{"key":7050,"result":7051},"Duration_xnOp7iu3KYWb4LMt4ybTmyt0F3QEZRZdjXjozy4KEME",{"head":7052},{},["Island",7054],{"key":7055,"result":7056},"Duration_lt5Sqc22FU8fpZ9pxxYH4VUgQPoNdX2nZIwzBkHF4M",{"head":7057},{},["Island",7059],{"key":7060,"result":7061},"Duration_AB5uGt0ILsKqdhtcFUBygfzdXUJCK4VDRcgxZTkPY",{"head":7062},{},1785405172304]