Skip to Content
DocumentationMise en routeCommandes Artisan (Développeurs)

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:install

Cette 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:refresh

Attention : 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 NomDeLaRessource

Options 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 --migration

Cette 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 NomDeLaRessource

Attention : 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 --crud

L’option --crud génère automatiquement les 4 permissions :

  • create articles
  • read articles
  • update articles
  • delete 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 [ ] Translator

Supprimer 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 --crud

Gestion des utilisateurs

Créer un utilisateur administrateur

Pour créer un nouvel utilisateur administrateur de manière interactive :

php artisan lochness:make-user

Cette commande lance un assistant interactif qui vous demande :

  1. Titre : Civilité de l’utilisateur (Mme, Mr., Mlle)
  2. Prénom : Prénom de l’utilisateur
  3. Nom : Nom de famille
  4. Email : Adresse email (utilisée pour la connexion)
  5. Mot de passe : Minimum 8 caractères
  6. 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/custom

Cette 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 saved

Commandes de développement avancées

Générer un modèle

php artisan lochness:make-model NomDuModele

Options 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_name

Générer des tests

php artisan lochness:make-test NomDuTest

Options :

  • --unit : Crée un test unitaire
  • --feature : Crée un test fonctionnel (par défaut)

Bonnes pratiques

En développement

  1. Utilisez --all pour les nouvelles ressources : Cela garantit que tous les composants nécessaires sont créés
  2. Testez les permissions : Après avoir ajouté des permissions, connectez-vous avec différents rôles pour vérifier
  3. Scannez régulièrement les traductions : Intégrez le scanner dans votre workflow de développement

En production

  1. Sauvegardez avant les suppressions : Les commandes de suppression sont irréversibles
  2. Testez en staging : Exécutez toujours les commandes sur un environnement de test d’abord
  3. 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:clear

Ré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 :

  1. Vérifiez que le package Lochness est bien installé : composer show lochness/cms
  2. Videz le cache des commandes : php artisan cache:clear
  3. Rechargez l’autoloader : composer dump-autoload

Conflits de migration

En cas de conflit lors des migrations :

  1. Vérifiez l’état actuel : php artisan migrate:status
  2. Rollback si nécessaire : php artisan migrate:rollback
  3. 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.

Last updated on