Situation n°3 : Installation et Configuration du package Laravel Nova

Contexte : Au sein de mon entreprise, mon tuteur et moi même avons procéder à l’installation d’un nouveau panneau d’administration sur la plateforme Soumettre

ACTIVITÉS DU RÉFÉRENTIEL MISES EN OEUVRE :

  • A1.1.1 Analyse du cahier des charges d’un service à produire
  • A1.4.1 Participation à un projet
  • A4.1.2 Conception ou adaptation de l’interface utilisateur d’une solution applicative
  • A4.1.7 Développement, utilisation ou adaptation de composants logiciels
  • A4.1.9 Rédaction d’une documentation technique
  • A5.1.1 Mise en place d’une gestion de configuration
  • A5.1.6 Évaluation d’un investissement informatique

Installation et mise en place

Après avoir acquis une licence développeur à 99$, il était nécessaire de télécharger le zip fourni et l’intégrer à notre projet Laravel précédemment créé.

Très rapidement, nous avons eu accès à l’interface avec sa page d’authentification

Panneau Administration Nova

Nova est installé via Composer dans un package Laravel. Cela n’interfère en aucune manière avec l’application existante. En fait, Nova peut être installée dans des applications Laravel 5.6 existantes.

Sur le front-end, Nova est optimisé par Vue.js, Vue Router et Tailwind.css. C’est une combinaison puissante et flexible, en particulier en ce qui concerne la personnalisation. C’est un jeu d’enfant de créer des outils, des cartes et des champs personnalisés.

Chaque modèle Eloquent de l’application possède une classe Nova de «resources» correspondante qui définit ses champs, ses actions, ses filtres, ses objectifs et ses cartes. Nova est entièrement configuré à l’aide de simples classes PHP. Aucune configuration n’est stockée dans la base de données.

Éléments exploités

Une fois l’outil intégré, nous avons commencé à utiliser les resources. Ces classes permettent de transposer graphiquement un modèle : Par exemple, un utilisateur sera défini par un avatar, un nom et un email.

Ensuite, afin d’assigner le bon utilisateur au bon projet, nous avons cherché à les filtrer par compétence (ou par tag). Pour ce faire, nous avons créé une classe héritant de Filter, où nous avons défini la requête ainsi que les options possibles :

De plus, Nova nous propose d’exécuter des “actions” sur un ou plusieurs items d’une liste, par exemple, si l’on souhaite terminer plusieurs lots d’un projet.

Pour cela, rien de plus simple, nous avons créé un fichier qui hérite de la classe Action et défini l’action souhaitée dans la méthode handle() : dans notre cas, passer la valeur isDone à true sur les lots sélectionnés.

Conclusion :

Tout le panneau d’administration, utilisé par l’ensemble du personnelle a été complètement transféré dans le nouveau panneau Nova. Ce package étant tout nouveau, certaines actions ne peuvent pas encore être mises en place. (ex : resources en anglais, ne pouvant pas encore êtres traduites).

L’ensemble des collaborateurs sont extrêmement satisfais du nouveau panneau car il possède moins de dysfonctionnements ou du moins le service technique n’en est pas responsable (dysfonctionnement venant du package et non du code fait par les développeurs de l’entreprise).


Productions associées :

https://drive.google.com/open?id=19nFB-Vr3ByvwoGfDvVjpws7WUBUgXWtf