Laravel Nova

Voir la vidéo

Dans cette vidéo je vous propose de découvrir ensemble l’outil Laravel Nova. Proposé par l’équipe derrière Laravel, cet outil payant va vous permettre de mettre en place simplement et rapidement une interface d'administration pour votre application Laravel.

La licence

Avant de vous parler du produit, il est important de mentionner les licences et leurs coûts. L'outil est disponible avec deux licences :

  • Une première licence à 99 dollars par site qui permet une utilisation pour un seul développeur.
  • Une seconde licence à 199 dollars par site permet l'utilisation de laravel Nova par une équipe.

Il n'est en revanche pas possible de tester l'outil sans acheter une de ces 2 licences.

Les fonctionnalités

CRUD

Nova fournit une interface CRUD complète pour gérer les données provenant des différents modèles de votre application. L'ensemble des relations disponibles au sein d'Eloquent sont gérées par Nova. Il est par exemple possible de modifier aisément une entité qui serait associée à une autre depuis l'interface (par exemple modifier l’auteur d'un article ou les catégories associés).

Il est aussi possible de créer des rapports personnalisés qui permettent d'afficher une liste spécifique au niveau de votre back-office, liste qui ne sera pas forcément liée à des données provenant d'un modèle Eloquent.

Actions

Le système d'action permet de créer des tâches PHP qui peuvent être utilisées pour modifier plusieurs enregistrements à la volée.

Filtres

Il est possible de créer des filtres personnalisés afin de ne sélectionner que certains enregistrements. Ces filtres peuvent-être composé d'une liste déroulante (pour filtrer par catégorie par exemple) ou de cases à cocher (pour filtrer sur un critère précis).

Les metrics

Le système de Metrics permet de mettre en place rapidement une petite carte pour afficher des informations numériques (comme le total de transactions) ou des petites courbes (pour montrer l'évolution des performances d'un produit par exemple).

Les autorisations

Nova s'interface directement avec le système d'autorisation disponible au sein de Laravel et limite l'utilisateur et l'empeche d'effectuer des actions non autorisées. Par exemple, les boutons d'édition et de suppression ne seront pas disponiblse si l'utilisateur n'a pas la permission sur l'entité.

Champs personnalisés

Laravel Nova propose par défaut pas mal de champs pour les formulaires, mais vous avez la possibilité de rajouter vos propres types de champs afin de gérer des cas spécifiques. En revanche, la conception d'un champs néccessitera de connaître et utiliser Vue.js vu que les pages utilisent ce framework pour être générées.

Outils personnalisés

Pour des besoins plus spécifiques, il est possible de créer des outils personnalisés. Les outils permettent de créer des pages qui sont entièrement personnalisables, ce qui permet de répondre à des besoins qui ne seraient pas couvert par le CRUD classique.

Mon avis

Personnellement mon avis est un peu mitigé. Même si l'outil est terriblement efficace dans son cadre d'utilisation standard, il s'avère très difficile de le personnaliser pour des besoins spécifiques. Le mélange entre Laravel et vue.js ne facilitant pas forcément les choses (on ne peut pas aisément redéfinir le template à utiliser pour une page spécifique). Pour des cas simples, l'ajout d'outils ou de champs personnalisés permet de combler les problèmes, en revanche pour des cas plus complexes comme par exemple des formulaires personnalisés il n'existe pas, à l'heure actuelle, de solution.

Il est donc important de savoir dans quoi vous mettez les pieds et les limitations de l'outil lorsque vous faites le choix d'utiliser Laravel Nova.

Publié
Technologies utilisées
Auteur :
Grafikart
Partager