public : tous, avec des parties spéciales pour ceux qui souhaitent conserver leur bacasable.

Ce que nous allons faire aujourd’hui c’est séparer les fichiers qui constituent le cœur de Dotclear de ceux que nous ajouterons : des thèmes personnels, des plugins, les images, les vidéos, etc. Cette solution offre deux avantages :

  • dotclear reste tel qu’à sa naissance et si on veut faire une mise à jour et que la procédure automatique ne fonctionne pas pour une raison ou une autre on n’aura que très peu de manipulations à faire
  • on repère tout de suite où sont les fichiers qui vont avec tel ou tel blog.

Pour simplifier, je vais considérer que chaque blog veut utiliser ses propres thèmes et medias sans les partager avec les autres. Si vous souhaitez partager les thèmes et/ou les medias, allez lire ce tuto qui présente tous les cas de figure. D’t’façons c’est moi qui l’ai écrit aussi ;-)

On isole les plugins

Vous allez sûrement vouloir ajouter des fonctionnalités à celles qui sont offertes de base. Je vous propose de les séparer de Dotclear (j’ai toujours la facilité de mise à jour manuelle et la clarté des personnalisations en tête).

On leur crée un répertoire

Au même niveau que le répertoire de dotclear (qui s’appelle probablement dc2 si vous avez suivi la semaine dernière), on crée un répertoire nommé mes_plugins (permissions 777).

On dit où il se trouve

Ensuite on va dire à Dotclear que lorsqu’on ajoutera des plugins c’est là qu’on veut qu’ils aillent se ranger. Pour ce faire, il faut éditer le fichier situé dans @@/dc2/inc/config.php et chercher les lignes :

//Plugins root
define('DC_PLUGINS_ROOT',dirname(__FILE__).'/../plugins');

que vous remplacerez par :

// Plugins root - les plugins de base restent en place, les nouveaux vont dans /blog/plugins
define('DC_PLUGINS_ROOT',dirname(__FILE__).'/../plugins'.PATH_SEPARATOR.dirname(__FILE__).'/../../mes_plugins');

Note : Cela on ne le fait qu’une fois, quel que soit le nombre de blogs. Tous les plugins autres que ceux d’origine y seront rangés.

Voilà une bonne chose de faite.

On isole les fichiers de chaque blog

Le but est le suivant : pour chaque blog, on va vouloir qu’il ait une adresse spéciale et qu’il ait son répertoire de thèmes et son répertoire d’images. On commence donc par créer un répertoire, qu’on nommera de façon pertinente. Uh ça veut dire quoi « pertinente » ?

Il faut qu’il soit sur la bonne adresse

Ça veut dire que si vous voulez qu’un blog soit sur l’url http://mondomaine.tld/bacasable on crée un répertoire nommé bacasable sur son hébergement, à côté de dc2 et de mes-plugins. Et pour que l’adresse aboutisse sur quelque chose il faut placer dans ce répertoire un fichier nommé index.php (permissions 755) avec ces lignes :

<?php
    /**
    * A cette adresse je veux que tu t'occupes du blog dont l'identifiant est default
    * Je te dis aussi que les fichiers de dotclear sont dans un repertoire qui s'appelle dc2
    */
    define('DC_BLOG_ID','default'); # identifiant du blog
    require dirname(__FILE__).'/../dc2/inc/public/prepend.php'; # chemin vers prepend.php
 ?>

