SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

286 Plugins, 197 contribs sur SPIP-Zone, 205 visiteurs en ce moment

Accueil > Documentation > SPIP en ligne de commande > SPIP-Cli

SPIP-Cli

20 décembre 2015 – par RastaPopoulos – commentaires

16 votes

SPIP-Cli est une interface en ligne de commande pour SPIP.

SPIP-Cli sert à interagir avec SPIP depuis la ligne de commande, à la fois avant d’avoir un SPIP sous la main (installation, configuration…), puis ensuite pour administrer ou modifier un SPIP existant depuis un terminal.

L’outil fournit une liste de commandes utiles et génériques en rapport avec la distribution officielle de SPIP. Elles seront complétées au fur et à mesure. Les plugins peuvent ensuite fournir de nouvelles commandes supplémentaires propres à leurs besoins.

Installation

Les explications suivantes sont orientées autour d’une installation sous Linux, mais fonctionnent aussi sur Mac OS. Nous conseillons d’installer SPIP-Cli de manière globale sur tout le système. Pour cela, nous utilisons la commande sudo, qui lance les programmes avec les droits d’administration du système.

On récupère l’outil spip-cli dans un répertoire partagé :
sudo svn checkout svn://zone.spip.org/spip-zone/_outils_/spip-cli/trunk /opt/spip-cli

Sur Linux, pour pouvoir utiliser la commande spip dans un shell :
sudo ln -s /opt/spip-cli/spip.php /usr/local/bin/spip

Toujours sur Linux, il est possible d’avoir l’autocomplétion de toutes les options. Pour cela il faut copier le fichier `spip_completion.sh` dans le dossier dédié du système :
sudo ln -s /opt/spip-cli/spip_completion.sh /etc/bash_completion.d/spip

Spip-cli fonctionne aussi en local avec un Mac + MAMP. Un réglage spécifique peut cependant s’avérer nécessaire. [1]

Utilisation

Vous avez maintenant accès à la commande spip dans votre terminal. En lançant cette commande sans rien d’autre, cela affichera une liste des commandes disponibles ainsi que des options génériques.

Vous pouvez demander une aide plus précise sur une commande spécifique. Cela vous listera alors les arguments et options possibles :
spip help {commande}

Certaines commandes courantes ont des noms raccourcis supplémentaires assignés, afin de les appeler plus rapidement. Par exemple la commande spip core:telecharger peut s’appeler avec spip dl.

Voici une liste rapide des commandes fournies actuellement :

  • cache
    • cache:desactiver Désactive le cache de spip pendant 24h.
    • cache:reactiver Réactive le cache de spip.
    • cache:vider Vider le cache.
  • core
    • core:installer Installer la base de données et le premier utilisateur.
    • core:mettreajour Mettre à jour la branche de SPIP qui est installée.
    • core:preparer Préparer les fichiers pour installer SPIP correctement.
    • core:telecharger Télécharger SPIP dans un dossier (par défaut, la dernière version stable)
  • plugins
    • plugins:activer Active un ou plusieurs plugins.
    • plugins:desactiver Désactive des plugins.
    • plugins:lister Lister les plugins activés.
  • texte
    • texte:propre Convertit du texte au format SPIP vers du HTML via la fonction « propre »
    • texte:typo

Technique

SPIP-Cli est développé en utilisant le composant Console de Symfony, dans sa version 2.5 pour l’instant. Nous recommandons donc la lecture de sa documentation afin de comprendre le fonctionnement.

Une application spip.php s’occupe déjà de découvrir si l’on se trouve ou non dans une installation de SPIP, de charger SPIP le cas échéant (inc_version.php), puis de charger toutes les commandes disponibles (fournies par spip-cli ou par les plugins).

Étendre les fonctionnalités

Il y a donc deux moyens d’ajouter une commande :
-  soit c’est une commande sympa qui ne concerne que le noyau (ou des choses en shell, genre appel de mysql, svn ou autre). Dans ce cas, cette commande peut aller dans le dossier spip-cli/ du projet ;
-  soit on a une commande qui concerne un plugin précis (de la zone ou d’un projet perso) et il faut ajouter le fichier PHP dans un dossier spip-cli/ du plugin activé (il faut que ce soit un plugin activé pour que la commande apparaisse).

La règle est d’avoir :
-  une commande par classe, la plus circonscrite possible
-  une seule classe de commande par fichier PHP
-  au maximum possible un verbe à l’infinitif pour le dernier élément du nom, celui qui concerne l’action à faire

