|
12 months ago | |
---|---|---|
bin | 2 years ago | |
src | 12 months ago | |
.gitattributes | 3 years ago | |
.gitignore | 4 years ago | |
README.md | 2 years ago | |
composer.json | 4 years ago | |
composer.lock | 3 years ago | |
spip.php | 4 years ago | |
spip_completion.sh | 4 years ago |
README.md
Outil spip-cli
spip-cli est un outil pour commander SPIP depuis la ligne de commandes.
Documentation
https://contrib.spip.net/SPIP-Cli
Utiliser spip-cli
Pour connaître les commandes disponibles, lancer spip
dans un shell
$ spip
Ligne de commande pour SPIP version 0.2.3
Usage:
[options] command [arguments]
Options:
--help -h Display this help message.
--quiet -q Do not output any message.
--verbose -v|vv|vvv Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
--version -V Display this application version.
--ansi Force ANSI output.
--no-ansi Disable ANSI output.
--no-interaction -n Do not ask any interactive question.
Available commands:
dl Télécharger SPIP dans un dossier (par défaut, la dernière version stable)
help Displays help for a command
install Installer la base de données et le premier utilisateur.
installer Installer la base de données et le premier utilisateur.
list Lists commands
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: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)
(etc.)
Dans la version 0.2.3, spip-cli
permet :
- de télécharger SPIP dans un dossier,
- d'installer la base de données de SPIP et le premier utilisateur,
- vider et activer/désactiver le cache.
- utiliser les fonctions propre() et typo()
telecharger des plugins via git (dans les depots Git de git.spip.net, ou dans d'autres depots)
commande : spip plugins:git:telecharger
2 arguments possibles (pour l'instant);
- une liste de préfix séparé par un espace
- un url d'un site spip pour récupérer tous ses plugins
Configuration: le plugin recherche un fichier spip_depot_git.json dans son dossier ou dans un dossier parent. On peut y indiquer d'autres depots / forges ex :
{
"forges": [
{
"forge": "gitlab",
"version": "v4",
"url": "https://git.mongitlab.fr/api/v4/projects?access_token=MON_ACCESS_TOKEN",
"par_page": 100,
"remplacements_prefixes": {
"prefixe_truc": "nom_repo_truc",
"prefix_machin": "nom_repo_machin"
}
}
]
}
Dans ce cas le plugin va chercher une fonction chercher_url_gitlab($prefix, $v, $json)
appelée avec 3 arguments :
/*
* recherche l'url d'un plugin à cloner
*
* @parma $prefix : le prefix du plugin que l'on cherche
* @param $v : le numéro de version de l'api
* @param $json: le json a parser
*
* @return l'url à cloner
*/
public function chercher_url_gitlab($prefix, $v, $json){
Pour l'instant, le plugin fournit pour l'instant que la fonction pour l'api de gitlab en v4
Fonctionnement :
- teste l'existence du plugin, dans ce cas, simple
git pull
- sinon teste l'existence dans un dossier de cache (dossier : spip_depot_git, dossier present dans l'arborescence parente du site), dans ce cas, clone dans ce dossier puis copie dans le dossier plugins du site ou si le plugin est présent pull puis copie.
Pour l'instant, la copie est assumée, au depend de git-worktree
- si pas de dossier de cache : clone dans le dossier plugins du site
synchro SPIP
Synchroniser un spip distant sur un spip local, bdd / fichiers / modif des metas
ATTENTION, pour l'instant ne fonctionne que sur une bdd en mysql
3 actions possibles :
spip synchro:init
creation d'un fichier json : synchroSPIP.json à la racine du SPIP, il restera un peu de configuration à faire.spip synchro:bdd
pour lancer la synchro de la bdd et la modif des metasspip synchro:fichiers
pour lancer la synchro des fichiers via rsync
spip synchro:bdd
: Il y a 3 args facultatifs
- -v : verbeux
- -b ou --backup: forcer le backup local de la bdd
- -r ou --rsync: lancer à la fin les commandes rsync du script synchro:fichiers
spip synchro:fichiers
: Il y a 1 arg facultatif
- -v : verbeux
Fichier de configuration synchroSPIP.json
- Il y a 2 façons pour ouvrir une connexion ssh :
- via : user / hostName / port ex :
ssh toto@spip.net -p 1234
, si chemin_cle est defini, on pourra choisir une cle ssh dans un dossier autre que .ssh - via: host (il faut l'avoir défini dans .ssh/config) ex:
ssh mon_host_spip
dans ce cas, pas besoin de renseigner les autres champs dans config_ssh - Il faut avoir une cle ssh
- via : user / hostName / port ex :
- Configuration pour le rsync : Chaque ligne représente : chemin local => chemin distant:
- le chemin local peut-être en relatif
- le chemin distant doit etre en absolue et se terminer par '/'
- Configuration pwd mysql distant: si dans le fichier de configuration, on indique pas le pwd mysql, il sera demandé en console
exemple :
"rsync": {
"IMG": "chemin abs vers IMG/",
"plugins": "chemin abs vers plugins/"
}