<?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>Here With Me &#187; Développement</title>
	<atom:link href="http://www.herewithme.fr/tag/developpement/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.herewithme.fr</link>
	<description>Blog personnel et technique, Blog technique et personnel, Blog avant tout.</description>
	<lastBuildDate>Sun, 18 Sep 2011 11:41:21 +0000</lastBuildDate>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Quelques outils CLI pour WordPress</title>
		<link>http://www.herewithme.fr/2011/09/18/quelques-outils-cli-pour-wordpress/</link>
		<comments>http://www.herewithme.fr/2011/09/18/quelques-outils-cli-pour-wordpress/#comments</comments>
		<pubDate>Sun, 18 Sep 2011 11:41:21 +0000</pubDate>
		<dc:creator>Amaury</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Github]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">http://www.herewithme.fr/?p=1154</guid>
		<description><![CDATA[Je continue mon expérimentation de Github en partageant sur un dépôt 2 scripts pour WordPress. https://github.com/herewithme/wordpress-cli-tools Ces 2 scripts peuvent être exécuter en mode CLI, c&#8217;est-à-dire en ligne de commande, ils permettent de régénérer les miniatures de WordPress, et de modifier l&#8217;ensemble des &#8230; <a href="http://www.herewithme.fr/2011/09/18/quelques-outils-cli-pour-wordpress/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Je continue mon expérimentation de Github en partageant sur un dépôt 2 scripts pour WordPress.</p>
<p><a href="https://github.com/herewithme/wordpress-cli-tools">https://github.com/herewithme/wordpress-cli-tools</a></p>
<p>Ces 2 scripts peuvent être exécuter en mode CLI, c&#8217;est-à-dire en ligne de commande, ils permettent de régénérer les miniatures de WordPress, et de modifier l&#8217;ensemble des liens vers les images de WordPress vers leur page attachment associé.</p>
<p>Par ailleurs, je vais progressivement passer tous les plugins open-source que je propose vers Github à la place des dépôts SVN/Redmine. En espérant que cela augmente le nombre de feedbacks et de patchs associés.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herewithme.fr/2011/09/18/quelques-outils-cli-pour-wordpress/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Gros nettoyage en vue dans le référentiel de plugins de WordPress.org !</title>
		<link>http://www.herewithme.fr/2011/08/15/gros-nettoyage-en-vue-dans-le-referentiel-de-plugins-de-wordpress-org/</link>
		<comments>http://www.herewithme.fr/2011/08/15/gros-nettoyage-en-vue-dans-le-referentiel-de-plugins-de-wordpress-org/#comments</comments>
		<pubDate>Mon, 15 Aug 2011 08:42:03 +0000</pubDate>
		<dc:creator>Amaury</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">http://www.herewithme.fr/?p=1116</guid>
		<description><![CDATA[Matt vient d&#8217;annoncer, dans l&#8217;une de ses fameuses conférences &#171;&#160;State of the Word&#160;&#187;, que toutes les extensions n&#8217;ayant pas été mises à jour lors des 2 dernières années seront masquées du référentiel. Les raisons à ce changement sont multiples, Matt &#8230; <a href="http://www.herewithme.fr/2011/08/15/gros-nettoyage-en-vue-dans-le-referentiel-de-plugins-de-wordpress-org/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://wpdevel.wordpress.com/2011/08/14/plugins-themes-two-years/">Matt vient d&#8217;annoncer</a>, dans l&#8217;une de ses fameuses conférences &laquo;&nbsp;State of the Word&nbsp;&raquo;, que toutes les extensions n&#8217;ayant pas été mises à jour lors des 2 dernières années seront masquées du référentiel.</p>
<p>Les raisons à ce changement sont multiples, Matt évoque des problèmes de conception, de sécurité, de compatibilité de ces plugins avec la version courante de WordPress. Je trouve qu&#8217;il a entièrement raison, le référentiel est devenu un véritable champ de ruine de plugins fait à un moment T et jamais mis à jour.</p>
<p>C&#8217;est d&#8217;ailleurs pour cette raison que je demande toujours à <a href="http://beapi.fr/clients/">mes client</a>s de faire valider les plugins qu&#8217;il souhaite rajouter à leur installation une fois un projet terminé. Cela permet d&#8217;éviter d&#8217;installer des plugins vieux comme le monde.</p>
<p>Par ailleurs, je trouve que le référentiel des plugins fait preuve d&#8217;un grand laxisme comparé à celui des thèmes. Je pense que les plugins devraient passer un stresstest afin d&#8217;être publiés sur le référentiel.</p>
<p>Je pense aux tests suivants :</p>
<ul>
<li>Internationalisation du code</li>
<li>Sécurisation du code avec les API de WP</li>
<li>Pas de notice avec la constante WP_DEBUG à true</li>
<li>Plugin développé en anglais uniquement</li>
</ul>
<p>Cela permettrait d&#8217;augmenter sensiblement le niveau de qualité des plugins sur le CMS WordPress.</p>
<p>Au 15 aout 2011, le référentiel compte 15 741 plugins, je pense qu&#8217;une fois cette amputation réalisée le nombre de plugins WordPress passera sous la barre des 10 000 plugins. Et je pense que si un stresstest était mis en place, alors on descendrait à 5000 plugins, des chiffres plus raisonnables non ?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herewithme.fr/2011/08/15/gros-nettoyage-en-vue-dans-le-referentiel-de-plugins-de-wordpress-org/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>N&#8217;appelez jamais une taxinomie de WordPress &#171;&#160;type&#160;&#187;</title>
		<link>http://www.herewithme.fr/2011/08/14/nappelez-jamais-une-taxinomie-de-wordpress-type/</link>
		<comments>http://www.herewithme.fr/2011/08/14/nappelez-jamais-une-taxinomie-de-wordpress-type/#comments</comments>
		<pubDate>Sun, 14 Aug 2011 12:33:15 +0000</pubDate>
		<dc:creator>Amaury</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Taxinomie]]></category>
		<category><![CDATA[Taxonomy]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">http://www.herewithme.fr/?p=1111</guid>
		<description><![CDATA[C&#8217;est dommage, mais l&#8217;API des taxinomies de WordPress ne possède pas de liste de mots clefs interdits lors de l&#8217;enregistrement. De fait, il est tout à fait possible d&#8217;appeler une taxinomie &#171;&#160;page&#160;&#187;, &#171;&#160;post&#160;&#187;, &#171;&#160;category&#160;&#187;. Parfois, cela pète dès l&#8217;enregistrement de la taxinomie, &#8230; <a href="http://www.herewithme.fr/2011/08/14/nappelez-jamais-une-taxinomie-de-wordpress-type/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>C&#8217;est dommage, mais l&#8217;API des taxinomies de WordPress ne possède pas de liste de mots clefs interdits lors de l&#8217;enregistrement. De fait, il est tout à fait possible d&#8217;appeler une taxinomie &laquo;&nbsp;page&nbsp;&raquo;, &laquo;&nbsp;post&nbsp;&raquo;, &laquo;&nbsp;category&nbsp;&raquo;. Parfois, cela pète dès l&#8217;enregistrement de la taxinomie, alors on change rapidement le nom sans perdre de temps. Parfois, c&#8217;est beaucoup plus vicieux et il faut passer beaucoup de temps à debugger pour trouver l&#8217;origine.</p>
<p>C&#8217;est justement le cas du mot &laquo;&nbsp;type&nbsp;&raquo;, il ne faut JAMAIS l&#8217;enregistrer comme nom de taxinomie pour la simple et bonne raison que cela va faire bugger le gestionnaire de médias de WordPress. Une fois la taxinomie, ce dernier ne retournera aucun média dans la liste affichée dans les lightbox. En effet, le gestionnaire utilise le mot clef &laquo;&nbsp;type&nbsp;&raquo; pour différencier les vidéos/images/sons/documents. WordPress intercepte également ce mot clef pour limiter les résultats de la WP_Query qui récupère les médias à ceux classer dans la taxinomie &laquo;&nbsp;type&nbsp;&raquo;, pour le terme &laquo;&nbsp;image&nbsp;&raquo;, etc.</p>
<p>Conclusion, n&#8217;hésitez pas à choisir des noms de taxinomies assez longs pour éviter les effets de bords !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herewithme.fr/2011/08/14/nappelez-jamais-une-taxinomie-de-wordpress-type/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Simplifier l&#8217;usage de la console d&#8217;administration avec les custom post types de WordPress</title>
		<link>http://www.herewithme.fr/2011/08/09/simplifier-lusage-de-la-console-dadministration-des-custom-post-types-de-wordpress/</link>
		<comments>http://www.herewithme.fr/2011/08/09/simplifier-lusage-de-la-console-dadministration-des-custom-post-types-de-wordpress/#comments</comments>
		<pubDate>Tue, 09 Aug 2011 07:10:00 +0000</pubDate>
		<dc:creator>Amaury</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[administration]]></category>
		<category><![CDATA[Custom Post Types]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">http://www.herewithme.fr/?p=1105</guid>
		<description><![CDATA[Avec l&#8217;apparition des types de contenus personnalisés (custom post types /CPT), les consoles d&#8217;administration de WordPress ont vu fleurir des tonnes de menus en plus dans la console d&#8217;administration. Si bien qu&#8217;un site web, un peu complexe, utilise désormais 4 &#8230; <a href="http://www.herewithme.fr/2011/08/09/simplifier-lusage-de-la-console-dadministration-des-custom-post-types-de-wordpress/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Avec l&#8217;apparition des types de contenus personnalisés (custom post types /CPT), les consoles d&#8217;administration de WordPress ont vu fleurir des tonnes de menus en plus dans la console d&#8217;administration. Si bien qu&#8217;un site web, un peu complexe, utilise désormais 4 à 5 CPT.</p>
<p>Généralement, les développeurs se contentent de leur attribuer l&#8217;icône par défaut de WordPress, ou mieux il laisse le champ complètement vide pour ne proposer aucune icône pour ces types de contenus. Il faut dire que trouver une icône, la redimensionner, proposer une version active/inactive, c&#8217;est beaucoup de boulot !</p>
<p>Mais ce que l&#8217;on oublie c&#8217;est que les icônes ne sont pas uniquement là pour décorer, elles permettent de mémoriser rapidement l&#8217;emplacement des fonctionnalités dans l&#8217;administration.</p>
<p>Voici un petit exemple entre 2 menus de la console d&#8217;administration de WordPress. Si l&#8217;on met de côté les différences graphiques liées à WordPress 3.2, on constate :</p>
<ul>
<li>À gauche, il s&#8217;agit du menu classique de WordPress, l&#8217;ordre n&#8217;est quasiment pas changé, les types de contenus n&#8217;ont pas d’icônes.</li>
<li>À droite, chaque type de contenu possède une icône distinctive et l&#8217;ordre est complètement personnalisé. Des séparateurs sont présents afin de grouper les éléments du menu.</li>
</ul>
<div><a href="http://www.herewithme.fr/wp-content/uploads/2011/08/CustomPostTypes_Both.png"><img class="aligncenter size-full wp-image-1106" title="CustomPostTypes_Both" src="http://www.herewithme.fr/wp-content/uploads/2011/08/CustomPostTypes_Both.png" alt="" width="322" height="592" /></a></div>
<p>Les différences entre ces 2 menus ne portent que sur des détails, mais c&#8217;est précisément ces détails qui  différencient une console d&#8217;administration compréhensible et pleinement intégrée dans l&#8217;esprit du CMS à une administration fouillis.</p>
<p><strong>Pour arriver à un tel résultat, peu ou pas de développement sont nécessaires.</strong></p>
<p>La première chose à faire est de trouver des icônes, je vous recommande <a href="http://randyjensenonline.com/thoughts/wordpress-custom-post-type-fugue-icons/">l&#8217;énorme pack d&#8217;icônes &nbsp;&raquo;Fugue&nbsp;&raquo; de Randy Jensen</a>, elles sont déjà formatées pour les types de contenus de WordPress.</p>
<p>Une fois que vous avez sélectionné vos icônes, il suffit d&#8217;ajouter le code proposé sur ce même site pour ajouter les règles CSS nécessaires dans WordPress. Si vos types de contenus sont intégrés dans votre thème, placez le code des icônes également dans le thème, sinon faites un plugin.</p>
<p>Pour modifier l&#8217;ordre du menu, et grouper les éléments selon le besoin du client, je vous recommande l&#8217;utilisation du plugin <a href="http://wordpress.org/extend/plugins/admin-menu-editor/">Admin Menu Editor</a>, il est disponible sur le référentiel officiel et permet de configurer le menu en glisser-déposer.</p>
<p><div id="attachment_1107" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.herewithme.fr/wp-content/uploads/2011/08/admin-menu-editor-screenshot.png"><img class="size-medium wp-image-1107" title="admin-menu-editor-screenshot" src="http://www.herewithme.fr/wp-content/uploads/2011/08/admin-menu-editor-screenshot-300x200.png" alt="" width="300" height="200" /></a><p class="wp-caption-text">Plugin Admin Menu Editor</p></div></p>
<p>A noter qu&#8217;il existe une version pro de ce plugin, elle permet de réaliser des exports/imports de la configuration du plugin.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herewithme.fr/2011/08/09/simplifier-lusage-de-la-console-dadministration-des-custom-post-types-de-wordpress/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Désactiver rapidement les 2 taxonomies par défaut des articles de WordPress</title>
		<link>http://www.herewithme.fr/2011/02/22/desactiver-rapidement-les-2-taxonomies-par-defaut-des-articles-de-wordpress/</link>
		<comments>http://www.herewithme.fr/2011/02/22/desactiver-rapidement-les-2-taxonomies-par-defaut-des-articles-de-wordpress/#comments</comments>
		<pubDate>Tue, 22 Feb 2011 09:42:56 +0000</pubDate>
		<dc:creator>Amaury</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Taxonomies]]></category>
		<category><![CDATA[Taxonomy]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">http://www.herewithme.fr/?p=1082</guid>
		<description><![CDATA[Dans WordPress, il n&#8217;existe pas de fonction pour désenregistrer des taxonomies, alors pour désactiver les taxonomies par défaut, il faut modifier directement le tableau de taxonomie de WordPress. Ce qui donne le code suivant à insérer dans le fichier functions.php &#8230; <a href="http://www.herewithme.fr/2011/02/22/desactiver-rapidement-les-2-taxonomies-par-defaut-des-articles-de-wordpress/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Dans WordPress, il n&#8217;existe pas de fonction pour désenregistrer des taxonomies, alors pour désactiver les taxonomies par défaut, il faut modifier directement le tableau de taxonomie de WordPress.</p>
<p>Ce qui donne le code suivant à insérer dans le fichier functions.php de son thème, ou bien dans son plugin.</p>
<p><code> </code></p>
<p><code></p>
<div>&lt;?php</div>
<div>add_action('init', 'remove_default_taxos', 2 );</div>
<div>function remove_default_taxos() {</div>
<div>global $wp_taxonomies;</div>
<div>unset($wp_taxonomies['category'], $wp_taxonomies['post_tag']);</div>
<div>}</div>
<div>?&gt;</div>
<p></code></p>
<p>WordPress gère très bien la désactivation des taxonomies par défaut, et les différentes fonctionnalités propres aux catégories et aux tags sont proprement désactivées dans la console d&#8217;administration, comme dans les vues listes ou édition.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herewithme.fr/2011/02/22/desactiver-rapidement-les-2-taxonomies-par-defaut-des-articles-de-wordpress/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Simple Punctual Translation, un plugin pour proposer ponctuellement des traductions sur votre site</title>
		<link>http://www.herewithme.fr/2011/02/15/simple-punctual-translation-plugin-pour-proposer-ponctuellement-des-traductions-sur-votre-site/</link>
		<comments>http://www.herewithme.fr/2011/02/15/simple-punctual-translation-plugin-pour-proposer-ponctuellement-des-traductions-sur-votre-site/#comments</comments>
		<pubDate>Tue, 15 Feb 2011 12:27:05 +0000</pubDate>
		<dc:creator>Amaury</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Traduction]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">http://www.herewithme.fr/?p=1027</guid>
		<description><![CDATA[À BeAPI, il nous arrive fréquemment que l&#8217;on nous demande de réaliser des sites multilingues. Parfois, il s&#8217;agit de traduire l&#8217;intégralité du site, mais bien souvent il s&#8217;agit surtout de traduire les pages statiques de WordPress, ou certains articles très &#8230; <a href="http://www.herewithme.fr/2011/02/15/simple-punctual-translation-plugin-pour-proposer-ponctuellement-des-traductions-sur-votre-site/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>À <a href="http://beapi.Fr">BeAPI</a>, il nous arrive fréquemment que l&#8217;on nous demande de réaliser des sites multilingues.<br />
Parfois, il s&#8217;agit de traduire l&#8217;intégralité du site, mais bien souvent il s&#8217;agit surtout de traduire les pages statiques de WordPress, ou certains articles très populaires.</p>
<p>Face à ce besoin plutôt basique, il n&#8217;existe pas de solution magique sur WordPress&#8230;</p>
<h2>Les solutions existantes</h2>
<p>Pour faire court, on peut utiliser comme plugin :</p>
<ol>
<li> WPml</li>
<li> Qtranslate</li>
<li> Global Translator</li>
</ol>
<h3>WPML</h3>
<p>Ce plugin est le plus complet pour gérer les sites multilingues sous WordPress.<br />
Il propose de traduire tout : contenus, taxos, menus, widgets. Il permet aussi une traduction de son site par des personnes extérieures, bref.</p>
<p>Il fait plein de choses. Le problème se résume en 3 points :</p>
<ol>
<li> On ne peut pas désactiver la traduction sur les articles WP</li>
<li> Le code source est imbuvable, pourri et j&#8217;en passe. (il m&#8217;est arrivé de désactiver des fonctions PHP complètes, le plugin fonctionnait mieux&#8230;)</li>
<li> Il vient récemment de passer en mode payant</li>
</ol>
<p>De fait, à l&#8217;agence dès que l&#8217;on peut, on s&#8217;en passe bien volontiers !</p>
<h3>Qtranslate</h3>
<p>Alternative qui a l&#8217;avantage de proposer moins de fonctionnalités que WPML, mais avec une interface sympathique bien qu&#8217;imposant une contrainte en nombre de langues.<br />
(Chaque langue étant affiché dans la même page d&#8217;édition que le contenu initial, avec un basculement via des onglets)</p>
<p>Mon principal reproche concerne l&#8217;architecture du plugin, tout stocker dans les mêmes champs, et insérer des balises XML pour différencier les langues n&#8217;est pas une méthodologie viable.<br />
Par exemple, impossible de désactiver le plugin sans afficher tout le contenu en 3 triples. (si votre site possède 3 langues)</p>
<h3>Global Translator</h3>
<p>La traduction &laquo;&nbsp;low-cost&nbsp;&raquo; qui consiste à proposer une version traduite par les soins de Google, Babel Fish, Promt ou FreeTranslations de tout son site. Bien entendu le résultat est catastrophique la majorité du temps, et il n&#8217;est pas possible de proposer sa traduction. Bref, une solution pas exploitable en entreprise, mais qui très utile dans le cadre d&#8217;un blog personnel pour générer du trafic international. (mais non qualifié)</p>
<h2>Notre solution : Simple Punctual Translation</h2>
<p>Avec l&#8217;équipe de développement de <a href="http://beapi.fr">BeAPI</a>, on s&#8217;est mis en mode réflexion, on a imaginé toutes les fonctionnalités que l&#8217;on peut attendre d&#8217;un plugin open-source, l&#8217;architecture que l&#8217;on pourrait créer, l&#8217;impact sur les développements. Bon, je ne vous cache pas qu&#8217;on s&#8217;est bien aidé de Drupal pour lister toutes les fonctionnalités multilingues à prévoir.</p>
<p>Et puis face à un chantier aussi grand, on s&#8217;est dit qu&#8217;on ferait bien de commencer par une solution allégée de plugin multilingue. On a listé le besoin de base rencontré à l&#8217;agence, soit traduire certains types de contenus de WordPress et on a commencé le développement de Simple Punctual Translation.</p>
<p>Comme son nom l&#8217;indique, ce plugin permet de faire des traductions ponctuelles sur son site WordPress, ponctuel dans le sens nous n&#8217;allons traduire que certaines pages du site.</p>
<p>L&#8217;architecture retenue pour le développement est en pleine cohérence avec WordPress 3.0, nous avons créé un type de contenu traduction, et nous avons créé une taxonomie pour les langues du site. Nous avons personnalisé la console d&#8217;administration de WordPress pour proposer les fonctionnalités de traduction, un peu d&#8217;AJAX pour rendre l&#8217;interface pratique. Enfin, nous avons créé un widget affichant les langues disponibles pour le contenu actuellement chargé. Un rôle traducteur est automatiquement créé avec le plugin, il permet à un utilisateur de ce rôle d&#8217;uniquement pouvoir créer et gérer des traductions.</p>
<p>Les fonctionnalités utilisateurs se résume en la possibilité de switcher entre une et plusieurs langues sur la vue single d&#8217;un contenu. Ainsi, une page peut être traduite en X langues.</p>
<p>Le plugin propose les réglages suivants :</p>
<ul>
<li>Insertion automatique des langues disponibles à la fin d&#8217;article</li>
<li>Réécriture des URLs soit via un paramètre &laquo;&nbsp;lang&nbsp;&raquo; dans l&#8217;adresse ou via un préfixe en début d&#8217;adresse :
<ul>
<li>http://www.herewithme.fr/contenu/?lang=de</li>
<li>ou http://www.herewithme.fr/de/contenu</li>
</ul>
</li>
<li>Activation des traductions sur les post types de son choix</li>
<li>2 modes pour le mécanisme de traduction, que je détaillerai ci-dessous.</li>
</ul>
<p>Bien entendu, le plugin est disponible via le<a href="http://wordpress.org/extend/plugins/simple-punctual-translation/"> référentiel des extensions WordPress</a>.</p>
<h3>Moteurs de traduction</h3>
<p>Pour ce plugin, nous n&#8217;avons pas voulu imposer une architecture définie pour le moteur de traduction, alors nous avons proposé un mode automatique ou manuel.</p>
<p><strong>Mode automatique</strong></p>
<p>Le mode automatique est plutôt destiné au grand public, car aucune modification n&#8217;est nécessaire dans le code source. Le principe est le suivant, lorsqu&#8217;on navigue sur la version allemande d&#8217;une page, WordPress récupère les données originales de la page, et notre plugin vient automatiquement injecté le contenu allemand de 3 champs, le titre, le contenu et l&#8217;extrait.</p>
<p>Cela veut dire que la version allemande en mode automatique conservera, si votre thème l&#8217;affiche, la date de publication, les commentaires, l&#8217;auteur, les tags et les catégories de l&#8217;article original.</p>
<p>Ce mode suffit largement à un usage basique du plugin de traduction, sur des types de contenu natifs, il est compatible à 99% sur les installations WordPress existantes.</p>
<p><strong>Mode manuel</strong></p>
<p>Ce second mode est nettement plus puissant que le premier. Le mode manuel ne modifie aucune donnée de la requête initiale de WordPress, si aucune modification n&#8217;est portée sur le thème, votre contenu ne sera même pas traduit ! Pour switcher de langue, nous nous sommes inspirés des fonctions de WordPress Mu permettant des switcher de blogs, soit switch_to_blog() et restore_current_blog().</p>
<p>Et nous avons créé 2 fonctions switch_to_language() et restore_original_language().</p>
<p>La première fonction switch_to_language() permet de basculer le contenu dans la version traduite, tandis que la deuxième fonction permet de restaurer la langue originale du contenu.</p>
<p>Exemple :</p>
<pre style="padding-left: 30px;">&lt;?php
the_title(); // Title in English
switch_to_language();
 the_title(); // Title in French
restore_original_language();
the_title(); // Title in English
?&gt;</pre>
<p>Ce couple de fonctions permet aux développeurs d&#8217;être extrêmement précis sur les champs à traduire. Ce mode à mon sens, doit être largement privilégié, car il est propre, il n&#8217;interagit pas avec la requête initiale de WordPress. Néanmoins, il y a quelques défauts comme :</p>
<ul>
<li>Le titre HTML de la page n&#8217;est pas traduit</li>
<li>Les plugins de fil d&#8217;ariane ne prennent pas en compte la traduction</li>
</ul>
<p>Ce sont principalement des défauts concernant l&#8217;aspect SEO, et effectivement sur cette première version du plugin nous n&#8217;avons travaillé que l&#8217;aspect fonctionnel. Nous comptons sur les retours de la communauté pour améliorer le plugin&#8230;</p>
<h2>Le mot de la fin</h2>
<p>N&#8217;hésitez pas à tester ce plugin et nous faire vos retours sur le <a href="http://redmine.beapi.fr/projects/punctual-translation/">site redmine du projet. </a></p>
<p>Dernière précision, ce plugin a été développé sur WordPress 3.1, mode WP_Debug activé, il est rétro-compatible 3.0.</p>
<p>Pour conclure, il n&#8217;est pas compatible PHP4. (en fait je n&#8217;en sais rien, mais pour tout vous dire, je m&#8217;en fous royalement)</p>
<p><strong>Le plugin est image :</strong></p>
<p><strong>
<a href='http://www.herewithme.fr/2011/02/15/simple-punctual-translation-plugin-pour-proposer-ponctuellement-des-traductions-sur-votre-site/screenshot-2-2/' title='screenshot-2'><img width="150" height="150" src="http://www.herewithme.fr/wp-content/uploads/2011/02/screenshot-2-150x150.png" class="attachment-thumbnail" alt="screenshot-2" title="screenshot-2" /></a>
<a href='http://www.herewithme.fr/2011/02/15/simple-punctual-translation-plugin-pour-proposer-ponctuellement-des-traductions-sur-votre-site/screenshot-3-2/' title='screenshot-3'><img width="150" height="150" src="http://www.herewithme.fr/wp-content/uploads/2011/02/screenshot-3-150x150.png" class="attachment-thumbnail" alt="screenshot-3" title="screenshot-3" /></a>
<a href='http://www.herewithme.fr/2011/02/15/simple-punctual-translation-plugin-pour-proposer-ponctuellement-des-traductions-sur-votre-site/screenshot-4/' title='screenshot-4'><img width="150" height="103" src="http://www.herewithme.fr/wp-content/uploads/2011/02/screenshot-4-150x103.png" class="attachment-thumbnail" alt="screenshot-4" title="screenshot-4" /></a>
<a href='http://www.herewithme.fr/2011/02/15/simple-punctual-translation-plugin-pour-proposer-ponctuellement-des-traductions-sur-votre-site/screenshot-5/' title='screenshot-5'><img width="150" height="99" src="http://www.herewithme.fr/wp-content/uploads/2011/02/screenshot-5-150x99.png" class="attachment-thumbnail" alt="screenshot-5" title="screenshot-5" /></a>
<a href='http://www.herewithme.fr/2011/02/15/simple-punctual-translation-plugin-pour-proposer-ponctuellement-des-traductions-sur-votre-site/screenshot-6/' title='screenshot-6'><img width="150" height="150" src="http://www.herewithme.fr/wp-content/uploads/2011/02/screenshot-6-150x150.png" class="attachment-thumbnail" alt="screenshot-6" title="screenshot-6" /></a>
<a href='http://www.herewithme.fr/2011/02/15/simple-punctual-translation-plugin-pour-proposer-ponctuellement-des-traductions-sur-votre-site/screenshot-7/' title='screenshot-7'><img width="150" height="150" src="http://www.herewithme.fr/wp-content/uploads/2011/02/screenshot-7-150x150.png" class="attachment-thumbnail" alt="screenshot-7" title="screenshot-7" /></a>
<br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.herewithme.fr/2011/02/15/simple-punctual-translation-plugin-pour-proposer-ponctuellement-des-traductions-sur-votre-site/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
		</item>
		<item>
		<title>WordPress 3.1 : Les évolutions envisagées</title>
		<link>http://www.herewithme.fr/2010/09/06/wordpress-3-1-les-evolutions-envisagees/</link>
		<comments>http://www.herewithme.fr/2010/09/06/wordpress-3-1-les-evolutions-envisagees/#comments</comments>
		<pubDate>Mon, 06 Sep 2010 12:31:42 +0000</pubDate>
		<dc:creator>Amaury</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[Automattic]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress Francophone]]></category>
		<category><![CDATA[WordPress Mu]]></category>
		<category><![CDATA[WP-Box]]></category>
		<guid isPermaLink="false">http://www.herewithme.fr/?p=977</guid>
		<description><![CDATA[Cet article est basé sur l&#8217;article de Jane Wells publié sur le blog de développement de WordPress. Ça n&#8217;est pas une traduction stricte, mais une interprétation libre de ma part. Contrairement à WordPress 3.0, la version 3.1 se doit d&#8217;avoir &#8230; <a href="http://www.herewithme.fr/2010/09/06/wordpress-3-1-les-evolutions-envisagees/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><em>Cet article est basé sur l&#8217;<a href="http://wpdevel.wordpress.com/2010/09/03/process-and-scope-for-3-1-part-i/">article de Jane Wells</a> publié sur le blog de développement de WordPress. Ça n&#8217;est pas une traduction stricte, mais une interprétation libre de ma part.</em></p>
<p>Contrairement à WordPress 3.0, la version 3.1 se doit d&#8217;avoir un temps de développement court, les évolutions envisagées seront donc rapides, et il n&#8217;y aura pas de gros projets intégrés.</p>
<p>L&#8217;objectif de date pour la sortie finale de WordPress 3.1 est prévu pour mi-décembre 2010.</p>
<p>Cette version va avant tout privilégier les évolutions sur l&#8217;interface, la qualité et les performances du code et il n&#8217;y aura pas de modification sur le schéma. L&#8217;avis de l&#8217;équipe est de réserver les évolutions majeures pour WordPress 3.2, et ainsi produire un code de qualité en PHP5.</p>
<p><strong>Donc première chose à retenir : pas de modification de schéma et pas de nouvelles API importantes.</strong></p>
<h2>Ce que ne contiendra pas WordPress 3.1</h2>
<p><strong>La refonte des médias. </strong>Une mise à jour importante du gestionnaire des médias a été envisagée par l&#8217;équipe de dev, c&#8217;est aussi l&#8217;une des demandes les plus récurrentes de la communauté. Il ne changera pas pour la simple et bonne raison que le code en question est assez tordu et qu&#8217;il serait regrettable de développer quelque chose en PHP4 alors que WordPress 3.2 sera compatible PHP5 uniquement.</p>
<p>De plus, c&#8217;est un chantier qui demandera du temps, qui imposera des modifications sur le schéma de la base de données et sur l&#8217;interface utilisateur. De fait, c&#8217;est un chantier couteux en temps.</p>
<p>Pour WordPress 3.1, la seule évolution possible sur le gestionnaire de médias sera l&#8217;envoi de fichiers HTML.</p>
<p>L&#8217;autre point important qui ne sera pas modifié dans WordPress 3.1 concernant la <strong>gestion de widgets</strong>. En effet, le <strong>filtrage des widgets par vue</strong> article/page/catégorie ne pourra être travaillé que dans WordPress 3.2.</p>
<p>En attendant, les plugins proposent des solutions appréciables.</p>
<h2>Les fonctionnalités probables de WordPress 3.1</h2>
<p>1. Des évolutions prévues sur l&#8217;<strong>API de taxonomie</strong> afin d&#8217;effectuer des <strong>requêtes avancées</strong>. WordPress 3.0 avec les custom types et les custom taxonomies a radicalement changé la façon de penser un site WordPress. L&#8217;API des taxonomies évolue logiquement pour répondre à toutes les attentes.</p>
<p>2. Une refonte importante des rôles/permissions est demandée par certains membres de l&#8217;équipe WordPress, pour la version 3.1, une première version de l&#8217;<strong>API</strong> sera proposée avec des fonctions permettant de <strong>travailler plus facilement sur les utilisateurs</strong>. À l&#8217;heure actuelle, les requêtes SQL &laquo;&nbsp;maison&nbsp;&raquo; priment encore dans ce domaine.</p>
<p>3. Une nouvelle fonctionnalité est également envisagée, il s&#8217;agit des <strong>liens internes</strong>. Autrement dit, la possibilité de créer des relations entre les contenus de WordPress.<strong> Il s&#8217;agit de la principale évolution à mes yeux de WP 3.1 !</strong></p>
<p>Il fut un temps où seuls les articles relatifs permettaient de créer des liens entre les contenus, désormais il existe plusieurs plugins permettant de créer manuellement des liens entre le contenu (comme <a href="http://wordpress.org/extend/plugins/relation-post-types/">mon plugin Relation Post Types</a>). Cette fonctionnalité est en vive discussion sur le trac.</p>
<p>4.<strong> Les pages de l&#8217;administration vont être largement AJAXifié </strong>avec quelques modifications mineures d&#8217;interface. La modération des commentaires sera également revue.</p>
<p>5. La <strong>barre d&#8217;administration avec menu déroulant</strong>. Très utile pour les plateformes de sites, buddypress, la barre d&#8217;administration semblable à WordPress.com fera probablement son apparition. Mais comme tout le monde n&#8217;est pas d&#8217;accord, la fonctionnalité restera peut-être sur la forme d&#8217;un plugin. (<a href="http://wordpress.org/extend/plugins/wordpress-admin-bar/">le plugin de Viper007Bond</a> gère cela très bien pour le moment.)</p>
<p>6. Quelques <strong>simplifications et nettoyages de l&#8217;interface</strong> à travers toute l&#8217;application, et principalement le multi-site. Des pistes de recherche pour l&#8217;élaboration d&#8217;un tableau de bord personnel à la place du tableau de bord générale sont menées par Ryan. Ces modifications pourront être publiées dans WordPress 3.2 selon le planning.</p>
<p>7. Quelques <strong>corrections à prévoir sur l&#8217;API des custom post type</strong>s.</p>
<p>8. Modification de l&#8217;<strong>interface de la gestion de thèmes</strong> par la version de WordPress.com. Cette dernière est plus efficace, plus légère, supporte la recherche, etc. C&#8217;est une étape indispensable pour les personnes ayant un WordPress MS avec beaucoup de thèmes.</p>
<p>9. <strong>Les templates de pages pour les articles</strong>. Afin de pouvoir supporter des modèles comme les pages)</p>
<p>10. La <strong>fonctionnalité QuickPress</strong> sera disponible à travers une fonction afin de pouvoir <strong>afficher facilement un formulaire sur le thème</strong> utilisateur.</p>
<h2>Le planning</h2>
<p>La date de publication ne devrait pas dépasser le 15 décembre pour ne pas interférer avec les vacances.</p>
<ul>
<li>9 septembre : Confirmation du planning</li>
<li>15 octobre : feature freeze, pas de nouvelles fonctionnalités ajoutés dans le code</li>
<li>1er novembre : primary code freeze, fin de grands changements dans le code PHP</li>
<li>15 novembre :période de béta, plus d&#8217;amélioration, uniquement de la correction de bugs.</li>
<li>1 décembre : string freeze, traduction !</li>
<li>15 décembre : publication de WordPress 3.1</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.herewithme.fr/2010/09/06/wordpress-3-1-les-evolutions-envisagees/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Présentation de VaultPress : La sécurité vue par Automattic</title>
		<link>http://www.herewithme.fr/2010/08/16/presentation-de-vaultpress-la-securite-vue-par-automattic/</link>
		<comments>http://www.herewithme.fr/2010/08/16/presentation-de-vaultpress-la-securite-vue-par-automattic/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 22:57:08 +0000</pubDate>
		<dc:creator>Amaury</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[Automattic]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[sécurité]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">http://www.herewithme.fr/?p=910</guid>
		<description><![CDATA[Il y a quelque temps, Matt et Automattic ont annoncé le lancement de VaultPress, un plugin permettant de sécuriser une installation WordPress. On me demande régulièrement, la meilleure méthode pour sécuriser un site web fonctionnant avec WordPress, et ma réponse &#8230; <a href="http://www.herewithme.fr/2010/08/16/presentation-de-vaultpress-la-securite-vue-par-automattic/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Il y a quelque temps, <a href="http://ma.tt/2010/03/vaultpress/">Matt</a> et Automattic ont annoncé le lancement de VaultPress, un plugin permettant de sécuriser une installation WordPress. On me demande régulièrement, la meilleure méthode pour sécuriser un site web fonctionnant avec WordPress, et ma réponse est la suivante : &laquo;&nbsp;Backup journalière des fichiers et de la base de données sur 2 points de stockage&nbsp;&raquo;. Et oui la meilleure sécurité, c&#8217;est la sauvegarde !</p>
<p style="text-align: center;"><a href="http://www.herewithme.fr/wp-content/uploads/2010/08/screen-capture-2.png"><img class="aligncenter size-full wp-image-935" title="VaultPress - Tagline" src="http://www.herewithme.fr/wp-content/uploads/2010/08/screen-capture-2.png" alt="" width="444" height="65" /></a></p>
<p>Alors, lorsque j&#8217;ai appris le lancement de VaultPress, je me suis dit dans un premier temps : chouette un plugin améliorant la sécurité de WordPress, mais après avoir lu et visionner la vidéo de présentation, j&#8217;ai compris qu&#8217;il ne s&#8217;agissait que d&#8217;un plugin de backup automatique des données, alors effectivement on peut se poser la question de l&#8217;intérêt de ce service pour les personnes ayant un serveur dédié, mais sur un mutualisé milieu/haut de gamme et/ou pour un blog sensible le service peut s&#8217;avérer intéressant.</p>
<p style="text-align: center;"><a href="http://www.herewithme.fr/wp-content/uploads/2010/08/VaultPress_Limited_Registration.png"><img class="aligncenter size-medium wp-image-920" title="VaultPress Inscription à la béta" src="http://www.herewithme.fr/wp-content/uploads/2010/08/VaultPress_Limited_Registration-300x267.png" alt="" width="300" height="267" /></a></p>
<p>J&#8217;ai donc décidé de postuler à l&#8217;inscription de la béta, une première fois pour mon blog perso, sans réussite. Et une seconde fois, pour le site WordPress Francophone, et bingo, 5 jours après je reçois la fameuse invitation permettant de s&#8217;inscrire au service !</p>
<p>Lors de l&#8217;inscription au service, on vous propose 3 niveaux de service, le basique qui comprend toutes les fonctionnalités de backup, le niveau premium qui offre du support technique en plus et enfin un niveau entreprise disponible après contact pour des services plus personnalisés, audit du code, etc. Le service basique est facturé 15$/mois, tandis que le service premium est facturé 40€/mois.</p>
<p>Dans le cadre de WordPress Francophone, j&#8217;ai choisi l&#8217;abonnement à 15$/mois afin de tester à moindre coût le service.</p>
<p><a href="http://www.herewithme.fr/wp-content/uploads/2010/08/vaultpress-installation.png"><img class="aligncenter size-medium wp-image-922" title="Vaultpress Guide Usage" src="http://www.herewithme.fr/wp-content/uploads/2010/08/vaultpress-installation-287x300.png" alt="" width="287" height="300" /></a></p>
<h3>Le plugin</h3>
<p>Une fois payé, on vous propose de télécharger une extension à installer sur le blog WordPress de votre choix. Une fois, le plugin installé et activé, un menu VaulPress apparait dans le menu de la console d&#8217;administration et permet de voir l&#8217;avancement de la sauvegarde du blog sur les serveurs de VaultPress.</p>
<p><a href="http://www.herewithme.fr/wp-content/uploads/2010/08/vaultpress-admin.png"><img class="aligncenter size-large wp-image-921" title="VaultPress Admin de WordPress" src="http://www.herewithme.fr/wp-content/uploads/2010/08/vaultpress-admin-1024x852.png" alt="" width="470" height="391" /></a></p>
<p>Le backup se fait en arrière-plan, il n&#8217;est pas nécessaire de se connecter à WordPress ou de laisser une fenêtre du navigateur pour que le transfert se fasse. Le transfert initial est assez long, tout dépendra du nombre d&#8217;articles et de commentaires, mais surtout tout dépendra de la quantité de pièces jointes.</p>
<p>Dans le cadre de WordPress Francophone, j&#8217;ai activé le plugin le soir à 21h, le lendemain tous les fichiers avaient été synchronisés.</p>
<p style="text-align: center;"><a href="http://www.herewithme.fr/wp-content/uploads/2010/08/VaultPress-‹-WordPress-Francophone-—-WordPress_Dashboard.png"><img class="aligncenter size-full wp-image-915" title="WordPress Francophone VaultPress Dashboard" src="http://www.herewithme.fr/wp-content/uploads/2010/08/VaultPress-‹-WordPress-Francophone-—-WordPress_Dashboard.png" alt="" width="502" height="222" /></a></p>
<p>Une fois les fichiers complètement synchronisés, on peut observer un tableau de bord VaultPress qui nous affiche les informations principales, nombres d&#8217;articles, commentaires, termes, révisions, médias, etc. On peut également trouver le nombre de copies du blog. (ici 40)</p>
<h3>Le service</h3>
<p>Maintenant que nous avons passé en revue les pages du plugin sur l&#8217;admin WordPress, nous allons voir les fonctionnalités du site VaultPress.com. La page de connexion, bien que stylé VaultPress nous rappelle que WordPress n&#8217;est jamais très loin&#8230;</p>
<p style="text-align: center;"><a href="http://www.herewithme.fr/wp-content/uploads/2010/08/VaultPress-Dashboard_Login.png"><img class="aligncenter size-full wp-image-919" title="VaultPress Connexion" src="http://www.herewithme.fr/wp-content/uploads/2010/08/VaultPress-Dashboard_Login.png" alt="" width="243" height="268" /></a></p>
<p>Pour se connecter à VaultPress, il faut posséder un compte WordPress.com, ce dernier vous sera demandé lors de l&#8217;inscription initiale, vous devez alors saisir vos identifiants WordPress.com.<br />
Une fois connecté, on tombe sur un tableau de bord qui contient tous les sites protégés par VaultPress, ici il n&#8217;y a que WordPress Francophone.</p>
<p style="text-align: center;"><a href="http://www.herewithme.fr/wp-content/uploads/2010/08/VaultPress-Dashboard_Index.png"><img class="aligncenter size-full wp-image-917" title="VaultPress Dashboard Index" src="http://www.herewithme.fr/wp-content/uploads/2010/08/VaultPress-Dashboard_Index.png" alt="" width="421" height="143" /></a></p>
<p>Le statut affiche la dernière mise à jour de la base WordPress avec VaultPress, ici on peut voir qu&#8217;il s&#8217;agit du plugin du compteur de vues utilisées sur WordPress Francophones. Le menu propose de voir l&#8217;intégralité des backups de votre site, le log d&#8217;activité des sauvegardes ainsi qu&#8217;un formulaire de contact.</p>
<p><a href="http://www.herewithme.fr/wp-content/uploads/2010/08/VaultPress-Dashboard_Backups.png"><img class="aligncenter size-medium wp-image-916" title="VaultPress Dashboard Backups" src="http://www.herewithme.fr/wp-content/uploads/2010/08/VaultPress-Dashboard_Backups-300x156.png" alt="" width="300" height="156" /></a><a href="http://www.herewithme.fr/wp-content/uploads/2010/08/VaultPress-Dashboard_Log.png"><img class="aligncenter size-medium wp-image-918" title="VaultPress Dashboard Log" src="http://www.herewithme.fr/wp-content/uploads/2010/08/VaultPress-Dashboard_Log-300x100.png" alt="" width="300" height="100" /></a></p>
<p>La page &laquo;&nbsp;Backups&nbsp;&raquo; nous propose de compacter, d&#8217;archiver et de télécharger l&#8217;ensemble des fichiers et la base de données de WordPress pour chaque backup réalisé. Ainsi, il est possible de télécharger n&#8217;importe quel backup de votre blog, l&#8217;intérêt majeur, c&#8217;est qu&#8217;en cas de pertes de données sur votre serveur, vous pouvez récupérer les fichiers à toutes les dates, et surtout les dernières données grâce à la synchronisation en temps réel.</p>
<p>La page &laquo;&nbsp;logs&nbsp;&raquo; retrace toutes les modifications apportées sur votre installation WordPress, ajout d&#8217;un article, d&#8217;un commentaire, d&#8217;un méta via un plugin, etc. bref tout est enregistré !</p>
<h3>Conclusion</h3>
<p>La conclusion est difficile. Le service est efficace et fonctionne très bien sur un serveur mutualisé comme Infomaniak. Pour les personnes possédant un dédié, un backup automatique et incrémentiel de la base de données et des fichiers sur 2 lieux de stockage me paraissent largement suffisant&#8230;</p>
<p>Alors, je ne sais pas trop&#8230; Pour qui ?</p>
<p>Les personnes ayant de &laquo;&nbsp;gros blogs&nbsp;&raquo; sont bien souvent sur des serveurs dédiés et/ou infogérés, dans un tel cas la backup serveur me parait suffisante&#8230;<br />
Les personnes sur des hébergements mutualisés seront-elles prêtes à mettre de l&#8217;argent pour un service de backup ? Au prix proposé, on n&#8217;est pas loin d&#8217;un serveur virtualisé de base&#8230;</p>
<p>Mon avis est partagé sur l&#8217;intérêt d&#8217;un tel service&#8230; et vous ? pour qui ? quel contexte ?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herewithme.fr/2010/08/16/presentation-de-vaultpress-la-securite-vue-par-automattic/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Relation Post Types : Faire des relations entre les contenus de WordPress !</title>
		<link>http://www.herewithme.fr/2010/08/16/relation-post-types-faire-des-relations-entre-les-contenus-de-wordpress/</link>
		<comments>http://www.herewithme.fr/2010/08/16/relation-post-types-faire-des-relations-entre-les-contenus-de-wordpress/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 21:24:00 +0000</pubDate>
		<dc:creator>Amaury</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[Custom Post Types]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Post Types]]></category>
		<category><![CDATA[Related]]></category>
		<category><![CDATA[Relations]]></category>
		<category><![CDATA[Taxonomies]]></category>
		<category><![CDATA[Taxonomy]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">http://www.herewithme.fr/?p=925</guid>
		<description><![CDATA[Depuis WordPress 3.0, il est possible de créer facilement à la volée des types de contenus (en anglais : custom post types), et d&#8217;y coupler des taxonomies. On peut par exemple, créer des petites annonces, et ajouter des taxonomies comme &#8230; <a href="http://www.herewithme.fr/2010/08/16/relation-post-types-faire-des-relations-entre-les-contenus-de-wordpress/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Depuis WordPress 3.0, il est possible de créer facilement à la volée des types de contenus (en anglais : custom post types), et d&#8217;y coupler des taxonomies. On peut par exemple, créer des petites annonces, et ajouter des taxonomies comme la région, un ordre de prix, l&#8217;état du bien, etc.</p>
<p>Mais les taxonomies ne sont pas nécessairement suffisantes dans un usage pro pour monter un site avec de nombreuses relations. Parfois, on souhaite relier 2 types de contenu ensemble, par exemple sur un site contenant des petites annonces, on voudra avoir la possibilité de lier des articles d&#8217;actualités à des petites annonces. Ainsi, on pourra facilement afficher des blocs de contenus liés sur le thème.</p>
<p>Pour y parvenir, j&#8217;ai développé le plugin : <a href="http://wordpress.org/extend/plugins/relation-post-types/">Relation Post Types</a></p>
<p><div id="attachment_928" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.herewithme.fr/wp-content/uploads/2010/08/screen-capture.png"><img class="size-medium wp-image-928" title="Relation Post Types - Settings" src="http://www.herewithme.fr/wp-content/uploads/2010/08/screen-capture-300x178.png" alt="" width="300" height="178" /></a><p class="wp-caption-text">Relation Post Types - Réglages</p></div></p>
<p>Ce dernier offre la possibilité de choisir dans la console d&#8217;administration quelles liaisons voulez vous mettre en place. Par exemple, si vous avez des petites annonces et des articles à relier, vous pouvez choisir d&#8217;afficher un bloc &laquo;&nbsp;articles&nbsp;&raquo; sur la page d&#8217;édition des petites annonces, et inversement vous pouvez afficher le bloc &laquo;&nbsp;petites annonces&nbsp;&raquo; sur la page d&#8217;édition des articles. Ainsi, vous pouvez créer des relations dans les 2 sens.</p>
<p><div id="attachment_929" class="wp-caption aligncenter" style="width: 296px"><a href="http://www.herewithme.fr/wp-content/uploads/2010/08/screen-capture-1.png"><img class="size-full wp-image-929" title="Relation Post Types - Box Relations on write page" src="http://www.herewithme.fr/wp-content/uploads/2010/08/screen-capture-1.png" alt="" width="286" height="261" /></a><p class="wp-caption-text">Boite de sélection dans la page de rédaction</p></div></p>
<p>On peut même pousser le bouchon le plus loin et créer des relations entre contenus d&#8217;un même type de données, par exemple relier une petite annonce à d&#8217;autres petites annonces. Cela peut être utile pour générer du contenu relatif, mais manuellement.</p>
<p>Le plugin est <a href="http://wordpress.org/extend/plugins/relation-post-types/">disponible en téléchargement sur WP.org</a>, dans le référentiel de plugins. Le plugin est réservé à un public de développeur ou d&#8217;utilisateurs avertis, il n&#8217;existe pas de fonctions prêtes à l&#8217;emploi à utiliser dans le thème, il vous faudra coupler les fonctions du plugin et WP_Query.</p>
<p>N&#8217;hésitez pas à me contacter pour tout bug ou évolution allant dans le sens du plugin.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herewithme.fr/2010/08/16/relation-post-types-faire-des-relations-entre-les-contenus-de-wordpress/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Advanced Edit Cforms : Et un petit plugin pour WordPress et Cforms !</title>
		<link>http://www.herewithme.fr/2010/02/07/advanced-edit-cforms-et-un-petit-plugin-pour-wordpress-et-cforms/</link>
		<comments>http://www.herewithme.fr/2010/02/07/advanced-edit-cforms-et-un-petit-plugin-pour-wordpress-et-cforms/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 23:22:58 +0000</pubDate>
		<dc:creator>Amaury</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">http://www.herewithme.fr/?p=893</guid>
		<description><![CDATA[Cforms est réellement un plugin très bien pensé, avec un nombre de fonctionnalités impressionnantes, mais il possède 2 défauts à mes yeux&#8230; Le premier, c&#8217;est qu&#8217;il ne se trouve pas dans le référentiel officiel des plugins, ce qui rend handicapantes &#8230; <a href="http://www.herewithme.fr/2010/02/07/advanced-edit-cforms-et-un-petit-plugin-pour-wordpress-et-cforms/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Cforms est réellement un plugin très bien pensé, avec un nombre de fonctionnalités impressionnantes, mais il possède 2 défauts à mes yeux&#8230;</p>
<p>Le premier, c&#8217;est qu&#8217;il ne se trouve pas dans le référentiel officiel des plugins, ce qui rend handicapantes les mises à jour et son installation. Son deuxième défaut, c&#8217;est les problèmes liés au déplacement d&#8217;un blog.</p>
<p>Dans de nombreux cas, on développe un blog WordPress avec une adresse de développement et lorsqu&#8217;on souhaite migrer, tout se passe bien sauf pour le plugin Cforms, pour 3 raisons :</p>
<ol>
<li>Il enregistre le chemin complet vers le plugin dans un fichier PHP</li>
<li>Il enregistre l&#8217;adresse du blog dans un fichier JavaScript</li>
<li>Il enregistre l&#8217;adresse du blog et de destination des fichiers dans une option de WordPress.</li>
</ol>
<p>L&#8217;inconvénient est que lorsqu&#8217;on change d&#8217;adresse du blog, Cforms conserve les réglages du blog où il a été installé, chose très gênante, car cela implique la modification des 2 fichiers et un bidouillage dans la base de données pour corriger le plugin.</p>
<p>Pour me simplifier la vie, j&#8217;ai développé un petit plugin qui permet l&#8217;édition depuis la console d&#8217;administration de ces différentes informations. Le plugin se présente de la façon suivant :</p>
<p style="text-align: left;"><a rel="attachment wp-att-894" href="http://www.herewithme.fr/wp-content/uploads/2010/02/screenshot-1.png"><img class="aligncenter size-full wp-image-894" title="Advanced Cforms Edit" src="http://www.herewithme.fr/wp-content/uploads/2010/02/screenshot-1.png" alt="Admin d'Advanced Cforms Edit" width="494" height="259" /></a></p>
<p>Le plugin est disponible sur le référentiel de WordPress.org et répond au doux nom de &laquo;&nbsp;<a href="http://wordpress.org/extend/plugins/advanced-edit-cforms">Advanced Edit Cforms</a>&nbsp;&raquo; (j&#8217;essaie d&#8217;être explicite !)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herewithme.fr/2010/02/07/advanced-edit-cforms-et-un-petit-plugin-pour-wordpress-et-cforms/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Drupal vs WordPress : Les modules de base</title>
		<link>http://www.herewithme.fr/2010/01/26/drupal-vs-wordpress-les-modules-de-base/</link>
		<comments>http://www.herewithme.fr/2010/01/26/drupal-vs-wordpress-les-modules-de-base/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 22:56:43 +0000</pubDate>
		<dc:creator>Amaury</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">http://www.herewithme.fr/?p=834</guid>
		<description><![CDATA[De mon point de vue, l&#8217;une des grandes forces de Drupal est sa modularité. Je développe sous WordPress depuis bientôt 5 ans, et presque 30% des sites réalisés n&#8217;utilisent pas les articles de WordPress, mais uniquement les pages. Et je &#8230; <a href="http://www.herewithme.fr/2010/01/26/drupal-vs-wordpress-les-modules-de-base/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-850" href="http://www.herewithme.fr/wp-content/uploads/2010/01/drupal.jpg"><img class="alignleft size-full wp-image-850" title="drupal" src="http://www.herewithme.fr/wp-content/uploads/2010/01/drupal.jpg" alt="" width="100" height="115" /></a>De mon point de vue, l&#8217;une des grandes forces de Drupal est sa modularité. Je développe sous WordPress depuis bientôt 5 ans, et presque 30% des sites réalisés n&#8217;utilisent pas les articles de WordPress, mais uniquement les pages. Et je ne vous parle même pas du pourcentage de projets n&#8217;utilisant pas les commentaires&#8230;</p>
<p><a rel="attachment wp-att-851" href="http://www.herewithme.fr/wp-content/uploads/2010/01/wordpress-icon.png"><img class="alignright size-thumbnail wp-image-851" title="wordpress-icon" src="http://www.herewithme.fr/wp-content/uploads/2010/01/wordpress-icon-150x150.png" alt="" width="150" height="150" /></a>Malheureusement, WordPress ne permet pas la désactivation des fonctionnalités non utilisées, c&#8217;est regrettable à plusieurs points. Le premier, c&#8217;est les performances, charger en mémoire des lignes de code non utilisé peut s&#8217;apparenter à un gâchis de ressources. Le deuxième point, c&#8217;est la présence de menus inutiles dans la console d&#8217;administration. Cet aspect peut être corrigé via des plugins permettant  la personnalisation la console d&#8217;administration, ces derniers proposent de choisir précisément les fonctionnalités que l&#8217;on souhaite afficher ou masquer.</p>
<p>Mais revenons à drupal&#8230;</p>
<p>Lorsque je discute avec des clients, des développeurs, on me dit, WordPress ce n&#8217;est pas vraiment un CMS, Drupal oui !</p>
<p>C&#8217;est vrai et faux, en fait techniquement parlant, ces 2 outils sont des CMS. WordPress est un CMS orienté gestion de contenu personnelle (plutôt blog), tandis que Drupal est un CMS &laquo;&nbsp;non orienté&nbsp;&raquo;. Autrement dit, Drupal est extrêmement générique et on le ressent bien à l&#8217;installation. (Comme l&#8217;on dit plusieurs blogueurs de la communauté WP, WordPress est beaucoup plus packagé que Drupal, plus &laquo;&nbsp;ready to use&nbsp;&raquo;).</p>
<p>Cette orientation, publication personnelle/blog, est donc à la fois la plus grande force et faiblesse de WordPress.</p>
<p>Force, car cela lui attire la sympathie d&#8217;un très grand nombre de webmestres, développeurs et surtout des utilisateurs. Faiblesse, car comme beaucoup d&#8217;outils de masse, on le considère à tort comme un outil d&#8217;entrée de gamme peu adapté au monde professionnel et à un usage CMS. Et pourtant&#8230;</p>
<p>J&#8217;ai installé un drupal en local, et j&#8217;ai comparé les modules par défaut de drupal avec ceux de WordPress. Vous trouverez dans un premier le tableau comparatif, puis mon analyse.</p>
<table border="0" cellspacing="0" cellpadding="0">
<thead>
<tr>
<th style="width: 100px;">Module drupal</th>
<th style="width: 140px;">Alternative WordPress</th>
<th>Commentaire</th>
</tr>
</thead>
<tbody>
<tr>
<td>Aggregator</td>
<td>Plugin : WP-o-matic</td>
<td>Ancien, mais plugin très complet</td>
</tr>
<tr>
<td>Blog</td>
<td>Natif</td>
<td>-</td>
</tr>
<tr>
<td>Blog API</td>
<td>Natif</td>
<td>-</td>
</tr>
<tr>
<td>Book</td>
<td>Natif + Plugins</td>
<td>Les pages de WordPress non ? Couplé à un plugin Séries ou une navigation bien pensée ;)</td>
</tr>
<tr>
<td>Color</td>
<td>Natif + Thèmes</td>
<td>Dans WordPress, le thème peut avoir une page d’administration.<br />
C’est le cas du thème par défaut, il permet à l&#8217;utilisateur de modifier le schéma de couleur de certains thèmes.</td>
</tr>
<tr>
<td>Comment</td>
<td>Natif</td>
<td>Permets aux utilisateurs de commenter et de discuter le contenu publié.</td>
</tr>
<tr>
<td>Contact</td>
<td>Plugins : Cforms</td>
<td>Cforms, what else ?</td>
</tr>
<tr>
<td>Content<br />
translation</td>
<td>Plugins</td>
<td>Qtranslate, WP-ML, il y a pour tous les goûts…</td>
</tr>
<tr>
<td>Database logging</td>
<td>Plugins</td>
<td>Partiel, pas de plugin générique à ce niveau.</td>
</tr>
<tr>
<td>Forum</td>
<td>Plugins ou bbPress</td>
<td>bbPress se couple facilement à WordPress. La prochaine version devrait être encore plus intégrée à WordPress !</td>
</tr>
<tr>
<td>Help</td>
<td>Natif</td>
<td>Pas besoin d’aide pour utiliser WordPress ! ;)</td>
</tr>
<tr>
<td>Locale</td>
<td>Natif</td>
<td>-</td>
</tr>
<tr>
<td>Menu</td>
<td>Plugins</td>
<td>Par défaut, pas grand chose. (ça devrait changer dans WP 3.0), mais des plugins permettent cela</td>
</tr>
<tr>
<td>OpenID</td>
<td>Plugins</td>
<td>-</td>
</tr>
<tr>
<td>Path</td>
<td>Natif</td>
<td>Par défaut, les permaliens…</td>
</tr>
<tr>
<td>PHP filter</td>
<td>Plugins</td>
<td>-</td>
</tr>
<tr>
<td>Ping</td>
<td>Natif</td>
<td>-</td>
</tr>
<tr>
<td>Poll</td>
<td>Plugin : WP-Polls</td>
<td>-</td>
</tr>
<tr>
<td>Profile</td>
<td>Plugin : BuddyPress</td>
<td>Des profils, mais pas seulement…</td>
</tr>
<tr>
<td>Search</td>
<td>Natif</td>
<td>Sans compter les innombrables plugins à ce sujet</td>
</tr>
<tr>
<td>Statistics</td>
<td>Plugins : Wassup, StatsPress</td>
<td>-</td>
</tr>
<tr>
<td>Syslog</td>
<td>Plugins</td>
<td>Des plugins permettent des logs pour l’activité, d’autres pour le développement. Globalement ca existe.</td>
</tr>
<tr>
<td>Taxonomy</td>
<td>Natif + Plugins</td>
<td>L’API le supporte, les plugins apportent la couche utilisateur.</td>
</tr>
<tr>
<td>Throttle</td>
<td>Pas vraiment</td>
<td>À ma connaissance, aucun plugin ne permet de désactiver des fonctionnalités selon la charge. Cependant, les plugins de cache permettent ponctuellement d’alléger la charge serveur. Conclusion, pas vraiment ! mais pas très utile !</td>
</tr>
<tr>
<td>Tracker</td>
<td>Natif + Plugins</td>
<td>Les commentaires sont des contributions utilisateurs, sinon des plugins comme TDO Form permettent de créer des formulaires publics.</td>
</tr>
<tr>
<td>Trigger</td>
<td>Natif</td>
<td>Similaire aux actions/filtres de WordPresss</td>
</tr>
<tr>
<td>Update status</td>
<td>Natif</td>
<td>-</td>
</tr>
<tr>
<td>Upload</td>
<td>Natif</td>
<td>Depuis bien longtemps + La retouche d’image depuis WordPress 2.9</td>
</tr>
</tbody>
</table>
<p>Comme vous pouvez le constater, mis à part 1-2 fonctionnalités mineures qui n&#8217;ont pas d&#8217;alternative complète sous WordPress, la totalité des fonctionnalités des modules intégrés dans Drupal possède une alternative ou plusieurs alternatives. Parfois nativement, parfois sous la forme de plugins de la communauté !</p>
<p>Lorsque la fonctionnalité est native, elle possède le même niveau de qualité que sa concurrente drupal. Lorsqu&#8217;il s&#8217;agit d&#8217;un plugin, c&#8217;est variable. Certains plugins de la communauté sont bien plus évolués que leurs concurrents par défaut de drupal (mais des plugins drupal peuvent équilibrer la balance), tandis que dans certains cas, c&#8217;est l&#8217;inverse.</p>
<p>Je conclurai en 3 points.</p>
<p>1. WordPress n&#8217;a rien à envier aux modules de base de Drupal. La communauté très active remplit parfaitement son rôle en réalisant des plugins de qualité similaire.</p>
<p>2. Le programme de plugins &laquo;&nbsp;officiel&nbsp;&raquo; de WordPress.org va permettre de constituer une base de plugins sûrs, vérifiés et mis à jour régulièrement. Ces plugins deviendront l&#8217;équivalent des modules de drupal.</p>
<p>3. Drupal possède une longueur d&#8217;avance concernant la possibilité de créer nativement des types de contenus à la volée. (je ne parle pas de CCK, mais des types de contenus), WordPress supporte depuis très longtemps ce genre d&#8217;ajout via des plugins, mais rien de  très propre. La version 3.0 ajoutera une API complète permettant d&#8217;ajouter autant de types de contenu que souhaité.</p>
<p><strong>Dans un prochain article, je vous parlerai de Views/CCK et WordPress !</strong></p>
<p>PS: J&#8217;ai sûrement oublié certaines fonctionnalités, je pense par exemple aux permissions, je me suis contenté des modules de base pour le moment, mais si vous voyez des fonctionnalités de bases qui n&#8217;existe pas dans WordPress, dites-le-moi, j&#8217;essaierai de trouver l&#8217;alternative si elle existe !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herewithme.fr/2010/01/26/drupal-vs-wordpress-les-modules-de-base/feed/</wfw:commentRss>
		<slash:comments>31</slash:comments>
		</item>
		<item>
		<title>Correction rapide pour le bug de l&#8217;édition des mots clefs/catégories/termes dans WordPress Mu !</title>
		<link>http://www.herewithme.fr/2010/01/21/correction-rapide-pour-le-bug-de-ledition-des-mots-clefscategoriestermes-dans-wordpress-mu/</link>
		<comments>http://www.herewithme.fr/2010/01/21/correction-rapide-pour-le-bug-de-ledition-des-mots-clefscategoriestermes-dans-wordpress-mu/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 13:30:07 +0000</pubDate>
		<dc:creator>Amaury</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Taxinomie]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress Mu]]></category>
		<guid isPermaLink="false">http://www.herewithme.fr/?p=823</guid>
		<description><![CDATA[Un bug assez connu de la communauté WordPress Mu subsiste lors de l'édition de mots clefs. Le bug se produit uniquement dans certaines situations et est amplifié lors que l'installation WordPress Mu vient d'une migration de WordPress. En fait, le &#8230; <a href="http://www.herewithme.fr/2010/01/21/correction-rapide-pour-le-bug-de-ledition-des-mots-clefscategoriestermes-dans-wordpress-mu/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Un bug assez connu de la communauté WordPress Mu subsiste lors de l'édition de mots clefs. Le bug se produit uniquement dans certaines situations et est amplifié lors que l'installation WordPress Mu vient d'une migration de WordPress.</p>
<p>En fait, le bug se caractérise par la perte des catégories/mots clefs ou bien une "confusion" dans la taxonomie de WordPress. Vous éditez un mot clef avec l'ID 199 et ce dernier disparait au profit de la catégorie avec l'ID 8.</p>
<p>Étrange n'est ce pas !</p>
<p>Pourtant en base de données rien n'est perdu, c'est juste que la fonctionnalité globale catégories de WordPress Mu fout le bordel dans la table term_taxonomy.</p>
<p>Pour éviter d'avoir ce problème à l'édition, je vous donne un correctif très rapide : créer un fichier fix-bug-cat.php dans le dossier mu-plugins de votre installation WordPress Mu.</p>
<p>Et insérez-y le code suivant :</p>
<pre>&lt;?php
remove_filter ( 'term_id_filter', 'global_terms' );
?&gt;</pre>
<p>En désactivant le filtre fautif, vous vous évitez ce bug ennuyant... Pour ceux que ça intéresse, j'ai créé un <a href="http://core.trac.wordpress.org/ticket/11962">ticket sur le trac</a> à ce sujet pour probablement une correction définitive d'ici WordPress 3.0 !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herewithme.fr/2010/01/21/correction-rapide-pour-le-bug-de-ledition-des-mots-clefscategoriestermes-dans-wordpress-mu/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Une barre de sidebar automatique par page et une sidebar par défaut !</title>
		<link>http://www.herewithme.fr/2009/12/30/barre-sidebar-automatique-par-page-sidebar-par-defaut/</link>
		<comments>http://www.herewithme.fr/2009/12/30/barre-sidebar-automatique-par-page-sidebar-par-defaut/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 08:04:38 +0000</pubDate>
		<dc:creator>Amaury</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Thèmes]]></category>
		<category><![CDATA[Widgets]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">http://www.herewithme.fr/?p=803</guid>
		<description><![CDATA[Les widgets, bien qu'améliorer depuis WordPress 2.8 (avec la nouvelle classe PHP et la multiplicité de ces derniers), sont toujours une source de frustration pour les utilisateurs. Par exemple, n'ajouter un widget que sur une certaine page reste encore mission &#8230; <a href="http://www.herewithme.fr/2009/12/30/barre-sidebar-automatique-par-page-sidebar-par-defaut/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Les widgets, bien qu'améliorer depuis WordPress 2.8 (avec la nouvelle classe PHP et la multiplicité de ces derniers), sont toujours une source de frustration pour les utilisateurs.<br />
Par exemple, n'ajouter un widget que sur une certaine page reste encore mission impossible ou presque !</p>
<p>Ici, je vais vous montrer avec 2 bouts de code, comment on peut générer automatiquement une barre de sidebar pour chaque page de votre blog/site sous WordPress, sans oublier une sidebar par défaut pour le reste du blog et les pages n'ayant aucun widget spécifique !</p>
<h3>Étape 1 : Enregistrement automatique des nouvelles sidebars</h3>
<p>Ici, on procède en 2 étapes,dans un premier temps on enregistre la sidebar par défaut, puis on récupère la liste complète des pages disponibles de votre blog via la fonction get_pages() et on fait une boucle dessus pour enregistrer chaque sidebar.</p>
<pre lang="php">&lt;?php
if ( function_exists('register_sidebar') ) {
 // Default sidebar
 register_sidebar(array(
 'id' =&gt; "sidebar-default",
 'name' =&gt; 'Sidebar par défaut',
 'before_widget' =&gt; '&lt;li id="%1$s"&gt;',
 'after_widget' =&gt; '&lt;/div&gt;&lt;/li&gt;',
 'before_title' =&gt; '&lt;h2&gt;',
 'after_title' =&gt; '&lt;/h2&gt;&lt;div&gt;',
 ));
 // One sidebar by page
 $_pages = get_pages();
 foreach( (array) $_pages as $_page ) {
 register_sidebar(array(
 'id' =&gt; "sidebar-$_page-&gt;ID",
 'name' =&gt; esc_html($_page-&gt;post_title),
 'before_widget' =&gt; '&lt;li id="%1$s"&gt;',
 'after_widget' =&gt; '&lt;/div&gt;&lt;/li&gt;',
 'before_title' =&gt; '&lt;h2&gt;',
 'after_title' =&gt; '&lt;/h2&gt;&lt;div&gt;',
 ));
 }
 unset($_pages, $_page);
 wp_reset_query();
}
?&gt;</pre>
<h3>Étape 2 : Appel de la sidebar depuis votre thème</h3>
<p><em>(Code généralement à placer dans le fichier sidebar.php de votre thème)</em></p>
<p>Ici il ne faut pas oublier d'ajouter la variable globale $wp_query, grâce à cette dernière nous récupérons l'ID de l'objet actuellement chargé, et je vérifie que je suis bien sur une page et que la sidebar est utilisée. (autrement dit qu'elle contient au moins un widget). Si ça n'est pas le cas, je charge la sidebar par défaut.</p>
<pre lang="php">&lt;?php
global $wp_query;
if ( function_exists('dynamic_sidebar') ) {
 if ( is_page() &amp;&amp; is_active_sidebar( 'sidebar-' . $wp_query-&gt;queried_object_id ) ) {
 dynamic_sidebar( 'sidebar-' . $wp_query-&gt;queried_object_id );
 }  else {
 dynamic_sidebar( 'sidebar-default' );
 }
}
?&gt;</pre>
<p>Vous pouvez retrouver l'intégralité du code depuis <a href="http://wordpress-fr.pastebin.com/f6b83552">cette page pastebin</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.herewithme.fr/2009/12/30/barre-sidebar-automatique-par-page-sidebar-par-defaut/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Compatibilité entre MailPress et les autres&#8230; Cforms, Viper Video Quicktags&#8230;</title>
		<link>http://www.herewithme.fr/2009/10/29/compatibilite-entre-mailpress-et-les-autres-cforms-viper-video-quicktags/</link>
		<comments>http://www.herewithme.fr/2009/10/29/compatibilite-entre-mailpress-et-les-autres-cforms-viper-video-quicktags/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 10:47:39 +0000</pubDate>
		<dc:creator>Amaury</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">http://www.herewithme.fr/?p=790</guid>
		<description><![CDATA[Comme beaucoup des utilisateurs de MailPress, je suis frustré de voir l'éditeur visuel cassé lors de la rédaction d'un email. En fait, il se trouve que MailPress fonctionne très bien lorsqu'il est installé sans aucun autre plugin interagissant avec l'éditeur &#8230; <a href="http://www.herewithme.fr/2009/10/29/compatibilite-entre-mailpress-et-les-autres-cforms-viper-video-quicktags/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.herewithme.fr/wp-content/uploads/2009/10/screen-capture.png"><img class="alignright size-full wp-image-792" title="MailPress" src="http://www.herewithme.fr/wp-content/uploads/2009/10/screen-capture.png" alt="MailPress" width="156" height="47" /></a>Comme beaucoup des utilisateurs de MailPress, je suis frustré de voir l'éditeur visuel cassé lors de la rédaction d'un email. En fait, il se trouve que MailPress fonctionne très bien lorsqu'il est installé sans aucun autre plugin interagissant avec l'éditeur visuel.</p>
<p>J'ai donc cherché une solution sur le net, et sur le groupe de support de MailPress, je suis tombé sur un <a href="http://groups.google.com/group/mailpress/browse_thread/thread/c4f366f5dab87fa5/ff6eeea2d9547b89?lnk=gst&amp;q=viper">sujet traitant du problème</a>, et la réponse d'André m'a fait sourire :)</p>
<blockquote><p>ask viper and cform dev to stop spreading their code all over all admin pages ! ?</p></blockquote>
<p>En fait, il a en partie raison... Les plugins en questions, Viper Video Quicktags, Cforms et bien d'autres, ajoutent sans trop se soucier leur bouton à l'éditeur visuel de WordPress, et ils ne font pas du tout attention sur quelle page est chargé l'éditeur et encore moins par quel plugin... Mais ils n'ont pas tort... Lorsque j'ajoute le plugin Viper Video Quicktags, je souhaite ajouter les boutons des services vidéos... Et si je déporte l'éditeur visuel sur une page du site, je souhaite également avoir ses boutons...</p>
<p>En fait, le fautif à mes yeux est WordPress, les filtres offrent des superbes possibilités d'extensibilité, mais le nombre d'incompatibilités entre les extensions est en croissance exponentielle... Ici, l'éditeur visuel devrait pouvoir être appelé avec ou sans les filtres. (WordPress le propose déjà pour la fonction get_posts/query_posts)</p>
<p>Mais trêve de bavardage, pour corriger l'incompatibilité, j'ai développé un petit plugin qui corrige la situation pour les 2 plugins (cforms, viper vidéo quicktags), et de la sorte pas besoin de modifier/désactiver l'un ou l'autre des plugins...</p>
<pre>&lt;?php
/*
Plugin Name: MailPress Fix TinyMCE
Plugin URI: http://www.herewithme.fr
Description: Fix TinyMCE for MailPress with Viper Video Quicktags and Cforms
Author: Amaury Balmer
Version: 0.1
Author URI: http://www.herewithme.fr
*/
add_action( 'init', 'fixTinyMCE_MailPress', 999 );
function fixTinyMCE_MailPress() {
 if ( !isset($_GET['page']) &amp;&amp; $_GET['page'] != 'mailpress_write' ) {
 return false;
 }
 // Viper video quicktags
 global $VipersVideoQuicktags;
 remove_filter( 'tiny_mce_version', array(&amp;$VipersVideoQuicktags, 'tiny_mce_version') );
 remove_filter( 'mce_external_plugins', array(&amp;$VipersVideoQuicktags, 'mce_external_plugins') );
 remove_action( 'edit_form_advanced', array(&amp;$VipersVideoQuicktags, 'AddQuicktagsAndFunctions') );
 remove_action( 'edit_page_form', array(&amp;$VipersVideoQuicktags, 'AddQuicktagsAndFunctions') );
 if ( 1 == $VipersVideoQuicktags-&gt;settings['tinymceline'] )
 remove_filter( 'mce_buttons', array(&amp;$VipersVideoQuicktags, 'mce_buttons') );
 else
 remove_filter( 'mce_buttons_' . $VipersVideoQuicktags-&gt;settings['tinymceline'], array(&amp;$VipersVideoQuicktags, 'mce_buttons') );
 // Cforms
 remove_filter( 'mce_external_plugins', 'cforms_plugin');
 remove_filter( 'mce_buttons', 'cforms_button');
 return true;
}
?&gt;</pre>
<p>Le fichier est également disponible au <a href="http://www.herewithme.fr/wp-content/uploads/2009/10/mailpress-fix-tinymce.txt">téléchargement ici.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.herewithme.fr/2009/10/29/compatibilite-entre-mailpress-et-les-autres-cforms-viper-video-quicktags/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Simple Tags et WordPress 2.8</title>
		<link>http://www.herewithme.fr/2009/06/16/simple-tags-et-wordpress-2-8/</link>
		<comments>http://www.herewithme.fr/2009/06/16/simple-tags-et-wordpress-2-8/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 15:05:50 +0000</pubDate>
		<dc:creator>Amaury</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Simple Tags]]></category>
		<guid isPermaLink="false">http://www.herewithme.fr/simple-tags-et-wordpress-2-8</guid>
		<description><![CDATA[Actuellement Simple Tags n&#8217;est pas toute à fait compatible avec WordPress 2.8. Une version optimisée et compatible est en préparation&#8230; patience ;) For english users : a new version of Simple Tags for WordPress 2.8 is in preparation and will &#8230; <a href="http://www.herewithme.fr/2009/06/16/simple-tags-et-wordpress-2-8/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Actuellement Simple Tags n&#8217;est pas toute à fait compatible avec WordPress 2.8.</p>
<p>Une version optimisée et compatible est en préparation&#8230; patience ;)</p>
<p>For english users : a new version of Simple Tags for WordPress 2.8 is in preparation and will be release soon !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herewithme.fr/2009/06/16/simple-tags-et-wordpress-2-8/feed/</wfw:commentRss>
		<slash:comments>47</slash:comments>
		</item>
		<item>
		<title>Méthodes pour minimiser le duplicate content de la pagination des commentaires de WordPress 2.7 !</title>
		<link>http://www.herewithme.fr/2009/03/26/methodes-pour-minimiser-le-duplicate-content-de-la-pagination-des-commentaires-de-wordpress-27/</link>
		<comments>http://www.herewithme.fr/2009/03/26/methodes-pour-minimiser-le-duplicate-content-de-la-pagination-des-commentaires-de-wordpress-27/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 13:50:22 +0000</pubDate>
		<dc:creator>Amaury</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[Commentaires]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Référencement naturel]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">http://www.herewithme.fr/?p=726</guid>
		<description><![CDATA[En regardant les erreurs de Google Webmaster Tools sur l&#8217;un de mes sites, je me suis rendu compte que j&#8217;ai un grand nombre de balises Title en double. En d&#8217;autres termes, Google considère que je fais du duplicate content. En &#8230; <a href="http://www.herewithme.fr/2009/03/26/methodes-pour-minimiser-le-duplicate-content-de-la-pagination-des-commentaires-de-wordpress-27/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>En regardant les erreurs de Google Webmaster Tools sur l&#8217;un de mes sites, je me suis rendu compte que j&#8217;ai un grand nombre de balises Title en double. En d&#8217;autres termes, Google considère que je fais du duplicate content.</p>
<p>En réalité, la source du problème vient de WordPress 2.7, cette nouvelle version a apporté une nouvelle API pour les commentaires, dont la fonctionnalité de pagination. Cette dernière est très pratique lorsqu&#8217;on a plus de 1000 commentaires de moyenne sur chaque article&#8230; ( ex: <a href="http://www.bordsdepistes.com/">Bords de Pistes</a> )</p>
<p>Prenons l&#8217;exemple de l&#8217;article &laquo;&nbsp;Top Chrono&nbsp;&raquo; que Lionel a rédigé, le lien de l&#8217;article est le suivant:</p>
<ul>
<li>http://www.bordsdepistes.com/2009/03/21/top-chrono/</li>
</ul>
<p>Vu qu&#8217;il y a 10 pages de commentaires, nous nous retrouvons avec 10 liens pour le même article:</p>
<ul>
<li>http://www.bordsdepistes.com/2009/03/21/top-chrono/comment-page-1/</li>
<li>&#8230;</li>
<li>http://www.bordsdepistes.com/2009/03/21/top-chrono/comment-page-10/</li>
</ul>
<p>10 pages où le titre, la description et le contenu sont les mêmes !</p>
<p>Autrement dit, nativement WordPress, qui est pourtant très bien optimisé pour le référencement, créé du duplicate content avec cette fonctionnalité. Un débat a eu lieu sur le <a href="http://comox.textdrive.com/pipermail/wp-hackers/2008-December/023189.html">mailing de WordPress</a>, et plusieurs hypothèses ont été envisagé, petit résumé de la situation.</p>
<p><strong>Les balises HTML méta</strong></p>
<p>Une première solution aurai été d&#8217;ajouter une balise méta &laquo;&nbsp;no index, follow&nbsp;&raquo; à la page. Bien que cette méthode règle le problème du duplicate content, l&#8217;inconvénient est que Google ne référence pas le contenu de tous les commentaires et de ce fait, c&#8217;est potentiellement un moins bon positionnement dans Google vu que moins de contenu est référencé !</p>
<p><strong>Utilisation de jQuery</strong></p>
<p>Une autre idée aurait été d&#8217;utiliser jQuery pour faire la pagination, avec le plugin Tabs par exemple. L&#8217;intérêt est que fonctionnellement on obtient bien une pagination. Cependant, cette technique est peu ou pas accessible, il oblige le chargement de jQuery dans les thèmes WordPress et surtout il force à écrire la totalité des commentaires dans le code HTML. Lorsqu&#8217;on a plus de 1800 commentaires, cela peut vite devenir contraignant !</p>
<h3>En pratique</h3>
<p>Pour résoudre ce problème de façon concrète, j&#8217;ai trouvé 2 solutions. Les deux sont d&#8217;ailleurs compatibles et fonctionnent mieux ensemble.</p>
<p><strong>Le contenu de l&#8217;article<br />
</strong></p>
<p>En remplaçant le contenu de l&#8217;article par l&#8217;extrait et un lien vers le lien de l&#8217;article, on retombe dans le schéma classique d&#8217;une page listant des articles comme peuvent l&#8217;être les catégories ou les tags.</p>
<p>De cette façon, Google ne considère plus le contenu comme du duplicate content et les commentaires sont bien référencés tout en étant liés à l&#8217;article avec le permalien et l&#8217;extrait !</p>
<p>Pour faire cette modification, vous pouvez utiliser l&#8217;extension de <a title="View all posts by Austin Matzko" href="http://pressedwords.com/solving-wordpress-seo-paged-comments-problem/">Austin Matzko</a> soit en utilisant son extension, soit en faisant un copier/coller de sa fonction directement dans le fichier functions.php de votre thème.</p>
<p><strong>Le titre de la page</strong></p>
<p>Malheureusement, la première méthode ne règle pas complètement le problème, le titre de la page HTML reste toujours le même sur chaque page de commentaires et cela gene Google. C&#8217;est là où rentre en jeu l&#8217;idée de <a href="http://www.christianschenk.org/blog/paginated-comments-copyblogger-theme/comment-page-1/#comment-4759">Christian Schenk</a> d&#8217;ajouter un suffixe au titre des pages de commentaires. L&#8217;astuce qu&#8217;il donne permet d&#8217;ajouter un suffixe à ces pages si vous utilisez l&#8217;extension All In One SEO Pack.</p>
<p>Pour y parvenir, il suffit de copier les 2 fonctions qu&#8217;il propose dans le fichier functions.php de son thème et de modifier le code de All In One SEO Pack pour permettre aux filtres de fonctionner.</p>
<p>On remarquera que la méthode n&#8217;est pas trop propre vu qu&#8217;on est obligé de hacker le plugin et comme c&#8217;est le genre de plugin qui est mis à jour toutes les 2 semaines, cela deviendra très rapidement pénalisant.</p>
<h3>Mon extension : Simple SEO for Paged Comments</h3>
<p>Afin de faciliter la résolution de ce petit problème, j&#8217;ai créé une petite extension qui utilise les 2 techniques données précédemment. A la différence près que le titre des pages de commentaires se verra ajouter un suffixe, et ceux sans nécessairement utiliser All In One SEO Pack (et encore moins le hacker). Théoriquement ma technique doit fonctionner avec tous les plugins SEO de la communauté.</p>
<p>Vous pouvez trouver la<a href="http://www.herewithme.fr/wordpress-plugins/simple-seo-for-paged-comments"> fiche de l&#8217;extension sur mon blog</a> et prochainement sur WordPress.org.</p>
<h3>Sources</h3>
<p>Un peu de lecture en anglais ;)</p>
<ul>
<li><a href="http://www.christianschenk.org/blog/paginated-comments-copyblogger-theme/comment-page-1/#comment-4759">Paginated comments with WordPress 2.7 and the Copyblogger theme</a></li>
<li><a href="http://pressedwords.com/solving-wordpress-seo-paged-comments-problem/">Paged Comments and the SEO Problem: A Solution</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.herewithme.fr/2009/03/26/methodes-pour-minimiser-le-duplicate-content-de-la-pagination-des-commentaires-de-wordpress-27/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Nouvelle API de Widgets pour WordPress 2.8, et un multi widget pour l&#8217;extension WP-Polls !</title>
		<link>http://www.herewithme.fr/2009/03/18/nouvelle-api-widgets-wordpress-28-et-un-multi-widget-extension-wp-polls/</link>
		<comments>http://www.herewithme.fr/2009/03/18/nouvelle-api-widgets-wordpress-28-et-un-multi-widget-extension-wp-polls/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 07:36:26 +0000</pubDate>
		<dc:creator>Amaury</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Widgets]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">http://www.herewithme.fr/?p=702</guid>
		<description><![CDATA[Alors qu&#8217;il n&#8217;y a pas encore de changements sur l&#8217;UI des Widgets, l&#8217;API de développement des Widgets a été revue ! Il est clair que pour les développeurs d&#8217;extensions et de Widgets l&#8217;ancienne API n&#8217;était pas à la hauteur pour &#8230; <a href="http://www.herewithme.fr/2009/03/18/nouvelle-api-widgets-wordpress-28-et-un-multi-widget-extension-wp-polls/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Alors qu&#8217;il n&#8217;y a pas encore de changements sur l&#8217;UI des Widgets, l&#8217;API de développement des <a href="http://wpdevel.wordpress.com/2009/03/18/converting-default-widgets-to-the-new-wi/">Widgets a été revue</a> ! Il est clair que pour les développeurs d&#8217;extensions et de Widgets l&#8217;ancienne API n&#8217;était pas à la hauteur pour la gestion des Widgets multiples&#8230;</p>
<p>Eh oui&#8230; Entre WordPress 2.3 et WordPress 2.7, l&#8217;API des widgets n&#8217;a pas bougé d&#8217;un pouce alors que l&#8217;ergonomie et l&#8217;apparence ont complètement changé&#8230; L&#8217;une des problématiques les plus courantes était dans le cadre de thèmes avec un grand nombre de sidebars&#8230; Et oui à part 2-3 Widgets (comme le texte) qui proposaient l&#8217;ajout multiple, on était vite coincé&#8230;</p>
<p>Par exemple, dans WordPress 2.7, il est impossible de placer un widget &laquo;&nbsp;catégories&nbsp;&raquo; sur 2 sidebars en même temps&#8230; Frustrant lorsqu&#8217;on souhaite gérer des sidebars différentes selon la vue (tags, archives, catégories&#8230;) où l&#8217;on se trouve !</p>
<p>Pour remédier à cela, il fallait créer des widgets multiples, autrement dit que l&#8217;on peut ajouter plusieurs fois, la problématique étant que peu d&#8217;extensions proposées ce fonctionnement, car plus compliqué à développer.</p>
<p><strong>WP-Polls</strong></p>
<p>C&#8217;est le cas par exemple de <a href="http://wordpress.org/extend/plugins/wp-polls/">WP-Polls</a> 2.40, une extension permettant de gérer des sondages, qui par défaut ne possède qu&#8217;un seul widget. Cela peut poser problème si vous souhaitez afficher 2 sondages sur 2 sidebars différentes.</p>
<p>Pour mes <a href="http://wp-box.fr">besoins pros</a>, j&#8217;ai dû adapté cette extension afin de la rendre compatible multi widget, et ainsi pouvoir placer autant de sondages que le client souhaitait sur ces sidebars. Je mets par la même occasion à disposition le widget en téléchargement ci-dessous :</p>
<blockquote><p><a href="http://www.herewithme.fr/wp-content/uploads/2009/03/wp-polls-widget-multi.phps">WP Polls Widget Multi</a> v2.40 (à renommer en .php et placer dans le dossier &laquo;&nbsp;wp-content/plugins&nbsp;&raquo;)</p></blockquote>
<p>Et voici un petit apercu de 4 widget &laquo;&nbsp;Poll&nbsp;&raquo; en place avec encore la possibilité d&#8217;en ajouter :</p>
<p><div id="attachment_714" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.herewithme.fr/wp-content/uploads/2009/03/multi-wp-polls.png"><img class="size-medium wp-image-714" title="WP-Polls Multi Widget" src="http://www.herewithme.fr/wp-content/uploads/2009/03/multi-wp-polls-300x125.png" alt="La version multi widget de l'extension WP-Polls" width="300" height="125" /></a><p class="wp-caption-text">La version multi widget de l&#39;extension WP-Polls</p></div></p>
<p>La difficulté de WordPress 2.7, c&#8217;est que l&#8217;API pour faire du multi widget est très rudimentaire et de ce fait pas évident à manipuler pour les développeurs d&#8217;extensions non confirmés&#8230;</p>
<p><strong>Petite comparaison :</strong></p>
<ul>
<li>Mon widget multi de WP-Polls (WP 2.7) fait 240 lignes. (dispo ci-dessus)</li>
<li>Le même widget (quasiment) fait par l&#8217;auteur de <a href="http://lesterchan.net/wordpress/2009/03/17/new-wp_widget-class-in-wordpress-28/">WP-Polls avec l&#8217;API 2.8</a> ne fait plus que 75 lignes.</li>
</ul>
<p>Évidemment lorsque l&#8217;API est optimisée, c&#8217;est tout de suite plus simple et plus rapide de créer du multi widget ;)</p>
<p>Contrairement à l&#8217;ancienne API qui n&#8217;était composée que de fonctions PHP classiques, la nouvelle API va faire plaisir au puriste PHP ! Et oui pour la première fois (ou presque), nous devrons étendre une classe existante de WordPress pour ajouter nos widgets, hop petit exemple :</p>
<pre class="php">class WP_Widget_Polls extends WP_Widget {</pre>
<p>Sur ce rythme on ne pourra bientôt plus critiquer WordPress pour la qualité de son code ;) Bien entendu, tout cela reste compatible PHP4 ! (ce qui n&#8217;est pas un cadeau pour les développeurs de WP)</p>
<p>Je ne détaille pas plus ici l&#8217;utilisation de la nouvelle API des widgets, j&#8217;en reparlerai avec un cas pratique lors de la sortie de WP 2.8. Pour info, la discussion relative à la<a href="http://core.trac.wordpress.org/ticket/8441"> nouvelle API est disponible sur le trac de WP</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herewithme.fr/2009/03/18/nouvelle-api-widgets-wordpress-28-et-un-multi-widget-extension-wp-polls/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Y&#8217;a pas que Tidy dans la vie pour nettoyer son code !</title>
		<link>http://www.herewithme.fr/2009/03/13/ya-pas-que-tidy-dans-la-vie-pour-nettoyer-son-code/</link>
		<comments>http://www.herewithme.fr/2009/03/13/ya-pas-que-tidy-dans-la-vie-pour-nettoyer-son-code/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 23:18:01 +0000</pubDate>
		<dc:creator>Amaury</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[PHP]]></category>
		<guid isPermaLink="false">http://www.herewithme.fr/?p=686</guid>
		<description><![CDATA[Tidy, pour rappel, est une librairie se présentant sous la forme d&#8217;une extension pour PHP. Elle permet de nettoyer, sécuriser, valider le code HTML.C&#8217;est une librairie très pratique lorsqu&#8217;on récupère un contenu HTML en provenance de Word par exemple. Le &#8230; <a href="http://www.herewithme.fr/2009/03/13/ya-pas-que-tidy-dans-la-vie-pour-nettoyer-son-code/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Tidy, pour rappel, est une librairie se présentant sous la forme d&#8217;une extension pour PHP. Elle permet de nettoyer, sécuriser, valider le code HTML.C&#8217;est une librairie très pratique lorsqu&#8217;on récupère un contenu HTML en provenance de Word par exemple.</p>
<p>Le problème de Tidy, c&#8217;est que généralement l&#8217;extension n&#8217;est pas activée sur les hébergements mutualisés !</p>
<p>Je suis tombé cet après-midi, en faisant des recherches pour une preg nettoyant le code HTML de MS Word, sur une alternative à Tidy écrit entièrement en PHP, j&#8217;ai nommé &laquo;&nbsp;<a href="http://www.bioinformatics.org/phplabware/internal_utilities/htmLawed/">htmLawed</a>&laquo;&nbsp;. Comme le souligne l&#8217;auteur du script, les performances sont certes moins bonnes, mais on gagne en compatibilité vu que le script ne nécessite que PHP 4 !</p>
<p>Le script s&#8217;intègre d&#8217;ailleurs assez facilement avec WordPress, et il semble possible de remplacer le <a href="http://www.bioinformatics.org/phplabware/forum/viewtopic.php?id=44">filtre KSES de WP</a> sans trop de modifications. D&#8217;ailleurs, d&#8217;après ce que j&#8217;ai pu voir sur les forums de support de WordPress.org, un paquet de personnes milite pour le remplacement la vieillissante classe Kses par htmlLawed&#8230; On verra ;)</p>
<p>Pour ma part, j&#8217;ai rencontré quelques soucis avec les accents et l&#8217;encodage UTF-8, donc je reste prudent avec l&#8217;usage de htmlLawed !<br />
Des personnes ont déjà essayé ?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herewithme.fr/2009/03/13/ya-pas-que-tidy-dans-la-vie-pour-nettoyer-son-code/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Un sélecteur de date JavaScript très impressionnant et très joli</title>
		<link>http://www.herewithme.fr/2009/03/12/un-selecteur-de-date-javascript-tres-impressionnant-et-tres-joli/</link>
		<comments>http://www.herewithme.fr/2009/03/12/un-selecteur-de-date-javascript-tres-impressionnant-et-tres-joli/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 21:35:49 +0000</pubDate>
		<dc:creator>Amaury</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[JavaScript]]></category>
		<guid isPermaLink="false">http://www.herewithme.fr/?p=681</guid>
		<description><![CDATA[Je viens de tomber sur un script qui m&#8217;a l&#8217;air très bien foutu, accessible, complet, joli, ergonomique&#8230; bref du très beau travail. Pour voir la bête, il suffit d&#8217;aller sur la page de l&#8217;auteur : http://www.frequency-decoder.com/2009/02/03/unobtrusive-date-picker-widget-v4 Dommage que le script &#8230; <a href="http://www.herewithme.fr/2009/03/12/un-selecteur-de-date-javascript-tres-impressionnant-et-tres-joli/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Je viens de tomber sur un script qui m&#8217;a l&#8217;air très bien foutu, accessible, complet, joli, ergonomique&#8230; bref du très beau travail.</p>
<p style="text-align: center;"><img class="size-full wp-image-683 aligncenter" title="Datepicket" src="http://www.herewithme.fr/wp-content/uploads/2009/03/screen-capture.png" alt="Selecteur de date" width="473" height="352" /></p>
<p>Pour voir la bête, il suffit d&#8217;aller sur la page de l&#8217;auteur :<br />
<a href="http://www.frequency-decoder.com/2009/02/03/unobtrusive-date-picker-widget-v4">http://www.frequency-decoder.com/2009/02/03/unobtrusive-date-picker-widget-v4</a></p>
<p>Dommage que le script ne soit pas fait via jQuery, il aurait probablement été plus light, néanmoins il fonctionne sans librairie, ce qui est déjà très sympa en soit !</p>
<p>Je sais déjà où je vais l&#8217;utiliser ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herewithme.fr/2009/03/12/un-selecteur-de-date-javascript-tres-impressionnant-et-tres-joli/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mise à jour vers WordPress 2.7.1, Solutions pour la notification de mise à jour récalcitrante !</title>
		<link>http://www.herewithme.fr/2009/03/10/mise-jour-wordpress-271-solutions-notification-mise-jour-recalcitrante/</link>
		<comments>http://www.herewithme.fr/2009/03/10/mise-jour-wordpress-271-solutions-notification-mise-jour-recalcitrante/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 14:33:02 +0000</pubDate>
		<dc:creator>Amaury</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[WordPress]]></category>
		<guid isPermaLink="false">http://www.herewithme.fr/?p=672</guid>
		<description><![CDATA[Lors de la publication de WP 2.7.1, j'ai mis à disposition l'archive comprenant les fichiers modifiés sur WordPress Francophone. Malheureusement, il manque un fichier dans ce pack... ou plutôt il manque une ligne dans le fichier "version.php" ! La ligne &#8230; <a href="http://www.herewithme.fr/2009/03/10/mise-jour-wordpress-271-solutions-notification-mise-jour-recalcitrante/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Lors de la publication de WP 2.7.1, j'ai mis à disposition l'archive comprenant les fichiers modifiés sur WordPress Francophone. Malheureusement, il manque un fichier dans ce pack... ou plutôt il manque une ligne dans le fichier "version.php" !</p>
<p>La ligne à ajouter est la suivante :</p>
<pre>$wp_local_package = 'fr_FR';</pre>
<p>Elle permet de préciser la langue utilisée pour les mises à jour. Une fois le fichier modifié, vous devrez voir la notification disparaitre lors de la prochaine vérification de version de WordPress !</p>
<p>Si vous ne souhaitez ou ne pouvez pas faire la modification, n'oubliez pas qu'il est possible de masquer les mises à jour, pour cela il faut se rendre sur la page "Outils - Mettre à jour".</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herewithme.fr/2009/03/10/mise-jour-wordpress-271-solutions-notification-mise-jour-recalcitrante/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

