Dotclear 2

C'est avec un grande joie que je découvre cette nouvelle version de Dotclear et avec grande peine que je vais devoir découvrir les nouvelles fonctionnalités. 

Parmi les options rapidement utiles, on citera :

  • L'importation des posts depuis votre ancien Dotclear 1.2 ou votre blog WordPress

Parmi les manques évidents et régressions, on citera :

  • L'absence de recherche dans les billets par mot clé ! Vous êtes obligés parcourir les pages une par une après avoir filtrer avec Auteur , Catégorie , État , Sélectionné , Mois , Langue. En fait la recherche se situe dans Blog->Rechercher et non plus dans Billets, habitué à l'ancien Dotclear 1.2, je m'attendais à trouver la recherche dans les billets et non pas dans blog.
  • La configuration d'un lien, qui est plus lente du à l'ouverture d'une page web à la place d'une pop-up javacript, et surtout qui ne permet pas de saisir une autre langue que celle par défaut sans utiliser la souris.
  • On perd la visualisation du billet en même temps que l'édition

Documentation Dotclear 2

Heureusement Dotclear est Français et propose sa documentation pour les utilisateurs, administrateurs, développeurs et designers.

Configuration Doctlear 2 et Url Rewriting

Côté configuration, faire disparaître la mention index.php/ des URL du blog.

Il faut créer un fichier nommé .htaccess à la racine de l'installation de votre Dotclear (/var/www/dotclear2), qui contiendra les lignes suivantes :

# Pour des URL sympas avec DotClear 2
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php/$1
RewriteRule ^index.php$ index.php/

Cette partie permet de supprimer la mention index.php/ des URL du blog, si la lecture des fichiers .htaccess est autorisée avec :

 <Directory /var/www/dotclear2>
        Options Multiviews FollowSymLinks
        AcceptPathInfo On
 </Directory>


Pour finir côté Dotclear il faut le configurer :
  • changer l'URL du blog de "http://dotclear.domaine.fr/index.php?" en "http://dotclear.domaine.fr/"
  • changer la Méthode de lecture de l'URL de "QUERY_STRING" en "PATH_INFO"
  • optionellement changer le Format d'URL des nouveaux billets : d'une date+titre en titre seulement

Plugins Dotclear 2

Les plugins pour Dotclear 2 (et liste partielle des plugins Dotclear 2) permettent de rajouter des fonctionnalités à votre blog, tel que :

Des plugins's à explorer :

Certains plugins sont déjà obsolètes on dysfonctionnement :

  • Google Analytics 1.0.1 Widget pour inserer le tag de Google Analytics dans votre blog. Compatible version dotclear 2 beta 7 : Echec, fait tout planter. Forum.
PHP Warning:  Cannot modify header information - headers already sent by (output started at /var/www/dotclear/plugins/googleAnalytics/_define.php:1) in /var/www/dotclear/inc/admin/lib.dc.page.php on line 78

Voyez les commentaires à propos de ce problème :
Également , vous trouverez une autre liste de Plugins et Widgets pour Dotclear 2 sur geeek.org

Thèmes Dotclear 2

Utiliser les thèmes Dotclear 2 afin de personnaliser l'affichage de votre blog, par exemple avec le thème Clair de Lune qui permet un affichage en taille relative et donc d'afficher les posts selon la taille du navigateur.

MultiBlogs (par hôtes virtuels)

Depuis 2011

j'utilise la technique de définition du blog depuis la variable d'environnement déclarée (SetEnv mavariable mavaleur) dans chaque hôte virtuel Apache (vhost).
Voyez également les ressources : installation d’un seul blog (monoblog) ou de plusieurs blogs (multiblogs). et Multiblog Installation (un blog par répertoire un blog par virtual host)

<VirtualHost *>
        ServerName dotclear.placeoweb.com

        # Définition du Dotclear Blog Id
        SetEnv DC_BLOG_ID default

<VirtualHost *>
        ServerName alias1.placeoweb.com

        # Définition du Dotclear Blog Id
        SetEnv DC_BLOG_ID alias1.placeoweb.com

