Tout est donné à titre d'information. Si vous ne savez pas ce que vous faites, demandez à quelqu'un de vous aider !

Commencer par effectuer une mise à jour comme indiqué dans la doc de mise à jour de Dotclear. Attention aux sauvegardes de vos fichiers !

Si vous avez les messages d'erreur suivants sur la page d'admin :

Parse error: syntax error, unexpected '{' in /homez.xx/login/www/dc2/admin/auth.php on line 39

ou sur un billet :

Parse error: syntax error, unexpected '{' in /homez.xx/login/www/dc2/inc/public/prepend.php on line 37

C'est que vous avez oublié de copier le .htaccess d'OVH qui va activer le php5 et désactiver le mod_gzip.

Si vous avez le message suivant sur un billet :

Fatal error: Uncaught exception 'Exception' with message 'Unknown column 'C2.cat_lft' in 'field list' (1054)' in /homez.xx/login/www/dc2/inc/clearbricks/dblayer/class.mysql.php:103 Stack trace: #0 /homez.xx/login/www/dc2/inc/clearbricks/dblayer/dblayer.php(311): mysqlConnection->db_query(Resource id #14, 'SELECT C2.cat_i...') #1 /homez.xx/login/www/dc2/inc/core/class.dc.categories.php(102): dbLayer->select('SELECT C2.cat_i...') #2 /homez.xx/login/www/dc2/inc/core/class.dc.categories.php(39): nestedTree->getChildren(0, NULL, 'desc', Array) #3 /homez.xx/login/www/dc2/inc/core/class.dc.blog.php(256): dcCategories->getChildren(0, NULL, 'desc') #4 /homez.xx/login/www/dc2/plugins/widgets/_default_widgets.php(55): dcBlog->getCategories(Array) #5 /homez.xx/login/www/dc2/plugins/widgets/_public.php(14): include('/homez.44/suric...') #6 /homez.xx/login/www/dc2/inc/core/class.dc.modules.php(501): require('/homez.44/suric...') #7 /homez.xx/login/www/dc2/inc/core/class.dc.modules.php(479): dcModules->loadModuleFile(' in /homez.xx/login/www/dc2/inc/clearbricks/dblayer/class.mysql.php on line 103

ou si une fois loggé admin, vous avez

Erreurs :
  - Unknown column 'C2.cat_lft' in 'field list' (1054)
  - Unknown column 'post_position' in 'field list' (1054)

ou

Warning: in_array() function.in-array: Wrong datatype for second argument in /homez.xx/login/www/dc2/admin/posts.php on line 195
Warning: Cannot modify header information - headers already sent by (output started at /homez.xx/login/www/dc2/admin/posts.php:195) in /homez.xx/login/www/dc2/inc/admin/lib.dc.page.php on line 78

C'est que la mise à jour ne s'est pas faite (à ce stade, c'est "normal")

En fait, la mise à jour ne se fait pas parce qu'un champ est absent de la table dc2_version. Pourquoi ? Mystère... Toujours est-il qu'il va falloir modifier la base de données pour pouvoir ajouter ce champ. Sauf que...

Sauf que ce n'est pas vous qui avez installé le blog, mais OVH et que la base n'est pas accessible par PhpMyAdmin. En tout cas pas dans mon installation pour laquelle la base est "sql2.modules" et n'est pas proposée.

Pour connaître vos paramètres de base de données, allez regarder le contenu du fichier inc/config.php que vous avez bien sûr sauvegardé en suivant la doc DC2.

Dans mon cas (90plan), j'ai un accès en ssh sur le serveur, ce qui me permet de passer des commandes mysql en ligne. Il suffit alors de passer la commande suivante, en reprenant les paramètres du config.php :

mysql --host=DC_DBHOST --user=DC_DBUSER -p DC_DBNAME

Il demande un mot de passe qui est, croyez-le ou non DC_DBPASSWORD !

Une fois connecté sur la base entrez les commandes :

mysql> insert into dc2_version (module,version) values ('core','2.0');
Query OK, 1 row affected (0.01 sec)
mysql> commit;
Query OK, 0 rows affected (0.00 sec)
mysql> exit;
Bye

Si vous n'avez pas accès en ligne de commande à votre mysql, copiez ce code php, LISEZ LE car on accède quand même à votre base de données de blog, on pourrait tout effacer, puis transférez-le sur le serveur à la racine de votre blog (eg : /homez.xx/login/www/dc2/), accédez au fichier avec votre navigateur (http://www.domaine.tld/dc2/myupdate.php) et hop :-)

DC2 updated

Une fois cette mise à jour effectuée, connectez-vous sur la page d'administration de votre blog. Vous devriez avoir un joli message en gris au-dessus du login :-)

Au passage, le module est toujours présent dans la liste des modules installés par OVH. Je n'y ai pas touché sur mon blog de test. Sur un autre, j'ai simplement changé l'hébergement de la base de données depuis les modules OVH vers la base du compte hébergé.

Ce billet devrait en rassurer certains, je vais enfin faire les corrections sur wFlickr et dcFlickr avec à peine 6 mois de retard depuis que Fulbert m'a signalé le problème !

(j'ai aussi un faire-part de naissance à la bourre depuis 8 mois - honte ! - ça n'a pas trop bouger depuis janvier - 3615 cestmavie)