<?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; PHP</title>
	<atom:link href="http://www.herewithme.fr/tag/php/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>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>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>Comment insérer toutes les images de son blog dans un article, et avec pagination ! Pour henri !</title>
		<link>http://www.herewithme.fr/2008/12/27/comment-inserer-toutes-les-images-de-son-blog-dans-un-article-et-avec-pagination-pour-henri/</link>
		<comments>http://www.herewithme.fr/2008/12/27/comment-inserer-toutes-les-images-de-son-blog-dans-un-article-et-avec-pagination-pour-henri/#comments</comments>
		<pubDate>Sat, 27 Dec 2008 19:09:21 +0000</pubDate>
		<dc:creator>Amaury</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WP-Box]]></category>
		<guid isPermaLink="false">http://www.herewithme.fr/?p=612</guid>
		<description><![CDATA[L&#8217;autre jour, Henri du blog 2803,  expliquait sur son blog 2 problèmes qu&#8217;il rencontrait sous WordPress. L&#8217;un d&#8217;entre eux était: Comment insérer toutes les images de son blog dans un article, mais avec de la pagination ! Sans pagination, c&#8217;est &#8230; <a href="http://www.herewithme.fr/2008/12/27/comment-inserer-toutes-les-images-de-son-blog-dans-un-article-et-avec-pagination-pour-henri/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>L&#8217;autre jour, Henri du blog<a href="http://www.2803.fr/wordpress/besoin-de-vos-lumieres-en-programmation-4531/"> 2803</a>,  expliquait sur <a href="http://www.2803.fr/wordpress/besoin-de-vos-lumieres-en-programmation-4531/">son blog</a> 2 problèmes qu&#8217;il rencontrait sous WordPress.</p>
<p>L&#8217;un d&#8217;entre eux était:</p>
<blockquote><p>Comment insérer toutes les images de son blog dans un article, mais avec de la pagination !</p></blockquote>
<p>Sans pagination, c&#8217;est très simple. Il suffit d&#8217;utiliser la fonction get_posts() pour récupérer les images.</p>
<p>D&#8217;ailleurs petite précision, pour ne récupérer que les attachements de type &laquo;&nbsp;image&nbsp;&raquo;, il faut préciser le paramètre :</p>
<blockquote><p>&#8216;post_mime_type&#8217; =&gt; &#8216;image&#8217;</p></blockquote>
<p>Pour gérer la pagination, j&#8217;ai choisi d&#8217;utiliser la pagination internet de WordPress, celle permise avec les marqueurs &laquo;&nbsp;nextpage&nbsp;&raquo;. Pour la galerie, j&#8217;utiliserai la même. Pour cela, j&#8217;ai été obligé de créer une petite extension permettant l&#8217;insertion d&#8217;un shortcode.</p>
<p>Voila le mode d&#8217;exécution :</p>
<ol>
<li>Je récupère l&#8217;article juste après la requête SQL de WordPress.</li>
<li>Je force l&#8217;application du shortcode dans le contenu de l&#8217;article récupéré.</li>
<li>Je récupère les images</li>
<li>Je fais une boucle pour imprimer les images et tous les X images, j&#8217;imprime le marqueur &laquo;&nbsp;nextpage&nbsp;&raquo;</li>
</ol>
<p>Ainsi, WordPress lors de l&#8217;affichage propose la pagination des articles. Pour cela, il ne faut pas oublier la fonction wp_list_pages() dans les fichiers single.php ou page.php (selon le cas article ou page).</p>
<p>Le shortcode permet de paramétrer, la taille des images, le nombre d&#8217;images par page et optionnellement l&#8217;ID d&#8217;un article parent. Tout cela est décortiqué dans le code de l&#8217;extension.</p>
<p>Vous pouvez retrouver cette extension depuis mon <a href="http://trac.wp-box.fr/opensource">trac de plugins open-source</a>, plus précisément dans le dossier <a href="http://trac.wp-box.fr/opensource/browser/simple-all-pictures/trunk/simple-all-pictures.php">Simple All Pictures</a>.<br />
Pour télécharger le fichier, allez en bas de la page,  et sous l&#8217;intitulé &laquo;&nbsp;Download in other formats:&nbsp;&raquo;, sélectionnez le format que vous voulez.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herewithme.fr/2008/12/27/comment-inserer-toutes-les-images-de-son-blog-dans-un-article-et-avec-pagination-pour-henri/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Méthode pour exclure les tags d&#8217;une catégorie pour qu&#8217;ils ne s&#8217;affichent pas dans le nuage de tags de l&#8217;extension Simple Tags</title>
		<link>http://www.herewithme.fr/2008/10/19/methode-exclure-tags-categorie-nuage-tags-extension-simple-tags/</link>
		<comments>http://www.herewithme.fr/2008/10/19/methode-exclure-tags-categorie-nuage-tags-extension-simple-tags/#comments</comments>
		<pubDate>Sun, 19 Oct 2008 21:17:48 +0000</pubDate>
		<dc:creator>Amaury</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Simple Tags]]></category>
		<guid isPermaLink="false">http://www.herewithme.fr/?p=553</guid>
		<description><![CDATA[Suite à une demande que l&#8217;on m&#8217;a faite à propos de Simple Tags, je préfère partager le code au lieu de le jetter, peut être que ca aidera ;) Pour le but du code tout est dit dans le titre &#8230; <a href="http://www.herewithme.fr/2008/10/19/methode-exclure-tags-categorie-nuage-tags-extension-simple-tags/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Suite à une demande que l&#8217;on m&#8217;a faite à propos de Simple Tags, je préfère partager le code au lieu de le jetter, peut être que ca aidera ;)</p>
<p>Pour le but du code tout est dit dans le titre ou presque&#8230; le code qui va bien suit!</p>
<pre class="php">&lt;?php
// ID de la catégorie
$category_id = 3;
// On récupérer les ID des articles
$post_ids = get_objects_in_term( $category_id, 'category' );
// On récupérer les ID des tags liés à ces articles
$tag_ids = wp_get_object_terms( (array) $post_ids, 'post_tag', array('fields' =&gt; 'ids') );
// On passe le tableau des tags dans une chaine de caractère séparé de ","
$tag_param = '';
if ( ! empty($tag_ids) ) {
$tag_param = 'exclude=' . implode(',', (array) $tag_ids );
}
// On utilise Simple Tags - Nuage de tags
st_tag_cloud('number=100&amp;'.$tag_param);
?&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.herewithme.fr/2008/10/19/methode-exclure-tags-categorie-nuage-tags-extension-simple-tags/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WordPress Mu à haute fréquentation ? Problèmes de pages blanches ?</title>
		<link>http://www.herewithme.fr/2008/08/23/wordpress-mu-haute-frequentation-pages-blanches/</link>
		<comments>http://www.herewithme.fr/2008/08/23/wordpress-mu-haute-frequentation-pages-blanches/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 22:38:16 +0000</pubDate>
		<dc:creator>Amaury</dc:creator>
				<category><![CDATA[blog]]></category>
		<category><![CDATA[apc]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[eAccelerator]]></category>
		<category><![CDATA[kses]]></category>
		<category><![CDATA[opcode]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[segmentation]]></category>
		<category><![CDATA[Serveur]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress Mu]]></category>
		<guid isPermaLink="false">http://www.herewithme.fr/?p=395</guid>
		<description><![CDATA[Les symptômes ? Page blanche sur le tableau de bord et la page apparence Page blanche lors de la publication d'un article et/ou d'un commentaire Le problème intervient sur les installations WordPress Mu à haute fréquentation uniquement. Cause possible ? &#8230; <a href="http://www.herewithme.fr/2008/08/23/wordpress-mu-haute-frequentation-pages-blanches/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<h3>Les symptômes ?</h3>
<ul>
<li>Page blanche sur le tableau de bord et la page apparence</li>
<li>Page blanche lors de la publication d'un article et/ou d'un commentaire</li>
</ul>
<p>Le problème intervient sur les installations WordPress Mu à haute fréquentation uniquement.</p>
<h3>Cause possible ?</h3>
<p>Créer un fichier info.php à la racine de votre blog, placez-y :</p>
<blockquote><p>&lt;?php phpinfo(); ?&gt;</p>
</blockquote>
<p>Enregistrez le fichier, consultez la page générée et partez à la recherche de l'extension eAccelerator pour PHP.</p>
<p>Si le module est présent; vous êtes simplement victime d'un bug avec les caches OPcode PHP et les fonctions de filtrage HTML Kses de WordPress. Cela provoque une erreur de segmentation PHP, et hop page blanche.</p>
<h3>La solution ?</h3>
<p>Désinstallez eAccelerator de votre serveur dédié. Installez à la place l'extension pour PHP, j'ai nommé <a href="http://fr2.php.net/manual/fr/book.apc.php">Alternative PHP Cache</a> (APC).</p>
<p>Et n'oubliez pas de filtrer le fichier kses.php de l'optimisation. Pour cela, ajoutez dans votre fichier de configuration de PHP la ligne suivante:</p>
<blockquote><p>apc.filters = "(kses.php)"</p>
</blockquote>
<p>Redémarrez votre serveur Web et hop problème résolu !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herewithme.fr/2008/08/23/wordpress-mu-haute-frequentation-pages-blanches/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Et une petite classe PHP très pratique pour exploiter Curl !</title>
		<link>http://www.herewithme.fr/2008/08/03/et-une-petite-classe-php-tres-pratique-pour-exploiter-curl/</link>
		<comments>http://www.herewithme.fr/2008/08/03/et-une-petite-classe-php-tres-pratique-pour-exploiter-curl/#comments</comments>
		<pubDate>Sun, 03 Aug 2008 18:05:00 +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=352</guid>
		<description><![CDATA[Je reprend un peu mon activité &#171;&#160;bloggeur&#160;&#187;, que j&#8217;ai du mettre entre parenthèse quelque temps, par manque de temps tout simplement&#8230; Bref, revenons à nos moutons, aujourd&#8217;hui j&#8217;ai eu besoin de travailler avec Curl pour récupérer une page distante. Rien &#8230; <a href="http://www.herewithme.fr/2008/08/03/et-une-petite-classe-php-tres-pratique-pour-exploiter-curl/">Lire la Suite <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.herewithme.fr/wp-content/uploads/2008/08/logo-php.png"><img class="alignright size-full wp-image-354" title="logo-php" src="http://www.herewithme.fr/wp-content/uploads/2008/08/logo-php.png" alt="" width="180" height="95" /></a>Je reprend un peu mon activité &laquo;&nbsp;bloggeur&nbsp;&raquo;, que j&#8217;ai du mettre entre parenthèse quelque temps, par manque de temps tout simplement&#8230;</p>
<p>Bref, revenons à nos moutons, aujourd&#8217;hui j&#8217;ai eu besoin de travailler avec Curl pour récupérer une page distante. Rien de très folichon !</p>
<p>En général, je travaille directement avec les fonctions PHP destinées à CURL, mais quoi qu&#8217;on en dise, 12 define CURL à la suite pour un petit appel GET, ça n&#8217;est pas très lisible.</p>
<p>Je suis tombé, via un <a href="http://fr3.php.net/manual/fr/ref.curl.php#83041">commentaire de php.net</a>, sur une petite classe, compatible PHP4 et PHP5, simplifiant l&#8217;usage de CURL&#8230;Cette classe, on peut la trouver sur le <a href="http://github.com/shuber/curl/tree/master">dépôt Git Hub</a>.</p>
<p>Et maintenant, petit exemple pour récupérer une page web avec cette classe:</p>
<pre lang="php">require_once 'curl.php';
$curl = new Curl;
$response = $curl-&gt;get('google.com?q=test');</pre>
<p>Pas de doute, c&#8217;est tout de suite plus joli :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.herewithme.fr/2008/08/03/et-une-petite-classe-php-tres-pratique-pour-exploiter-curl/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

