Aller au contenu
Dimitri Robiere PerrietD. R. PerrietCaen, FR — --:--:--FR · EN

Gestion de bibliothèque avec Symfony 7 et Nuxt 3

○ Archivé
Client
Projet personnel
Rôle
Développeur full-stack
Durée
4 jours
Année
2025
Stack
Symfony 7 · API Platform · Doctrine · JWT · Nuxt 3 · TypeScript · Tailwind CSS · DaisyUI
Gestion de bibliothèque avec Symfony 7 et Nuxt 3 — illustration
Fig. 01 — Gestion de bibliothèque avec Symfony 7 et Nuxt 3, illustration
(00) — En bref

Gestion de bibliothèque montée en quatre jours : API Symfony 7 et API Platform sécurisée par JWT, front Nuxt 3 pour les livres, auteurs et catégories.

(01)

Contexte

Ce projet est un exercice réalisé en quelques jours pour éprouver le duo Symfony et Nuxt sur un cas concret : la gestion d’une bibliothèque, avec des livres, des auteurs et des catégories.

Le dépôt réunit les deux applications, un back-end API et un front-end séparé, avec une base de données lancée via Docker.

(02)

Challenge

Le périmètre était court mais complet : relations entre entités, authentification, droits différents selon le rôle et interface d’administration utilisable. Tout devait tenir en quelques jours.

Les livres ont un propriétaire, celui qui les a créés, et les opérations sur les auteurs et catégories ne sont pas ouvertes à tous les rôles.

(03)

Approche

Côté Symfony, j’ai modélisé les entités Livre, Auteur et Catégorie avec Doctrine, exposées par API Platform avec des filtres de recherche. L’authentification passe par le bundle JWT de Lexik, un processeur assigne automatiquement le propriétaire à la création d’un livre, et une commande console insère un jeu de données de test.

Le front Nuxt 3 en TypeScript utilise Tailwind CSS et DaisyUI : page d’accueil avec statistiques et livres récents, listes avec filtres et tri, modales d’édition et de suppression, états de chargement en skeleton et notifications. Des composables centralisent l’authentification et les appels API, et un middleware protège les routes.

(04) — Résultats

Chiffres clés
4
jours de développement
3
entités métier
2
applications : API et front
18
commits
← Projet précédent32 · Intranet PHP et MySQL pour un centre hospitalierProjet suivant34Suivi de position en temps réel par WebSocket et React