Spip_loader

La mise en place d’un site Web [1] pré-suppose le chargement-dépôt par FTP des fichiers du CMS sur votre espacé hébergé...
Si votre hébergeur ne propose pas une installation automatique de SPIP, vous pouvez simplement charger et lancer un seul fichier : l’installeur automatique spip_loader.php à prendre sur la page officielle de download.

Attention à ne pas changer à l’improviste de branche SPIP de façon involontaire : lisez les instructions ci-dessous, et sur le lien de download.

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 Installateur automatique

L’installateur automatique de SPIP est une facilité supplémentaire pour la première initialisation d’un SPIP (comme pour une mise-à-jour d’ailleurs [2]...).

En effet, installer le core de SPIP (quelques milliers de fichiers à transférer par FTP depuis votre poste local vers le serveur de votre hébergeur) représente un certain temps de transfert, d’autant qu’il a déjà fallu le rapatrier depuis les serveurs d’origine http://www.spip.net/fr_download :
et si le transfert se faisait directement, de serveur à serveur ?

C’est la démarche automatisée par ce simple script PHP à télécharger sur la page de download [3] , un seul fichier à transférer par FTP dans le dossier du serveur hébergeur, qui sera la racine de votre SPIP et à "activer", c’est-à-dire demander son accès au serveur, en donnant dans votre navigateur, l’URL de ce fichier.

JPEG - 27 ko
L’affichage du Spip_loader (v 2.5.7 en 2016) vous permet de controler votre version/branche de SPIP : ne changez pas de branche sans précaution !

Attention ! Vérifiez bien :
- la dernière version de spip_loader (2.5.27) à utiliser !
A ce jour de sortie de la version SPIP 3.1, il s’agit de la version spip_loader 2.5.7 (encore corrigée pour faciliter l’usage de mise-à-jour sans erreur) -et elle fonctionne sous Wamp !

PNG - 22.9 ko
spip_loader.2.4.3 (un-official)
Cette version (non officielle) faisait apparaître l’adjonction de contrôle visuel de la version SPIP à utiliser, décrite ci-après (utile avant que cette facilité soit intégrée lors d’une ré-écriture du spip_loader) !

- le paramétrage de la version SPIP à installer (voir ci-dessous)
- Le niveau de branche est 3.0, le ".16" signifie "release 16"(ou indice de version dans la branche), comme il y a des "2.1.x" (branche 2.1), les obsolètes "2.0.x" (branche 2.0) ou 1.9.x (branche 1.9).... et désormais la 3.1.x !

En fait, spip-3.0.zip contient le dernier patch stable de la branche 3.0. Ça évite de réécrire le spip_loader à chaque correction de bug ; et spip_loader pointe sur spip.zip qui est le dernier patch "stable" de la dernière version publiée stable [4].

Si vous changez le sous-répertoire cible, cela vous garantit de garer la branche courante..


 Vérifier la version à charger

Voyez aussi quelle version de SPIP vous souhaitez : en cette période de migration,
Si vous voulez vérifier,c’est pas difficile !
Ouvrez le fichier dans un éditeur de texte (cf. Editeurs du WebMestre PC), et regardez :
- la ligne 62 vous indique le numéro de version de votre fichier chargeur
- la ligne 16 précise la source du dépôt des zip stables à utiliser :
define('_URL_SPIP_DEPOT','http://files.spip.org/');
- la ligne 30 indique la version qui sera chargée (ici la version stable de spip-3.0 )
define('_CHEMIN_FICHIER_ZIP', 'spip/stable/spip-3.0.zip');

  • suggestion : pour visualiser d’avance la version qui va être chargée (et donc éviter de mauvaises surprises !), insérer en ligne
    [+718]  
              ."( "._CHEMIN_FICHIER_ZIP." ) "

     [5]
    Nota Bene : Le fichier spip-3.0.zip contient le dernier patch stable de la branche 3.0, ce qui évite de réécrire le spip-loader à chaque correction de bug.

  1. pour recharger la dernière version stable d’une branche (applicable à la 2.1 et à la 3.0 ), il vous suffira de rajouter le numéro de branche au nom pour obtenir, par exemple en ligne 30 :
    define('_CHEMIN_FICHIER_ZIP', 'spip/stable/spip-2.1.zip');
  1. si vous vouliez utilisez spip_loader pour recharger la version svn [6],

