t3unifr12 - réussir sa mise à jour de typo3

36
Réussir sa mise à jour de TYPO3 26.06.2012 Thomas LEROY <[email protected]>

Upload: sitengo

Post on 19-May-2015

2.925 views

Category:

Technology


1 download

DESCRIPTION

L'objectif de cette conférence est de faire le tour des étapes nécessaires pour qu'une mise à jour de TYPO3 se déroule correctement. Différents point sont abordés comme par exemple les outils qui peuvent nous accompagner lors des mises à jour, les aspects de l'environnement technique ou encore les actions automatiques et manuelles à effectuer (script Shell ou Module Installation).

TRANSCRIPT

Page 1: T3UNIFR12 - Réussir sa mise à jour de typo3

Réussir sa mise à jour

de TYPO3 26.06.2012

Thomas LEROY <[email protected]>

Page 2: T3UNIFR12 - Réussir sa mise à jour de typo3

Objectif

Page 3: T3UNIFR12 - Réussir sa mise à jour de typo3

T3UNI12 26.06.2012 Réussir sa mise à jour de TYPO3

TYPO3

ANCIEN

TYPO3

RÉCENT MISE À JOUR

Objectif

Page 4: T3UNIFR12 - Réussir sa mise à jour de typo3

Analyse de l'existant -

Définir notre environnement de travail

Page 5: T3UNIFR12 - Réussir sa mise à jour de typo3

Analyse de l'existant

Type / Version de l'OS

Environnement technique

Base de données

• Version

• Encodage

T3UNI12 26.06.2012 Réussir sa mise à jour de TYPO3

Serveur d'application

• Type (apache / IIS / ...)

• Version

• Modules chargés

PHP

• Version

• Variables php.ini

• Extensions chargées

Liste des CRON

Page 6: T3UNIFR12 - Réussir sa mise à jour de typo3

Analyse de l'existant

• Version de TYPO3

• Encodage

• Liste des extensions

• Extensions du TER

• Développements spécifiques

• XCLASS

• Hooks

Environnement TYPO3

T3UNI12 26.06.2012 Réussir sa mise à jour de TYPO3

Page 7: T3UNIFR12 - Réussir sa mise à jour de typo3

Environnement de travail

• Effectuer une sauvegarde de l'instance TYPO3 de production

• Travailler dans le même environnement applicatif (sauf montée de version)

• Travailler dans un environnement de TEST

• Versionner vos scripts et éventuellement les développements spécifiques

https://github.com/Apen/TYPO3-backup/blob/master/saveTypo3Website.sh

T3UNI12 26.06.2012 Réussir sa mise à jour de TYPO3

Page 8: T3UNIFR12 - Réussir sa mise à jour de typo3

Mise à jour de TYPO3

Page 9: T3UNIFR12 - Réussir sa mise à jour de typo3

fileadmin : fichiers utiles pour la contribution typo3conf : configuration du site uploads : fichiers attachés à des enregistrements de la BD typo3temp : fichiers temporaires générés par TYPO3 sources : t3lib / typo3 / index.php

Rappel - Architecture des fichiers http://typo3.org/documentation/document-library/guides/doc_guide_install/2.0.2/view/

T3UNI12 26.06.2012 Réussir sa mise à jour de TYPO3

Page 10: T3UNIFR12 - Réussir sa mise à jour de typo3

1. Sauvegarder ! 2. Installer les nouvelles sources 3. "Upgrade wizard" 4. "Compare database" 5. Vider les caches :

a) truncate cache_* b) Vider typo3temp c) Supprimer temp_CACHED_*

6. Reinitialiser les paramètres utilsateurs

Les étapes de la mise à jour

T3UNI12 26.06.2012 Réussir sa mise à jour de TYPO3

Page 11: T3UNIFR12 - Réussir sa mise à jour de typo3

Upgrade Wizard

Page 12: T3UNIFR12 - Réussir sa mise à jour de typo3

Compare Database

Page 13: T3UNIFR12 - Réussir sa mise à jour de typo3

Différences entre les versions de TYPO3

Page 14: T3UNIFR12 - Réussir sa mise à jour de typo3

De nombreuses nouvelles versions : 4.5 LTS, 4.6, 4.7... 6.0 ?!? • Le cycle de développement d’une nouvelle version est passé à 6 mois • Pour l'instant la version conseillée pour un support optimal est la 4.5

