Alors pour expliquer cette nouveauté sur Vite et Inertia avec Laravel, Vue, React et PHP en général...
Il faut revenir sur comment fonctionne les rendus sur la partie web.
Mais la version courte :
On va pouvoir appeler des fonctions backend et écrire du code backend mais dans un composant frontend.
Cela va simplifier l'expérience de développement en facilitant le passage de données du back vers le front et simplifier la récupération de données en appellant juste des noms de fonctions au lieu de créer une API.
Certains diront "ah mais les server functions ça existent sur Next" et oui, c'est bien ça le souci :
Sur Next. Ou généralement même, en JS.
Ici on va permettre de pouvoir faire ça sur n'importe quel framewrok à l'avenir.
Enfin là c'est sur Laravel avec PHP, mais si la techno est rendu agnostique, ça pourrait fonctionner sur plusieurs frameworks quelque soit le langage.
Alors ça reste dur à comprendre pour un néophyte je pense mais j'ai essayé de faire de mon mieux haha.
La version longue :
- À la genèse on avait le Static
Il y avait les pages statiques, des pages HTML fixes, qui ne changent pas et renvoyées telle quelle au navigateur.
- Puis on a eu le SSR (server side rendering)
Ce qu'on appelait souvent "les pages dynamiques".
Par là on entendait qu'un langage serveur allait générer le contenu HTML à la volée sur le serveur et renvoyer au navigateur.
- Puis on a eu le CSR (client side rendering)
Qui a popularisé les SPA et les PWA par la suite.
Par là on entendait que le navigateur grâce à JavaScript allait construire des parties ou toute la page, en général avec un framework Angular, React, Vue, Svelte...
Le plus souvent en faisant des appels d'API Rest ou GraphQL ou peu importe pour récupérer les données du backend.
Puis ça posait des problèmes de SEO entre autre donc on a inventé...
- Le SSR (encore) mais avec Node !
C'est d'ailleurs là que le terme SSR est devenu "à la mode" pour parler de rendu côté serveur mais avec Node qui permet d'exécuter le code d'un framework frontend dans le backend.
Grâce à ça une partie du code "frontend" pouvait aussi accéder à des choses dans le back directement.
C'est de là qu'est né Next, Nuxt et autres régalades.
Mais... Ça ne plaisait pas aux devs back qui étaient sur des technos non node (PHP, Python, Ruby...).
Il fallait donc un moyen de faire un framework front mais avec du rendering de son langage backend préféré.
- Puis on a eu Inertia JS
Inertia permettait à n'importe quel backend de faire du SSR classique qui renvoyait du code frontend.
Ce SSR passe en fait des données au format JSON à au code frontend qui va avoir accès à ce code sans appels d'API mais à travers un système transparent de props, url, forms, et plus.
- Puis après on a eu les server actions
Là c'était la possibilité depuis un framework frontend d'appeler des fonctions qui existent dans le backend pour éviter de faire des appels d'API et que ce soit plus facile, plus transparent.
Sauf que ça, ce n'était faisable qu'en Node encore une fois avec Next, Nuxt etc.
Ici la solution va permettre de faire ça en PHP avec Laravel et en plus dans un composant .vue dans avec un scope qui rend le tout centralisé.
Cela va encore plus dans cette mouvance de grouper ensemble les choses qui sont intiment lié.
Cela peut être une bonne comme une mauvaise chose, en fonction de comment ça évolue.
Voilà voilà.
Peux-tu vulgariser pour nous pauvres hères néophytes ?