Par ma nature même de développeur, j’ai toujours préféré utiliser des applications dans des technos que j’aimais bien pour pouvoir bricoler dedans.
Cela fait bien longtemps maintenant que j’utilise donc des moteurs de blog ou CMS en ASP/ASP.NET mais aujourd’hui je dois avouer que cela ne me satisfait plus.

En travaillant un peu avec WordPress, force est de constater que le niveau de services est largement différent. Je parle de services et d’expérience utilisateur, pour ce qui est du code source  là c’est une autre histoire et c’est vraiment pourri. Je ne parle même pas de la base de données dont les concepteurs semblaient oublier la notion de relationnel, mais passons…

Le problème est que les personnes qui développent et utilisent des moteurs blogs en .Net sont des développeurs et que la communauté d’utilisateurs est très restreinte.

Donc en attendant que les choses changent, je vais migrer mon blog principal vers WordPress. Celui-ci s’installe d’ailleurs très bien sous IIS 7 car disponible directement à travers WIP (Web installation Platform). Vous lancez l’install à partir de IIS directement sans avoir à vous préocuper de php/mysql, le tout étant configuré automatiquement et tournant sous FastCGI, et ça c’est déja pas mal…

vous pourrez retrouver ce blog en beta sur rui.fr

Mais avant cela regardons les différentes étapes de la migration

Installation

Tout d’abord installons WordPress sur notre serveur IIS7. Comme je l’ai mentionné, cela s’installe très simplement à partir du WIP:

?ui=2&view=att&th=126e0354b4179c9e&attid=0.1&disp=attd&realattid=ii_126e0354b4179c9e&zw

Lancez WIP, puis choisissez WordPress:

?ui=2&view=att&th=126e03203d2178e8&attid=0.1&disp=attd&realattid=ii_126e03203d2178e8&zw

Je vous épargne les détails car la suite se fait au travers d’un Wizard sans aucune difficulté particulière. Vous pourrez alors choisir sur quel site l’installer, le chemin, la base mysql, les droits,etc…

Avant d’aller plus loin et tant que vous êtes sur le serveur, je vous invite à aller dans le répertoire d’installation de votre site et de créer un fichier web.config avec le contenu suivant:

<configuration>

<system.webServer>
<rewrite>

<rules>
<rule name=”wordpress” patternSyntax=”Wildcard”>

<match url=”*” />
<conditions>

<add input=”{REQUEST_FILENAME}” matchType=”IsFile” negate=”true” />

<add input=”{REQUEST_FILENAME}” matchType=”IsDirectory” negate=”true” />

</conditions>
<action type=”Rewrite” url=”index.php” />

</rule>
</rules>

</rewrite>
</system.webServer>

</configuration>

Je sais qu’un web.config dans un site en php, ça peut heurter les âmes sensibles mais cela va vous permettre d’utiliser l’url rewriting à l’intérieur de WordPress et ainsi profiter d’urls customisées.

Une fois cette première phase vous pourrez lancer directement WordPress qui vous fournira un compte admin avec un mot de passe par défaut pour pouvoir commencer la configuration.

La partie configuration se fait entièrement par l’interface d’administration, de plus depuis quelques versions déjà, vous pourrez directement installer de nouveaux thèmes ou plugins à partir de celle-ci. Pour résumer, il n’y a plus aucun besoin d’accéder au serveur ni aux sources.

Import

Avoir un nouveau moteur de blog c’est bien mais si je pouvais importer tous mes anciens posts ce serait mieux…Le problème étant qu’il n’y a pas de moyen direct de faire ça. La méthode ci-dessous convient pour la plupart des blogs .Net (dasBlog, Community, BlogEngine,…).

Le principe est de passer par le “Standard” BlogML. Nous allons donc créer un backup des posts en BlogML puis importer ce backup dans WordPress.

Tout d’abord téléchargez un petit utilitaire qui fait la création de ce backup à partir de votre repository dasBlog:

http://code.msdn.microsoft.com/DasBlogML

Pour les autres moteurs, soit ils font directement l’export en BlogML soit vous trouverez des outils similaires.

A partir de là vous aurez un backup xml avec tous vos posts.

Installez ensuite un plugin dans WordPress qui se charge de l’import.Téléchargez les fichiers suivants:

  • http://www.aaronlerch.com/files/wordpress/blogml.zip
  • http://sourceforge.net/projects/phpxpath/files/phpxpath/3.5%20%28stable%29/PhpXPath-3.5.zip/download

WordPress vient déjà livré avec un nombre impressionnant de modules d’import mais pas de BlogML par défaut. Installez donc les deux fichiers php des zip dans le répertoire import de wp-admin. Retournez dans votre interface d’admin et vous trouverez votre nouveau module d’import:

Module import BlogML wordpress

Lancez l’import en sélectionnant le fichiez que vous avez précédemment crée. Vous devriez obtenir un résumé vous confirmant que tout s’est bien passé avec la liste des posts insérés.

C’est la méthode la plus simple et rapide, néanmoins, il vous faudrait certainement repasser sur certains posts en ce qui concerne le contenu et les liens. De plus même si il importe le contenu, les commentaires et les tags, les liens et les images référencent toujours l’ancien site. Je vous conseille dans ce cas, de vous faire un petit outil d’update du fichier xml de votre contenu avant l’import…

Personnalisation

Votre blog est installé et à jour avec votre contenu. Comme je le disais tout peut se faire maintenant à partir de l’interface, vous pourrez choisir de nouveaux themes directement dans l’administration et les installer directement. La configuration des widgets se fera aussi directement en ligne:

hemes manager

Ceci étant fait, vous avez peut-être l’habitude d’écrire vos posts avec Windows Live Writer au lieu d’utiliser une interface web. Pas de problème, tout ce qu’il faut c’est bien activer les fonctions XML-RPC pour que cela soit accessible depuis WLW:

De même vous pouvez très bien utiliser le mail pour écrire vos posts. Le tout étant d’avoir une adresse mail spécifique vers laquelle vous enverrez vos posts. Le moteur se chargeant de temps en temps d’aller vérifier si il n’y a pas de nouveaux messages et de l’intégrer dans le moteur. C’est une fonctionnalité installée par défaut sous WordPress, néanmoins un peu limitée. Je vous conseille donc de télécharger le plugin Postie(installation directe à partir de l’interface d’admin, tapez juste Postie):

http://wordpress.org/extend/plugins/postie/

Ce plugin combine l’énorme avantage de pouvoir aller chercher des messages sur GMAIL (en fait de pouvoir choisir son port et le SSL) et des options avancées de filtrage et d’import des posts mais je vous laisse découvrir par vous même ;-) .

Voila donc une première étape de franchie avec une nouvelle plateforme de blog, en espérant qu’elle convienne à mes attentes au moins pour un moment.

Bien sur idéalement, je garde dans un coin, l’option de développer un vrai moteur de blog .Net/MVC avec une expérience utilisateur plus aboutie que ce qui existe actuellement mais c’est une autre histoire..

bons posts!