Qu’est-ce qu’Artisan
Artisan est l’interface en ligne de commande (CLI) livrée avec Laravel. Il s’agit du scriptartisan à la racine du projet, qui propose de nombreuses commandes pour accélérer le développement et l’exploitation.
Pour lister les commandes disponibles :
Avec Laravel Sail, utilisez
sail artisan à la place. La commande s’exécute dans le conteneur Docker.Tinker
Laravel Tinker est un REPL qui permet d’interagir en ligne de commande avec toute l’application : modèles Eloquent, jobs, événements, etc.Créer une commande personnalisée
Générer la commande
Utilisezmake:command pour générer le squelette.
app/Console/Commands/ImportProducts.php est généré.
Structure de base
La classe générée possède trois éléments clés :$signature, $description et handle().
Sous Laravel 13, vous pouvez aussi utiliser des attributs PHP.
Définir arguments et options
$signature regroupe le nom, les arguments et les options.
Lecture des arguments et options
Danshandle(), utilisez argument() et option().
input() — accesseurs typés
input() permet d’accéder aux arguments/options avec les mêmes accesseurs typés que pour une requête HTTP.
Interaction utilisateur
Écrire dans la console
Vous disposez de méthodes pour afficher des messages colorés.Poser une question
Recevez des entrées de manière interactive.Barre de progression
Affichez la progression pour de gros traitements.Cas d’usage
Commande d’import de données
Exemple d’import de produits depuis un CSV.1
Générer la commande
2
Implémentation
3
Exécuter la commande
Commande de maintenance périodique
Exemple : suppression de vieilles données.Combinaison avec la planification
Les commandes créées peuvent être planifiées dansroutes/console.php.
Voir Planification de tâches.
Tester les commandes
La fonctionnalité de test de Laravel permet de vérifier vos commandes Artisan.Assertions disponibles avec
artisan() :