Migration vers Joomla 1.5.15 (mise à jour le 08/09/2010) Imprimer Envoyer
Note des utilisateurs: / 1
MauvaisTrès bien 
Écrit par Pierre   
Mercredi, 06 Janvier 2010 21:24

 

Migration Joomla 1.0 sur Joomla 1.5

1.   Introduction :

La migration de Joomla 1.0 Joomla 1.5, si ce n'est pas une obligation, est hautement recommandée.

Cette migration n'est ni aisée, ni automatique. Il n'est pas recommandé de l'effectuer sur le serveur car cette migration nécessite plusieurs jours si ce n'est de semaines.

Personnellement j'invite tout migrateur à prendre un cahier et à noter toutes les actions qu'il opérera et les incidents de parcours rencontrés et à en faire profiter les autres. En effet il constatera que certains incidents ne sont pas de son fait mais du manque de mise à jour dans Joomla des bugs connus référencés dans la FAQ .

2.   Application de ce mémo :

Ce mémo est écrit pour une mutation de Joomla 1.0 sur Joomla 1.5.15. dans l'environnement suivant :

* Easyphp 5.3.0
* Apache 2.2.13
* MySQL 3.1.37
* PHP 5.3.0
* Joomla 1.5.15

Ce mémo peut être utilisé pour un autre environnement dans la limite de compatibilité

3.   Précautions :

3.1. Libérer le port 20 :

Easyphp utilise le port 20, en conséquence il faut arrêter tout programme utilisant ce port en particulier Skype.

3.2. Versions incompatibles :

Il est d'usage, en informatique que les versions les plus récentes aient une compatibilité descendante avec les versions antérieures du logiciel. Cela n'est pas vrai, ni pour Joomla ni pour PHP (few incompatibilities ).

PHP 5.0.4 ne doit surtout pas être utilisé avec Joomla.

PHP 5.3.0 n'est compatible à l'heure actuelle qu'avec la version de Joomla 1.5.15.

Les versions Joomla 1.5.6 et suivantes, sous PHP 5 nécessitent une version supérieure à PHP 5.0.10, exclues les versions PHP 5.3, mais restent compatibles avec toutes les versions de PHP 4 qu'il est difficile de télécharger. PHP 4 n'est plus maintenu.

3.3. Incompatibilité entre Joomla 1.0 et Joomla 1.5 :

L'organisation de la base MySQL et la structure des certaines tables sont différentes entre Joomla 1.0 et Joomla 1.5.

Ceci nécessite l'utilisation d'un migrateur.

Mais avant de faire quelque travail que ce soit, il vous faut descendre notre site sur votre ordinateur local et surtout de ne pas tenter la migration sur votre serveur.

4.   Génération d'un serveur apache local :

PHP 4 devenant rare, il faut trouver un serveur apache offrant encore PHP 4. En effet Joomla 1.0 n'est pas compatible avec PHP 5.

Nous avons récupéré EasyPHP1.8. avec encore un PHP 4,; mais depuis août 2009 PHP 4 n'est plus maintenu, il est donc de plus en plus difficile de "downloadé" un serveur Apache avec PHP4.

Une fois le serveur Apache généré avec PHP 4, descendez de votre serveur le répertoire complet /www/ sur votre site local.

Puis entrez dans votre base de données MySQL et exporter sur votre site local en format SQL votre base de données.

Attention aux grosses bases de données.

En effet l'exportation est limitée à  50000 requêtes. Pensez à ajuster cette valeur.

L'opération suivant consiste à recharger la base. Cependant la fonction import de MySQL est limitée à des fichiers de 2000 ko. Il vous faudra au paravent scinder votre fichier export en autant de fichiers que nécessaires de moins de 2000ko que vous réimporterez dans la base de votre site local.

Toutes ces opérations marchent sans anicroches. C'est surprenant, mais c'est ainsi.

Testez votre site local. Toutes ces opérations sont un entrainement à la génération de votre serveur Joomla 1.5.

5.   Préparation de votre base à la migration :

