Artisan est l'interface en ligne de commande de Laravel qui automatise les tâches courantes. Dans ce guide, vous apprendrez toutes les commandes Artisan importantes que vous pouvez utiliser via SSH sur votre hébergement.

Qu'est-ce qu'Artisan

Artisan est intégré à Laravel et offre :
  • Migrations et gestion de base de données
  • Gestion du cache
  • Génération de code (commandes make)
  • Gestion des files d'attente et des tâches
  • Mode maintenance
  • Bien plus via des commandes personnalisées

Établir une connexion SSH

Avant de pouvoir utiliser Artisan, vous devez vous connecter via SSH.

Se connecter

ssh nom_utilisateur@votredomaine.nl
# Ou avec un port spécifique
ssh -p 7777 nom_utilisateur@serveur.theory7.net
cd ~/domains/votredomaine.nl/projet

Tester Artisan

php artisan --version
# Sortie : Laravel Framework 11.x.x
php artisan list
# Affiche toutes les commandes disponibles

Commandes de cache

La gestion du cache est essentielle pour la performance.

Vider tous les caches

# Vider tous les caches en même temps
php artisan optimize:clear
Cela combine :
  • config:clear
  • route:clear
  • view:clear
  • cache:clear

Cache de configuration

# Mettre en cache la configuration
php artisan config:cache
# Vider le cache de configuration
php artisan config:clear
Remarque : Après config:cache, .env n'est plus lu directement. Les modifications nécessitent un nouveau cache.

Cache des routes

# Mettre en cache les routes
php artisan route:cache
# Vider le cache des routes
php artisan route:clear
Accélère considérablement la résolution des routes.

Cache des vues

# Précompiler toutes les vues Blade
php artisan view:cache
# Vider le cache des vues
php artisan view:clear

Cache de l'application

# Vider le cache de l'application
php artisan cache:clear
# Avec un store spécifique
php artisan cache:clear --store=file

Optimisation pour la production

# Tout mettre en cache pour la production
php artisan optimize
# Ou de manière détaillée
php artisan config:cache
php artisan route:cache
php artisan view:cache

Commandes de base de données

Gérez la structure et les données de votre base de données.

Migrations

# Exécuter les migrations en attente
php artisan migrate
# Avec force pour la production
php artisan migrate --force
# Annuler le dernier lot
php artisan migrate:rollback
# Annuler un nombre spécifique
php artisan migrate:rollback --step=3
# Réinitialiser toutes les migrations
php artisan migrate:reset
# Réinitialiser et réexécuter (destructif !)
php artisan migrate:fresh

Seeding de base de données

# Exécuter tous les seeders
php artisan db:seed
# Seeder spécifique
php artisan db:seed --class=UserSeeder
# Fresh migrate avec seeding
php artisan migrate:fresh --seed

Statut des migrations

# Voir le statut des migrations
php artisan migrate:status

Dump de schéma

# Dump du schéma vers SQL
php artisan schema:dump
# Avec pruning des anciennes migrations
php artisan schema:dump --prune

Commandes Make

Générez rapidement du code avec des commandes make.

Contrôleurs

# Contrôleur de base
php artisan make:controller UserController
# Contrôleur de ressource (CRUD)
php artisan make:controller PostController --resource
# Contrôleur API
php artisan make:controller Api/ProductController --api

Modèles

# Modèle de base
php artisan make:model Post
# Avec migration
php artisan make:model Post -m
# Avec tout (migration, factory, seeder, contrôleur)
php artisan make:model Post --all

Migrations

# Nouvelle migration
php artisan make:migration create_posts_table
# Modification d'une table existante
php artisan make:migration add_status_to_posts_table --table=posts

Autres ressources

# Validation de requête
php artisan make:request StorePostRequest
# Middleware
php artisan make:middleware AuthenticateAdmin
# Événement et écouteur
php artisan make:event OrderShipped
php artisan make:listener SendOrderNotification
# Tâche
php artisan make:job ProcessPodcast
# Mail
php artisan make:mail OrderConfirmation
# Notification
php artisan make:notification InvoicePaid

