Améliorer votre blog VitePress avec une API Laravel

Transformez votre blog VitePress en une plateforme dynamique avec une API

Bonjour ! 👋

Après avoir créé notre blog VitePress, nous sommes prêts à le rendre plus dynamique grâce à une API Laravel.

Dans la série précédente, nous avons découvert VitePress, de la création du projet jusqu'à son déploiement sur Cloudflare Pages. Nous avons construit un blog fonctionnel et automatisé, avec des métadonnées SEO, des images Open Graph et une page dédiée aux projets GitHub. Le blog gérait tout au moment de sa génération : il ne restait plus qu'à écrire et publier du contenu.

Create a Blog with VitePress and Vue.js from Scratch

Cette série s'intéresse au développement back-end. Nous allons créer une API Laravel pour ajouter quelques fonctionnalités interactives à notre blog.

Jusqu'à présent, notre blog était principalement statique. Le contenu était généré lors du build, avec seulement quelques données chargées dynamiquement, puis les fichiers HTML résultants étaient distribués par un CDN. En ajoutant une API Laravel, nous permettrons aux lecteurs d'interagir avec le blog grâce à des fonctionnalités comme les réactions et les commentaires.

Même si la série se concentre sur le back-end, nous intégrerons également l'API à notre blog VitePress. Nous utiliserons Vue.js et Pinia Colada pour récupérer les données. VitePress est une application Vue.js, nous pouvons donc l'étendre avec les composants dont nous avons besoin.

Les exemples sont conçus pour rester faciles à suivre. La complexité inutile et la sur-ingénierie n'ont pas leur place ici. Nous nous concentrerons sur la simplicité, la clarté et l'efficacité.

Tout au long de la série, nous construirons une API Laravel et l'intégrerons à notre blog VitePress. Nous aborderons les sujets suivants :

  • Configurer le projet Laravel : Créer un nouveau projet Laravel et se familiariser avec sa structure.
  • Améliorer le workflow de développement : Configurer Pint, Rector, Larastan et Pest pour le formatage, la refactorisation, l'analyse statique et les tests.
  • Ajouter l'authentification sociale : Permettre aux utilisateurs de se connecter avec GitHub grâce à Laravel Socialite.
  • Connecter les applications : Configurer Sanctum, CORS, la protection CSRF et les premières requêtes entre le front-end VitePress et l'API Laravel.
  • Gérer l'état d'authentification : Utiliser Pinia Colada pour récupérer l'utilisateur courant et le déconnecter avec une mise à jour optimiste.
  • Construire l'API de commentaires : Créer les modèles, les relations, les endpoints, la validation, l'autorisation et les tests des commentaires.
  • Garder le back-end synchronisé : Générer les métadonnées des articles depuis VitePress et les synchroniser avec la base de données Laravel.
  • Construire l'interface de commentaires : Récupérer, créer, modifier et supprimer des commentaires depuis le front-end VitePress.

À la fin de la série, vous aurez un blog soutenu par une API Laravel. Les lecteurs pourront se connecter avec GitHub et laisser des commentaires, tandis que l'architecture sera prête à accueillir d'autres fonctionnalités interactives.

Les tests feront partie du processus de développement et seront ajoutés à chaque étape. Il n'est donc pas nécessaire de leur consacrer un article séparé.

Si vous avez des questions, des retours ou des suggestions, n'hésitez pas à les partager dans les commentaires. Vos remarques contribuent à améliorer la série.

Note

Cette série suppose que vous connaissez déjà TypeScript, Vue.js et Laravel. Si ce n'est pas le cas, commencez par consulter la Create a Blog with VitePress and Vue.js from Scratch.

Si vous appréciez mon contenu, merci de soutenir mon travail !

Tous les articles

  1. 1. Configurer la structure et les bases d'un projet Laravel

    Découvrez comment configurer un projet Laravel et comprendre sa structure pour commencer le développement sur des bases solides.

  2. 2. Pint, Rector, Larastan et Pest : les essentiels pour réussir

    Découvrez quatre outils indispensables pour maintenir la qualité et la cohérence du code dans les projets Laravel : Pint, Rector, Larastan et Pest.

  3. 3. Authentification sociale simplifiée avec Laravel Socialite

    Ajoutez l'authentification GitHub à Laravel avec Socialite, les callbacks OAuth, la synchronisation des utilisateurs et des tests fiables.

  4. 4. Construire un système simple de commentaires Laravel

    Construisez une API de commentaires Laravel avec des modèles, migrations, ressources, policies, form requests, contrôleurs et tests complets.

  5. 5. Automatiser facilement la synchronisation de votre back-end

    Générez les métadonnées avec VitePress, synchronisez les articles avec Laravel et gardez automatiquement la base de données à jour.

  6. 6. Connecter le front-end, VitePress et le back-end, Laravel

    Connectez un front-end VitePress à une API Laravel avec Sanctum, CORS, la protection CSRF et un client API réutilisable.

  7. 7. Authentifier les utilisateurs du front-end au back-end

    Reliez l'authentification front-end à Laravel avec une requête utilisateur, une déconnexion GitHub, le cache Pinia Colada et des mises à jour optimistes.

  8. 8. Simplifier les commentaires de VitePress avec Pinia Colada

    Construisez l'interface de commentaires VitePress avec Pinia Colada, des composants Vue réutilisables, des mutations optimistes et des permissions.

Rencontrez l'instructeur

Pd

Je m'appelle Estéban Soubiran.

Je suis un ingénieur Web et rédacteur technique qui aime partager avec les autres.

J'ai créé cette série parce que j'aime VitePress et Laravel. Je suis convaincu que leur association offre une solution simple et puissante pour créer un blog. Je souhaite aider les développeurs à enrichir leurs blogs VitePress avec une API Laravel afin de créer des fonctionnalités avancées.

Si vous souhaitez me contacter, vous pouvez toujours me trouver sur Bluesky, X et LinkedIn ou envoyer un e-mail à esteban@soubiran.dev.

Réactions

Discussions

Ajouter un commentaire

Vous devez être connecté pour accéder à cette fonctionnalité.

Soutenez mon travail
Suivez-moi sur