Après la présentation de Laravel Nova, place à l’installation sur un projet Laravel fraîchement créé.
Contrairement à un package open source classique, Nova est payant : il faut une licence et une configuration Composer un peu spécifique (dépôt privé, authentification). Rien de compliqué, la documentation officielle détaille chaque étape.
Dans cet article, on installe Nova sur Laravel 13 pas à pas, comme dans la vidéo de la playlist.
Installer Laravel Nova : prérequis
Avant de toucher à Composer, assurez-vous d’avoir :
- un projet Laravel fonctionnel (ici Laravel 13) ;
- une licence Nova active sur nova.laravel.com.
Les licences Nova
Deux formules existent :
- 99 $ : licence par site (un projet / un domaine) ;
- 300 $ : licence illimitée (tous vos projets).
Une licence achetée donne accès à toutes les versions Nova pendant la période de validité. L’historique des releases est visible sur le site officiel ; au moment de l’enregistrement vidéo, la version courante était la 5.8.1.
Pourquoi l’installation diffère d’un package classique
Avec Statamic ou la plupart des packages Laravel, un simple composer require suffit : le code est public sur Packagist.
Nova est propriétaire : Composer doit savoir où télécharger le package et qui vous êtes (email + clé de licence). D’où deux étapes supplémentaires :
- déclarer le dépôt Composer Nova dans
composer.json; - s’authentifier lors du
composer update.
Tout est documenté ici : Installation : Laravel Nova.
Étape 1 : ajouter le dépôt dans composer.json
Nova ne se trouve pas sur Packagist public. Il faut indiquer à Composer le dépôt officiel.
Vous pouvez :
- copier-coller le bloc
repositoriesfourni par la doc à la fin de votrecomposer.json; - ou utiliser la commande proposée dans la documentation, qui ajoute la ligne automatiquement.
En résumé, on indique à Composer que le package laravel/nova doit être récupéré sur le serveur Nova.
Étape 2 : exiger Nova dans require
Dans la section require de composer.json, ajoutez Nova avec la version minimale souhaitée :
"laravel/nova": "^5.0"
Adaptez la contrainte selon la version cible (5.x au moment de la vidéo).
Étape 3 : composer update (pas install)
Lancez :
composer update
Utilisez update, pas install : install se base sur le composer.lock existant et n’ajoutera pas Nova si le lock n’a pas encore été mis à jour.
Authentification licence
Composer vous demandera alors :
- Username : l’email de votre compte Nova ;
- Password : votre clé de licence (token).
Deux options pour ne pas retaper ces identifiants à chaque fois :
- répondre une fois au prompt interactif (Composer peut mémoriser) ;
- créer un fichier
auth.jsonà la racine du projet (ou dans~/.composer/) avec votre email et la clé de licence, comme expliqué dans la doc Nova.
Ne commitez jamais
auth.jsonavec votre clé en clair dans un dépôt public. Ajoutez-le au.gitignoresi besoin.
Une fois l’authentification OK, Nova est téléchargé dans vendor/laravel/nova.
Étape 4 : php artisan nova:install
Le package est présent, mais Nova n’est pas encore configuré dans l’application. Lancez :
php artisan nova:install
L’installateur pose quelques questions :
Nova comme login par défaut ?
Nova peut rediriger /login vers le panneau d’administration.
- Oui : pratique pour un back-office dédié (démo, outil interne) ;
- Non : si votre app a déjà un login front classique et que Nova reste accessible sur une route séparée (cas fréquent en production).
Pour la démo de la playlist, on choisit oui : /login mène directement à Nova.
L’installateur publie les fichiers de configuration et prépare l’intégration.
Étape 5 : migrations
Nova ajoute des tables (notamment pour les notifications). Exécutez :
php artisan migrate
Étape 6 : créer un utilisateur admin
Nova utilise par défaut le modèle App\Models\User. Si votre projet n’a pas encore d’utilisateur, créez-en un rapidement :
php artisan nova:user
C’est l’équivalent d’un seeder manuel, classique Laravel. Vous pouvez aussi peupler la table users via un seeder habituel.
Première connexion
Rendez-vous sur /login (ou la route Nova configurée). Après authentification, vous accédez au dashboard Nova tout neuf.
Ce que vous voyez par défaut
- des cartes d’aide sur le tableau de bord (supprimables ensuite) ;
- la barre de recherche globale ;
- la sidebar avec les entrées de menu ;
- une ressource Users déjà générée (liste, détail, édition) ;
- les notifications (si vous les activez plus tard) ;
- le switch thème clair / sombre / système ;
- l’accès au profil (changement de mot de passe, etc.).
C’est le socle : menu en haut, sidebar à gauche, vues index (liste), détail et édition : toujours le même schéma pour chaque ressource que vous ajouterez.
Personnalisation rapide (aperçu)
Nova permet de modifier le logo, les couleurs principales et d’autres réglages visuels, on le verra dans la suite. L’interface reste néanmoins structurée : barre supérieure + sidebar, comme évoqué dans la partie 1.
Récapitulatif des commandes
# 1. Après configuration composer.json (repository + require)
composer update
2. Installation Nova dans l'app
php artisan nova:install
3. Migrations
php artisan migrate
4. Premier utilisateur admin
php artisan nova:user
Vidéo : installation en pratique
FAQ rapide (SEO & technique)
Faut-il une licence pour installer Nova ?
Oui. Sans licence valide, Composer ne peut pas télécharger le package.
composer install ou composer update ?
Pour ajouter Nova la première fois, utilisez composer update afin de résoudre et verrouiller la nouvelle dépendance.
Où stocker la clé de licence ?
Dans auth.json (local ou global) ou via le prompt Composer, jamais en clair dans un repo public.
Nova remplace-t-il le login Laravel ?
Optionnel. L’installateur vous demande si /login doit pointer vers Nova ; sinon, gardez votre auth front séparée.
Quel modèle User utilise Nova ?
Par défaut App\Models\User. Configurable si votre app utilise un autre modèle.
Conclusion
Installer Laravel Nova, c’est un peu plus qu’un composer require classique, licence, dépôt privé, nova:install, migrations, premier user : mais la procédure reste rapide une fois les habitudes prises.
Suite de la série : Laravel Nova : créer un CRUD en 5 minutes (ressources et champs).