Commandes de file d'attente

Gérez les tâches en arrière-plan.

Worker de file d'attente

# Démarrer le worker de file d'attente
php artisan queue:work
# Avec une connexion spécifique
php artisan queue:work database
# Avec timeout et limite de mémoire
php artisan queue:work --timeout=60 --memory=128
# Traiter seulement N jobs
php artisan queue:work --once
php artisan queue:work --max-jobs=100

Gestion de la file d'attente

# Voir les jobs échoués
php artisan queue:failed
# Réessayer un job échoué
php artisan queue:retry {id}
php artisan queue:retry all
# Supprimer un job échoué
php artisan queue:forget {id}
php artisan queue:flush  # Tous les jobs échoués
# Redémarrer les workers (après modification de code)
php artisan queue:restart

Mode maintenance

Mettez votre site hors ligne temporairement.

Activer

# Mode maintenance de base
php artisan down
# Avec message personnalisé
php artisan down --message="Nous revenons bientôt !"
# Avec en-tête de réessai (secondes)
php artisan down --retry=60
# Autoriser des IP spécifiques
php artisan down --allow=123.456.789.0
# Avec URL de contournement secrète
php artisan down --secret="bypass-token"
Avec le secret, vous pouvez voir le site via :
https://votredomaine.nl/bypass-token

Désactiver

php artisan up

Commandes de débogage

Commandes utiles pour le débogage.

Voir les routes

# Lister toutes les routes
php artisan route:list
# Filtrer par nom
php artisan route:list --name=admin
# Filtrer par méthode
php artisan route:list --method=GET

Informations sur l'environnement

# Afficher l'environnement actuel
php artisan env
# Chiffrer les valeurs .env
php artisan env:encrypt

Tinker (REPL)

# Démarrer le shell interactif
php artisan tinker
# Dans tinker :
> User::count()
> User::find(1)
> App::environment()

Commandes de planification

Gérez les tâches planifiées.

Exécuter la planification

# Exécuter manuellement le planificateur
php artisan schedule:run
# Voir les tâches planifiées
php artisan schedule:list
# Tester une commande spécifique
php artisan schedule:test

Planification dans cronjob

Ajoutez à crontab :
* * * * * cd /path/to/project && php artisan schedule:run >> /dev/null 2>&1

Commandes de stockage

Gérez le stockage et les fichiers.

Lien de stockage

# Créer un lien de stockage public
php artisan storage:link
# Vérifier les liens
ls -la public/storage

Nettoyage de stockage

Commande personnalisée ou manuelle :
# Supprimer les fichiers temporaires de plus de X jours
find storage/app/temp -mtime +7 -delete

Commandes de déploiement

Flux de travail typique de déploiement :
# 1. Maintenance activée
php artisan down
# 2. Mettre à jour les dépendances (si nécessaire)
composer install --no-dev --optimize-autoloader
# 3. Migrations
php artisan migrate --force
# 4. Construire le cache
php artisan config:cache
php artisan route:cache
php artisan view:cache
# 5. Redémarrer les workers de file d'attente
php artisan queue:restart
# 6. Maintenance désactivée
php artisan up

One-liner pour le déploiement

php artisan down && composer install --no-dev --optimize-autoloader && php artisan migrate --force && php artisan optimize && php artisan up

Commandes Artisan personnalisées

Créez vos propres commandes :
php artisan make:command SendWeeklyReport
Cela crée `app/Console/Commands/SendWeeklyReport.php`.

Articles connexes

Besoin d'aide ?

Nous sommes là pour vous aider ! Vous rencontrez un problème ou avez des questions ? Notre équipe de support est prête à vous aider personnellement. Envoyez-nous un message via le système de tickets - nous répondons généralement dans quelques heures et sommes heureux de vous aider.