Jump to content

Outil d'administration en ligne de commande


Recommended Posts

Bonjour à tous.

 

Introduction

 

Depuis quelques mois, je maintiens un module d'administration en ligne de commande.

 

Cet outil permet entre autres :

  • l'installation, la mise à jour, l'activation, la désactivation ou encore la désinstallation de modules
  • la création/modification de variable configuration (classe Configuration)
  • la création d'employé ou de profil dans le back office
  • la création d'entité (produits, commandes, ...)

 

En plus de cela, le module peut être étendu facilement.

 

 

L’intérêt de ce module, est de vous offrir la possibilité de livrer de façon automatisé (sans intervention humaine) un site. Personnellement je l'utilise pour mes sites de démo couplé avec un ansible.

 

 

Sources et Installation

 

Vous pouvez retrouver le projet du module ici : https://github.com/madef/ps-admin-tools

Une archive est disponible ici : https://github.com/madef/ps-admin-tools/archive/master.zip

 

Contrairement aux autres modules de PrestaShop, ce dernier n'est pas à placer dans le dossier module mais à la racine de votre PrestaShop. Pour l'installer vous pouvez procéder de la manière suivante avec git :

git clone [email protected]:madef/ps-admin-tools.git admin-tools

Utilisation

 

L'utilisation du module ressemble à celle de la console Symfony. Voici un exemple :

php admin-tools/console.php help -c module:install

Cette commande permet d'obtenir l'aide de la commande « install ».

 

Si vous souhaitez activer le SSL sur toutes les pages vous devez lancer les commandes suivantes :

php admin-tools/console.php configuration:set -k PS_SSL_ENABLED -v 1
php admin-tools/console.php configuration:set -k PS_SSL_ENABLED_EVERYWHERE -v 1

Pour installer un module vous exécuterez :

php admin-tools/console.php module:install -m monmodule

Pour créer un employé avec un rôle et ajout des droits de lecture, d'ajout, d'édition, et de suppression sur les onglets du module :

php admin-tools/console.php profile:create -n demo
php admin-tools/console.php employee:create -l demo -f demo -p demodemo -e [email protected] -P demo -L fr
php admin-tools/console.php profile:access -p demo -t AdminMonmodule% -d -a -e -r

Création d'une commande

 

Les commandes sont de simple classes PHP. Voici un exemple de commande affichant de texte passé en paramètre :

<?php

class AT_Company_Hello extends AT_Command_Abstract
{
    public function getCommand()
    {
        return 'company:hello';
    }

    public function getDescription()
    {
        return 'Say hello';
    }

    public function getParams()
    {
        return array(
            array(
                'string',
                's',
                AT_PARAMS::OPTIONAL_PARAM | AT_Params::REQUIRED_VALUE,
                'String to display instead of hello',
            ),
        );
    }


    public function run($params)
    {
        $string = 'Hello!';
        if (isset($params->string)) {
            $string = $params->string;
        }

        $this->normal($string);
    }
}

Le fichier hello.php doit être placé dans le dossier « command/company/ ».

 

On utilisera la commande de la manière suivante :

php admin-tools/console.php company:hello -s 'An other message' 

 J'espère que cet outil sera utile à certains. N'hésitez pas à me faire des retours.

  • Like 2
Link to comment
Share on other sites

  • 5 months later...

@okom3pom Effectivement tu fait même partie des contributeurs du module :-)
Pour info j'ai rajouté une partie de ces possibilité dans la version 1.2  https://github.com/nenes25/prestashop_console/blob/master/COMMANDS.md#clean 
( Utilise le module PsCleaner  )
Mais c'est sur qu'il y'a pas mal de points encore optimisables, en général j'implémente des fonctionnalités dès que je rencontre le problème ^^

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...