[Résolu] Impossible de migrer de 3 vers 4

Cela fait plusieurs fois que j’essaye de migrer de ma version 3.2.13 vers la 4.
Mais impossible. J’ai essayé le spip_loader → erreur 500
J’ai essayer par la recopie des fichiers → le site ne fonctionne plus
Est-ce qu’il existe une méthode qui fonctionne SVP ?

Il y a plein de méthodes qui fonctionnent.
Et parfois des hébergements qui compliquent les choses.
Par exemple, sur certains hébergements OVH, un problème de droits sur les fichiers.

« Ne fonctionne plus » étant une description assez vague, c’est difficile de t’aider.

Merci pour la réponse.
Quand je dis ne fonctionne plus, c’est à dire que je n’ai rien. Une page blanche. Impossible d’afficher les pages, impossible de se connecter en administration

SPIP Page Blanche → Les aides au débuggage de squelettes - SPIP

Bonjour, il y a eu des questions semblables posées sur le forum (en tout cas, qui ressemblent à ta problématique) Page blanche après passage en SPIP4.0 ? ou encore, quelques pistes ici Les aides au débuggage de squelettes - SPIP

Je vais regarder ces pages, merci.
Pour l’instant, je faisais les tests sur mon site de test et j’ai fait rollback dessus. Je recommence dès que possible.

Bonjour

J’ai fait pas mal d’essais. Si je pars d’un répertoire vide + spip_loader, cela fonctionne très bien jusqu’au moment où je veux récupérer ma base. Impossible car les tables ont changées. et pas d’outil de migration qui se lance. Sans parler des plugins qui n’existent plus.
Je je pars du site existant + spip_loader pour faire l’update, j’ai un 503 et ça s’arrête là. Rien de plus.

Bonjour ! Si j’ai bien compris, tu as un site en ligne sous Spip 3.2.13, c’est cela ?

  1. Quelle version de PHP sur ton serveur ?
  2. Ensuite, perso (mais ça n’engage que moi), je ferai une première montée de 3.2.13 jusqu’à 3.2.19 (la dernière version sous Spip3)
    Là, tu fais les mises à jour des plugins
    Ensuite, tu montes la version de PHP, si nécessaire (Pour Spip 4, il faut au moins PHP7.4)
    Et là seulement, tu passes à Spip 4

En théorie, tu peux passer directement de 3.1.13 à 4. Mais… en pratique, les « grands sauts » ont déjà planté (il me semble que nous en avons parlé ici il y a quelques temps)

Il n’y a pas de raison que « ça ne marche pas ». Et si « ça ne marche pas », il me semble qu’en décrivant exactement le processus que tu suis, on va trouver où est l’erreur.

À tout de suite !

Bonjour et merci pour ton aide.

Je suis effectivement en 3.2.13. J’ai bien passé mon serveur en PHP 7.4 et vérifié que cette version fonctionne, en attendant de passer en PHP 8 ou plus. J’avais déjà fait les mises à jour des plugins.

Je viens d’avancer dans mon processus de migration.

  1. j’ai dézippé la version 4.2.3 dans un répertoire.
  2. J’ai tout de suite recopié ma base et fais la configuration manuellement.
  3. J’ai aussi ramené tout mon répertoire squelettes.
  4. j’ai activé le .htaccess
    Au démarrage en /ecrire, il m’a bien demandé de faire la migration. Il a migré la base et essayé de migrer les plugins.

Mais dans la version 4, les brèves sont gérées par un plugins et ne sont plus dans le core.

Nouveau problème, je ne trouve pas les plugins quand je fais des recherches, même après activation des dépôts Plugins et Core, les 2 autres Grenier et Autres ne fonctionnant pas.
En regardant dans la base, je me rend compte que les plugins sont déjà référencés, il a donc copier la table mais pas migré correctement la table des plugins.

Voici la situation à cet instant

Qu’est-ce que tu veux dire par « je ne trouve pas les plugins » ? Tu ne les trouves pas alors qu’ils devraient être dans ton site, c’est ça ? Dans ce cas, il est possible que tu aies des versions de plugins incompatibles avec Spip 4. Auquel cas, ils sont dans « Plugins inactifs » → Montrer les plugins incompatibles.
Il te faut alors installer les plugins compatibles avec Spip 4.
On approche !

Ah, j’ai compris. Dans ce cas tu ne cherches pas les plugins à travers le backoffice, tu les cherches avec un moteur de recherche (Google ou autre) et tu indiques l’URL de l’archive du plugin dans ton backoffice.

