spip_loader facile

Il existe une version de spip_loader qui est facile à utiliser. Cette nouvelle version est un petit script 100% PHP, lisible dans n’importe quel éditeur de code et qui ne nécessite pas de changer les paramètres du logiciel FTP pour être installé.

Ce script se charge de récupérer la version phar du spip_loader, de vérifier son intégrité au moyen d’un sha1 mis à jour à chaque version, d’installer ce phar et de l’exécuter et donc au final d’installer SPIP, ou de le mettre à jour s’il y a déjà une version.

C’est donc un loader de spip_loader.

En voici le code :

<?php
$sha1 = trim(file_get_contents('https://get.spip.net/sha1'));
$content = file_get_contents('https://get.spip.net/spip_loader.php');
if (!$sha1 or !$content) {
	die ("Erreur de récupération");
}

$sha1_content = sha1($content);
if ($sha1 === $sha1_content) {
    $ok = file_put_contents('spip_loader.php', $content);
} else {
    die('Raté');
}
if (!$ok) {
	die ("Erreur d'écriture de spip_loader.php");
}

unlink(basename(__FILE__));
header('Location: spip_loader.php');
exit();

Vous pouvez donc insérer ce code dans un fichier spip_loader_loader.php ou spip_loader_facile.php à l’endroit où vous voulez installer spip, et l’appeler via votre navigateur.

Ce script a été créé à l’origine par James qui est à l’origine de la pharisation du spip_loader
cf #41 - spip_loader_loader - spip_loader - SPIP on GIT
Testé sur OVH et allwaysdata.
C’est un peu un prototype encore et ça peut encore évoluer.
Vos retours d’utilisation sont bienvenus.

3 « J'aime »

testé sur lautre.net et ça marche aussi. Après … y a plein de trucs qui marchent pas (chez cet hébergeur) comme on s’y attendrait (disons, comme je m’y attends) mais c’est un autre sujet.

Cool :+1:

pinaillage, si jamais des utilisateurices voulaient lui donner un autre nom :

-unlink('spip_loader_loader.php');
+unlink(basename(__FILE__));

Bonjour,

J’ai pas mal de problèmes avec le spip_loader 6.1.1’

Plus de site en ligne, plus d’accès à ecrire

fichier qui s’obstine à être en ASCII alors que je voudrais de l’utf.

de même pour son fichier de configuration.

La partie lisible du texte est en anglais *entrecoupée de caractères japonais, alors que dans les versions précédentes c’était en francais.

Au point où j’en suis, sans piste, je veux bien essayer.

Je vide d’abord spip_loader.php.

Y a-t-il d’autres fichiers à jeter avant de faire l’essai?

MOn hébergeur est lolipop! (GMO)

···

Le 18/05/2023 à 18:48, JLuc via Discuter de SPIP a écrit :

JLuc
Mai 18

Il existe une version de spip_loader qui est facile à utiliser. Cette nouvelle version est un petit script 100% PHP, lisible dans n’importe quel éditeur de code et qui ne nécessite pas de changer les paramètres du logiciel FTP pour être installé.

Ce script se charge de récupérer la version phar du spip_loader, de vérifier son intégrité au moyen d’un sha1 mis à jour à chaque version, d’installer ce phar et de l’exécuter et donc au final d’installer SPIP, ou de le mettre à jour s’il y a déjà une version.

C’est donc un loader de spip_loader
et d’ailleurs il s’appelle pour l’instant spip_loader_loader.php.
En voici le code :

<?php
$sha1 = trim(file_get_contents(''));
$content = file_get_contents('');
if (!$sha1 or !$content) {
	die ("Erreur de récupération");
}

$sha1_content = sha1($content);
if ($sha1 === $sha1_content) {
    $ok = file_put_contents('spip_loader.php', $content);
} else {
    die('Raté');
}
if (!$ok) {
	die ("Erreur d'écriture de spip_loader.php");
}

unlink('spip_loader_loader.php');
header('Location: spip_loader.php');
exit();