passer cette ligne en commentaire PHP en posant un dièse # au début,
et retirez celui en début de la ligne 27
# define('_CHEMIN_FICHIER_ZIP', 'spip/dev/SPIP-svn.zip');.

  1. si vous voulez recharger une vieille version en Archives par spip_loader , c’est aussi possible ; ligne 31 dans :
    define('_CHEMIN_FICHIER_ZIP', 'spip/stable/spip-3.0.zip');

    remplacez stable par archives
    remplacez spip-3.0.zip par le nom exact du fichier de la version de spip que vous voulez
    (en consultant la page d’archives SPIP http://files.spip.org/spip/archives/)... puis...

Renvoyez par FTP le fichier modifié [7] sur votre serveur, et... gogogo !

Note : On pourrait imaginer d’ajouter plusieurs radio-boutons, pour choisir la version, mais cela serait inutilement lourd.. !

 Possibilité supplémentaire

Depuis la version 2.2.0 de spip_loader, il accepte à présent dans l’URL une variable nommée dest permettant de spécifier le nom du plugin dont le paramètre chemin est le Zip dans http:files.spip.org. Celui est installé dans le répertoire ./plugins [8]. Le nom ne peut comporter que des caractères alpha-numériques, tiret, souligné ou point.

 Des pièges possibles ?

- le plus gênant : se tromper de version (voir ci-dessus !)
- le plus fréquent : encore des problèmes sur les droits /répertoires du serveur
- le plus bête : omettre l’extension .php (ou modifier le nom du script [9] )
- le plus oublié : avoir saturé son espace disque
- le plus actuel : passer en PHP 5 (voir Des cas..... résolus ! PHP5, même pour Spip_loader ! )
- le plus normal : le rechargement fonctionne-t-il avec votre version d’IE ?
- le plus improbable : s’il y avait un souci avec IPv6 ?
- le plus drastique : certains hébergeurs brident tout téléchargement hors FTP,
- le plus vicieux : et si vous étiez bloqué par une ré-écriture simultanée du Zip sur le serveur d’origine... recommencez à l’URL initiale spip_loader.php?(sans rien derrière.) !
Par exemple, si vous avez fait une erreur de frappe dans l’appel du script spip_loader, voilà ce qu’affichera votre navigateur :

JPEG - 11.4 ko
Spip_loader.php NotFound
L’adresse URL que vous avez indiquée ne correspond pas à un fichier chargé sur le serveur : vérifiez l’orthographe...

 Sécuriser les SPIP installés

Cette opération de mise-à-jour de SPIP est recommandée pour suivre les mises-à-jour de SPIP, surtout les mises-à-jour de sécurité (il actualise aussi l’écran de sécurité) ; mais cela peut être aussi générateur de problèmes, lors d’une montée importante en termes de modifications de tables, et/ou de compatibilité avec les plugins. Il est donc recommandé de d’abord valider une montée de version sur une copie du site de production, avec les mêmes contextes d’environnement PHP.

Mais il est fortement déconseillé de laisser le script accessible dans votre répertoire de travail : en effet, la protection décrite si dessous ne peut être garantie ; elle n’est d’ailleurs pas prise en charge par l’écran de sécurité, et les manipulations du script sont potentiellement dangereuses : effacez ce script après usage !

 Autorisations des Webmestres

Sur un site SPIP déjà installé, l’exécution de spip_loader contrôle que la mise-à-jour est bien lancée par un utilisateur connecté, authentifié en Administrateur et WebMestre, et même en webmestre N°1 [10] ; sinon, vous recevrez un message d’erreur, qui pourra vous paraître incompréhensible alors que vous êtes webmestre !!

JPEG - 6 ko
Accès Spip_loader.php INTERDIT (sauf au WebMestre).
La sécurité du script spip_loader a vérifié que l’utilisateur connecté -identifié par son cookie de session- n’était pas Webmestre n°1.

Autorisation d’un autre Webmestre : vous pouvez rajouter d’autres auteurs identifiés comme webmestre autorisé en modifiant la ligne 9, le define('_SPIP_LOADER_UPDATE_AUTEURS', '1'); : il suffit de changer le numéro d’auteur, ou mieux de vous rajouter comme ci-dessous :
define('_SPIP_LOADER_UPDATE_AUTEURS', '1:2:9');

 A ne pas oublier !

Ce script spip_loader fait beaucoup de choses, mais il vous faudra néanmoins penser à quelques opérations complémentaires à faire par FTP en même temps que vous téléchargez le script à la racine de votre site internet :

Il faut encore créer manuellement les dossiers répertoires de personnalisation :

  • ./lib
  • ./squelettes
  • ./plugins
  • ./plugins/auto

Et ensuite, chargez les plugins voulus...


Merci de nous signaler les coquilles ou erreurs qui figureraient dans cette page.

[1SPIP n’est pas une exception... il faut bien "booter", c’est-à-dire démarrer un programme initial !

[2Une protection interne (en ligne 9 de Spip_loader.php) réserve ce traitement aux seuls Webmestres déclarés en BdD !

[3Vous récupérerez un fichier .txt en texte, donc non interprété par le serveur ; à vous de le renommer en suffixe .php avant de le transférer sur votre espace SPIP, sans oublier éventuellement de corriger les _SPIP_LOADER_UPDATE_AUTEURS autorisés !

[4Soit la branche 3.0 depuis le 22 mai !

[5Ou mieux, le patch proposé ci-dessous !

[6SPIP-svn est la version en-cours d’amélioration, pas toujours finalisée, -on vous aura prévenu- bugs possibles ;-) !

[7Ne modifiez pas le nom du script php : il se ré-utilise lui-même pour finaliser correctement le chargement !

[8Ce n’est pas l’installation standard dans ./plugins/auto/, gérée par SVP.

[9Le script de chargement automatique spip_loader.php est récursif, ce qui exprime qu’il se ré-appelle lui-même automatiquement en-cours de traitement ; son nom de fichier sur votre serveur doit donc rester inchangé.

[10Testé en 3.0.10->3.0.11 sur spip_loader.php[2.4.3] ; il ne suffit plus d’être un Webmestre déclaré en base de données !

[11SPIP n’est pas une exception... il faut bien "booter", c’est-à-dire démarrer un programme initial !


Liens visibles seulement pour les inscrits.

Article publié le 21 mai 2012, et actualisé en janvier 2016 .

Répondre à cet article