Commandes Artisan
⚠️ Important : Cette section s’adresse exclusivement aux développeurs. Ces commandes ne sont pas accessibles depuis l’interface du CMS et nécessitent un accès SSH au serveur ou un environnement de développement local. Elles sont utilisées lors du développement, de la maintenance ou de la configuration avancée de l’application.
Le CMS Lochness fournit un ensemble complet de commandes Artisan pour faciliter le développement et la maintenance de votre application. Ces commandes permettent d’automatiser de nombreuses tâches répétitives et d’étendre les fonctionnalités du CMS.
Installation et configuration
Installation initiale
La commande principale pour installer Lochness CMS dans votre projet Laravel :
php artisan lochness:installCette commande effectue toutes les étapes nécessaires :
- Publication des fichiers de configuration
- Création de la structure de base de données
- Installation des assets
- Configuration des permissions
- Création du premier utilisateur administrateur
Rafraîchissement de l’installation
Pour rafraîchir complètement l’installation (utile en développement) :
php artisan lochness:refreshAttention : Cette commande réinitialise certaines configurations. À utiliser uniquement en environnement de développement.
Gestion des ressources
Créer une nouvelle ressource
La commande la plus puissante pour créer une ressource complète avec tous ses composants :
php artisan lochness:make-resource NomDeLaRessourceOptions disponibles :
--all: Génère tous les composants (modèle, migration, tests, seeder, factory)--model: Génère uniquement le modèle--migration: Génère uniquement la migration--tests: Génère les tests frontend et cockpit--seeder: Génère le seeder--factory: Génère la factory
Exemple complet :
# Créer une ressource Article avec tous les composants
php artisan lochness:make-resource Article --all
# Créer uniquement le modèle et la migration
php artisan lochness:make-resource Product --model --migrationCette commande génère automatiquement :
- Le modèle Eloquent avec les traits Lochness
- Le contrôleur pour le frontend et le cockpit
- Le repository avec toutes les configurations
- La migration de base de données
- Les tests PHPUnit/Pest
- Le seeder et la factory si demandés
Supprimer une ressource
Pour supprimer complètement une ressource et tous ses fichiers associés :
php artisan lochness:delete-resource NomDeLaRessourceAttention : Cette commande supprime définitivement tous les fichiers liés à la ressource. Assurez-vous d’avoir une sauvegarde avant de l’exécuter.
Gestion des permissions
Ajouter des permissions
Pour ajouter de nouvelles permissions au système :
# Ajouter une permission simple
php artisan lochness:add-permission "manage settings"
# Ajouter des permissions CRUD complètes pour une ressource
php artisan lochness:add-permission articles --crudL’option --crud génère automatiquement les 4 permissions :
create articlesread articlesupdate articlesdelete articles
La commande vous proposera ensuite de sélectionner les rôles auxquels attribuer ces permissions :
Select roles to assign these permissions to:
[x] Super Administrator
[x] Administrator
[ ] TranslatorSupprimer des permissions
Pour supprimer des permissions existantes :
# Supprimer une permission simple
php artisan lochness:remove-permission "manage settings"
# Supprimer toutes les permissions CRUD d'une ressource
php artisan lochness:remove-permission articles --crudGestion des utilisateurs
Créer un utilisateur administrateur
Pour créer un nouvel utilisateur administrateur de manière interactive :
php artisan lochness:make-userCette commande lance un assistant interactif qui vous demande :
- Titre : Civilité de l’utilisateur (Mme, Mr., Mlle)
- Prénom : Prénom de l’utilisateur
- Nom : Nom de famille
- Email : Adresse email (utilisée pour la connexion)
- Mot de passe : Minimum 8 caractères
- Rôle : Sélection parmi les rôles disponibles
Exemple d’utilisation :
Add a new user inside the database
Title: Mr.
What is first name?: Jean
What is last name?: Dupont
What is your email?: jean.dupont@example.com
What is your password?: ********
Select the role for this user: Administrator
User created successfully!Scanner de traductions
Scanner automatique des chaînes de traduction
Pour détecter automatiquement toutes les chaînes de traduction dans votre code :
# Scanner les répertoires par défaut (app/, resources/views/)
php artisan translations:scan-and-save
# Scanner des répertoires spécifiques
php artisan translations:scan-and-save app resources/views packages/customCette commande :
- Parcourt tous les fichiers PHP et Blade
- Détecte les appels aux fonctions de traduction (
trans(),__(),@lang, etc.) - Ajoute automatiquement les traductions manquantes à la base de données
- Marque les traductions obsolètes (soft delete)
- Préserve les traductions existantes dans toutes les langues
Exemple de sortie :
Scanning directories...
Found 145 translation strings
Processing translations...
✓ 23 new translations added
✓ 5 obsolete translations marked
✓ 117 existing translations preserved
145 translations savedCommandes de développement avancées
Générer un modèle
php artisan lochness:make-model NomDuModeleOptions spécifiques :
--migration: Crée également la migration--factory: Crée la factory--seeder: Crée le seeder
Générer une migration
php artisan lochness:make-migration create_table_nameGénérer des tests
php artisan lochness:make-test NomDuTestOptions :
--unit: Crée un test unitaire--feature: Crée un test fonctionnel (par défaut)
Bonnes pratiques
En développement
- Utilisez
--allpour les nouvelles ressources : Cela garantit que tous les composants nécessaires sont créés - Testez les permissions : Après avoir ajouté des permissions, connectez-vous avec différents rôles pour vérifier
- Scannez régulièrement les traductions : Intégrez le scanner dans votre workflow de développement
En production
- Sauvegardez avant les suppressions : Les commandes de suppression sont irréversibles
- Testez en staging : Exécutez toujours les commandes sur un environnement de test d’abord
- Documentez les changements : Gardez une trace des permissions et ressources ajoutées
Automatisation
Vous pouvez intégrer ces commandes dans vos scripts de déploiement :
#!/bin/bash
# Script de déploiement
# Mettre à jour le code
git pull origin main
# Installer les dépendances
composer install --no-dev
# Exécuter les migrations
php artisan migrate --force
# Scanner les nouvelles traductions
php artisan translations:scan-and-save
# Vider le cache
php artisan cache:clearRésolution des problèmes
Permission denied
Si vous obtenez une erreur de permission, assurez-vous que :
- L’utilisateur PHP a les droits d’écriture sur les dossiers nécessaires
- Vous exécutez les commandes avec le bon utilisateur système
Commande introuvable
Si une commande n’est pas trouvée :
- Vérifiez que le package Lochness est bien installé :
composer show lochness/cms - Videz le cache des commandes :
php artisan cache:clear - Rechargez l’autoloader :
composer dump-autoload
Conflits de migration
En cas de conflit lors des migrations :
- Vérifiez l’état actuel :
php artisan migrate:status - Rollback si nécessaire :
php artisan migrate:rollback - Corrigez les conflits puis relancez :
php artisan migrate
Note pour les développeurs : Ces commandes sont essentielles pour exploiter pleinement la puissance du CMS Lochness. Elles permettent d’automatiser de nombreuses tâches et d’assurer la cohérence de votre application. N’hésitez pas à les intégrer dans vos workflows de développement et de déploiement.