Comme nous vous avons déjà informé, l'organisation de la base de données et des structures des tables de Joomla 1.0 et de Joomla 1.5 sont différentes. Il faut donc adapter votre base de données à la migration, pour cela l'équipe Joomla a écrit un plugin (ou mambot) que vous téléchargerez à partir de Migrator 1.5 .

Ne décompressez pas le migrateur.

Lancer votre site local sous "admin" allez dans "Installation"."Mambots" pointer sur le fichier migrateur et cliquez sur "Upload  File & Install". Le migrateur est installé.

Allez alors dans "Composants" et cliquer sur le Migratreur. Un fichier est créé pour alimenter la base de données de Joomla 1.5.

Dernière opération, désinstaller le serveur Apache avec PHP4 de votre site local. Vous ne pourrez plus votre ancien site sur l'ordinateur local, mais à partir du serveur.

La préparation de la migration est terminée.

Ici commence la migration

6.   Génération du serveur Apache avec PHP 5.3

PHP 5.3 est la dernière version de PHP. Elle est stable mais elle présente des incompatibilités avec les versions antérieures (même de PHP 5.2) (few incompatibilities).

Nous avons choisi EasyPHP5.3.0 pour générer notre site avec :
-         Apache 2.2.13,
-         MySQL 5.1.67,
-         PHP 5.3.0, dernière version de PHP
-         Joomla 1.5.15, la seule version qui soit compatible avec PHP 5.3.0, avec quelques limitations (Il faut faire attention avec PHP 5.3. Joomla est compatible, mais est-ce que les composants/modules utilisés le sont aussi ? Sharky)

7.   La génération du Joomla 1.5.15 :

7.1. Création de la base de données :

7.1.1.   Lancement de Apache

-        Pour lancer Apache, stopper tout programme utilisant le port 20 (Skype).

-        Dans "Démarrer"."Programmes", rechercher  et ouvrir Easyphp5.3.0, puis cliquer sur  .

-        une boîte de dialogue s'ouvre                 
Il faut que les deux voyants soient au vert. Fermer la Boîte de dialogue. EasysPHP 5.3.0 est actif.

7.1.2.   Ouvrir l'administration de Easyphp :

-        Sur l'icône  en bas à gauche de la barre des taches, cliquez avec le bouton droit de la souris, le menu, Menu de EasyPHP, suivant s'affiche :

-        Cliquer sur administration.

7.1.3.   Pour créer la base de données MySQL :

-        Appeler MySQL en complétant la barre de saisie du navigateur http://127.0.0.1/home/ en http://127.0.0.1/home/mysql/ .

-        Donnez un nom à votre base de données,

-        Si vous utiliser des caractères accentués français (ou européens portugais) choisissez pour "l'interclassement" : "latin1-general-ci" (lire ).

-        Validez. La base est créée mais vide.

Important :

-        Avant de passer à Joomla, vous devez saucissonner le fichier généré (en 5)  en autant de fichiers que nécessaires de 2000 ko maximum, pour cela utiliser l'éditeur de texte "notepad++", téléchargeable et gratuit.

7.1.4.   Charger Joomla 1.5.15 :

-        Téléchargez  Joomla 1.5.15 à partir du site français de Joomla .

- Décompressez Joomla dans le répertoire C:\Program Files\EasyPHP5.3.0\www
Joomla est prêt pour son installation.

-        Faites une copie de cette décompression. Elle vous permettra de recommencer plusieurs fois l'installation de joomla.

7.1.5.   Installation de Joomla 1.5.15 :

-        Appelez le Menu de EasyPHP (voir 11.2) et cliquer du Web local.

-        Renseignez les questions posées par l'installateur de Joomla.

-        Tant que votre site n'est pas parfaitement actif éviter les mots de passe pour la base de données, cela vous facilitera la vie.

Cette zone n'est pas entièrement commentée car ma migration n'étant pas terminée, ni sauvegardée, je ne voudrais pas la détruire par une manipulation malheureuse.

