<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Banlieusardises &#187; Movable Type</title>
	<atom:link href="http://www.banlieusardises.com/tag/movable-type/feed" rel="self" type="application/rss+xml" />
	<link>http://www.banlieusardises.com</link>
	<description>L&#039;art de vivre... autrement.</description>
	<lastBuildDate>Fri, 10 Feb 2012 21:39:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>De Movable Type à WordPress: étape par étape</title>
		<link>http://www.banlieusardises.com/de-movable-type-a-wordpress-etape-par-etape</link>
		<comments>http://www.banlieusardises.com/de-movable-type-a-wordpress-etape-par-etape#comments</comments>
		<pubDate>Fri, 27 Mar 2009 14:19:35 +0000</pubDate>
		<dc:creator>Martine la banlieusarde</dc:creator>
				<category><![CDATA[Nouvelles]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[Movable Type]]></category>
		<category><![CDATA[plateforme]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.banlieusardises.com/?p=3567</guid>
		<description><![CDATA[Chose promise, chose due: pour les amateurs de détails techniques, voici comment s&#8217;est déroulé mon passage de la plateforme de publication de blogue Movable Type 4 (MT4) à WordPress&#8230; Je réalise pleinement que 99,99% de [...]]]></description>
			<content:encoded><![CDATA[<p style="float:right; margin:0 0 10px 15px; width:240px;">
		<img src="http://cdn.banlieusardises.com/wp/media/mt_wordpress.jpg" width="240" />
		</p><p>Chose promise, chose due: pour les amateurs de détails techniques, voici comment s&#8217;est déroulé mon passage de la plateforme de publication de blogue <a href="http://www.banlieusardises.com/on-renove-les-banlieusardises">Movable Type 4</a> (MT4) à <a href="http://www.banlieusardises.com/bienvenue-sur-les-banlieusardises-nouvelles-et-ameliorees">WordPress</a>&#8230; Je réalise pleinement que 99,99% de ce texte est aussi incompréhensible qu&#8217;inutile au commun des mortels, mais si ça pouvait aider une seule autre personne à passer à travers ces difficiles étapes, eh bien&#8230; ce sera déjà énorme! </p>
<p><img class="aligncenter size-full wp-image-3566" title="mt_wordpress" src="http://cdn.banlieusardises.com/wp/media/mt_wordpress.jpg" alt="mt_wordpress" width="540" height="319" /></p>
<h2>1. Installer WordPress. </h2>
<p>Ce bout-là devrait aller rondement, d&#8217;autant plus que la plupart des hébergeurs permettent maintenant l&#8217;installation en un clic de cette populaire plateforme de publication de blogue.</p>
<h2>2. Exporter le contenu depuis Movable Type.</h2>
<p>À la base, c&#8217;est tout simple: il suffit d&#8217;aller sous l&#8217;onglet <em>Tools</em>, puis de choisir <em>Export</em>. L&#8217;outil ne conserve cependant pas le numéro identifiant chacun des billets, alors si vous utilisiez cet ID dans vos URLs (i.e. http://www.banlieusardises.com/loisirs/archives/001725.html), vous allez perdre tout votre référencement: il n&#8217;y aura aucun moyen de réacheminer correctement les visiteurs arrivant via un moteur de recherche ou un rétrolien d&#8217;un autre site vers vos anciens contenus. </p>
<p>Aussi, si vous avez une grosse base de données (pour vous donner une petite idée: j&#8217;avais plus de 1300 billets et près de 9000 commentaires), selon la configuration de votre hébergeur, le script risque de s&#8217;interrompre en cours d&#8217;exécution. </p>
<p>Voici comment régler ces deux problèmes&#8230;</p>
<p><strong>a) Préserver les permaliens numériques.</strong></p>
<p>Il faut modifier le fichier d&#8217;exportation pour que l&#8217;ID numérique soit associé à chaque billet. Le script d&#8217;exportation est géré par le fichier: lib/MT/ImportExport.pm </p>
<p>Repérez les lignes:</p>
<blockquote><p>AUTHOR: <$MTEntryAuthor strip_linefeeds="1"$><br />
TITLE: <$MTEntryTitle strip_linefeeds="1"$><br />
BASENAME: <$MTEntryBasename$></p></blockquote>
<p>Et ajoutez:  </p>
<blockquote><p>ID: <$MTEntryID pad="1"$></p></blockquote>
<p>Maintenant, le script d&#8217;exportation va inclure l&#8217;ID numérique.</p>
<p><strong>b) Exporter une grosse base de données.</strong></p>
<p>Si vous avez une grosse BD, le script d&#8217;exportation risque fort de s&#8217;interrompre en cours d&#8217;exécution (dans mon cas, c&#8217;était autour de 19 Mo &#8212; il manquait plus du trois quart de mon contenu). Le plus simple est de&#8230; ne PAS utiliser l&#8217;outil d&#8217;exportation, mais de créer un nouveau gabarit qui reproduit le travail du script, mais que l&#8217;on peut facilement configurer pour exporter par blocs.</p>
<p>Voici comment faire:</p>
<p><strong>i) </strong>Sous le menu Design -&gt; Template: choisissez &laquo;&nbsp;Create index template&nbsp;&raquo;.</p>
<p><strong>ii) </strong>Nommez le gabarit (Exportation) et dans le bloc de texte, mettez le code suivant:</p>
<blockquote><p>&lt;MTEntries lastn=&nbsp;&raquo;300&#8243; offset=&nbsp;&raquo;0&#8243;&gt;<br />
AUTHOR: &lt;$MTEntryAuthor strip_linefeeds=&nbsp;&raquo;1&#8243;$&gt;<br />
TITLE: &lt;$MTEntryTitle strip_linefeeds=&nbsp;&raquo;1&#8243;$&gt;<br />
BASENAME: &lt;$MTEntryBasename$&gt;<br />
ID: &lt;$MTEntryID$&gt;<br />
STATUS: &lt;$MTEntryStatus strip_linefeeds=&nbsp;&raquo;1&#8243;$&gt;<br />
ALLOW COMMENTS: &lt;$MTEntryFlag flag=&nbsp;&raquo;allow_comments&nbsp;&raquo;$&gt;<br />
CONVERT BREAKS: &lt;$MTEntryFlag flag=&nbsp;&raquo;convert_breaks&nbsp;&raquo;$&gt;<br />
ALLOW PINGS: &lt;$MTEntryFlag flag=&nbsp;&raquo;allow_pings&nbsp;&raquo;$&gt;&lt;MTIfNonEmpty tag=&nbsp;&raquo;MTEntryCategory&nbsp;&raquo;&gt;<br />
PRIMARY CATEGORY: &lt;$MTEntryCategory$&gt;&lt;/MTIfNonEmpty&gt;&lt;MTEntryCategories&gt;<br />
CATEGORY: &lt;$MTCategoryLabel$&gt;&lt;/MTEntryCategories&gt;<br />
DATE: &lt;$MTEntryDate format=&nbsp;&raquo;%m/%d/%Y %I:%M:%S %p&nbsp;&raquo;$&gt;&lt;MTEntryIfTagged&gt;<br />
TAGS: &lt;MTEntryTags include_private=&nbsp;&raquo;1&#8243; glue=&nbsp;&raquo;,&nbsp;&raquo;&gt;&lt;$MTTagName quote=&nbsp;&raquo;1&#8243;$&gt;&lt;/MTEntryTags&gt;&lt;/MTEntryIfTagged&gt;<br />
&#8212;&#8211;<br />
BODY:<br />
&lt;$MTEntryBody convert_breaks=&nbsp;&raquo;0&#8243;$&gt;<br />
&#8212;&#8211;<br />
EXTENDED BODY:<br />
&lt;$MTEntryMore convert_breaks=&nbsp;&raquo;0&#8243;$&gt;<br />
&#8212;&#8211;<br />
EXCERPT:<br />
&lt;$MTEntryExcerpt no_generate=&nbsp;&raquo;1&#8243; convert_breaks=&nbsp;&raquo;0&#8243;$&gt;<br />
&#8212;&#8211;<br />
KEYWORDS:<br />
&lt;$MTEntryKeywords$&gt;<br />
&#8212;&#8211;<br />
&lt;MTComments&gt;<br />
COMMENT:<br />
AUTHOR: &lt;$MTCommentAuthor strip_linefeeds=&nbsp;&raquo;1&#8243;$&gt;<br />
EMAIL: &lt;$MTCommentEmail strip_linefeeds=&nbsp;&raquo;1&#8243;$&gt;<br />
IP: &lt;$MTCommentIP strip_linefeeds=&nbsp;&raquo;1&#8243;$&gt;<br />
URL: &lt;$MTCommentURL strip_linefeeds=&nbsp;&raquo;1&#8243;$&gt;<br />
DATE: &lt;$MTCommentDate format=&nbsp;&raquo;%m/%d/%Y %I:%M:%S %p&nbsp;&raquo;$&gt;<br />
&lt;$MTCommentBody convert_breaks=&nbsp;&raquo;0&#8243;$&gt;<br />
&#8212;&#8211;<br />
&lt;/MTComments&gt;<br />
&lt;MTPings&gt;<br />
PING:<br />
TITLE: &lt;$MTPingTitle strip_linefeeds=&nbsp;&raquo;1&#8243;$&gt;<br />
URL: &lt;$MTPingURL strip_linefeeds=&nbsp;&raquo;1&#8243;$&gt;<br />
IP: &lt;$MTPingIP strip_linefeeds=&nbsp;&raquo;1&#8243;$&gt;<br />
BLOG NAME: &lt;$MTPingBlogName strip_linefeeds=&nbsp;&raquo;1&#8243;$&gt;<br />
DATE: &lt;$MTPingDate format=&nbsp;&raquo;%m/%d/%Y %I:%M:%S %p&nbsp;&raquo;$&gt;<br />
&lt;$MTPingExcerpt$&gt;<br />
&#8212;&#8211;<br />
&lt;/MTPings&gt;<br />
&#8212;&#8212;&#8211;<br />
&lt;/MTEntries&gt;</p></blockquote>
<p>Sous Template options: Nommez l&#8217;output file (exportation1.txt) et choisissez publishing: Manually. Laissez &laquo;&nbsp;custom index template&nbsp;&raquo;; pas besoin d&#8217;associer à un fichier.</p>
<p>Note: Lorsque vous cliquez sur &laquo;&nbsp;Save and publish&nbsp;&raquo;, les 300 derniers billets du blogue, leurs commentaires et leurs pings seront exportés dans un fichier texte nommé exportation1.txt</p>
<p><strong>iii) </strong>Vous devrez refaire la manoeuvre pour exporter les 300 billets suivants. Pour ce faire, modifiez la première ligne   (lastn signifie &laquo;&nbsp;les x derniers&nbsp;&raquo; et offset signifie &laquo;&nbsp;avec un décalage de x&nbsp;&raquo;). Donc nous avons déjà pris les 300 derniers sans décalage; pour les billets 300 à 600, il faut mettre:<br />
lastn=&nbsp;&raquo;300&#8243; offset=&nbsp;&raquo;300&#8243;<br />
puis<br />
lastn=&nbsp;&raquo;300&#8243; offset=&nbsp;&raquo;600&#8243;<br />
Changez aussi le nom du fichier d&#8217;exportation (exportation2.txt) et ainsi de suite jusqu&#8217;à ce que tous les billets soient exportés.</p>
<p><strong>c) Modifier l&#8217;encodage vers UTF-8. </strong></p>
<p>WordPress a besoin que les fichiers à importer soient encodés en UTF-8, alors que le jeu de caractères de votre fichier d&#8217;exportation est probablement&#8230; autre chose. Si vous les importez tels quels, tous les caractères spéciaux seront transformés en caractères encore plus spéciaux&#8230; Il faut donc convertir le fichier en format UTF-8. Vous pouvez le faire avec TextEdit (Mac), Dreamweaver, etc.</p>
<h2>3. Importer le contenu sous WordPress.</h2>
<p>Encore là, ça semble simple? Ça l&#8217;est, en autant que vous n&#8217;ayez pas de permaliens numériques. Mais si vous lisez ce billet, c&#8217;est probablement que vous en avez&#8230;  et le script d&#8217;importation de WordPress n&#8217;importe pas, par défaut, cette donnée qu&#8217;on vient d&#8217;ajouter dans le script d&#8217;exportation de Movable Type. </p>
<p>Un blogueur a modifié le script d&#8217;importation pour permettre de récupérer les ID numériques: vous pouvez encore le télécharger sur <a href="http://www.muditajournal.com/archives/000280.php" target="_blank">Mudita Journal</a> et suivre les indications sur le site. </p>
<p>Le hic: cette modification a été faite en 2006 (il y a trois ans); le script fonctionne encore sous la plus récente version de WordPress, mais il y a des bogues.  Dans mon cas, aucun commentaire n&#8217;était importé! </p>
<p>Après m&#8217;être cassé la tête sur le problème et même avoir essayé de comprendre comment hacker le nouveau script d&#8217;importation, ma solution maison a finalement été toute bête: j&#8217;ai importé chacun de mes fichiers deux fois. Une première avec le script modifié (toutes les entrées sont importées avec l&#8217;ID), et une seconde avec le script original (qui associe miraculeusement les commentaires aux bons billets. </p>
<h2>4. Vérifier l&#8217;«état» des billets.</h2>
<p>Pour une raison mystérieuse, tous mes billets s&#8217;affichaient avec l&#8217;état &laquo;&nbsp;Dernière modification&nbsp;&raquo; plutôt que &laquo;&nbsp;Publié&nbsp;&raquo;&#8230; tout semblait normal quand je surfais sur mon nouveau site parce que j&#8217;étais identifiée en tant qu&#8217;administratrice. Toutefois, les visiteurs ne voyaient rien!  Il a fallu changer l&#8217;état de chaque article. </p>
<p>Dans l&#8217;administration WordPress, on ne voit que 15 billets à la fois (qu&#8217;on peut modifier d&#8217;un seul coup); avec mes 1300 billets, j&#8217;aurais eu à refaire la même procédure 86 fois. No way! Pour voir plus de billets à la fois dans l&#8217;administration, il a suffit de modifier le script sous wp-admin/includes/posts (et de changer à la valeur de 15 à 50&#8230; ou plus).</p>
<h2>5. Rediriger les visiteurs vers les nouvelles URLs.</h2>
<p>Grâce au ID que l&#8217;on a importé (exemple 001234), tous les billets sont maintenant accessible à l&#8217;adresse:</p>
<p>http://www.banlieusardises.com/?p=1234</p>
<p>Il faut toutefois une solution pour qu&#8217;un visiteur arrivant à l&#8217;ancienne URL, comme par exemple:</p>
<p>http://www.banlieusardises.com/archives/001234.html</p>
<p>soit redirigé vers</p>
<p>http://www.banlieusardises.com/?p=1234</p>
<p>Les bidouilleurs pourront s&#8217;amuser dans le .htaccess (un fichier Apache qui gère les redirections), mais une solution plus simple consiste à installer l&#8217;<a href="http://urbangiraffe.com/plugins/redirection/" target="_blank">extension WordPress <em>Redirection</em></a>. Il vous faudra faire quelques tests pour arriver à traduire vos anciennes URLs, mais ça reste plus simple que je jouer dans le .htaccess. </p>
<p>Par exemple, pour l&#8217;exemple indiqué plus haut, il aurait fallu configurer l&#8217;extension <em>Redirection</em> de la manière suivante:</p>
<blockquote><p>URL SOURCE: /archives/([0-9][0-9][0-9][0-9][0-9][0-9]*).html<br />
URL CIBLE: /?p=$1</p></blockquote>
<p>Une bonne nouvelle: cela ne vous oblige nullement à utiliser la structure numérique dans les &laquo;&nbsp;Options des permaliens&nbsp;&raquo; de WordPress: même si vous choisissez une autre structure (par exemple, la populaire structure personnalisée /%postname% ), WordPress redirigera vos visiteurs à la bonne page. </p>
<p>Besoin d&#8217;un exemple pour clarifier la chose? Eh bien désormais, quand un visiteur arrivera par l&#8217;ancienne URL:</p>
<p>http://www.banlieusardises.com/archives/001234.html</p>
<p>&#8230; l&#8217;extension Redirect l&#8217;amènera vers:</p>
<p>http://www.banlieusardises.com/?p=1234</p>
<p>&#8230; que WordPress traduira par la bonne URL, selon votre choix de structure des permaliens, par exemple ceci sur les Banlieusardises:</p>
<p>http://www.banlieusardises.com/plants-de-tomates-rescapes</p>
<p>Ouf. Ce déménagement m&#8217;a fait redécouvrir, au moins pendant quelques jours, la petite «geekette» qui sommeille toujours en moi. Mais je ne suis vraiment pas fâchée de la laisser maintenant se rendormir pour retourner à mes casseroles!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.banlieusardises.com/de-movable-type-a-wordpress-etape-par-etape/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>

<!-- Served from: www.banlieusardises.com @ 2012-02-12 06:10:12 by W3 Total Cache -->