J’utilise bien le moteur de plugin de Spip. Et je cherche bien les compatibles mais il ne trouve rien. Certains qui existaient sont effectivement incompatibles mais ne sont pas listés dans les inactifs ou tous non plus.
Voici la liste des plugins quand je fais tous. On voit le plugin Brèves actif que j’ai réussi à trouver et à activer mais les autres ne sont pas des existants de ma version 3. Je suppose qu’ils viennent de l’installation.
Aide SPIP 3.1.0 Actif Verrouillé
Archiviste 2.2.2 Actif Verrouillé
Big Upload 3.2.4 Actif Verrouillé
Brèves 3.1.0 Actif
Compagnon 3.1.1 Actif Verrouillé
Compresseur 2.1.2 Actif Verrouillé
Dump 2.1.1 Actif Verrouillé
Forum 3.1.1 Actif Verrouillé
Images 4.1.0 Actif Verrouillé
MediaBox 3.1.2 Actif Verrouillé
Medias 4.1.1 Actif Verrouillé
Mots 4.1.1 Actif Verrouillé
Plan du site dans l’espace privé 4.1.0 Actif Verrouillé
Porte plume 3.1.3 Actif Verrouillé
Révisions 3.1.2 Actif Verrouillé
SVP 3.1.3 Actif Verrouillé
SafeHTML 3.1.0 Actif Verrouillé
Sites 4.1.2 Actif Verrouillé
Statistiques 3.1.2 Actif Verrouillé
TextWheel pour SPIP 3.1.2 Actif Verrouillé
Urls Etendues 4.1.1 Actif Verrouillé

Et quand, par exemple, je cherche le plugin Agenda qui était dans ma version 3, il ne le trouve pas. Je pense qu’il est quelque part dans une table et ne le propose donc pas

Je suis reparti de scratch et j’ai refait toute l’installation. Même effet, je n’arrive pas à ajouter des plugins.
Création d’un répertoire spip42 sur mon serveur
Decompression du fichier spip-v4.2.3.zip dans spip42
Recopie de l’ancienne base dans : /config/bases/fichier de la base
Copie de : /config/connect.php
Rename du /htaccess.txt en /.htaccess
Recopie du répertoire /IMG de la 3.2 vers la 4.2
Recopie du répertoire /squelettes de la 3.2 vers la 4.2
Créer le répertoire /plugins/auto

connexion sur http://monserveur/spip42/ecrire
connexion avec user administrateur (1)
valider la mise à jour de la base (1)
connexion avec user administrateur (2)
valider la mise à jour de la base (2)
Aller dans Gestion des plugins
Ajouter le dépôt https://files.spip.org/core/archives.xml
Ajouter le plugin Brèves 3.1.0
Ajouter des plugins : Agenda non trouvé KO

Les plugins sont ceux du messages précédent, pas d’amélioration

J’ai avancé d’un pas. Si je recopie le répertoire /plugins/auto de la 3.2 vers la 4.2, j’ai bien mes plugins qui apparaissent dans la liste des incompatibles ce qui semble normal.
Il ne propose que « supprimer » et pas « mettre à jour ».

Après suppression de tous les plugins incompatibles, il ne propose toujours pas les compatibles comme Agenda, Bonux, outils de traduction etc… qui existent pour cette version.

Très probablement il faut que tu mettes ton dépôt à jour : le mieux est de supprimer le dépôt existant puis de le le remettre
Ensuite quand tu feras ajouter un plugin il te le proposera, agenda ou autre…

Il faudrait peut-être actualiser les dépôts (bouton en bas à gauche de l’écran Dépôts, au cas où).

Bonjour
Je reviens après quelques semaines de test. J’ai enfin réussi à faire fonctionner mon site en 4.2.6 grâces aux pistes données. Cela prend forme. Il me reste quand même quelques problèmes que je n’arrive pas à résoudre.

  1. Je n’arrive pas à passer en URL propre avec le plugin Couteau Suisse. 404 dès que j’active cette option. Ma version 3.2.13 fonctionne sans problème sur le même serveur (Synology)
    De plus, à l’affichage du plugin, j’ai le message Deprecated: strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /volume3/web/spip426/plugins/auto/couteau_suisse/v1.14.11/exec/admin_couteau_suisse.php on line 303

  2. Impossible d’envoyer des mails via le plugin facteur. Idem version 3.2.13 sur même serveur fonctionne sans problème

  3. Problème au changement de langue, erreur 502, mais je ne suis pas assez avancé sur ce problème pour en parler.

Pour info, mon Spip 3.2.13 est en PHP 7.4, le 4.2.6 en PHP 8.2
Merci de votre aide

Pour information, si je passe en PHP 8.0, je n’ai plus le message d’erreur à l’affichage du plugin Couteau Suisse. Il n’est donc pas compatible PHP > 8.0 (j’ai essayé 8.1 et 8.2)

Je viens de trouver le problème du plugin facteur.
Si j’enlève l’adresse mail de la copie et/ou de la copie cachée, cela fonctionne…

Dans la facteur.log j’ai l’erreur suivante quand je met le même que celui du site :
Pub:ERREUR: SPIP\Facteur\FacteurMail: Erreur AddAddress xxx@xxx.fr :

Testé en PHP 8.0 et 8.2, idem. C’est quoi ce nouveau contrôle ?