Mise à jour 1 .9 .x vers 2 .0 .x

(article mis-à-jour le 8 août 2009)

La version 2 de spip étant une version majeure, la mise à jour d’un site en version 1.9.x est particulière. [1]

Quelques conseils pour que la transition se fasse au mieux

-  désactiver tous les plugins par la page : ecrire/ ?exec=admin_plugin

-  faire une sauvegarde de la base de données en utilisant la procédure de spip 1.9.x : ecrire/ ?exec=admin_tech

-  récupérer cette sauvegarde par ftp (elle se trouve dans tmp/dump/ ou, pour des versions plus anciennes, dans ecrire/data/) et la conserver soigneusement en local.

-  créer un répertoire à la racine de spip (par exemple ancien_spip/)

-  déplacer à l’intérieur de ce répertoire tous les fichiers et répertoires de spip 1.9.x SAUF les répertoires IMG/ et config/
-  si vous aviez un fichier mes_options.php le déplacer dans config/

  • ne devrait donc rester à la racine que :
    • ancien_spip/
    • config/
    • IMG/

-  déposer par ftp, à la racine de son site, l’ensemble des fichiers et répertoires de spip 2.0.x sauf les répertoires IMG/ et config/

  • devraient donc se trouver à la racine :
    • ancien_spip/
    • CHANGELOG.txt
    • config/
    • COPYING.txt
    • ecrire/
    • htaccess.txt
    • IMG/
    • index.php
    • INSTALL.txt
    • local/
    • prive/
    • rien.gif
    • spip.php
    • squelettes-dist/
    • svn.revision
    • tmp/

-  entrer avec son navigateur dans http://le_site/ecrire/ [2]

-  accepter la mise à jour de la base de données

  • à ce stade, vous devriez retrouver, dans l’espace privé, l’intégralité des données de votre ancien site et une navigation dans l’espace public devrait les afficher avec les squelettes par défaut de spip (couleur mauve)
  • en cas de problème (page blanche par exemple), essayer de renommer temporairement votre fichier mes_options.php (dans le répertoire config/) pour le désactiver.

-  récupérer maintenant les version adaptées à spip 2 des plugins que vous utilisiez et installer ces nouvelles versions dans un répertoire plugins/ à créer.

ou bien, après avoir créé un répertoire plugins/ puis son sous-répertoire auto/ utiliser la procédure d’auto installation des plugins proposée dans la page ecrire/ ?exec=admin_plugin

-  reste à créer un répertoire squelettes/ (si vous en avez l’utilité) et y déplacer calmement, par petits groupes, vos anciennes personnalisations récupérées depuis ancien_spip/squelettes/

-  si vous aviez un fichier mes_fonctions.php, vérifier la conformité de ses fonctions et déclarations avec les nouvelles fonctions et variables de spip 2.0.x

-  idem si des scripts php sont présents dans vos squelettes personnalisés

-  si vous n’avez pas déjà un .htaccess actif, il vous faudra renommer htaccess.txt en .htaccess pour bénéficier des urls propres, arbo...

LES SQUELETTES

rappel :
les fichiers rangés dans votre répertoire squelettes/ prennent le pas sur ceux placés par défaut dans squelettes-dist/ ou dans prive/

si vous avez, en 1.9.x, copié l’organisation de votre répertoire squelettes/ sur celle de dist/ , sachez que 2.0.x apporte des modifications importantes à cette organisation et qu’il vous faudra veiller à ne pas avoir des fichiers fantômes appelés en lieu et place des légitimes.
en particulier, un ancien squelettes/login.html tout comme squelettes/formulaires/login.html prendront le pas (et ce pourra être un problème) sur prive/login.html et prive/formulaires/login.html.

attention aussi aux fichiers de feuille de style et aux fichiers de script javascript.

-  liste des fichiers qui étaient dans dist/ (que vous avez peut-être personnalisés dans squelettes/) et qui ont été déplacés ou supprimés :

