Spip_loader_config.php

spip_loader_config.php est un fichier de configuration externe optionnel utilisé par le script spip_loader.php pour personnaliser l’installation ou la mise à jour de l’instance SPIP. [1]

Article publié le 4 juin 2024, et actualisé en juin 2026


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.

  1. <?php
  2. // spip_loader_config.php v6.x.x
  3. return [
  4.     'authorized.users' => [1, 2, 3],
  5. ];

Télécharger

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/&#8217;).
_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/&#8217;) ;
- _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/&#8217;) ;

- _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"
                 }
       }
}


Merci de nous signaler les coquilles, imprécisions ou erreurs qui figureraient dans cette page.

[1Au fil de ses extensions liées à SPIP, le spip_loader a dû apporter différentes options de configuration, à toujours inscrire désormais dans le fichier annexe spip_loader_config.php , qui n’avaient jamais été documentées jusqu’ici en-dehors du source...

[2Cette partie est extraite des sources de la version 6.1.6 du spip_loader.php.

[3Au fil de ses extensions liées à SPIP, le spip_loader a dû apporter différentes options de configuration, à toujours inscrire désormais dans le fichier annexe spip_loader_config.php , qui n’avaient jamais été documentées jusqu’ici en-dehors du source...


Liens A2A visibles seulement pour les inscrits.
Liens visibles seulement pour les inscrits.

Article publié le 4 juin 2024, et actualisé en juin 2026 .

Répondre à cet article