Qu’est-ce qu’Artisan ?
Artisan est l’outil en ligne de commande (CLI) livré avec Laravel. Présent à la racine du projet sous forme d’un scriptartisan, il fournit de nombreuses commandes qui facilitent le développement et l’exploitation.
Pour lister toutes les commandes disponibles, utilisez list.
help.
Avec Laravel Sail, utilisez
sail artisan à la place de php artisan.
Les commandes s’exécutent alors dans le conteneur Docker.Tinker
Laravel Tinker est un environnement REPL qui vous permet d’interagir depuis la ligne de commande avec toute votre application : modèles Eloquent, jobs, événements, etc.Créer une commande personnalisée
Générer une commande
Générez le squelette d’une classe de commande avecmake:command.
app/Console/Commands/ImportProducts.php est créé.
Structure de base d’une commande
Une commande générée comprend trois éléments principaux :$signature, $description et handle().
Laravel 13 permet aussi d’utiliser des attributs PHP.
Déclarer les arguments et les options
$signature regroupe la définition du nom de la commande, des arguments et des options.
Récupérer les arguments et les options
Dans la méthodehandle(), utilisez argument() et option() pour lire les valeurs.
input() — accesseurs typés
La méthode input() fournit des accesseurs typés pour les arguments et options, semblables à ceux d’une requête HTTP.
Interaction avec l’utilisateur
Affichage de messages
Plusieurs méthodes permettent d’afficher des messages colorés dans la console.Demander une saisie à l’utilisateur
Vous pouvez interagir avec l’utilisateur de manière interactive.Barre de progression
Affichez clairement l’avancement d’un traitement volumineux.Cas d’usage concrets
Commande d’import de données
Exemple pratique d’une commande d’import de produits depuis un fichier CSV.1
Générer la commande
2
Implémenter la commande
3
Exécuter la commande
Commande de maintenance périodique
Exemple d’une commande de maintenance récurrente, comme la suppression de données anciennes.Combinaison avec la planification
Les commandes que vous créez peuvent être planifiées dansroutes/console.php.
Consultez Planification de tâches pour plus de détails.
Tester une commande
Grâce aux outils de test de Laravel, vous pouvez vérifier le comportement de vos commandes Artisan.Quelques assertions utiles avec la méthode
artisan() :La commande dev
La commande Artisan dev lance dans une seule fenêtre de terminal l’ensemble des processus nécessaires au développement local. Par défaut, le serveur de développement PHP, le worker de queue, la surveillance des logs via Pail et la compilation d’assets Vite s’exécutent en parallèle.
concurrently pour gérer les processus. Chacun est étiqueté et coloré, ce qui permet de les distinguer facilement dans la sortie du terminal. Si l’un d’eux échoue, tous les autres sont arrêtés automatiquement.
Voici les processus lancés par défaut :
Le processus
vite détecte automatiquement votre gestionnaire de paquets Node (npm, pnpm, Yarn, Bun) et utilise la commande d’exécution appropriée.Personnaliser les processus dev
Les processus lancés par dev peuvent être personnalisés via la classe DevCommands. Vous l’enregistrez typiquement dans la méthode boot de l’AppServiceProvider. La méthode register prend une commande sous forme de chaîne et un nom de processus facultatif.
artisan, qui préfixe automatiquement par php artisan.
node préfixe par la commande d’exécution du gestionnaire de paquets détecté (par ex. npm run), tandis que nodeExec préfixe par sa commande exec (par ex. npx).
blue, purple, pink, orange, green et yellow. La méthode color accepte également une valeur hex personnalisée.
dev enregistrés sans les démarrer, utilisez dev:list.
Filtrer les processus dev
La méthode only permet de démarrer uniquement certains processus. Inversement, except en exclut certains.