ancien nouveau
dist/favicon.ico supprimé
dist/jquery.js.html supprimé
dist/login.html prive/login.html
dist/sommaire_texte.html supprimé
dist/spip_admin.css prive/spip_admin.css
dist/spip_style_invisible.css privé/spip_style_invisible.css
dist/spip_style_print.css prive/spip_style_print.css
dist/spip_style_visible.css prive/spip_style_visible.css
dist/spip_style.css prive/spip_style.css
dist/style_prive_defaut.css prive/style_prive_defaut.css
dist/style_prive.html prive/style_prive.html
dist/formulaires/choix_mots.html supprimé
dist/formulaires/forum_previsu.html supprimé
dist/formulaires/login_forum.html supprimé
dist/formulaires/login.html prive/formulaires/login.html
dist/formulaires/menu_lang.html prive/formulaires/menu_lang.html
dist/modeles/doc.html prive/modeles/doc.html
dist/modeles/emb.html prive/modeles/emb.html
dist/modeles/img.html prive/modeles/img.html
dist/modeles/pagination_page_precedent_suivant.html prive/modeles/pagination_page_precedent_suivant.html
dist/modeles/pagination_page.html prive/modeles/pagination_page.html
dist/modeles/pagination_precedent_suivant.html prive/modeles/pagination_precedent_suivant.html
dist/modeles/pagination.html prive/modeles/pagination.html
dist/modeles/paginationitem.html prive/modeles/paginationitem.html
dist/icones_barre/ prive/icones_barre/
dist/images/ prive/images/
dist/javascript/ prive/javascript/
dist/vignettes/ prive/vignettes/

d’une manière générale, s’inspirer des nouveaux squelettes de squelettes-dist/ et prive/ pour reprendre et mettre à jour vos personnalisations dans squelettes/


si vous avez déjà effectué votre mise-à-jour en déposant les fichiers de spip 2.0.x sur votre spip 1.9.x, alors il reste sans doute d’anciens fichiers devenus obsolètes et que vous pouvez supprimer :

-  passage de 1.9.2 à 2.0.x stable [14697]
ces fichiers qui existaient en 1.9.2, sont, en 2.0.x, soit supprimés, soit déplacés
(cela concerne essentiellement le répertoire ecrire/ et ses sous-répertoires) il convient de les supprimer

-  ecrire/action/autoriser.php
-  ecrire/action/ical.php
-  ecrire/action/inscription.php
-  ecrire/action/instituer_mot.php
-  ecrire/action/instituer_rubrique_articles.php
-  ecrire/action/pass.php
-  ecrire/action/rss.php
-  ecrire/action/test_dirs.php

-  ecrire/base/db_mysql.php
-  ecrire/base/optimiser.php

-  ecrire/engines-list.txt

-  ecrire/exec/articles_ortho.php
-  ecrire/exec/editer_mot.php attention !!! ne pas confondre avec ’ecrire/exec/editer_mots.php’ (pluriel) qui est bien un fichier 2.0.x
-  ecrire/exec/export.php
-  ecrire/exec/forum_envoi.php
-  ecrire/exec/puce_statut_article.php
-  ecrire/exec/rubriquer.php
-  ecrire/exec/statistiques_svg.php

-  ecrire/extract/doc.php
-  ecrire/extract/pdf.php
-  ecrire/extract/rtf.php

-  ecrire/inc/auth_ldap.php
-  ecrire/inc/auth_spip.php
-  ecrire/inc/compacte_js.php
-  ecrire/inc/cron.php
-  ecrire/inc/editer_article.php
-  ecrire/inc/editer_mot.php attention !!! ne pas confondre avec ’ecrire/inc/editer_mots.php’ (pluriel) qui est bien un fichier 2.0.x
-  ecrire/inc/extra.php
-  ecrire/inc/indenter_xml.php
-  ecrire/inc/indexation.php
-  ecrire/inc/maintenance.php
-  ecrire/inc/ortho.php
-  ecrire/inc/popularites.php
-  ecrire/inc/sax.php
-  ecrire/inc/sites_voir.php
-  ecrire/inc/valider_xml.php
-  ecrire/inc/visites.php

-  ecrire/install/etape_5.php
-  ecrire/install/etape_6.php

