Les possibilités sont vastes avec Dotclear et j'ai du faire les choix suivants :

  • créer un plugin configurable afin de gérer les demandes de nouveaux blogs avec utilisateurs administrateurs.
  • la ferme est mono-domaine. Très peu ont une structure digne de Gandi sous la main.
  • Les dossiers public des blogs sont tous rangés dans un sous domaine dédiée et administrable via le gestionnaire de médias du blog principal de la plateforme. Cependant, le volume total de chaque dossier public n'est pas limité.

Nouveau plugin Dotclear : dafarm

Cette extension ne s'adresse pas aux débutants. L'extension s'active via about:config.

Plugin dafarm - demandes

Plugin dafarm - configuration

Présentation
  • Message : vous pouvez éditer le message affiché au dessus du formulaire.
Paramètres
  • Schéma de l'URL d'un blog : par exemple http://%s.mondomaine.tld/%s sera remplacé par l'identifiant du blog. Le / est obligatoire à la fin de l'adresse. A adapter à votre nom de domaine.
  • Imposer les minuscules dans l'identifiant du blog : oui/non
  • Liste des identifiants de blog exclus : admin, www, demo, media, etc.
  • Thème par défaut des nouveaux blogs créés : identifiant du thème.
  • Schéma de l'URL des médias : http://media.mondomaine.tld/<blog_id>/ l'idéal est de retenir un sous-domaine dédiée pour stocker les médias.
  • Schéma du chemin des médias : mettre le chemin absolu, ça semble mieux fonctionner...
  • Mails d'avertissement : lors de nouvelles demandes, un mail sera envoyé à chacun des destinataires de cette liste.

En coulisses chez votre hébergeur

Arborescence serveur :

  • répertoire www
  • répertoire dotclear
    • tout le contenu de l'application Dotclear
  • répertoire public avec les droits en lecture et écriture.

Gestion des sous-domaines :

  1. (vide) pointe sur le répertoire www du serveur.
  2. * (pour tous les sous-domaines différents de vide ) pointé également vers le même répertoire www du serveur.
  3. public à pointer sur le répertoire public du serveur.
  4. admin à pointer sur le réperetoire dotclear/admin du serveur.

Thèmes Dotclear aka l'apparence du blog :

Il est nécessaire d'avoir un lien symbolique themes pointant vers le répertoire themes de Dotclear. Pour se faire, connectez-vous chez votre hébergeur (en SSH par exemple) et dans un terminal, exécutez la commande suivante :

cd www 
ln -s /dotclear/themes themes

Fichier index.php dans www

Il s'agit du fichier index.php de Dotclear à recopier en ajustant le chemin vers le répertoire de l'application.

<?php
if (isset($_SERVER['DC_BLOG_ID'])) {
	define('DC_BLOG_ID',$_SERVER['DC_BLOG_ID']);
} elseif (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');
}
require dirname(__FILE__).'/../dotclear/inc/public/prepend.php';
?>

Fichier .htaccess dans www

La directive Apache mod_setenvif permet de définir à la volée la constante DC_BLOG_ID en fonction du sous-domaine. Quant à la directive mod_rewrite, on ne la présente plus...

Options -MultiViews -Indexes
<IfModule mod_setenvif.c>
	SetEnvIf Host "^(.*)\.mondomaine\.tld$" DC_BLOG_ID=$1
	<IfModule mod_rewrite.c>
		RewriteEngine on
		RewriteBase /
		RewriteCond %{REQUEST_FILENAME} !-f
		RewriteCond %{REQUEST_FILENAME} !-d
		RewriteRule ^(.*)$ /index.php/$1 [L]
		RewriteRule ^$ /index.php/ [L]
	</IfModule>
</IfModule>

Fichier .htaccess dans public

Options -MultiViews -Indexes -ExecCGI 
RemoveHandler .php .py .pl .rb cgi shtml

Vous êtes libres de réaliser ce que vous voulez avec l'extension. Sachez juste que cette extension ne sera pas remontée sous Dotaddict.org.. Le suivi est réalisé pour le moment seulement ici.