Pour toutes versions inférieures à la 4.1, il faut : 1. mettre à jour en 4.1 2. mettre à jour en 4.5 3. mettre à jour en 4.7 Pour toutes versions supérieures à la 4.1, il faut : 1. mettre à jour en 4.5 2. mettre à jour en 4.7

Différences entre les versions de TYPO3

T3UNI12 26.06.2012 Réussir sa mise à jour de TYPO3

Page 15: T3UNIFR12 - Réussir sa mise à jour de typo3

Versions de TYPO3

Page 16: T3UNIFR12 - Réussir sa mise à jour de typo3

Passage à la 4.2

Compatible PHP 5.1.x/5.2.x

UTF-8 non obligatoire

http://wiki.typo3.org/Upgrade#Upgrading_from_4.1_to_4.2

T3UNI12 26.06.2012 Réussir sa mise à jour de TYPO3

ALTER TABLE `sys_template` CHANGE `config` `zzz_deleted_config` BLOB NOT NULL;

ALTER TABLE `sys_template` ADD `config` TEXT NOT NULL AFTER `zzz_deleted_config`;

UPDATE `sys_template` SET `config` = CAST(`zzz_deleted_config` AS CHAR);

ALTER TABLE `sys_template` DROP `zzz_deleted_config`;

Certains champs sont passés de BLOB à TEXT (notamment le champ "config" des gabarits typoscript).

Il est donc indispensable de passer par une conversion, exemple:

Page 17: T3UNIFR12 - Réussir sa mise à jour de typo3

Passage à la 4.3

PHP 5.2.x obligatoire

UTF-8 conseillé

http://wiki.typo3.org/Upgrade#Upgrading_to_4.3

T3UNI12 26.06.2012 Réussir sa mise à jour de TYPO3

Page 18: T3UNIFR12 - Réussir sa mise à jour de typo3

Passage à la 4.4 Même démarche que pour une 4.3

PHP 5.2.x obligatoire / 5.3.x supporté

UTF-8 conseillé

http://wiki.typo3.org/Upgrade#Upgrading_to_4.4

T3UNI12 26.06.2012 Réussir sa mise à jour de TYPO3

Possible problèmes de skins (t3skin)

Page 19: T3UNIFR12 - Réussir sa mise à jour de typo3

Passage à la 4.5 PHP 5.2.x obligatoire / 5.3.x supporté

UTF-8 obligatoire

Utilisation de Swiftmailer conseillée pour les mails

http://wiki.typo3.org/Upgrade#Upgrading_to_4.5_Long_Term_Support

T3UNI12 26.06.2012 Réussir sa mise à jour de TYPO3

Workspaces