Ce script a été créé à l’origine par James qui est à l’origine de la pharisation du spip_loader
cf #41 - spip_loader_loader - spip_loader - SPIP on GIT
Testé sur OVH et allwaysdata.
C’est un peu un prototype encore et ça peut encore évoluer.
Vos retours d’utilisation sont bienvenus.


Voir le sujet ou répondre à ce courriel pour répondre.

Pour vous désabonner de ces courriels, cliquez ici.

https://get.spip.net/sha1https://get.spip.net/spip_loader.php

@liberte Pour utiliser le script cité plus haut, il ne faut pas le mettre dans spip_loader.php mais dans un autre fichier par exemple spip_loader_loader.php ou spip_loader_facile.php
Quant à savoir s’il faut virer d’autres fichiers, a priori non (mais ça dépend de ce que tu as fait)

@james : spip_loader_facile.php serait peut être mieux comme nom. Mais probablement pas spip_loader.php pour éviter l’auto destruction !
J’ai intégré ta modif dans le script plus haut.

Rebonjour,

Je viens de tester,

appelle bien

qui me retourne vous n’avez pas acces a ce site acces interdit.

Je pense que c’est un pb de nom auteur administrateur, ancien bug.

···

www.franc-parler/spip_loader_loader.phpwww./spip_loader.php
Le 18/05/2023 à 18:48, JLuc via Discuter de SPIP a écrit :

JLuc
Mai 18

Il existe une version de spip_loader qui est facile à utiliser. Cette nouvelle version est un petit script 100% PHP, lisible dans n’importe quel éditeur de code et qui ne nécessite pas de changer les paramètres du logiciel FTP pour être installé.

Ce script se charge de récupérer la version phar du spip_loader, de vérifier son intégrité au moyen d’un sha1 mis à jour à chaque version, d’installer ce phar et de l’exécuter et donc au final d’installer SPIP, ou de le mettre à jour s’il y a déjà une version.

C’est donc un loader de spip_loader
et d’ailleurs il s’appelle pour l’instant spip_loader_loader.php.
En voici le code :

<?php
$sha1 = trim(file_get_contents(''));
$content = file_get_contents('');
if (!$sha1 or !$content) {
	die ("Erreur de récupération");
}

$sha1_content = sha1($content);
if ($sha1 === $sha1_content) {
    $ok = file_put_contents('spip_loader.php', $content);
} else {
    die('Raté');
}
if (!$ok) {
	die ("Erreur d'écriture de spip_loader.php");
}

unlink('spip_loader_loader.php');
header('Location: spip_loader.php');
exit();

Ce script a été créé à l’origine par James qui est à l’origine de la pharisation du spip_loader
cf #41 - spip_loader_loader - spip_loader - SPIP on GIT
Testé sur OVH et allwaysdata.
C’est un peu un prototype encore et ça peut encore évoluer.
Vos retours d’utilisation sont bienvenus.


Voir le sujet ou répondre à ce courriel pour répondre.

Pour vous désabonner de ces courriels, cliquez ici.

https://get.spip.net/sha1https://get.spip.net/spip_loader.php

L’url que tu sembles avoir cité semble être www.franc-parler/spip_loader_loader.php : n’y manque t il pas l’extension du nom de domaine pour que ça puisse marcher ?

@JLuc

Je me suis mal exprimé.

J’ai bien créé un fichier spip_loader_loader.php

puis je l’ai appelé

l’adresse demandée s’est changée automatiquement en


``qui me dit enfin que je n’ai pas accès à la page demandée.``

``Je viens de refaire la même opération avec le même résultat.``

<details class='elided'>
<summary title='Montrer le contenu raccourci'>&#183;&#183;&#183;</summary>

