Mot-clé - dotclear

Fil des billets - Fil des commentaires

samedi, juin 30 2007

Améliorations sur le blog

... ou comment se faciliter la vie avec PostgreSQL.

Depuis que je suis passé à DotClear 2, je n'avais pas fait le nécessaire pour récupérer les images. Du coup, tous mes billets de la catégorie voyages étaient beaucoup plus dénudés. J'ai donc décidé de corriger ça aujourd'hui. J'avais un peu peur d'avoir à me reprendre tous les billets manuellement un par un. Heureusement, j'ai installé DotClear 2 avec la base de données PostgreSQL. Du coup, je me suis intéressé au schéma de la base utilisée par DotClear.

Son contenu est assez compréhensible. 17 tables que voici :

  • dc_blog, liste des blogs
  • dc_category, liste des catégories
  • dc_comment, tous les commentaires
  • dc_link, liste des liens
  • dc_log, journal d'activité
  • dc_media, liste des médias (voir le gestionnaire des médias)
  • dc_meta, liste des meta-données (tags par exemple)
  • dc_permissions, droits par utilisateur
  • dc_ping,
  • dc_post, liste des billets
  • dc_post_media, lien billet/média
  • dc_session, session en cours
  • dc_session_old, ?
  • dc_setting, paramétrage
  • dc_spamrule, liste des règles antispam
  • dc_user, liste des utilisateurs
  • dc_version, version de DotClear.

Dans mon cas, je m'intéresse à la description des billets. Je souhaite modifier l'adresse des images. Voici donc le contenu de la table dc_post :

  • post_id, identifiant du post
  • blog_id, identifiant du blog associé
  • user_id, identifiant du créateur
  • cat_id, identifiant de la catégorie
  • post_dt, date (de création ?)
  • post_tz, fuseau horaire
  • post_creadt, date de création
  • post_upddt, date de mise à jour
  • post_password, mot de passe
  • post_type, type
  • post_format, format
  • post_url, url
  • post_lang, langue
  • post_title, titre
  • post_excerpt, extrait (wiki)
  • post_excerpt_xhtml, extrait (xhtml)
  • post_content, contenu (wiki)
  • post_content_xhtml, contenu (xhtml)
  • post_notes, notes
  • post_words, mots significatifs
  • post_meta, liste des tags (à priori dans une structure PHP)
  • post_status, état du billet
  • post_selected, billet sélectionné
  • post_open_comment, commentaires acceptés
  • post_open_tb, rétroliens acceptés
  • nb_comment, nombre de commentaires
  • nb_trackback, nombres de rétroliens

On remarque aussi des index et des clés étrangères, ce qui démontre une belle utilisation des possibilités de PostgreSQL.

Trois champs m'intéressent particulièrement : post_upddt, post_content et post_content_xhtml. Je dois chercher dans les deux derniers le texte /~gleu/dotclear/ecrire/images/ et le remplacer par /public/images_dc1. Il me faut aussi mettre à jour post_upddt pour indiquer la date de mise à jour. Voici la requête que j'ai utilisé :

UPDATE dc_post SET
  post_upddt=current_timestamp,
  post_content=replace(post_content, '/~gleu/dotclear/ecrire/images/', '/public/images_dc1/'),
  post_content_xhtml=replace(post_content_xhtml, '/~gleu/dotclear/ecrire/images/', '/public/images_dc1/')
WHERE post_content like '%/~gleu/dotclear/ecrire/images/%'
  OR post_content_xhtml like '%/~gleu/dotclear/ecrire/images/%';

Après exécution de cette requête, toutes les images pointent maintenant vers le bon répertoire. Trop bien :)

PS : j'ai aussi ajouté des tas de tags, mais c'était beaucoup moins drôle.

mercredi, février 21 2007

Petit état des lieux

Comme certains se plaignent de ne plus voir de billets sur mon blog, voici un petit état des lieux bref et rapide (car après tout, il est déjà 1h du mat) :

  • J'ai mes billets de train et ma réservation de chambre, je suis donc prêt pour le FOSDEM.
  • J'ai fini l'écriture de l'article pour PHP Solutions.
  • J'ai réglé un problème professionnel d'une façon qui me plaît et qui, du coup, fera l'objet d'un autre billet.
  • Firebug, c'est trop de la balle (pas de rapport avec la ligne précédente, même si je m'en suis aperçu au boulot).
  • J'ai mis à jour DotClear2, la nouvelle interface est plus jolie (mais pas révolutionnaire).
  • Je teste l'interface multiblog de DotClear, c'est pas mal du tout.
  • Il faut absolument que je trouve du temps pour créer quelques slides sur la 8.2.
  • Il faut que je revois l'étendue des dégâts concernant la trad de pgAdmin.

Pas accessoirement du tout, je vais être le parrain de ma filleu^Wnièce \o/ Rien que ça, ça re-donne le sourire. :)

jeudi, janvier 18 2007

Quelques news sur ce blog...

Je suis enfin passé à PostgreSQL 8.1 sur le serveur. Pas trop compliqué malgré que ce soit une sarge :

  • ajout de « deb http://people.debian.org/~mpitt/packages/sarge-backports/ ./ » dans son /etc/apt/sources.list
  • « pg_dumpall > all.dump »
  • « apt-get update »,
  • « apt_get upgrade »,
  • « psql -f all.dump postgres ».

Du coup, cela m'a permis d'installer DotClear 2.0 beta 5.2. En effet, à partir de la beta 4, le driver PG demande une version 8 obligatoirement. Cool, non ? :)

vendredi, août 4 2006

Ce blog a déménagé

Il a trouvé un nouvel emplacement où on lui propose du PostgreSQL qui ne pète pas les tables tous les matins. Non, je ne suis pas fâché contre MySQL, je savais ce que je risquais. Ça a pris plus de temps que je ne le pensais pour planter...

Bref, de toute façon, je voulais déplacer mon blog sur ma dedibox. Je voulais tester dotclear 2. J'ai fait d'une pierre deux coups. Résultats : dotclear2 est superbe, mon blog ne plante plus grâce à PostgreSQL. Tout va bien :)

samedi, juillet 15 2006

grmbl de spammeurs

3000 spams hier, ça m'a suffit pour prendre la peine d'installer spamplemousse. Un très bon outil. Il m'a déjà mis en quarantaine les 800 commentaires spammés de ce matin (entre minuit et 8h) et il m'a permis de les supprimer facilement. Il en a laissé passer seulement quatre. Un outil à recommander.