Carnet Wiki

NettoyageRacineDe18A19

1. Introduction : pourquoi ne pas lire cet article

1.1 Si vous installez un site tout neuf avec la version 1.9 de SPIP

alors le répertoire dans lequel vous avez installé SPIP ressemble à la Figure 1 ci dessous :

Figure 1. Contenu du répertoire racine de SPIP 1.9, circa 21/03/2006

CACHE/       ecrire/       IMG/  formulaires/    oo/   dist/
COPYING.txt         UPGRADE.txt     INSTALL.txt    spip.php     index.php      htaccess.txt      inc-public.php3

Vous avez de la chance, c’est propre, net et clairement documenté ici. Cet article ne vous concerne pas. Félicitations, et au revoir.

1.2 Si vous faites une mise à jour simplement en installant la 1.9 par dessus une 1.8 existante

Le répertoire racine de l’installation de SPIP 1.8.3 ressemble à la Figure 2 ci dessous :

Figure 2. Contenu du répertoire racine de SPIP 1.8.3

agenda.php3          formulaires/                 inc-compilo.php3        oo/                  spip_background.php3
article.php3         forum.php3                   inc-criteres.php3       page.php3            spip_barre.js
auteur.php3          htaccess.txt                 inc-html-squel.php3     plan.php3            spip_cache.php3
backend-breves.php3  ical.php3                    inc-messforum.php3      puce.gif             spip_cal.php3
backend.php3         IMG/                         inc-public-global.php3  puce_rtl.gif         spip_cookie.php3
breve.php3           inc-admin.php3               inc-public.php3         recherche.php3       spip_image.php3
CACHE/               inc-balises.php3             inc-stats.php3          resume.php3          spip_inscription.php3
COPYING.txt          inc-boucles.php3             inc-urls-html.php3      rien.gif*            spip_login.php3
dist/                inc-cache.php3               inc-urls-propres2.php3  rubrique.php3        spip_pass.php3
distrib.php3         inc-calcul-outils.php3       inc-urls-propres.php3   site.php3            spip_redirect.php3
ecrire/              inc-calcul.php3              inc-urls-standard.php3  sommaire.php3        spip_rss.php
extract_doc.php      inc-chercher-squelette.php3  index.php               sommaire_texte.php3  spip_style.css
extract_pdf.php      inc-compilo-api.php3         index.php3              spip_acces_doc.php3  spip_test_dirs.php3
extract_rtf.php      inc-compilo-index.php3       mot.php3                spip_admin.css       win_png.htc*

La procédure de mise à jour normale est d’installer la 1.9 par dessus la 1.8 en préservant tous ces fichiers et en en ajoutant d’autres.
C’est pas propre et net, mais ça devrait toujours marcher. Du moins jusqu’à la prochaine version.
Revenez donc d’ici quelque temps, lorsque vous aurez entre 1 heure et une bonne soirée à consacrer à maintenir votre site en pleine forme.

1.3 Si vous avez gardé les squelettes de votre site dans le répertoire d’installation de SPIP

c’est à dire que vous n’utilisez pas le dossier /squelettes/.
Désolé, mais vous avez loupé l’épisode précédent. Les explications de cette page restent valables, mais vous risquez d’avoir plus de mal à suivre que le petit copain au premier rang qui a tout bien rangé ses affaires. On suggère d’appliquer d’abord les méthodes décrites dans cette note. Dans l’article, en ce qui concerne « page.php » qui est obsolète en 1.9, lire à la place « spip.php ».

2. Motivations : pourquoi lire cet article

Vous êtes encore là ? C’est sympa, merci de votre attention. Vous pouvez lancer la copie de sauvegarde du répertoire d’installation de SPIP, le temps de lire la suite...

Comme précisé dans le fichier UPGRADE.txt, la version 1.9 présente plusieurs changements techniques importants :

-  On se débarasse enfin des extensions de fichier « .php3 » qui tachent. Voilà quelques années que tout le monde (y compris SPIP) utilise la version 4 ou 5 de PHP. On gardait cette scorie par souci de rétrocompatibilité, mais il est temps de l’éliminer. Dixit les developpeurs : Si cette version de transition (1.9) est encore compatible avec « .php3 », la prochaine (2.0) ne le sera pas.

-  On simplifie le nom les pages (schémas d’URL en technolangue). Maintenant c’est spip.php qui centralise tous les hits. En clair, une page nommée www.monsite.org/article.php3?id_article=12 devient www.monsite.org/spip.php?article=12. C’est déjà mieux, vous ne trouvez pas ? Et comme implicitement le serveur web utilise la page index.php qui elle-même appelle spip.php, le nom de la page est encore plus mieux : www.monsite.org/?article=12.

-  On réorganise les fichiers, comme on le voit en comparant les Figures 1 et 2.

Ces changements réduisent la complexité du répertoire d’installation et permettent d’améliorer la sécurité. Ils permettent d’installer des fonds de page personalisés plus facilement. Toutefois ces améliorations ont un coût :
Si vous recopiez un /squelette/ conçu pour la 1.8 dans une installation 1.9 toute neuve,
toutes les références en .php3 ne marchent plus. Les liens entrants et les liens internes dans le site sont cassés.

3. Au travail

3.1 Préserver les anciennes URL

Si votre hébergeur l’autorise, utilisez le fichier htaccess.txt, en le recopiant à la racine du site sous le nom .htaccess.
Ce fichier dira alors au serveur Web que les hits sur une adresse du type article.php3?id_article=1 doivent être traités par spip.php ; il gère, de plus, les URLs « propres ».

Sinon, vous n’avez pas le choix, il faut garder les fichiers du type article.php3 à la racine.

3.2 Renommer et déplacer mes_options.php3 et mes_fonctions.php3

à expliquer.

3.3 Renommer et déplacer les fichiers de langue

à expliquer.

3.4 Les squelettes

Suite à l’élimination des fichiers article.php3, il convient de spécifier l’âge maximum des pages dans le cache. La ligne de code précisant $delai=3600; qui était dans article.php3 devient une ligne #CACHE{3600} dans le squelette article.html.

Traiter les #INCLURE Mais comment faire pour les inclure ??? Merci de me notifier une réponse sur farouba@hotmail.com

Changer les URLs en « .php3 » codées en dur dans les squelettes, par exemple plan.php3 devient spip.php?page=plan ou même ?page=plan puisque index.php appel spip.php ! On peut aussi utiliser #URL_PAGE{plan} pour faire plus propre.

4. Et enfin

Maintenant, vous pouvez supprimer articles.php3 et compagnie.

TODO : écrire un script pour tout vérifier.

- Mise à jour :8 décembre 2009 à 11h40min