[www.franc-parler.jp/](http://www.franc-parler.jp/)`spip_loader_loader.php`[www.franc-parler/spip_loader.php](http://www.franc-parler/spip_loader.php)
Le 18/05/2023 à 20:37, JLuc via Discuter de SPIP a écrit :

> [@liberte](https://discuter.spip.net/u/liberte) Pour utiliser le script cité plus haut, il ne faut pas le mettre dans spip_loader.php mais dans un autre fichier par exemple spip_loader_loader.php ou spip_loader_facile.php
> Quant à savoir s’il faut virer d’autres fichiers, a priori non (mais ça dépend de ce que tu as fait)
> 
> @james : `spip_loader_facile.php` serait peut être mieux comme nom. Mais probablement pas `spip_loader.php` pour éviter l’auto destruction !
> J’ai intégré ta modif dans le script plus haut.

</details>

Je ne sais pas ce qui se passe. Tous mes messages ici sont tronqués.

J’ai bien appelé la bonne page avec la bonne extension et bien créé le fichier spip_loader_loader.php ’’

J’ai dû faire 5 ou 6 essais. Je sauvegarde bien le fichier mais il disparait après la première utilisation. Si je l’appelle une deuxième fois j’ai une erreur 404.

Peut être tu répond par mail ? Répondre par mail nécessite de nettoyer totalement le html du mail reçu, enlever tout ce qui est mis en forme et notamment la mise en forme des citations. Répondre via le site discuter.spip.net est beaucoup plus simple.

C’est normal que ton spip_loader_loader disparaisse, car il s’efface lui même après avoir fait son boulot, c’est à dire après avoir récupéré et installé spip_loader.
Il ne reste plus, alors, qu’à lancer le spip_loader fraîchement installé. Apparemment le script n’y parvient pas lui même et peux tu à ce propos STP compléter le bout de ta phrase qui manque après « l’adresse demandée s’est changée automatiquement en » ? Pour la mise au point c’est important d’avoir les informations techniques.

Et en tout cas si ya un problème avec le lancement automatique, tu peux le lancer toi-même, puisqu’il a été correctement installé, à l’adresse : http://franc-parler.jp/spip_loader.php

Merci JLuc pour ta réponse patiente et didactique.

J’ai fait un énième essai pour te répondre ce qui suit.

www.blablabla.jp/spip_loader_loader.php affiche bien www.blablabla./spip_loader.php qui conduit à un accès interdit.
Le fichier spip_loader.php est bien présent mais il est vide: aucun caractère.

Autre chose le fichier spip_loader.php a pour url URL http://blablablamain.jp/blablabla.info/spip_loader_loader.php

Non c’est pas vrai : spip_loader.php n’est pas vide puisque quand je clique le lien http://franc-parler.jp/spip_loader.php ça m’affiche le message normal, à savoir « Accès interdit Vous n’avez pas accès à cette page. Se connecter » Je ne peux rien faire de plus à cette étape car je n’ai pas de compte admin sur ce site, mais si toi tu t’identifies en suivant le lien « Se connecter », le spip_loader continuera son déroulement.

Tu écris « Autre chose le fichier spip_loader.php a pour url URL http://franc-parler.main.jp/franc-parler.info/spip_loader_loader.php : d’où sort ce 2eme nom de domaine en .info alors que le principal est en .jp ? et quel est ce spip_loader_loader.php dont tu disais plus haut qu’il était effacé ? et pourquoi dis tu que c’est spip_loader alors que l’url que tu écris ensuite est celle d’un fichier spip_loader_loader.php ?

Au cas où la redirection vers le phar poserait problème dans certaines configurations d’hébergement, voici une version encore plus simple puisque sans redirection, mais qui nécessite un clic en plus pour lancer le loader :

<?php
$sha1 = trim(file_get_contents('https://get.spip.net/sha1'));
$content = file_get_contents('https://get.spip.net/spip_loader.php');
if (!$sha1 or !$content) {
	die ("Erreur de récupération");
}

$sha1_content = sha1($content);
if ($sha1 === $sha1_content) {
    $ok = file_put_contents('spip_loader.php', $content);
} else {
    die('Raté');
}
if (!$ok) {
	die ("Erreur d'écriture de spip_loader.php");
}

unlink(basename(__FILE__));
die ('<h1><a href="spip_loader.php">Lancer spip_loader</a></h1>');

Merci pour ta patience.
Tout marche maintenant je suis en spip 3.2.19
spip_loader_loader,php a bien fonctionné et a bien installé spip_loader.php

j’explique maintenant ce que j’ai écrit auparavant.
Dans mon message précédent j’ai noté étape par étape ce que j’ai fait et ce que je lisais sur mon écran.
L’adresse url est bonne sur le serveur, j‘ai une url dépendante de l’hébergeur et deux autres dont je suis propriétaire et qui pointent sur le même domaine logées chez ce même hébergeur.
À un moment donné le fichier spip_loader.php avait bien pour url blablabla/spip_loader_loader.php et était bien vide. Je l’ai vu et bien vérifié de mes yeux.
J’avais finalement accès interdit .

Par acquis de conscience, j’ai rétabli l’ancien mot de passe de ma base de données *Merci Pierre Kuhn.
ET miracle! Mon site est réapparu. J’ai pu donc par la partie privée, vérifier mon numéro d’administrateur qui n’est pas le 1 pour une raison dont je ne me souviens plus. et ainsi configurer spip loader.

Ce ne ne fut pas simple.

J’espère que ce spip_loader_loader.php portera chance aux néophytes de mon genre.

Merci encore!!!

Je suis disponible si d’autres tests sont nécessaires.

N’hésite pas.

Puisque tu le proposes, j’aimerais bien la réponse à une question que je reformule : est ce que à un moment, juste en lançant le spip_loader_loader.php et en le laissant tourner, tu t’es retrouvé⋅e sur une adresse qu’il me semble avoir compris dans tes messages précédents comme étant http://franc-parler.main.jp/franc-parler.info/spip_loader_loader.php ?

Et à part ça, si tu avais été webmaster id_auteur 1 (ou s’il y avait eu le bon paramétrage du webmaster dans ton fichier d’option du spip_loader) ET si tu n’avais pas eu ce problème de changement de mot de passe… est ce que le spip_loader_loader.php aurait marché direct à ton avis ? Si tu sais pas tu pourrais essayer : il suffit de ne rien lancer quand le loader propose les mises à jours possibles.

J’ai refait un test avec la comme pour la 1ère fois avec la 1ère version de ton script. Ca marche nickel.

http://blablabla.main.jp/blablabla.info/spip_loader_loader.php ? apparait dans l’url du fichier de spip_loader.php dans le serveur à côté des droits associés au fichier et autres infos. A aucun moment je ne le vois apparaître dans la fenêtre du navigateur.

Je n‘ai plus de problème de changement de mot de passe, mon id_auteur est bien renseignée dans le fichier de configuration du spip loader. ET spip_loader_loader.php marche parfaitement.

Je vais faire un peu plus tard un essai pour un autre site en

3.1.15.

Puis pour passer aux versions 4.1 ou 4.2
Je viendrai donner le résultat.

Un test sur (bool) ini_get('allow_url_fopen') nous permettra de savoir si la fonction file_get_contents() sera capable de récupérer du contenu à distance. C’est possible par défaut, mais en cas d’échec, c’est que l’hébergeur a désactivé cette possibilité: la fonction renverra alors une chaîne vide et c’est le die ("Erreur de récupération"); qui termine la requête, avec l’émission d’un ou deux warnings, visibles ou non de l’utilisateur :

WARNING file_get_contents(): https:// wrapper is disabled in the server configuration by allow_url_fopen=0
WARNING file_get_contents(https://get.spip.net/sha1): Failed to open stream: no suitable wrapper could be found

J’aime pas trop les @function(...),mais ça pourrait suffire. À voir jusqu’où pousser la prévention.

Essai réussi pour un site de spip 3.1.15 à 3.2.19
Essai transformé pour le site 3.2.15 à 3.2.19 puis de 3.2.19 à 4.1 toujours avec spip_loader_loader.php.
Ensuite directement avec le spip_loader.php, 4.1 à 4.2.

Voilà si ca peut servir.