On utilise Laravel Nova et on trouve ça cool ! 

Découvrez pourquoi Laravel Nova simplifie la création de back-offices

Vous cherchez à développer un back-office robuste ? Laravel Nova est certainement une très bonne solution… Il permet de développer une application très rapidement tout en reposant sur des technologies fiables. Et, c’est un peu notre crédo chez TheCodingMachine. Alors lorsqu’on a découvert Laravel Nova, on s’est dit qu’il fallait que l’on vous en parle. 

#1. Bon d’abord, qu’est-ce que Laravel Nova ? 

C’est un outil de conception de back-office, s’appuyant sur le très solide framework PHP Laravel

Laravel Nova permet de réduire à néant toutes les complexités inhérentes à la création d’un back-office d’administration (formulaire de création d’éléments complexes, affichage de listes triées, filtrées et paginées, déclenchement d’actions de masses, etc.), grâce à des outils clés en mains, robustes, et éprouvés.

Conçu pour drastiquement simplifier la mise en place de back-offices sur mesure, voici pourquoi vous devriez envisager d’utiliser Laravel Nova : 

  • Laravel Nova offre une interface utilisateur prête à l’emploi élégante. Vous n’avez pas besoin de créer une interface d’administration complexe depuis zéro. La gestion du menu, des listes, des formulaires, des erreurs, ou encore des dashboards est facilitée à travers des composants déjà pré-établis qualitatifs.
  • Rapidité de développement : en fournissant l’intégralité des vues et des composants du back-office, Laravel Nova permet de gagner du temps et de réduire la charge de travail de développement. Il permet notamment de générer des CRUD (interfaces pour les opérations de création, lecture, mise à jour et suppression des données) rapidement à partir du modèle de données, ou bien encore d’intégrer des fonctionnalités de recherche, tris et filtres  puissants. 
  • Bien que Nova fournisse des modèles de base, il est également personnalisable. Vous pouvez ajouter des champs et des outils personnalisés pour répondre aux besoins spécifiques de votre application. D’ailleurs chez TheCodingMachine, on adore concevoir des nouveaux champs, métriques ou ressources complètes sur-mesure pour nos clients : n’hésitez pas à suivre notre Github, on prévoit bientôt de mettre à disposition des composants Laravel Nova open-source !
  • Nova est spécialement conçu pour fonctionner en cohérence avec Laravel. Il tire parti des fonctionnalités telles que l’authentification, les autorisations, les migrations de base de données, les modèles Eloquent (détaillé ci-dessous), les validations, etc.
  • Nova intègre un système de gestion des autorisations qui vous permet de définir précisément qui peut accéder à quelles parties du back-office. Vous pouvez gérer les rôles et les autorisations de manière centralisée.

Nova propose un journal d’audit qui enregistre toutes les activités effectuées dans le back-office, ce qui peut être utile pour le suivi de l’activité des utilisateurs et la résolution de problèmes. Il est aussi optimisé pour être performant. 

Enfin, Laravel et Nova disposent d’une grande communauté de développeurs, ce qui signifie que vous pouvez trouver un grand nombre de ressources, de packages complémentaires et de documentation pour vous aider dans votre développement.

D’ailleurs, c’est le fondateur de Laravel qui est le créateur de Laravel Nova !

Exemple d'un back-office généré avec Laravel Nova.

#2. Ce qui est le plus cool : interagir simplement avec la base de donnée

Eloquent est l’ORM (Object-Relational Mapping) inclus avec Laravel. Il fournit une manière simple de travailler avec les bases de données, qu’importe la technologie utilisée (MySQL, MariaDB, PostgreSQL, SQL Server, etc.). 

Un modèle Eloquent est une classe qui représente une table dans votre base de données. Chaque modèle correspond à une table, et chaque instance du modèle correspond à un enregistrement dans cette table. Ces modèles permettent donc d’effectuer des requêtes sur la base de données de manière intuitive, en utilisant une syntaxe orientée objet.

Laravel Nova utilise les modèles Eloquent pour interagir avec les données de la base de données. Pour chaque modèle Eloquent que vous souhaitez gérer via l’interface d’administration de Nova, vous créez une « Resource » Nova correspondante qui définit comment ce modèle est présenté dans l’interface Nova, y compris les champs, les filtres, les actions, etc. 

Et ce qui est très fort, c’est que vos modèles peuvent être liés à d’autres entités (par exemple un utilisateur appartient à une entreprise, ou à l’inverse une entreprise est composée de plusieurs utilisateurs), Laravel Nova sait parfaitement représenter ces informations.

En résumé :  Nova étend la fonctionnalité des modèles Eloquent en fournissant une interface utilisateur graphique pour interagir avec ces modèles.

#3. Les alternatives à Laravel Nova

Il existe de nombreuses alternatives à Laravel Nova que nous allons prochainement tester (stay tuned !) : 

Voyager :

Voyager, souvent appelé l’Admin Panel pour Laravel, est une solution complète qui combine un outil d’administration avec un système de gestion de contenu intégré. Il est particulièrement apprécié pour sa simplicité d’installation et son interface utilisateur. Voyager propose une série de fonctionnalités clés telles que le CRUD (Créer, Lire, Mettre à jour, Supprimer) pour les modèles de base de données, un gestionnaire de rôles et de permissions, et un constructeur de menus, rendant la gestion de l’application Laravel plus efficace et intuitive. 

BackPack for Laravel :

BackPack for Laravel est une collection de packages qui fournit une solution d’administration personnalisable pour les applications Laravel. Il excelle dans la création d’interfaces d’administration complexes, offrant des fonctionnalités telles que la gestion des CRUD, des filtres avancés, et des formulaires avec validation. BackPack se distingue par sa capacité à étendre et personnaliser presque tous les aspects de l’interface d’administration, permettant aux développeurs de créer des back-offices qui s’adaptent parfaitement aux besoins spécifiques de leur application. Avec son architecture modulaire et ses nombreuses options de configuration, BackPack est idéal pour les projets nécessitant une approche plus sur mesure de la gestion de l’administration.

Conclusion

Il est nécessaire de parler des limites de Laravel Nova. D’abord, c’est un outil payant, ce qui peut être un facteur à prendre en compte. Il faut aussi avouer que cet outil vient avec les inconvénients de ses avantages comme par exemple, il est complexe de développer certaines fonctionnalités lorsqu’elles sont fournies en standard. 

Mais pour résumer, utiliser Nova avec Laravel simplifie considérablement la création de back-offices pour les applications web. Cela permet aux développeurs de se concentrer sur la logique métier de leur application plutôt que sur la création d’une interface d’administration complexe. 

Et, si vous souhaitez nous solliciter pour un projet Laravel Nova, n’hésitez pas à me contacter ! 

Laravel Nova, c'est cool - Aurélien Mutin

par Aurélien Mutin

Articles similaires TAG