<VirtualHost *>
        ServerName www.placeoweb.com

        # Définition du Dotclear Blog Id
        SetEnv DC_BLOG_ID www.placeoweb.com


Avant 2011

j'utilisais la technique de modification de l'index.php  décrite ci après, mais cela rendait les mises à jours impossible (sauf en restaurant le fichier initial avant d'appliquer la mise à jour Dotclear).

Selon la documentation Installation multiblogs et la méthode expliquée dans le forum [dc2] Installation et hébergement  » Multiblogs: un seul dossier racine voici comment modifier l'index pour gérer autant de blog que d'URLs (alias et domaines) qui pointent sur une installation unique de DC2.

<?php
# -- BEGIN LICENSE BLOCK ----------------------------------
#
# This file is part of Dotclear 2.
#
# Copyright (c) 2003-2008 Olivier Meunier and contributors
# Licensed under the GPL version 2.0 license.
# See LICENSE file or
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
#
# -- END LICENSE BLOCK ------------------------------------

if (isset($_SERVER['DC_BLOG_ID'])) {
        define('DC_BLOG_ID',$_SERVER['DC_BLOG_ID']);
} if (isset($_SERVER['REDIRECT_DC_BLOG_ID'])) {
        define('DC_BLOG_ID',$_SERVER['REDIRECT_DC_BLOG_ID']);
}else {
        # Define your blog here
#       define('DC_BLOG_ID','default');

        # We are using full address as blog ID like:
        # blog1 - blog.mydomain.net
        # blog2 - news.mydomain.net
        # blog3 - tom57.mydomain.net
#        define('DC_BLOG_ID',$_SERVER['SERVER_NAME']);

        if( $_SERVER['SERVER_NAME'] == 'dotclear.placeoweb.com' ) {
                define('DC_BLOG_ID','default');
        }else{
                define('DC_BLOG_ID',$_SERVER['SERVER_NAME']);
        }

#echo "SERVER_NAME:".$_SERVER['SERVER_NAME'];
#echo "DC_BLOG_ID:$DC_BLOG_ID";

}

require dirname(__FILE__).'/inc/public/prepend.php';
?>


Beug Dotclear 2

Erreur lors de la création d'un nouvel article avec l'extension SyntaxeHl

[Sun Nov 09 15:50:46 2008] [error] [client 121.125.79.167] PHP Fatal error:  Impossible d'obtenir les param\xc3\xa8tres\xc2\xa0: Table 'dc_setting' was not locked with LOCK TABLES (1100) in /var/www/dotclear/inc/core/class.dc.settings.php on line 61, referer: http://dotclear.placeoweb.com/admin/post.php
[Sun Nov 09 15:50:46 2008] [error] [client 121.125.79.167] PHP Fatal error:  Exception thrown without a stack frame in Unknown on line 0, referer: http://dotclear.placeoweb.com/admin/post.php

Erreur avec Dotclear 2.1 et en plugins additionnels : SyntaxeHl 1.1, je n'ai pas testé autrement, mais d'autres semblent avoir le même problème Table 'dc_setting' was not locked with LOCK TABLES (1100) sur le forum de Dotclear.

A priori, après avoir migré en Dotclear 2.1.1 + SyntaxeHl 1.1.1, on constate le même problème. Lorsque le plugin SyntaxeHl est activé, il est impossible de créer un nouveau billet contenant du contenu faisant appel au plugin à travers la syntaxe : ///[langage à colorier]
///[php]
echo 'ceci est interdit lors de la création du billet, pas de sa modification !'
///
La solution est donc de créer un simple billet, puis de rajouter le code lors de sa modification. Peut être code-web nous apportera une explication et pourquoi une correction à ce beug ?...

Dotclear connaître la version installée

Pour savoir quelle est la version installé dans votre Dotclear, vous connaîtrez la version utilisée de Dotclear 2 dans :
  • le fichier /dotclear/inc/prepend.php : define('DC_VERSION','2.1.6');
  • le titre de la page d'administration
  • le fichier CHANGELOG à la racine de votre installation

Dotclear ou Wordpress ?

Basé sur le Trend de Google vous apprécierez par vous même le volume de recherche pour dotclear (en bleu) et pour wordpress (en rouge) en France.