(Je vous rapppelle que lorsque vous avez importé les billets de bacasable vous les avez importé sur le blog installé d’office, dont l’identifiant est default (vous pouvez le voir dans Paramètres du blog).

Comme vous le voyez, ce fichier est un fichier PHP. Or le PHP qu’utilise Dotclear, rappelez-vous, c’est PHP5 il faut donc ici aussi placer un fichier .htaccess (permissions 755) pour le préciser. Vous allez donc placer dans /bacasable un fichier .htaccess identique à celui qui se trouve dans /dc2. (Pour ceux qui ont ce fichier à la racine de leur hébergement il est inutille d’en placer un dans bacasable.)

Vala une autre bonne chose de faite.

On ajoute themes et medias

Ensuite il faut que ce répertoire contienne ses thèmes et ses images. Alors dans le répertoire bacasable on ajoute un répertoire themes et un répertoire public auxquels on donnera les permissions maximales (777).

(on a presque fini !)

Je ne vous expliquerai pas aujourd’hui pourquoi pour ne pas vous gaver d’infos mais dans le répertoire themes il faut que vous ajoutiez une copie du thème par défaut.

Qui sait à part vous que vos thèmes et vos plugins sont rangés là pour le blog bacasable hum ? Personne, pas même dotclear, qui pour l’instant sait seulement que vous voulez récupérer le contenu du blog dont l’identifiant est default. Disons-lui aussi où se trouvent les thèmes et pour ça il faut se rendre dans l’administration du blog puis cliquer sur le lien about:config situé dans la rubrique Extensions du menu latéral d’administration. La page fait un peu peur mais vous pourrez dire à vos petits-enfants que vous êtes un(e) vrai(e) geek(ette) alors ça vaut le coup !

Hop hop, on file directement aux quatre lignes qui nous intéressent et on les remplit comme suit (en gras le nom du champ, en maigre ce qu’il faut y mettre) :

  • public_path: ../bacasable/public
  • public_url: /bacasable/public
  • themes_path: ../bacasable/themes
  • themes_url: /bacasable/themes

Et bien sûr on clique sur Enregistrer en bas de la page about:config

Derniers cartons

Vala tout est prêt pour que bacasable soit bien joli. Il vous suffit de transférer les medias que vous aviez sauvegardés avant de supprimer bacasable (vous vous souvenez ? le .zip) et en principe tout devrait aller comme sur des roulettes.

Alors ça donne quoi ? Moi, la première fois, il m’a fallu au moins cinq essais avant d’avoir tout bon. Et vous ?

Si vous voulez un autre blog

Vous suivez toutes les étapes que nous venons de décrire mais vous commencez par la première qui a ici été inutile puisque le blog default existait déjà :

Depuis votre interface d’administration, allez dans le menu Blogs (rubrique Système) puis choisissez « Nouveau blog ». Là vous indiquerez un identifiant (sans accents ni espaces) et une url, qui correspondra à celle que vous voulez que les gens aillent pour voir le blog. Ensuite tout se passe comme pour le bacasable : création d’un répertoire, ajout d’un fichier index.php, d’un répertoire de themes, d’un repertoire public, toussa…

Vous tentez le coup ?

Edit hi hi j’ai juste oublié un vague truc. Dans tableau de bord -> Paramètres du blog, il faut bien mettre http://mondoemaine.tld/bacasable/index.php?

Memo isoler les plugins ajoutés

  1. Créer un répertoire
  2. Ajouter son chemin dans /inc/config.php

Memo créer un blog

  • Sur le FTP
    1. Créer un répertoire pour le nouveau blog
    2. Si le fichier .htaccess d’activation de PHP5 n’est pas à la racine de l’hébergement, en mettre un dans ce répertoire
    3. Y placer un fichier index.php (à adapter), un répertoire themes, un répertoire public
    4. Placer dans le répertoire themes un double du thème par défaut
  • Admin (rubrique Système) -> Blogs
    1. Cliquer sur Nouveau blog
    2. Donner un identifiant sans accents ni espaces
    3. Indiquer l’url qu’aura le blog http://domaine.tld/repertoire/index.php? (pour une lecture des URL en query_string) ou http://domaine.tld/repertoire/index.php/ (pour une lecture des URL en path_info)
  • Admin (rubrique Extensions) -> about:config
    1. Modifier les quatre chemins public_path, public_url, themes_path, themes_url