-         Au chargement de la base précisez le code de caractère "iso-8859-1" et donner le premier segment du fichier de migration saucissonné.

Si tout se passe bien, et je le souhaite pour vous l'installateur Joomla passera à sa dernière page.

-        Alors vous retournez sur un "Explorateur Windows" pour supprimer le répertoire "Installation" de /www/.

-        Validez l'installation et  sautez au paragraphe 7.1.7.

 

Si par malheur, l'installateur revient sur cette même, surtout ne la ré-exécutez pas car vous créerez deux bases de données mais sautez au paragraphe suivant

7.1.6.   En cas d'anomalie de Chargement de la base :

Je vous donne la procédure que j'ai suivie. Elle n'est pas orthodoxe, mais elle marche.

Elle nécessite uns bonne connaissance de MySQL et un esprit logique.

-         Au paragraphe 7.1.4, j'ai décompressé Joomla 1.5.15 dans un répertoire réservé. Ce qui m'a permis de recommencer l'installation autant de fois que nécessaire pour obtenir ce que je voulais.

-         N'arrivant pas à sauter l'étape 7.1.5, j'ai choisi l'option de Joomla  qui m'a généré une base préremplie appelée "Demo".

-         Après test de cette configuration, (après bien des tribulations), j'ai rechargé le répertoire de Joomla dans /www/.

-         Et j'ai recommencé l'installation de Joomla, plusieurs fois, parfois avec succès parfois avec échec sans comprendre pourquoi.

J'ai conservé la base "Demo", elle m'a bien servie ultérieurement pour résoudre de nombreux problèmes.

 

7.1.7.   Premier chargement de la base par Joomla terminée :

L'installateur de Joomla a chargé le premier segment de votre base de données. Il faut charger les autres segments. Joomla n'est plus aucune utilité. Vous devez passez sous MySQL

-         Pour appel MySQL, activer l'administration de EasyPHP et complétez la ligne du navigateur  http://127.0.0.1/home/mysql/.

-         Dans le menu de MySQL cliquez sur l'icône

-         Dans "Emplacement du fichier texte", donnez le nom du segment suivant à Charger

-         Dans "Jeu de caractères du fichiers", choisir Latin1, si vous avez des caractères français accentués.

-         Puis cliquez sur la touche "Exécuter".

 

7.1.8. Premier BUG : Pas de caractères accentués

Si vous avez des caractères accentués, ce qui est 99% le cas en français, vous constatez que tous les champs comportant des lettres accentuées sont tronqués à partir de la lettre accentuée incluse.

Pour éliminer le bug des caractères accentués voir paragraphe 7.1.11

7.1.9. Deuxième BUG : 404 Composant non trouvé

En lançant Joomla, plantage avec le message suivant :

J'ai dû débuggé Joomla pour trouver d'où provenait cette erreur :

De l'instruction  $mainframe->dispatch($option); à la ligne 68 de index.php

Heureusement je ne suis pas le seul à subir les effets de cette instruction l'anomalie est connue du forum de Joomla qui nous propose un remède efficace :

Modifier ainsi la ligne 68

/* modifiée le 30 décembre 2009 */
#$mainframe->dispatch($option);   /*##########*/
/* fin de modification*/

Ne pas faire cette modification, car si vous pouvez continuer à travailler, plus en avant dans la migration aucune page  ne s'affichera

La vrais solution est :

C'est d'aller dans menu, de choisir votre page d'accueil, de la sélectionner, puis de la rendre par "défaut" en cliquant sur l'étoile en haut et à droite défaut. (Conseil donné par grand Schtroumpf).

C'est simple. trop simple, mais hors d'atteinte quand on ne le sait pas et que la notion par défaut n'existait pas dans la version de Joomla précédemment utilisée.

Le marque défaut correspond à une valeur à 1 dans la rubrique "Home" de la table menu dans la base de données MySQL. (Ne pas modifier la table directement).

 

7.1.10. 3ième Bug : www/components/com_content/helpers/route.php on line 106

