Bonjour,
Je viens vers vous pour avoir quelques conseils.

J'ai créé un petit cms avec laravel qui tourne plûtot bien et pour me former un peu je voulais passer le projet sous Vuejs.
Mais si je comprend bien, je n'ai pas vraiment d'autre solution que de tout refaire ?
Toutes mes routes sont à recréer avec Vue-router , je n'aurais qu'un seul point d'entrée sur l'accueil et tout le reste sera gérer par le router de vue?
Pareil pour tout mes fichiers blade ? en gros ils deviennent des fichiers vue qui vont aller interroger la base de donnée ?
Ou alors les fichiers blade récupèrent les infos depuis le controller, les envoies dans mes fichiers vue qui les renvoient à nouveau dans mon fichier blade , ce qui fait une surcouche de code ?

Bref j'ai vraiment du mal à imaginer le truc, ni comment faire cohabiter toute une architecture laravel avec Vue pour passer en SPA .
Comment me servir de ce qui est déjà créé ?

Avez-vous des exemples de ce genre de projet, des tutos ou des conseils à me donner afin d'éclairer ma lanterner s'il vous plaît ?

4 réponses


Defy
Réponse acceptée

L'intérêt principal c'est le découplage des technos. Du coup si demain tu devrais changer de techno pour l'API, si tu gardes les mêmes routes dans ton nouveau back-end tu n'as pas besoin de changer ton front et inverssement. Tu n'as pas obliger de recoder l'API si tu change de techno front.

Alors oui, dans l'idée c'est ça, remplaçait tout le code HTML généré par Php par des fichiers vus.

Du coup tu auras:
-le router de vue pour gérer ton application.
-tes contrôler laravel ne devra pas retourner une page de template mais du JSON, qui sera consommé par ton application vue.

Par contre ça pose des questions de sécurité. Il faudra que tes routes d'API (qui distribue du JSON) soient protégées pour que personnes puissent y accéder depuis l'URL.

Ok merci Defy pour la réponse.
Donc en gros mon router js appel les routes de l'api, retourne d'un coté les composants vue qui correspondent, ainsi que la reponse du controller qui lui, est renseigné dans mon route/api.php ?
Et je garde le même format que dans mon route/web.php avec un groupe de route qui utilise un middleware "admin" par exemple, en utilisant laravel passeport comme dans un tuto grafikart ?

Mouais je vois un peu mieux le concept, mais bon pour un simple cms/backend qui n'est ni plus ni moins q'une api rest pour des sites vitrines, je ne vois pas trop l'interet de toute cette surcouche, si ce n'est le coté "hype" (je code en Vuejs !!!).
Surtout que j'ai déjà un peu de js, de l'ajax et que le produit finis tourne nickel...

Donc plus à mettre en oeuvre pour un front end qui va consommé mon api à la rigueur. Mais là se posera la question du référencement , du SSR et compagnie ... tu as déjà testé nuxt ?

Ok merci defy d'avoir répondu !