Bien qu’outil premier des webmestres, Spip_loader ne reconnait automatiquement que le webmestre n°1 ; pour habiliter d’autres intervenants, il faut une configuration spécifique.
Depuis SPIP_loader 6.x.o
D’après les sources du spip_loader.php (v6.1.x)
Nouvelle configuration des auteurs habilités
Depuis des dernières [2] versions de spip_loader (voir précédemment spip_loader_config.php (v5.1.1 obsolète)), la configuration a changée : il faut aller retrouver sa documentation dans les sources (compilées en ’phar’) sur la forge https://git.spip.net/spip-contrib-o......
On y découvre un nouveau format pour la Configuration dans un fichier spip_loader_config.php (toujours placé au même niveau que le script
spip_loader.php) pour définir une configuration, en retournant un tableau PHP.
Exemple
L’exemple suivant autorise les auteurs n°1, 2 et 3 à utiliser le SPIP Loader
sur un site déjà existant, s’ils sont au moins administrateurs sur le site en question.
- <?php
- // spip_loader_config.php v6.x.x
- return [
- 'authorized.users' => [1, 2, 3],
- ];
Configurations
D’autres configurations utilisateur sont possibles (et seront mieux documentées dès que j’en aurai testées plus), mais authorized.users est probablement la seule utilisée couramment. Voir Config/Custom.php ; ce qui serait dès lors intéressant, sera de pouvoir ré-utiliser facilement ce chargeur pour d’autres téléchargements...
Constantes principales configurables
_SPIP_LOADER_UPDATE_AUTEURS : Définit les IDs des auteurs autorisés à effectuer les mises à jour (ex : ’1:2:3’ ou ’1’ par défaut).
_URL_LOADER_PROXY : URL du proxy à utiliser pour les téléchargements (vide par défaut).
_SPIP_LOADER_SCRIPT : Adresse du script d’exécution (ex : ’spip_loader.php’).
_SPIP_LOADER_PLUGIN_RETOUR : URL de redirection après l’installation ou la mise à jour (ex : ’ecrire/ ?exec=admin_plugin&voir=tous’).
_CHEMIN_FICHIER_ZIP : Chemin relatif du paquet ZIP à télécharger (ex : ’spip/stable/spip-3.2.zip’).
_DEFAUT_BRANCHE_MAJ : Branche par défaut pour les mises à jour (ex : ’3.2’, ’dev’).
_DIR_BASE et _DIR_PLUGINS : Répertoires d’installation de base et des plugins.
_URL_SPIP_DEPOT : Adresse du dépôt de fichiers SPIP (ex : ’https://files.spip.net/’).
_SPIP_LOADER_KEEP : Nom du fichier (par défaut .spip_loader_keep) indiquant qu’un répertoire obsolète ne doit pas être déplacé.
Jusqu’à SPIP_loader 5.2.o
D’après les sources de la version 5.1.1 du spip_loader.php
Constantes du LOADER
_SPIP_LOADER_VERSION = ’5.1.1’
_SPIP_LOADER_API = 2
_URL_LOADER_DL = # Adresse des librairies nécessaires à spip_loader
define(’_URL_LOADER_DL’, ’https://get.spip.net/’) ;
_URL_SPIP_LOADER_LIST = Url des versions proposées
define(’_URL_SPIP_LOADER_LIST’, ’https://www.spip.net/spip_loader.ap...;) ;
_URL_SPIP_LOADER = Url du fichier spip_loader permettant de tester sa version distante
define(’_URL_SPIP_LOADER’, _URL_LOADER_DL . ’spip_loader.php’) ;
_URL_LOADER_PROXY = # telecharger a travers un proxy
define(’_URL_LOADER_PROXY’, ’’) ;
Constantes de droits
_SPIP_LOADER_UPDATE_AUTEURS = Auteur(s) autorise(s) a procéder à mise a jour : ’1:2:3’
define(’_SPIP_LOADER_UPDATE_AUTEURS’, ’1’) ;
_SPIP_LOADER_SCRIPT = adresse du script excéc
define(’_SPIP_LOADER_SCRIPT’, ’spip_loader.php’) ;
_SPIP_LOADER_PLUGIN_RETOUR = adresse de branchement en sortie
define(’_SPIP_LOADER_PLUGIN_RETOUR’, ’ecrire/ ?exec=admin_plugin&voir=tous’) ;
_DEST_PAQUET_ZIP
define(’_DEST_PAQUET_ZIP’, ’’) ;
_PCL_ZIP_SIZE
define(’_PCL_ZIP_SIZE’, 249587) ;
PCLZIP_READ_BLOCK_SIZE = constante de la librairie PCLzip.php
define(’PCLZIP_READ_BLOCK_SIZE’, 2048) ;
_PCL_ZIP_RANGE
define(’_PCL_ZIP_RANGE’, 200) ;
_SPIP_LOADER_KEEP = /* Le SPIP Loader ne place pas dans le répertoire obsolète
* un répertoire qui contiendrait un fichier avec ce nom. */
define(’_SPIP_LOADER_KEEP’, ’.spip_loader_keep’) ;
Constantes de dossier
_DIR_BASE = # repertoires d’installation
define(’_DIR_BASE’, ’./’) ;
_DIR_PLUGINS =
define(’_DIR_PLUGINS’, _DIR_BASE . ’plugins/’) ;
Constantes definissant la Version SPIP
_URL_SPIP_DEPOT = # adresse du depot
define(’_URL_SPIP_DEPOT’, ’https://files.spip.net/’) ;
_NOM_PAQUET_ZIP = # surcharger le script pour un autre usage
define(’_NOM_PAQUET_ZIP’, ’spip’) ;
DEFAUT_BRANCHE_MAJ' = # pour fixer sur une branche
define(’_DEFAUT_BRANCHE_MAJ’, ’3.2’) ;
_REMOVE_PATH_ZIP = // par defaut le morceau de path a enlever est le nom :
define(’_REMOVE_PATH_ZIP’, ’’) ; // (anciennement ’spip/’)
define('_CHEMIN_FICHIER_ZIP =
define(’_CHEMIN_FICHIER_ZIP’, $notre_branche[’zip’]) ;
Il est possible de fixer directement la version SPIP voulue (avec la dernière release)
define(’_CHEMIN_FICHIER_ZIP’, ’spip/stable/spip-3.0.zip’) ;
Il est même possible de lui demander de remonter une version spécifique de SPIP
define(’_CHEMIN_FICHIER_ZIP’, ’spip/stable/spip-3.0.9.zip’) ;
Ces éléments pouvaient/peuvent etre fixés dans l’appel du script :
spip_loader.php?chemin=spip%2Farchives%2FSPIP-v3.2.4.zip
Attention, la forme d’écriture exacte du nom de fichier .zip ayant parfois varier, vous avez intéret à vérifier l’orthographe exacte (y compris la casse) en recherchant le fichier dans https://files.spip.net/spip/archives/
_CHEMIN_FICHIER_ZIP_FORCEE =/ éviter d’afficher le sélecteur de branche dans ces cas là.
define(’_CHEMIN_FICHIER_ZIP_FORCEE’, true) ;
Fichier .json des versions suivies
Par exemple voici le fichier décrivant les dernières releases disponibles
(à la date du 6/08/2022) :
{
"api":2,"versions":
{
"dev":"spip\/dev\/spip-master.zip",
"4.1.5":"spip\/archives\/spip-v4.1.5.zip",
"3.2.16":"spip\/archives\/spip-v3.2.16.zip",
"4.0.8":"spip\/archives\/spip-v4.0.8.zip"
},
"default_branch":"4.1",
"requirements": {
"php": {
"master":"7.4.0",
"4.1":"7.4.0",
"3.2":"5.4.0",
"4.0":"7.3.0"
}
}
}
Article publié le 4 juin 2024, et actualisé en juin 2026 .
Répondre à cet article