Par chance ce bug est également connu par le Forum de joomla. Il faut modifier le module route.php ligne 106 de la façon suivant :

 

// modification préconisée par flyo6 le 02 janvier 2010

if(is_array($items))
{
foreach($items as $item)
{
if ((@$item->query['view'] == $needle) && (@$item->query['id'] == $id)) {
$match = $item;
break;
}
}
}

/*
foreach($items as $item)
{
if ((@$item->query['view'] == $needle) && (@$item->query['id'] == $id)) {
$match = $item;
break;
}
}
*/
// fin de modification préconisée par flyo6 le 02 janvier 2010

 

Le Bug est éliminé.

 

7.1.11. Élimination du bug sur les caractères accentués

Après bien des tâtonnements, j'ai fini par appliquer une méthode bestiale d'informaticien qui a l'avantage de fonctionner.

-         Opérer une copie sur un répertoire de travail de la base de données.

-         Vider chaque table de son contenu sauf Plugins

- Reprendre dans la structure de chaque table de données, la rubrique interclassement de chaque champ et remplacer utf8_general_ci par latin1_general_ci.

- Recharger sous MySQL l'ensemble des données de migrations

Attention

Dans le fichier de migration ne figure aucune donnée de "Plugins" ni de "Menus-types". Ces deux tables n'existaient pas dans Joomla 1.0.

-         Pour la table Plugins j'ai récupéré les données de la base de données 'Demo".

-         Pour la table Menus_types, la construction est en cours. L'installateur de Joomla omet de créer et de remplir cette table dans le cas d'une migration.

 

7.1.12. Anomalie dans le fichier de Migration

Dans le fichier de migration les items ayant le droit d'accès '2', ont été reportés avec des droits d'accès '99'. Il y a eu lieu de leur redonner la valeur "2" et l'admin marchera correctement.

 

7.1.13. Dernier problème pas encore résolu

Affichage des articles sous Joomla 1.5.15

J'ai recréé entièrement mon site sous Joomla 1.5.15.
Tout serait impeccable si seulement les articles s'affichaient..
Le bandeau supérieur est présent.
Les menus sont bien affichés à gauche.
Les modules s'affichent bien à droite.
La barre de défilement est bien active.
Le bandeau avec 'Flash" est bien présent

Mais aucun article ne s'affiche le centre de l'écran reste désespérément blanc.
Pas de message d'erreur.

Les articles sont bien dans la base de données et modifiables par admin.

Quand on clique sur un item de menu, l'adresse de l'article s'affiche bien dans le navigateur et le centre de l'écran n'est pas rempli.

Même le "contacter-nous" ne s'affiche pas.

J'ai le même défaut sur le site de démo généré automatiquement par l'installateur de Joomla.

Problème résolu, voir fin du paragraphe 7.1.9

 

7.1.14. www\components\com_content\views\article\view.html.php on line 156

Il s'agit d'un bug mineur dans components/com_content/views/article/view.html.php

Il faut modifier l'instruction 156 :

if($menu && $menu->query['view'] != 'article')

en

if( is_object($menu) && isset($menu->query['view']) && $menu->query['view'] != 'article' )

// issetDetermine if a variable is set and is not NULL

 

N'oubliez pas de conserver dans un cahier toutes les modifications que vous faites dans le code de Joomla. Cela vous permettra de conserver les modifications que vous avez apportées aux sources de Joomla. Les mises a jour successives tiennent peu compte des discutions du Forum et des corrections apportées aux bugs.

7.1.15. www\components\com_content\views\category\view.html.php on line 118

Non trouvé dans le forum.

Cette erreur apparaît lors de l'affichage des  articles par catégories.

Instructions incriminées :

//set breadcrumbs
if(is_object($menu) && $menu->query['view'] != 'category') {
$pathway->addItem($category->title, '');
}

modifiées de la sorte :

//set breadcrumbs
if(is_object($menu)&& isset($menu->query['view']) && $menu->query['view'] != 'category') {
$pathway->addItem($category->title, '');
}

7.1.16. Si un article est déclaré Not published, l'erreur 404 se manifeste.

