Introduction
Dans ce tutoriel, vous allez construire une application Laravel avec des commandes artisan personnalisées en utilisantrevolution/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.- PHP
^8.3 - Composer (https://getcomposer.org/)
- Laravel Installer (
composer global require laravel/installer)
Configuration du projet
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
.envdepuis.env.example - Configuration de la clé applicative avec
php artisan key:generate
Création de commandes console
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é.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().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.Vérifier le fichier de workflow
Le kit de démarrage inclut un fichier
.github/workflows/cron.yml préconfiguré.Modifier la commande
Remplacez Pour exécuter plusieurs commandes :
php artisan inspire par votre propre commande.Ajuster la planification
Modifiez l’expression
cron pour définir la fréquence d’exécution.| Expression cron | Moment d’exécution |
|---|---|
0 0 * * * | Tous les jours à 0h UTC |
0 */6 * * * | Toutes les 6 heures |
0 0 * * 1 | Chaque lundi à 0h |
Fonctionnalités de notification
Vous pouvez notifier les résultats d’exécution ou les erreurs de commande par e-mail, Slack, etc.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é.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.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.Étapes suivantes
Vous avez maintenant appris les bases de la construction d’une application console Laravel avecrevolution/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