-  ecrire/safehtml/classes/HTMLSax3.php
-  ecrire/safehtml/classes/safehtml.php
-  ecrire/safehtml/classes/HTMLSax3/Decorators.php
-  ecrire/safehtml/classes/HTMLSax3/States.php
-  ecrire/safehtml/license.txt
-  ecrire/safehtml/readme-SPIP.txt
-  ecrire/safehtml/readme.txt

-  ecrire/urls/propres-qs.php attention !!! ne pas confondre avec ’ecrire/urls/propres_qs.php’ (underscore) qui est bien un fichier 2.0.x

-  ecrire/xml/atom.php
-  ecrire/xml/ical.php
-  ecrire/xml/rss.php

-  ecrire/win_png.htc

-  le répertoire dist/ et tous ses fichiers (voir plus haut LES SQUELETTES)

-  le répertoire oo/ et son fichier index.php

-  les 3 fichiers à la racine :

  • inc-public.php3
  • UPGRADE.txt
  • win_png.htc

Notes

[1mais vous pouvez éviter toute cette procédure complexe et terrifiante en migrant de façon simple et insouciante grâce à spip_loader

[2sur un spip ancien, l’accès à ecrire/ vous proposera la page d’installation d’un nouveau spip.

-  suivez alors la procédure (choix de langue, connexion base de données...)

  • étape 1 : vous aurez besoin de renseigner votre login de connexion et votre mot de passe de connexion à la base de données (pour rappel, ces informations se trouvent dans le fichier ecrire/inc_connect.php3 à la ligne spip_connect_db('adresse_serveur','port_serveur','login_connexion','pass_connexion','nom_base');).
  • étape 2 : cochez dans la liste proposée « choisissez votre base :» la base utilisée par votre (ancien) spip (nom_base de votre ancien fichier inc_connect.php3).
  • étape 3 : renseignez vos identifiants spip (nom, login, pass)

-  puis entrez dans ecrire/

-  validez le message « Message technique : la procédure de mise à jour doit être lancée afin d’adapter la base de données à la nouvelle version de SPIP. » en cliquant sur cliquer sur ce lien

-  validez encore

vous êtes en spip 2.0.x et votre base est à jour.

Discussion

28 discussions

  • 1

    Il n’y a pas de problème au final, je me suis simplement emmêlé les pinceaux avec mes différents jeux de squelettes et comme j’étais surpris de ne pas voir l’encart « moteur de recherche » dans la configuration et n’ayant vu aucune mention à ce sujet dans les évolutions (si il y en a une et c’est fort possible, j’assume l’entière responsabilité de cette faute et me retire de... bref), en clair j’ai pas cherché dans la bonne direction.

    Ca a l’avantage de m’avoir appris cette évolution importante... Cela veut donc dire que l’indexation est nettement moins gourmande qu’autrefois ?
    Il est encore recommandé dans l’aide de SPIP 2.0.3 de ne pas l’activer pour les sites à gros volume, c’est aussi ça qui m’a fait croire à un bug. Le moteur doit être nettement plus performant pour qu’il ne soit pas désactivable, non ?

    ZiWaM

    • désormais la recherche se fait automatiquement dans les champs principaux des tables articles, rubriques, breves, syndic... avec des « scores » associés suivant le champ (par exemple : si présent dans articles.titre : 8 ; dans auteurs.nom : 5 ...)
      de ce fait, il n’y a plus besoin d’indexation préalable.
      de plus, les résultats de recherche sont conservés en base pour y être retrouvés directement si plusieures recherches identiques sont effectuées dans un temps limité (10 minutes).
      il n’y a donc plus rien à désactiver (ou ne pas activer) pour économiser de la charge sql...

    Répondre à ce message

  • 1

    Bonjour

    Je rencontre le problème suivant : tous les accents du site sont remplacés par une série de caratères (voir http://aveyron.lpo.fr) . Quelqu’un peut il me dire coment corriger cela

    merci

    • comme ça a apparemment été corrigé, et que c’est un problème posé de temps en temps dans les forums suite à une mise à jour ou un transfert de base de données, peux-tu nous dire ce qui causait le problème et comment tu l’as résolu ? merci.

    Répondre à ce message

  • 1

    Bonjour,

    Je ne trouve plus l’encart réservé à l’activation du moteur de recherche dans les fonctions avancées de la configuration. Du coup si je ne l’ai pas activée avec la version 1.9.2, la fonction est simplement indisponible une fois SPIP 2.0.3 installé.

    Quelqu’un a le même problème ?

    ZiWaM

    • la fonction d’indexation/recherche a été profondément modifiée et est active (toujours) dans spip 2.0.3 sans avoir à se préoccuper de la configurer.

    Répondre à ce message

  • 1

    Merci Lisanga pour ton aide , moi aussi, planté sur erreur 404
    Cela va quand même me poser un problème,
    car j’utilise SPIP comme aide contextuel
    à une application WEB (en PHP) .. et j’accède à l’article directement
    On verra bien ....
    Merci encore . Olivier

    • Bonjour Olivier.

      OK, mais pour des fichiers d’aide, il y a aussi LaTex pour windows. Simple et super performant.

      LaTex voir cet article.

      Lisanga

    Répondre à ce message

  • Pour tout ceux qui rencontre la fameuse « Erreur 404 » après avoir suivi ce tuto. Je vous fais part de mon expérience suite à une misa à jour majeure de spip 1.9.2e => spip 2.03 en local sous easyPHP avant de balancer cela sur mon serveur web.

    Toute le problème est simple à résoudre.

    ° Aller dans http://127.0.0.1/monsite/ecrire/ ou en d’autres termes http://localhost/monsite/ecrire/

    ° Dans configuration dans le champ « Adresse (URL) du site public » veuillez entrer l’adresse exacte de votre site en local.

    Exemple : http://127.0.0.1/monsite/

    Ceci doit être valable après envoi ftp sur le serveur web après test.

    Voilà après un peu de galère, je partage mon expérience pour vous faire gagner du temps.

    Sans cela le tuto est à suivre dans son intégralité et il n’est pas à remettre en cause. Il manquait juste cette info.

    Lisanga

    Répondre à ce message

  • 1

    bonjour je viens de suivre la procédure mais lorsque je tente de me connecter avec mon id et mdp, j’ai à tous les coups ce message

    12345 puis « login : Accès interdit »

    une idée ???

    merci

    arno

    • tenter par ftp de supprimer le répertoire tmp/
      puis, toujours par ftp, de recréer tmp/ et tmp/cache/ et tmp/sessions/ en leur donnant comme droits : 770 (rwxrwx---) ou 777 (rwxrwxrwx)

    Répondre à ce message

  • Je viens de trouver comment faire, alors je vous l’indique ici.

    Il faut dans connect.php rajouter ’ldap.php’ au dernier champs de la connexion :

    spip_connect_db(’serveur mysql’,’’,’login’,’mot de passe’,’base’,’mysql’, ’spip’,’ldap.php’) ;

    Et créer un fichier ldap.php contenant :

    <?php
    if (!defined("_ECRIRE_INC_VERSION")) return;
    $GLOBALS['ldap_base'] = "ou=login,o=compte,dc=mon,dc=domaine,dc=fr";
    $GLOBALS['ldap_link'] = @ldap_connect("serveur_ldap.mon.domaine.fr","389");
    @ldap_set_option($GLOBALS['ldap_link'],LDAP_OPT_PROTOCOL_VERSION,"3");
    @ldap_bind($GLOBALS['ldap_link'],"login","mot de passe");
    ?>

    Chez nous les deux derniers champs sont vierges, puisque nous faisons notre connexion anonymement.

    Répondre à ce message

  • Le gros problème que j’ai c’est qu’avant le passage en 2.0.3 j’avais une authentification LDAP, et que celle-ci a sauté...

    Le fichier ecrire/inc_connect.php n’existe plus, la doc sur spip.net n’en parle pas... bref nous sommes en panne !!!

    Si quelqu’un a une info... AU SECOURS !

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom