Skip to main content

Introduction

Dans ce tutoriel, vous allez construire une application Laravel avec des commandes artisan personnalisées en utilisant revolution/laravel-console-starter. Avantages d’utiliser ce kit de démarrage :
  • Mise en place rapide — Vous pouvez commencer immédiatement le développement d’applications console sans configuration complexe
  • Écosystème Laravel — Vous pouvez utiliser les fonctionnalités riches de Laravel comme la planification de tâches, la base de données et les notifications
  • Commandes Artisan — Vous pouvez facilement créer et gérer vos propres commandes grâce au puissant système Artisan de Laravel
  • Facilité de test — Vous pouvez écrire des tests pour vos commandes avec le framework de test de Laravel

Prérequis

Installez les logiciels suivants.

Configuration du projet

1

Créer un nouveau projet

Exécutez la commande suivante dans le terminal.
Le répertoire my-app est créé et la structure de base de l’application console est mise en place.Lors de l’installation, les actions suivantes sont exécutées automatiquement :
  • Génération du fichier .env depuis .env.example
  • Configuration de la clé applicative avec php artisan key:generate
Structure principale des répertoires :
2

Vérifier la configuration de l'environnement

Par défaut, l’envoi d’e-mails est configuré vers la sortie log (MAIL_MAILER=log).Si un envoi réel d’e-mails est nécessaire, configurez un service comme Mailgun, Postmark ou SES dans le fichier .env.

Création de commandes console

1

Générer une commande

Créez une nouvelle commande avec la commande Artisan make:command.
  • YourCommandName — Nom de la classe de la commande à créer (ex : SendDailyReport)
  • your:command — Nom d’invocation de la commande (ex : report:send-daily)
app/Console/Commands/YourCommandName.php est généré.
2

Implémenter la commande

Éditez le fichier généré pour implémenter la logique. Voici un exemple de commande Hello World.
$signature définit le nom d’invocation de la commande, et la logique est écrite dans la méthode handle().
3

Exécuter la commande

Après l’exécution, le message est écrit dans storage/logs/laravel.log et affiché dans la console.

Planification de tâches avec GitHub Actions

En utilisant GitHub Actions, vous pouvez exécuter des commandes de manière périodique sans cron sur le serveur.
1

Vérifier le fichier de workflow

Le kit de démarrage inclut un fichier .github/workflows/cron.yml préconfiguré.
2

Modifier la commande

Remplacez php artisan inspire par votre propre commande.
Pour exécuter plusieurs commandes :
3

Ajuster la planification

Modifiez l’expression cron pour définir la fréquence d’exécution.
4

Gérer les informations sensibles avec des secrets

Utilisez les secrets du dépôt GitHub pour les informations sensibles comme les clés API et les mots de passe.Ajoutez un secret dans Settings > Secrets and variables > Actions du dépôt GitHub et référencez-le dans le workflow.

Fonctionnalités de notification

Vous pouvez notifier les résultats d’exécution ou les erreurs de commande par e-mail, Slack, etc.
1

Créer une classe de notification

app/Notifications/TaskCompleted.php est généré.
2

Configurer le canal de notification

Publiez les fichiers de configuration si nécessaire.
3

Envoyer une notification depuis une commande

Pour plus de détails, consultez la documentation Laravel sur les notifications.

Exemples d’applications concrètes

Exemple 1 : Surveillance de disponibilité de sites web et alertes Slack

Une commande qui vérifie si des sites web sont en ligne et envoie une alerte à Slack en cas de problème détecté.
1

Installer le canal de notification Slack

2

Créer la commande et la notification

3

Configurer Slack

Ajoutez l’URL du webhook Slack dans .env.
Mettez à jour config/services.php.
4

Implémenter la notification

Éditez app/Notifications/WebsiteDown.php.
5

Implémenter la commande

Éditez app/Console/Commands/MonitorWebsites.php.
6

Configurer la planification via GitHub Actions

Mettez à jour .github/workflows/cron.yml.

Exemple 2 : Mise à jour du portefeuille crypto et notification Discord

Une commande qui récupère les prix des crypto-actifs depuis l’API CoinGecko et envoie les mises à jour via un webhook Discord.
1

Installer le canal de notification Discord

2

Créer la commande et la notification

3

Configurer Discord

Ajoutez l’URL du webhook Discord dans .env.
Mettez à jour config/services.php.
4

Implémenter et exécuter la commande

Pour l’implémentation détaillée, consultez le tutoriel dans le dépôt GitHub.

Exemple 3 : Scraping de contenu web et notification par e-mail

Une commande qui scrappe le contenu d’un site web et envoie le résultat par e-mail.
1

Créer la commande et la notification

2

Configurer l'e-mail

Ajoutez la configuration e-mail dans le fichier .env.
3

Implémenter et exécuter la commande

Étapes suivantes

Vous avez maintenant appris les bases de la construction d’une application console Laravel avec revolution/laravel-console-starter. Pour aller plus loin :
  • Explorer la documentation Laravel — Consultez la documentation officielle Laravel pour découvrir des fonctionnalités qui enrichiront votre application console
  • Implémenter des tests — Créez des tests pour vos commandes avec le framework de test de Laravel afin d’assurer leur fiabilité
  • Envisager le développement de packages — Si vous créez des commandes similaires dans plusieurs projets, envisagez de les publier comme package Laravel réutilisable
  • Se tenir à jour — Suivez Laravel News et le blog officiel pour rester au fait des bonnes pratiques
Dernière modification le 13 juillet 2026