[{"data":1,"prerenderedAt":283},["ShallowReactive",2],{"i-ic:outline-arrow-upward":3,"Footer_afPiwGMwNiEyV4syWzw87ovzxHAgs4iwKtCn4zqBf8E":8,"episode-\u002Fpodcasts\u002Flaravel":16,"github-sponsor":183,"i-material-symbols:home":258,"i-ic:baseline-play-circle-filled-white":260,"i-material-symbols:ios-share":262,"i-cbi:deezer-logo":264,"i-vscode-icons:file-type-rss":266,"i-ri:heart-3-fill":269,"Brand_dlIOZD2O03VXPoFYukMOJnSnZRMTmJ0YwMKY5fNK8":271,"Duration_KIcBkXt1UBTkwVQ1xpgV6y5heIRnV35avKD0QbphWs":276,"i-ri:external-link-line":281},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":7},0,24,false,"\u003Cpath fill=\"currentColor\" d=\"m4 12l1.41 1.41L11 7.83V20h2V7.83l5.58 5.59L20 12l-8-8z\"\u002F>",["Island",9],{"key":10,"result":11},"Footer_afPiwGMwNiEyV4syWzw87ovzxHAgs4iwKtCn4zqBf8E",{"head":12},{"style":13},[14],{"innerHTML":15},":where(.i-mdi\\:github){display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-image:var(--svg);mask-image:var(--svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;--svg:url(\"data:image\u002Fsvg+xml,%3Csvg xmlns='http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg' viewBox='0 0 24 24' width='24' height='24'%3E%3Cpath fill='black' d='M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5c.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34c-.46-1.16-1.11-1.47-1.11-1.47c-.91-.62.07-.6.07-.6c1 .07 1.53 1.03 1.53 1.03c.87 1.52 2.34 1.07 2.91.83c.09-.65.35-1.09.63-1.34c-2.22-.25-4.55-1.11-4.55-4.92c0-1.11.38-2 1.03-2.71c-.1-.25-.45-1.29.1-2.64c0 0 .84-.27 2.75 1.02c.79-.22 1.65-.33 2.5-.33s1.71.11 2.5.33c1.91-1.29 2.75-1.02 2.75-1.02c.55 1.35.2 2.39.1 2.64c.65.71 1.03 1.6 1.03 2.71c0 3.82-2.34 4.66-4.57 4.91c.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2'\u002F%3E%3C\u002Fsvg%3E\")}",{"id":17,"title":18,"author":19,"body":20,"categories":146,"description":148,"dsSlug":149,"duration":150,"episodeArtwork":151,"episodeNumber":152,"episodeType":153,"explicit":6,"extension":154,"guid":155,"links":156,"meta":169,"navigation":170,"path":171,"publicationDate":172,"season":173,"seo":174,"status":175,"stem":176,"subtitle":177,"tags":178,"videoLink":181,"__hash__":182},"podcasts\u002Fpodcasts\u002F066.laravel\u002Findex.md","Laravel avec LaravelJutsu","Double Slash",{"type":21,"value":22,"toc":137},"minimark",[23,28,32,35,38,41,44,47,51,79,83,86,98,102,127,131,134],[24,25,27],"h2",{"id":26},"laravel-rapide-historique","Laravel, rapide historique",[29,30,31],"p",{},"Laravel est un framework de développement web open source et populaire qui a été créé par Taylor Otwell en 2011. Il est écrit en PHP, l'un des langages de programmation les plus utilisés pour la création de sites web dynamiques.",[29,33,34],{},"L'histoire de Laravel remonte à une époque où il existait déjà plusieurs frameworks PHP, mais ils étaient souvent complexes à utiliser ou manquaient de fonctionnalités modernes. Taylor Otwell a entrepris de créer un nouveau framework qui serait simple, élégant et offrirait une productivité accrue aux développeurs.",[29,36,37],{},"La première version de Laravel, Laravel 1, est sortie en juin 2011. Elle a été bien accueillie par la communauté des développeurs PHP en raison de sa simplicité, de sa documentation claire et de ses fonctionnalités avancées telles que le routage, l'ORM (Object-Relational Mapping) intégré et le système de templates.",[29,39,40],{},"Au fil des ans, Laravel a connu une croissance exponentielle de sa popularité. La version 4, sortie en mai 2013, a introduit de nouvelles fonctionnalités telles que le support de la file d'attente, la gestion des tâches planifiées et des améliorations significatives de la performance. Laravel 5, sorti en février 2015, a apporté des améliorations majeures, notamment l'introduction du moteur de templates Blade, l'injection de dépendances améliorée et la prise en charge native des tests unitaires.",[29,42,43],{},"Depuis lors, Laravel a continué à se développer et à innover. Des versions ultérieures ont introduit des fonctionnalités telles que la gestion des événements et des diffusions en temps réel, l'authentification simplifiée, l'intégration avec des services cloud populaires, ainsi qu'une vaste communauté de développeurs qui contribuent à son écosystème grâce à des packages et des ressources.",[29,45,46],{},"Aujourd'hui, Laravel est largement reconnu comme l'un des frameworks PHP les plus puissants et les plus conviviaux. Il est utilisé par de nombreux développeurs et entreprises du monde entier pour la création de sites web, d'applications web et même d'API. Laravel bénéficie d'une documentation complète, d'une vaste collection de packages et d'une communauté active, ce qui en fait un choix populaire pour le développement web moderne en PHP.",[24,48,50],{"id":49},"les-principaux-outils-disponibles-dans-laravel","Les principaux outils disponibles dans Laravel",[52,53,54,58,61,64,67,70,73,76],"ol",{},[55,56,57],"li",{},"Eloquent ORM : Un ORM puissant pour interagir avec la base de données.",[55,59,60],{},"Laravel Blade : Moteur de templates pour la création de vues.",[55,62,63],{},"Laravel Routing : Système de routage pour gérer les requêtes HTTP.",[55,65,66],{},"Laravel Migrations : Gestion des modifications de la structure de la base de données.",[55,68,69],{},"Laravel Authentication : Système d'authentification complet pour la gestion des utilisateurs.",[55,71,72],{},"Laravel Artisan : Console de commande pour automatiser les tâches de développement.",[55,74,75],{},"Laravel Valet et Homestead : Environnements de développement locaux simplifiés pour Laravel.",[55,77,78],{},"Laravel Cashier et Laravel Passport : Outils pour la gestion des paiements et l'authentification des API.",[24,80,82],{"id":81},"le-coté-front-avec-laravel","Le coté front avec Laravel",[29,84,85],{},"Laravel offre différentes options pour la gestion du côté front de vos applications web. Livewire permet de créer des interfaces réactives sans écrire de code JavaScript, Inertia permet d'utiliser des frameworks JavaScript modernes tout en gardant le côté serveur de Laravel, et Vue.js offre une intégration native avec Laravel pour créer des interfaces utilisateur réactives et interactives. Ces outils vous permettent de construire des applications web robustes et performantes en combinant les forces de Laravel côté serveur avec des fonctionnalités dynamiques côté client.",[87,88,89,92,95],"ul",{},[55,90,91],{},"Integration classique de Javascript :\nLaravel dispose d'outils pour intégrer des librairies JavaScript facilement. Il met à disposition Vite.JS en version préconfiguré et son moteur de template (Blade) est très pratique pour intégrer des librairies JavaScript tel que Vue.JS. Il est possible par exemple de passer des props à un composant Vue.JS directement depuis Blade.",[55,93,94],{},"Livewire :\nLivewire est une bibliothèque intégrée à Laravel qui permet de construire des interfaces utilisateur dynamiques et interactives sans avoir à écrire de code JavaScript. Il utilise des composants PHP et les relie à la partie front-end de votre application. Livewire utilise des requêtes AJAX pour mettre à jour dynamiquement les parties de la page sans rechargement complet. Il facilite le développement de fonctionnalités en temps réel et réactives sans nécessiter une connaissance approfondie du JavaScript.",[55,96,97],{},"Inertia :\nInertia est une autre approche de développement côté front pour les applications Laravel. Il permet de construire des interfaces utilisateur SPA (Single-Page Application) en utilisant des frameworks JavaScript modernes tels que Vue.js, React ou Svelte, tout en gardant le côté serveur de Laravel pour gérer les routes et le rendu initial. Inertia permet de combiner les avantages d'une SPA avec la simplicité et la familiarité de Laravel, tout en réduisant la complexité du développement front-end.",[24,99,101],{"id":100},"notre-invité-ludovic-guénet","Notre invité : Ludovic Guénet",[87,103,104,113,120],{},[55,105,106],{},[107,108,112],"a",{"href":109,"rel":110},"https:\u002F\u002Fwww.youtube.com\u002F@LaravelJutsu",[111],"nofollow","LaravelJutsu",[55,114,115],{},[107,116,119],{"href":117,"rel":118},"https:\u002F\u002Ftwitter.com\u002FLaravelJutsu",[111],"Twitter",[55,121,122],{},[107,123,126],{"href":124,"rel":125},"https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fludoguenet\u002F",[111],"LinkedIn",[24,128,130],{"id":129},"sommaire","Sommaire",[29,132,133],{},"00:00 Intro.\n01:00 Présentation de Ludovic.\n03:00 Qu'est-ce que Laravel ?\n06:40 La gestion du projet Laravel, les contributeurs.\n09:20 Laravel proche de la philosophie Ruby on Rails ?\n12:00 Les packages autours de Laravel.\n17:30 Les PSR et conventions de code.\n18:20 Facilité de prise en main de Laravel.\n23:45 Analyse de code avec PHPStan et LaraStan.\n24:58 L'écosystème Laravel.\n28:10 Quel projet pour Laravel ?\n30:30 le rythme de sortie des versions et évolutions de Laravel.\n31:40 Les tests dans Laravel\n37:00 Laravel coté front.\n44:30 La communauté Laravel.\n45:40 Les ressources pour apprendre Laravel.\n47:00 Fin...",[29,135,136],{},"Bonne écoute !",{"title":138,"searchDepth":139,"depth":139,"links":140},"",2,[141,142,143,144,145],{"id":26,"depth":139,"text":27},{"id":49,"depth":139,"text":50},{"id":81,"depth":139,"text":82},{"id":100,"depth":139,"text":101},{"id":129,"depth":139,"text":130},[147],"Technology","Dans cet épisode, nous avons le plaisir de recevoir Ludovic Guénet qui est le créateur passionné de la chaine YouTube @LaravelJutsu. Dans ses vidéos, Ludovic parle principalement de Laravel et de son écosystème. Avec lui, nous allons découvrir le framework Laravel qui dès le départ à adopté une philosophie proche du framework Ruby on Rails.","DS_066_laravel",2930,"https:\u002F\u002Fres.cloudinary.com\u002Fdoubleslash\u002Fimage\u002Fupload\u002Fv1687160917\u002Fepisode\u002FART_66_laravel_b8zyxt.png",66,"full","md",null,[157,160,163,166],{"title":158,"url":159},"Laravel","https:\u002F\u002Flaravel.com\u002F",{"title":161,"url":162},"Laravel Frontend","https:\u002F\u002Flaravel.com\u002Ffrontend",{"title":164,"url":165},"Inertiajs","https:\u002F\u002Finertiajs.com\u002F",{"title":167,"url":168},"Livewire","https:\u002F\u002Flaravel-livewire.com\u002F",{},true,"\u002Fpodcasts\u002Flaravel","2023-06-14",1,{"title":18,"description":148},"published","podcasts\u002F066.laravel\u002Findex","Laravel, le framework PHP élégant et productif.",[179,180],"php","laravel","Fv8aIey_NdE","Qm0s5C8RCPjuiPWFtIjnxGXtc6bicGhLkmiudfZVBcc",{"data":184},{"organization":185},{"sponsorsListing":186},{"name":187,"fullDescriptionHTML":188,"url":189,"shortDescription":190,"activeGoal":191,"isPublic":170,"sponsorable":195},"sponsors-double-slash-podcast","\u003Cp>Le podcast des dev pour dev par des dev !\u003C\u002Fp>\n\u003Cp>Des podcasts et des videos sur les technologie WEB modernes.\u003C\u002Fp>\n\u003Cp>A deux ou avec un invité, on discute des tendances, des nouvelles technologies, des meilleures pratiques actuelles.\u003C\u002Fp>\n\u003Cp>🎥 \u003Ca href=\"https:\u002F\u002Fwww.youtube.com\u002Fchannel\u002FUCp5DGBAX2XNJXeOVAo7bICQ\">Youtube\u003C\u002Fa>\u003Cbr>\n🎙️ \u003Ca href=\"https:\u002F\u002Fspoti.fi\u002F317wtvD\">Spotify\u003C\u002Fa> ▪️ \u003Ca href=\"https:\u002F\u002Fapple.co\u002F3fTguFo\">Apple Podcast\u003C\u002Fa> ▪️ \u003Ca href=\"https:\u002F\u002Fbit.ly\u002F3i0hDgy\">Deezer\u003C\u002Fa> ▪️ \u003Ca href=\"https:\u002F\u002Fbit.ly\u002F31aKKYd\">Google Podcast\u003C\u002Fa>\u003Cbr>\n🌐 \u003Ca href=\"https:\u002F\u002Fdouble-slash.dev\u002F\">Double Slash DEV\u003C\u002Fa>\u003C\u002Fp>","https:\u002F\u002Fgithub.com\u002Fsponsors\u002Fdouble-slash-podcast","Le podcast des dev pour les dev par des dev !",{"description":192,"percentComplete":193,"targetValue":193,"title":194},"L'ensemble des charges seront couvertes. Service de stockage et abonnement aux services utilisés.",70,"$70 per month",{"sponsors":196},{"edges":197},[198,204,210,216,222,228,234,240,246,252],{"node":199},{"id":200,"name":201,"url":202,"avatarUrl":203},"MDQ6VXNlcjEwMDMwNw==","Clément Delmas","https:\u002F\u002Fgithub.com\u002Fclem","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F100307?u=878ed4b7cdf920879b57046f19e434fea2c7d296&v=4",{"node":205},{"id":206,"name":207,"url":208,"avatarUrl":209},"MDQ6VXNlcjI3NTYwOQ==","Thibaud Lepretre","https:\u002F\u002Fgithub.com\u002Fkakawait","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F275609?v=4",{"node":211},{"id":212,"name":213,"url":214,"avatarUrl":215},"MDQ6VXNlcjE5MTQxNjA=","David Pollet","https:\u002F\u002Fgithub.com\u002Fdavidpollet","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F1914160?u=4b3da16383b9fa810fd0980f756000709403ab45&v=4",{"node":217},{"id":218,"name":219,"url":220,"avatarUrl":221},"MDQ6VXNlcjYzMzMzOTY=","Eric","https:\u002F\u002Fgithub.com\u002Fericledonge","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F6333396?u=e9e541a6b9125d8e8b558fdd914c847eb36db695&v=4",{"node":223},{"id":224,"name":225,"url":226,"avatarUrl":227},"MDQ6VXNlcjg4OTk3Njg=","François Gardien","https:\u002F\u002Fgithub.com\u002FYoutch","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F8899768?u=85ae8c4299c380bcec02e99e9364624f3ce333c7&v=4",{"node":229},{"id":230,"name":231,"url":232,"avatarUrl":233},"MDQ6VXNlcjEwMTc2NjI2","Antharuu","https:\u002F\u002Fgithub.com\u002Fantharuu","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F10176626?u=3f6ef490b330d5a9bbaa3137560b5d1d4cf13a4a&v=4",{"node":235},{"id":236,"name":237,"url":238,"avatarUrl":239},"MDQ6VXNlcjEwMTg2OTkz","Adrien Zaganelli","https:\u002F\u002Fgithub.com\u002FadrienZ","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F10186993?u=08189ef8cf708a61445b6a57cf7a2aa361d484af&v=4",{"node":241},{"id":242,"name":243,"url":244,"avatarUrl":245},"MDQ6VXNlcjI2MTQyMzgz","Thomas Lemoine","https:\u002F\u002Fgithub.com\u002Fthomaslemoine","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F26142383?u=4c68175459b0ae1f8c68c48c40f2ae148747675d&v=4",{"node":247},{"id":248,"name":249,"url":250,"avatarUrl":251},"MDQ6VXNlcjY1NzM3MTMx","Valentin Grenier","https:\u002F\u002Fgithub.com\u002Fvalentin-grenier","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F65737131?u=0ba0cc828412f6655a948c6a82f69b9c909f8fd9&v=4",{"node":253},{"id":254,"name":255,"url":256,"avatarUrl":257},"U_kgDOBipZwA","Hebrard Frederic","https:\u002F\u002Fgithub.com\u002Ffrederichebrard","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F103438784?v=4",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":259},"\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":261},"\u003Cpath fill=\"currentColor\" d=\"M12 2C6.475 2 2 6.475 2 12s4.475 10 10 10s10-4.475 10-10S17.525 2 12 2m-2 14.5v-9l6 4.5z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":263},"\u003Cpath fill=\"currentColor\" d=\"M6 22q-.825 0-1.412-.587T4 20V10q0-.825.588-1.412T6 8h3v2H6v10h12V10h-3V8h3q.825 0 1.413.588T20 10v10q0 .825-.587 1.413T18 22zm5-6V4.825l-1.6 1.6L8 5l4-4l4 4l-1.4 1.425l-1.6-1.6V16z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":265},"\u003Cpath fill=\"currentColor\" d=\"M18.774 5.051c.185-1.072.457-1.747.757-1.748c.561 0 1.015 2.341 1.015 5.228s-.455 5.229-1.016 5.229c-.23 0-.443-.4-.614-1.064c-.27 2.439-.831 4.115-1.48 4.115c-.5 0-.953-1.007-1.256-2.594c-.207 3.018-.727 5.161-1.334 5.161c-.381 0-.73-.848-.987-2.231C13.55 20 12.834 22 12 22s-1.551-2-1.86-4.853c-.255 1.383-.6 2.231-.986 2.231c-.609 0-1.128-2.142-1.335-5.161c-.3 1.587-.752 2.594-1.256 2.594c-.649 0-1.21-1.676-1.481-4.115c-.169.668-.382 1.064-.613 1.064c-.562 0-1.017-2.34-1.017-5.229S3.908 3.3 4.471 3.3c.3 0 .57.676.758 1.748C5.527 3.2 6.014 2 6.564 2c.653 0 1.219 1.7 1.487 4.168c.262-1.8.658-2.941 1.1-2.941c.624 0 1.154 2.252 1.351 5.393C10.874 7.01 11.41 6 12 6s1.128 1.011 1.5 2.62c.2-3.141.727-5.393 1.351-5.393c.444 0 .84 1.145 1.1 2.941C16.219 3.7 16.785 2 17.439 2c.547 0 1.035 1.2 1.335 3.051m-16.2 5.3C2.258 10.355 2 9.31 2 8.017s.258-2.337.576-2.337s.578 1.044.578 2.337s-.254 2.338-.578 2.338Zm18.848 0c-.32 0-.577-1.045-.577-2.338s.257-2.337.577-2.337S22 6.724 22 8.017s-.258 2.338-.576 2.338Z\"\u002F>",{"left":4,"top":4,"width":267,"height":267,"rotate":4,"vFlip":6,"hFlip":6,"body":268},32,"\u003Cdefs>\u003ClinearGradient id=\"SVGvSi4fdXe\" x1=\"30.06\" x2=\"225.94\" y1=\"30.06\" y2=\"225.94\" gradientTransform=\"matrix(.11 0 0 .11 2 2)\" gradientUnits=\"userSpaceOnUse\">\u003Cstop offset=\"0\" stop-color=\"#e3702d\"\u002F>\u003Cstop offset=\".11\" stop-color=\"#ea7d31\"\u002F>\u003Cstop offset=\".35\" stop-color=\"#f69537\"\u002F>\u003Cstop offset=\".5\" stop-color=\"#fb9e3a\"\u002F>\u003Cstop offset=\".7\" stop-color=\"#ea7c31\"\u002F>\u003Cstop offset=\".89\" stop-color=\"#de642b\"\u002F>\u003Cstop offset=\"1\" stop-color=\"#d95b29\"\u002F>\u003C\u002FlinearGradient>\u003C\u002Fdefs>\u003Crect width=\"28\" height=\"28\" x=\"2\" y=\"2\" fill=\"#cc5d15\" rx=\"6.01\" ry=\"6.01\"\u002F>\u003Crect width=\"26.91\" height=\"26.91\" x=\"2.54\" y=\"2.54\" fill=\"#f49c52\" rx=\"5.47\" ry=\"5.47\"\u002F>\u003Crect width=\"25.82\" height=\"25.82\" x=\"3.1\" y=\"3.1\" fill=\"url(#SVGvSi4fdXe)\" rx=\"5.14\" ry=\"5.14\"\u002F>\u003Cpath fill=\"#fff\" d=\"M6.82 6.16v3.83a15.31 15.31 0 0 1 15.3 15.3h3.83A19.14 19.14 0 0 0 6.81 6.17zm0 6.45v3.72a8.97 8.97 0 0 1 8.96 8.97h3.72A12.69 12.69 0 0 0 6.81 12.6zm2.62 7.44a2.63 2.63 0 0 0-2.63 2.62a2.63 2.63 0 0 0 2.63 2.63a2.63 2.63 0 0 0 2.63-2.63a2.63 2.63 0 0 0-2.63-2.63z\"\u002F>",{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":270},"\u003Cpath fill=\"currentColor\" d=\"M16.5 3C19.538 3 22 5.5 22 9c0 7-7.5 11-10 12.5C9.5 20 2 16 2 9c0-3.5 2.5-6 5.5-6C9.36 3 11 4 12 5c1-1 2.64-2 4.5-2\"\u002F>",["Island",272],{"key":273,"result":274},"Brand_dlIOZD2O03VXPoFYukMOJnSnZRMTmJ0YwMKY5fNK8",{"head":275},{},["Island",277],{"key":278,"result":279},"Duration_KIcBkXt1UBTkwVQ1xpgV6y5heIRnV35avKD0QbphWs",{"head":280},{},{"left":4,"top":4,"width":5,"height":5,"rotate":4,"vFlip":6,"hFlip":6,"body":282},"\u003Cpath fill=\"currentColor\" d=\"M10 6v2H5v11h11v-5h2v6a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1zm11-3v8h-2V6.413l-7.793 7.794l-1.414-1.414L17.585 5H13V3z\"\u002F>",1785405176311]