Vérification des fonctions dépréciées avec le deprecated.log (en

prévision d'une passage vers la 4.5>)

Page 20: T3UNIFR12 - Réussir sa mise à jour de typo3

Passage à la 4.6 PHP 5.3.x obligatoire

UTF-8 obligatoire

Utilisation de Swiftmailer obligatoire pour les mails

http://wiki.typo3.org/Upgrade#Upgrading_to_4.6

T3UNI12 26.06.2012 Réussir sa mise à jour de TYPO3

Certaines propriétés du RTE dépréciées (upgrade wizard)

Fonctions dépréciées supprimées

Page 21: T3UNIFR12 - Réussir sa mise à jour de typo3

Passage à la 4.7

PHP 5.3.x obligatoire

UTF-8 obligatoire

http://wiki.typo3.org/Upgrade#Upgrading_to_4.7

T3UNI12 26.06.2012 Réussir sa mise à jour de TYPO3

Suppression de :

$TYPO3_CONF_VARS['BE']['forceCharset']

$TYPO3_CONF_VARS['SYS']['setDBinit']

Page 22: T3UNIFR12 - Réussir sa mise à jour de typo3

Mise à jour de l'encodage

Page 23: T3UNIFR12 - Réussir sa mise à jour de typo3

Conversion UTF-8 de la base de données

mysqldump -u (user) -p(pass) --max_allowed_packet=10000000 typo3 > typo3_utf8.sql

+ sed -e 's/latin1_swedish_ci/utf8_general_ci/g' -i "" typo3_utf8.sql

Si besoin : iconv -f iso-8859-1//TRANSLIT//IGNORE -t utf8 typo3_utf8.sql > dump-iconv.sql

+ mysql -u (user) -p(pass) --default-character-set=utf8 typo3 < typo3_utf8.sql

Convient dans la plupart des cas, mais il y a toujours des cas particuliers...

http://wiki.typo3.org/UTF-8_support#Convert_an_already_existing_database_to_UTF-8

T3UNI12 26.06.2012 Réussir sa mise à jour de TYPO3

Page 24: T3UNIFR12 - Réussir sa mise à jour de typo3

Conversion UTF-8 du backend

$TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8;';

$TYPO3_CONF_VARS['BE']['forceCharset'] = 'utf-8';

http://wiki.typo3.org/UTF-8_support#TYPO3_settings

T3UNI12 26.06.2012 Réussir sa mise à jour de TYPO3

Toujours tester l'ajout et le rendu de contenu pour vérifier l'encodage

Page 25: T3UNIFR12 - Réussir sa mise à jour de typo3

Conversion des templates

Pour TemplaVoilà comme pour les autres systèmes

Manuellement avec un éditeur de texte

ou

iconv

Si nécessaire...

T3UNI12 26.06.2012 Réussir sa mise à jour de TYPO3

Page 26: T3UNIFR12 - Réussir sa mise à jour de typo3

Conversion des fichiers

Peut concerner certains fichiers locallang ou PHP

Manuellement avec un éditeur de texte ou iconv

Si nécessaire...

T3UNI12 26.06.2012 Réussir sa mise à jour de TYPO3

Page 27: T3UNIFR12 - Réussir sa mise à jour de typo3

Mise à jour des extensions -

Extensions du TER

Page 28: T3UNIFR12 - Réussir sa mise à jour de typo3

Extensions du TER

• Vérifier que l'extension soit toujours supportée (et éventuellement changer)

• Vérifier sur typo3.org les changements apportés à chaque version

• Vérifier que la version soit compatible avec la version de TYPO3 visée (ex:

direct_mail et la 4.7)

• Vérifier que la nouvelle version n'a fonctionnellement pas changé (ex: powermail

et les templates)

Bref, tester, tester, et tester !!!

Méfiez-vous des évolutions...

T3UNI12 26.06.2012 Réussir sa mise à jour de TYPO3

Page 29: T3UNIFR12 - Réussir sa mise à jour de typo3

Mise à jour des extensions -

Développements spécifiques

Page 30: T3UNIFR12 - Réussir sa mise à jour de typo3

Développement spécifique

• Fonctions dépréciées avec le deprecated.log

• Compatibilité avec PHP 5.3 >

• Code HTML "en dur" (labels)

Vérification de la qualité du code - le plus facile...

T3UNI12 26.06.2012 Réussir sa mise à jour de TYPO3

Page 31: T3UNIFR12 - Réussir sa mise à jour de typo3

• Vérification de l'existence des hooks (à priori toujours existant sauf

refonte de code)

• Vérification des XCLASS (contrôle des classes et méthodes

surchargées)

Vérification de la compatibilité du code - Le plus dur...

Développement spécifique

T3UNI12 26.06.2012 Réussir sa mise à jour de TYPO3

Page 32: T3UNIFR12 - Réussir sa mise à jour de typo3

Vérification fonctionnelle

Pour chaque plugin/module/...:

• On vérifie manuellement les fonctionnalités frontend ou backend

• Execution de tests unitaires

• Éventuellement, exécution de scénarios sous Selenium IDE

Est-ce que ça marche encore ?

T3UNI12 26.06.2012 Réussir sa mise à jour de TYPO3

Page 33: T3UNIFR12 - Réussir sa mise à jour de typo3

Mise à jour des traductions

Page 34: T3UNIFR12 - Réussir sa mise à jour de typo3

Mise à jour des traductions

• Vérifier que les traductions n'ont pas évolué

• Et eventuellement contribuer à la traduction de l'extension :-)

http://translation.typo3.org/

T3UNI12 26.06.2012 Réussir sa mise à jour de TYPO3

Page 35: T3UNIFR12 - Réussir sa mise à jour de typo3

Questions / Réponses

T3UNI12 26.06.2012 Réussir sa mise à jour de TYPO3

Page 36: T3UNIFR12 - Réussir sa mise à jour de typo3

Merci

Retrouvez cette présentation sur www.site-ngo.fr

Thomas LEROY <[email protected]>

T3UNI12 26.06.2012 Réussir sa mise à jour de TYPO3