En revanche, on peut regrouper les commandes ensemble selon une hiérarchie, en séparant les noms avec les deux points «  : ». Par exemple plugins:activer et plugins:desactiver. La hiérarchie n’est pas limitée, mais il est conseillé de s’en tenir à deux éléments dans la majorité des cas. Parfois trois, mais il serait bien de ne pas dépasser ce nombre. On pourra par exemple imaginer regrouper toutes les fonctionnalités plus évoluées proposées par SVP sur les plugins avec plugins:svp:{commande}.

Quelques exemples de plugins qui l’utilisent

Des idées de commandes possibles

  • Gestion des auteurs
  • Gestion des médias
  • Gestion de la configuration
  • Gestion de synchronisation entre deux sites par SSH (IMG, données, etc)
  • et sûrement des millions d’autres idées que vous aurez !

Notes

[1Avec MAC OSX + MAMP, vous devrez peut-être effectuer les commandes suivantes en cas d’erreur de connexion à la base de donnée avec mysqli.

cd /var
sudo mkdir mysql
sudo chmod 755 mysql
cd mysql
sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock mysql.sock

Puis

cd /tmp
sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock mysql.sock

Voir : http://stackoverflow.com/questions/4219970/warning-mysql-connect-2002-no-such-file-or-directory-trying-to-connect-vi

Dernière modification de cette page le 24 janvier 2016

Retour en haut de la page

Vos commentaires

  • Le 9 septembre à 22:20, par Laurent Vergerolle En réponse à : SPIP-Cli

    Bonjour,
    Je trouve cette initiative super surtout quand, comme moi, on aime énormément la ligne de commande.

    J’ai toutefois un soucis, je suis en PHP7.0 et dès que je lance la commande

    $ spip install -ds « mysql » -dh « localhost » -db « test » -dp « test » -dd « spip_cli » -ap « password »

    j’ai le message d’erreur suivant que je ne comprend pas

                   
     [RuntimeException]              
     The "-d" option does not exist.

    J’ai regardé vite fait le fichier CoreInstaller.php mais je ne vois rien de louche. Quelqu’un aurait une idée ?

    • Le 10 septembre à 08:16, par RastaPopoulos En réponse à : SPIP-Cli

      SPIP-Cli embarque une vieille version du module Console de Symfony, donc c’est possible que ça ne soit pas compatible PHP7, oui.

      Il faudrait mettre à jour la librairie car elle marche sur la branche 5 (>= 5.5) et 7 à la fois, normalement. Mais il faut vérifier que tout fonctionne et il y a sûrement du code à revoir.

    • Le 11 septembre à 15:15, par Laurent Vergerolle En réponse à : SPIP-Cli

      Merci pour cette réponse rapide. Je m’en doutais un peu mais je préférais avoir une confirmation avant de passer en PHP5 pour utiliser les commandes. Dans mon cas ça ne me dérange pas.
      Merci beaucoup.

    Répondre à ce message

  • Le 24 mars à 15:12, par joz En réponse à : SPIP-Cli

    Bonjour,
    est-ce qu’il y a moyen de télécharger le paquet sans SVN ?
    Merci d’avance

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Utilisez le framework Foundation dans vos squelettes !

    13 août 2013 – 53 commentaires

    Foundation est un framework CSS et Javascript très complet pour réaliser des sites sur une grille propre et homogène. Mais surtout, il permet de rendre un site responsive très facilement ! Ce plugin ajoute le framework Foundation sur l’espace (...)

  • Les crayons

    23 avril 2008 – 806 commentaires

    Ce plugin permet d’éditer les contenus sur les pages publiques du site, sans passer par l’espace privé de SPIP.

  • Sélecteur générique

    26 janvier 2008 – 33 commentaires

    Nota SPIP-Contrib : un article minimaliste pour référencer ce plugin et comme support de notes et forum. Un plugin à but de recherche et développement. Pour SPIP 3 le plugin a évolué, une partie spécifique est présente en fin de l’article. Ce (...)

  • Californiumite (Squelette)

    2 avril 2012 – 45 commentaires

    Un squelette principalement pour les sites de type blog. Présentation : Adaptation pour Zpip du thème Wordpress Californiumite conçu par Padd Solutions. Voir une démo du thème et du squelette Californiumite. Ce squelette a été conçu pour (...)

  • Le plugin ZotSpip

    28 mai 2012 – 124 commentaires

    Synchronise Spip avec une bibliothèque (personnelle ou partagée) de références bibliographiques Zotero. Utilisez Zotero pour gérer / importer / rédiger vos références bibliographiques, puis incorporez vos références bibliographiques dans votre Spip avec (...)