8.   Conseils

8.1. Nom de fichier :

8.1.1.

Si dans le nom de fichier sous Windows l'apostrophe est autorisée, elle n'est pas interdite sous Unix ou Linux, mais le retour sous Windows provoque des catastrophes. En conséquence excluez les apostrophes dans le nom de fichier.

Les fichier avec des apostrophes (') ne sont pas redescendus par leechFTP. Et pire ces fichiers sont générés sur Unix et Linux, mais vous n'avez moyen d'y accéder pour les renommer ou les supprimer par ligne de commande. La seule méthode est d'écrire un programme en C , ce qui ne vous est pas permis de faire sur le serveur.

8.1.2.   Longueur des noms de fichier

Si, sous Windows la longueur des noms de fichier n'ont pas d'importance, Notepad++ peuvent les "uploader", le "download" peut devenir problématique. Pour leur descente, nous vous recommandons leechFTP.

8.1.3.   Pour avoir le source complet de Joomla

http://www.reference.joomlademo.de/nav.html?_functions/index.html

9.   À revoir après installation

Ce paragraphe est un mémo à mon intention.

Il devrait être effacé.

Ne pas en tenir compte en cas de présence sur le site.

9.1. Noms de fichier à modifier.

9.1.1. Gared'Oloron

9.1.2. Valléed'Aspe

9.2. Photos à recharger

9.2.1. GareDOloron

9.2.2. ValléeDAspe

9.2.3. Tramway Nice rue jean médecin

 

 

9.3. Nombre de visiteurs

9.4. Remettre le logo fnautpaysmaures.com.

 

9.5. Pour le Forum,

regarder  :  http://forum.joomla.fr/showthread.php?t=50363

Doc PHP : http://fr2.php.net/manual/fr/langref.php

10 Pour développements à venir

10.1 connaître l'utilisateur

http://docs.joomla.org/JFactory/getUser

10.2 How to create a module

http://docs.joomla.org/How_to_create_a_module

Mise à jour le Vendredi, 01 Octobre 2010 13:57
 
Make Text Bigger Make Text Smaller Reset Text Size
Actuellement en ligne
Nous avons 46 invités en ligne
Statistiques
Affiche le nombre de clics des articles : 1315372
Pour vos vacances

 

Loin des tumultes de la côte
Une villa en Centre Var
Villa
tél : 04 94 73 87 68
Près de l'abbaye cistercienne du Thoronet, concerts et chants. abbaye
Trains Spéciaux Centre Var (màj 10/04/2012)
Trains spéciaux du Centre Var
Festival ferroviaire
festival 2012
Trains d'Halloween

Cliquer sur l'affiche pour l'agrandir.
Train Touristique Centre Var

Un picasso en automne

La saison 2013 fait le plein de trains.
Voir les horaires détaillés des
Prochains départs des trains

Trains réguliers
De Carnoules vers Brignoles
départ à {9H30, 12H15 et} 15H00
De Brignoles vers Carnoules
départ à {11H00 et} 16H35

Les prochains départ de Carnoules :
Mer. 29 mai 2013 (11h30)
Sam. 01 juin 2013 (9h30)
Dim. 02 juin 2013 (9H30)
Dim. 02 juin 2013 (15h)
Mer. 05 juin 2013 (15H)

Dim. 02 juin 2013 (9H30)
Dim. 06 juin 2013 (15h)
Mer. 09 juin 2013 (15H)
Dim. 13 juin
2013 (9H30)
Dim. 13 juin 2013 (15h)

Commandes secrètes Microsoft

Tout savoir sur les
Microsoft Commande NET

Comment supprimer le parasite ISTARTSURF
ADWCleaner

Merci de votre aide

Malgré toute l'attention que nous portons à la rédaction de ce site, il se peut que des erreurs échappent à notre vigilance. Nous vous serions reconnaissant de nous le signaler par contacter-nous . Il se peut que quelques liens soient mal dirigés, merci de nous les signaler.

FNAUT Pays des Maures