<?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>Bertrand Soulier &#187; Astuces et Tutoriaux</title>
	<atom:link href="http://www.bertrand-soulier.com/category/archives/tutoriaux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bertrand-soulier.com</link>
	<description>Coach digital, blogueur, éditeur de sites d&#039;information locale, formateur</description>
	<lastBuildDate>Thu, 02 Feb 2012 20:26:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Gérer plusieurs utilisateurs sous Google Chrome</title>
		<link>http://www.bertrand-soulier.com/2011/12/28/chrome-plusieurs-utilisateurs/</link>
		<comments>http://www.bertrand-soulier.com/2011/12/28/chrome-plusieurs-utilisateurs/#comments</comments>
		<pubDate>Wed, 28 Dec 2011 08:50:10 +0000</pubDate>
		<dc:creator>bertrand</dc:creator>
				<category><![CDATA[Astuces et Tutoriaux]]></category>
		<category><![CDATA[chrome]]></category>

		<guid isPermaLink="false">http://www.bertrand-soulier.com/?p=3226</guid>
		<description><![CDATA[Google Chrome possède une fonction très utile de gestion des utilisateurs. La fonction a été ajoutée début novembre. Elle permet de créer des profils séparés ayant leurs propres réglages, bookmarks, sessions, extensions&#8230; Il suffit d&#8217;aller dans Préférences &#62; Données personnelles pour créer un nouvel utilisateur. Cette fonction a été prévue à l&#8217;origine pour ceux qui partagent le [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Google Chrome possède une fonction très utile de <a href="http://chrome.blogspot.com/2011/11/take-your-chrome-stuff-with-you-in-new.html">gestion des utilisateurs</a>. La fonction a été ajoutée début novembre. Elle permet de créer des profils séparés ayant leurs propres réglages, bookmarks, sessions, extensions&#8230; Il suffit d&#8217;aller dans <em>Préférences &gt; Données personnelles</em> pour créer un nouvel utilisateur.</p>
<p><img style="display: block; margin-left: auto; margin-right: auto;" title="utilisateurs-chrome.png" src="http://www.bertrand-soulier.com/wp-content/uploads/2011/12/utilisateurs-chrome.png" border="0" alt="Utilisateurs chrome" width="600" height="264" /></p>
<p>Cette fonction a été prévue à l&#8217;origine pour ceux qui partagent le même ordinateur. Mais elle s&#8217;avère très pratique pour le community manager qui doit jongler entre plusieurs profils. Avant cette fonction, j&#8217;utilisais plusieurs navigateurs pour faire la même chose. L&#8217;avantage de cette méthode est de pouvoir utiliser ses extensions habituelles même s&#8217;il faut les réinstaller.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bertrand-soulier.com/2011/12/28/chrome-plusieurs-utilisateurs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ajouter facilement rel=”author” and rel=”me” dans son blog WordPress</title>
		<link>http://www.bertrand-soulier.com/2011/10/24/informations-google-auteur/</link>
		<comments>http://www.bertrand-soulier.com/2011/10/24/informations-google-auteur/#comments</comments>
		<pubDate>Mon, 24 Oct 2011 22:51:35 +0000</pubDate>
		<dc:creator>bertrand</dc:creator>
				<category><![CDATA[Astuces et Tutoriaux]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[référencement]]></category>
		<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://votrecoachweb.com/?p=280</guid>
		<description><![CDATA[Google a décidé de mettre en avant très clairement dans les résultats de recherche les profils des personnes et les contenus qu&#8217;elles produisent. Pour cela il faut l&#8217;aider un peu en marquant vos contenus avec les marqueurs rel=”author” et rel=”me” pour indiquer les contenus que vous produisez. Voici comment le faire très simplement quand vous [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Google a décidé de mettre en avant très clairement dans les  résultats de  recherche les profils des personnes et les contenus qu&#8217;elles produisent.</p>
<p>Pour cela il faut l&#8217;aider un peu en marquant vos contenus avec les marqueurs <em>rel=”author”</em> et <em>rel=”me”</em> pour indiquer les contenus que vous produisez. Voici <a href="http://yoast.com/wordpress-rel-author-rel-me/">comment le faire très simplement quand vous avez un blog WordPress</a>.</p>
<p>Je l&#8217;ai fait ici même en moins de 5 minutes en modifiant le lien vers <a rel="”author”" href="http://votrecoachweb.com/qui">ma page de présentation</a> dans le menu et en ajoutant dans cette page de présentation un lien vers <a rel="me" href="https://plus.google.com/116136797959829119946/about">mon profil Google+</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bertrand-soulier.com/2011/10/24/informations-google-auteur/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Analytics en temps réel</title>
		<link>http://www.bertrand-soulier.com/2011/09/30/google-analytics-temps-reel/</link>
		<comments>http://www.bertrand-soulier.com/2011/09/30/google-analytics-temps-reel/#comments</comments>
		<pubDate>Fri, 30 Sep 2011 06:44:03 +0000</pubDate>
		<dc:creator>bertrand</dc:creator>
				<category><![CDATA[Astuces et Tutoriaux]]></category>
		<category><![CDATA[Google Analytics]]></category>
		<category><![CDATA[statistiques]]></category>

		<guid isPermaLink="false">http://votrecoachweb.com/?p=190</guid>
		<description><![CDATA[Jusqu&#8217;à maintenant il y avait toujours un petit décalage pour obtenir les statistiques de visite de votre site dans Google Analytics. Cela ne m&#8217;a sincèrement jamais gêné mais beaucoup de services se sont développés sur cette promesse du temps réel. Google a donc réagi. Dans quelques jours, Google Analytics affichera certaines données en direct, ou [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Jusqu&#8217;à maintenant il y avait toujours un petit décalage pour obtenir les statistiques de visite de votre site dans Google Analytics. Cela ne m&#8217;a sincèrement jamais gêné mais beaucoup de services se sont développés sur cette promesse du temps réel. Google a donc réagi.</p>
<p>Dans quelques jours, <a href="http://analytics.blogspot.com/2011/09/whats-happening-on-your-site-right-now.html">Google Analytics</a> affichera certaines données en direct, ou à 5 minutes près : combien de personnes visites votre site, le nombre de pages vues, les pages les plus visitées, les sites référents&#8230; </p>
<p><img style="display:block; margin-left:auto; margin-right:auto;" src="http://votrecoachweb.com/wp-content/uploads/2011/09/real-time-google-analytics.png" alt="Real time google analytics" title="real-time-google-analytics.png" border="0" width="400" height="215" /></p>
<p>Voilà qui ne va pas révolutionner le monde et je ne suis vraiment pas partisan d&#8217;avoir l&#8217;oeil trop rivé sur ses statistiques. Toutefois les plus impatients vont pouvoir mesurer en direct l&#8217;impact d&#8217;un lien dans un blog ou un compte twitter très visité, une citation dans une émission radio ou télévisée, la réaction à une campagne e-mailing ou SMS&#8230;</p>
<p>Le service sera disponible dans quelques jours pour tout le monde, mais si vous êtes aussi curieux que moi vous pouvez <a href="https://services.google.com/fb/forms/realtimeanalytics/">demander un accès en avant-première</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bertrand-soulier.com/2011/09/30/google-analytics-temps-reel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook supprime la limite des 25 fans pour personnaliser l&#8217;url de sa page</title>
		<link>http://www.bertrand-soulier.com/2011/09/16/limite-vanity-url-facebook/</link>
		<comments>http://www.bertrand-soulier.com/2011/09/16/limite-vanity-url-facebook/#comments</comments>
		<pubDate>Fri, 16 Sep 2011 16:36:00 +0000</pubDate>
		<dc:creator>bertrand</dc:creator>
				<category><![CDATA[Astuces et Tutoriaux]]></category>
		<category><![CDATA[facebook]]></category>

		<guid isPermaLink="false">http://votrecoachweb.com/?p=153</guid>
		<description><![CDATA[Facebook a modifié les règles concernant la Vanity URL d&#8217;une page, c&#8217;est-à-dire l&#8217;adresse personnalisée simplifiée. C&#8217;est un peu le &#171;&#160;nom de domaine&#160;&#187; de votre page sur Facebook. Cette URL personnalisée est donc importante. Jusqu&#8217;à maintenant il fallait attendre d&#8217;avoir 25 fans pour avoir le droit de changer cette adresse. Désormais vous pouvez le faire dès [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Facebook a modifié les règles concernant la Vanity URL d&#8217;une page, c&#8217;est-à-dire l&#8217;adresse personnalisée simplifiée. C&#8217;est un peu le &laquo;&nbsp;nom de domaine&nbsp;&raquo; de votre page sur Facebook. Cette URL personnalisée est donc importante.</p>
<p><span id="more-2977"></span>
<p>Jusqu&#8217;à maintenant il fallait attendre d&#8217;avoir 25 fans pour avoir le droit de changer cette adresse. Désormais vous pouvez le faire dès la création de la page. Voilà qui simplifie la vie, si vous voulez l&#8217;inclure dans un document écrit avant son lancement officiel par exemple.</p>
<p><strong>Conseils pour la choisir :</strong></p>
<ul>
<li>Elle doit être facilement mémorisable,</li>
<li>Elle doit être courte,</li>
<li>Facile à communiquer,</li>
<li>Pensez que la plupart du temps elle vous servira quand vous devrez donner le nom de la page à l&#8217;oral ou dans un document écrit comme une carte de visite ou une affiche.</li>
</ul>
<p>Si ce n&#8217;est pas déjà fait pour vos pages, il suffit de se rendre sur <a href="https://www.facebook.com/username/">cette page</a>, choisir sa page et indiquer le nom souhaité. Attention, une fois choisie, cette URL ne peut pas être changée.</p>
<p>Enfin, comme pour le nom de domaine de votre projet pensez à la réserver rapidement et même dès le début. Avec ce changement de règle, le cybersquatting pourrait bien augmenter.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bertrand-soulier.com/2011/09/16/limite-vanity-url-facebook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Comment je me suis cloné (en photos)</title>
		<link>http://www.bertrand-soulier.com/2011/08/02/comment-je-me-suis-clone-en-photos/</link>
		<comments>http://www.bertrand-soulier.com/2011/08/02/comment-je-me-suis-clone-en-photos/#comments</comments>
		<pubDate>Tue, 02 Aug 2011 15:25:20 +0000</pubDate>
		<dc:creator>bertrand</dc:creator>
				<category><![CDATA[Astuces et Tutoriaux]]></category>
		<category><![CDATA[panoramique]]></category>
		<category><![CDATA[photo]]></category>
		<category><![CDATA[photoshop]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.bertrand-soulier.com/?p=2852</guid>
		<description><![CDATA[Les vacances sont toujours un moment propice à l&#8217;expérimentation photographique : du temps, quelques idées ou envies qui se sont accumulées dans la tête, du soleil, un décor qui change un peu. Pendant ces dernières vacances, je me suis amusé un peu avec les réglages de mon Sony Nex-3. J&#8217;ai paramétré quelques boutons, fait des [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Les vacances sont toujours un moment propice à l&#8217;expérimentation photographique : du temps, quelques idées ou envies qui se sont accumulées dans la tête, du soleil, un décor qui change un peu.</p>
<p>Pendant ces dernières vacances, je me suis amusé un peu avec les réglages de mon Sony Nex-3. J&#8217;ai paramétré quelques boutons, fait des essais en mode automatique, poussé un peu la sensibilité, fait du noir et blanc&#8230;</p>
<p>Mais je me suis aussi amusé avec une idée toute simple et dont j&#8217;ai publié le résultat sur Facebook il y a quelques jours.</p>
<p><img style="display: block; margin-left: auto; margin-right: auto;" title="bougnat-multiple.jpg" src="http://www.bertrand-soulier.com/wp-content/uploads/2011/08/bougnat-multiple.jpg" border="0" alt="On m'a cloné" width="600" height="314" /></p>
<p>Voici donc comment j&#8217;ai réalisé cette image.<span id="more-2852"></span></p>
<h3>Prise de vue</h3>
<p>Vous vous en doutez, une telle photo résulte forcément du mélange de plusieurs images. La première étape consiste donc à faire les images.</p>
<p>La prise de vue pour une telle photo n&#8217;est pas complexe. Il suffit de prendre plusieurs photos en laissant l&#8217;appareil fixe. Le personnage, moi en l&#8217;occurence, doit se déplacer entre chaque photo. Il faut cependant se déplacer suffisament pour éviter les chevauchements ou alors se dire qu&#8217;au montage certaines photos devront être supprimées. C&#8217;est d&#8217;ailleurs pour ça que la rafale n&#8217;est pas très adaptée.</p>
<p>Pour caler la position, une astuce est d&#8217;utiliser les lignes de visées sur l&#8217;écran de son appareil et qui divisent l&#8217;écran en tiers. Vous pouvez mettre votre personnage dans chaque tiers. Sinon vous pouvez aussi le placer sur les bords de la photo puis sur chaque ligne de tiers.</p>
<p>J&#8217;avais toutefois fait deux erreurs lors de mon essai. La première n&#8217;a pas eu de conséquences mais <em>je n&#8217;avais pas de pied</em>. Mais il est préférable d&#8217;avoir un pied ce qui vous assure que les photos sont parfaitement alignées.</p>
<p>La seconde a été plus pénible je n&#8217;avais pas mis assez de réglages manuels. Ainsi, si j&#8217;avais bien pensé à faire une mise au point manuelle en désactivant l&#8217;auto-focus, j&#8217;avais fait confiance à l&#8217;appareil pour s&#8217;occuper de la luminosité. Résultat, certaines photos étaient plus lumineuses que d&#8217;autres et cela se voyait à l&#8217;étape suivante.</p>
<p>Mon conseil : soignez cette étape, ça vous évite du boulot ensuite.</p>
<h3>Assemblage</h3>
<p>Dans mon cas j&#8217;ai utilisé <strong>Photoshop</strong>. Deux solutions simples :</p>
<p>1 &#8211; La première méthode est <strong>manuelle</strong>.</p>
<p>Il suffit d&#8217;importer toutes les photos dans la même image, une par calque. Ordonnez les en mettant par exemple le personnage de gauche à droite. Gardez celle du calque du bas intact et sur les autres effacez tout ce qui est autour du personnage. Et si vos photos ont la même exposition, le même cadrage et le même focus vous pouvez le faire très grossièrement sans avoir à faire un détourage très précis.</p>
<p>2 &#8211; La seconde méthode est de <strong>laisser faire l&#8217;automatisation de Photoshop</strong>.</p>
<p>Il s&#8217;agit de l&#8217;outil qui permet d&#8217;assembler des panoramas : <em>Fichier &gt; Automatisation &gt; Photomerge&#8230;</em> Dans disposition j&#8217;ai laissé <em>auto</em>, choisissez ensuite les fichiers, et laisser cochée <em>Fusionner les images</em>. Ensuite envoyez la sauce et attendez que Photoshop finisse son travail, ce qui peut être assez long car il va aligner les images et faire des masques pour faire disparaître ce qui le gène dans chaque image.</p>
<p><img style="display: block; margin-left: auto; margin-right: auto;" title="clonage-photoshop-merge.png" src="http://www.bertrand-soulier.com/wp-content/uploads/2011/08/clonage-photoshop-merge.png" border="0" alt="Photomerge dans Photoshop" width="600" height="345" /></p>
<p>Vous devriez obtenir une image que vous n&#8217;aurez peut être ensuite seulement qu&#8217;à recadrer. Si vous n&#8217;avez pas utilisé de pied et légèrement bougé le logiciel redressera et alignera les photos, donnant une image un peu plus grande avec des zones transparentes.</p>
<p>Toutefois dans mon cas je me suis rendu compte qu&#8217;il ne voulait me clôner au mieux que 3 fois. Je pense que c&#8217;était la conséquence des différences de luminosité des photos mais aussi de quelques superpositions quand je ne m&#8217;étais pas assez décalé. Photoshop choisi les images qui conviennent le mieux pour faire une image cohérente et se moque de vous faire apparaître 1, 3 ou 10 fois. Essayez d&#8217;enlever certaines images pour améliorer ça.</p>
<h3>Bilan</h3>
<p>Aucune des deux méthodes n&#8217;est meilleure que l&#8217;autre. J&#8217;ai fait plusieurs essais, et la méthode automatique a très bien fonctionné dans un cas alors que la méthode manuelle était plus satisfaisante dans l&#8217;autre.</p>
<p>Vous pouvez aussi combiner les deux méthodes : laissez faire Photoshop le gros du travail, notamment l&#8217;alignement des photos, et fignolez ensuite. Ainsi si vous décocher <em>Fusionner les images</em> Photoshop se contentera de faire l&#8217;alignement des photos et disposera chacune sur un calque. A vous ensuite de détourer le sujet comme dans la méthode manuelle.</p>
<p><strong>Amusez-vous bien !</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bertrand-soulier.com/2011/08/02/comment-je-me-suis-clone-en-photos/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Marier le plugin WooTumblog et le thème Genesis</title>
		<link>http://www.bertrand-soulier.com/2010/11/23/marier-le-plugin-wootumblog-et-le-theme-genesis/</link>
		<comments>http://www.bertrand-soulier.com/2010/11/23/marier-le-plugin-wootumblog-et-le-theme-genesis/#comments</comments>
		<pubDate>Tue, 23 Nov 2010 21:25:50 +0000</pubDate>
		<dc:creator>bertrand</dc:creator>
				<category><![CDATA[Astuces et Tutoriaux]]></category>
		<category><![CDATA[genesis]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[wordpres]]></category>

		<guid isPermaLink="false">http://www.bertrand-soulier.com/?p=2546</guid>
		<description><![CDATA[J&#8217;utilise sur ce blog le thème Prose basé sur le framework Genesis. Je ne listerai pas ici l&#8217;intérêt de passer par ce framework ou un autre. Nous dirons seulement que le principe est d&#8217;avoir un thème assez sophistiqué offrant de nombreux réglages et points d&#8217;actions documentés et facilement compréhensibles. J&#8217;ai découvert il y a quelques [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>J&#8217;utilise sur ce blog le <a href="http://www.studiopress.com/themes/prose">thème Prose</a> basé sur le <a href="http://www.studiopress.com/themes/genesis">framework Genesis</a>. Je ne listerai pas ici l&#8217;intérêt de passer par ce framework ou un autre. Nous dirons seulement que le principe est d&#8217;avoir un thème assez sophistiqué offrant de nombreux réglages et points d&#8217;actions documentés et facilement compréhensibles. J&#8217;ai découvert il y a quelques temps le plugin <a href="http://wordpress.org/extend/plugins/woo-tumblog/">WooTumblog</a> dont le but est d&#8217;ajouter à WordPress la facilité de publication de <a href="http://tumblr.com">Tumblr</a>. J&#8217;ai donc voulu mixer les deux.</p>
<p><a href="http://www.bertrand-soulier.com/wp-content/uploads/2010/11/wootumblog.png"><img class="aligncenter size-full wp-image-2563" title="wootumblog" src="http://www.bertrand-soulier.com/wp-content/uploads/2010/11/wootumblog.png" alt="" width="593" height="136" /></a></p>
<p>WooTumblog a été développé par WooThemes et reprend le principe de billets prédéfinis en fonction du contenu (texte, citation, vidéo, image&#8230;). Suivant le type de contenu, le plugin propose des champs prédéfinis et affichera les informations de manière adaptée. C&#8217;est en partie ce qui a fait le succès de Tumblr. Cela accélère très franchement l&#8217;ajout de contenu, bien plus que la fonction Quickpost native de WordPress.</p>
<p><a href="http://www.bertrand-soulier.com/wp-content/uploads/2010/11/wootumblog-1.jpg"><img class="aligncenter size-full wp-image-2562" title="wootumblog" src="http://www.bertrand-soulier.com/wp-content/uploads/2010/11/wootumblog-1.jpg" alt="" width="530" height="494" /></a></p>
<p>Ce plugin est intégré à certains thèmes <a href="http://www.woothemes.com/">WooThemes</a> (<a href="http://www.woothemes.com/themes/tumblog-themes/">catégorie Tumblog</a>) mais il est possible de télécharger ce plugin et de l&#8217;installer sur son blog.</p>
<p>Si le plugin s&#8217;installe normalement, il demande ensuite une petite modification des thèmes pour fonctionner. Si vous ne le faîtes pas, vous aurez un billet vide sur votre blog car le plugin stocke les informations dans des champs spécifiques ! L&#8217;aide sur WooThemes explique <a href="http://www.woothemes.com/support/wootumblog/">comment le faire dans un thème classique</a>, voici comment le faire avec un thème Genesis.</p>
<h3>Créer un Child Theme de Genesis</h3>
<p>Tout d&#8217;abord il est important de préciser que vous ne devez pas modifier le Theme Genesis directement. Cela vous évitera de tout perdre quand Genesis. <strong>Vous travaillez donc avec un thème enfant (Child Theme)</strong>. Le fonctionnement n&#8217;est pas propre à Genesis mais général à WordPress qui a introduit cette fonction dans les versions récentes. Sur le principe, un thème enfant est un dérivé d&#8217;un thème parent. Il en reprend le fonctionnement, les options, l&#8217;aspect mais ont peut personnaliser ce que l&#8217;on souhaite. La <a href="http://codex.wordpress.org/fr:Th%C3%A8mes_Enfant">documentation de WordPress explique très bien le fonctionnement</a>.</p>
<p>Pour créer un thème dérivé de Genesis il vous suffit donc de créer un nouveau dossier dans le dossier themes de votre installation WordPress. Vous lui donner le nom que vous souhaitez. Un Child Theme contient au minimum un fichier <em>style.css </em>qui fait référence au thème parent. Cela ressemble à ça :</p>
<p>[sourcecode language="css"]<br />
/*<br />
Theme Name:     Mon theme<br />
Template:       genesis<br />
*/<br />
@import url(../genesis/style.css);<br />
[/sourcecode]</p>
<p><em>Dans ce cas j&#8217;ai ajouté l&#8217;import de la feuille de style de Genesis pour conserver les styles mais je pense qu&#8217;il y a mieux à faire notamment pour conserver la minification de la feuille de style.<br />
</em></p>
<p>Le principe est ensuite très simple. Les fichiers tu thème enfant remplacent leurs homonymes du thème parent. WordPress utilisera donc les fichiers du thème parent s&#8217;ils existent, sinon il utilisera le fichier du thème parent.</p>
<p>Dans notre cas il faudra modifier la page d&#8217;accueil (home.php), la page qui liste les articles d&#8217;une catégorie (category.php) et l&#8217;affichage d&#8217;un billet unique (single.php). Nous aurons donc à créer ces trois fichiers dans le thème enfant. Au départ ces trois fichiers seront d&#8217;une simplicité remarquable :</p>
<p>[sourcecode language="php"]<br />
&lt;?php<br />
 genesis();<br />
?&gt;<br />
[/sourcecode]</p>
<p>La fonction genesis() est celle qui appelle ensuite le thème. Donc indispensable dans notre cas.</p>
<h3>Une icône dans le titre des billets</h3>
<p>Le plugin propose d&#8217;associer à chaque type de contenu une petite icône clickable. Elle représente le type de contenu et permet d&#8217;accéder aux autres articles du même type.<br />
<a href="http://www.bertrand-soulier.com/wp-content/uploads/2010/11/woo-cion.png"><img src="http://www.bertrand-soulier.com/wp-content/uploads/2010/11/woo-cion-460x192.png" alt="" title="Exemple WooTumblog" width="460" height="192" class="aligncenter size-medium wp-image-2567" /></a><br />
Le plugin dispose d&#8217;une fonction <em>woo_tumblog_the_title(&laquo;&nbsp;entry-title&nbsp;&raquo;);</em> qui se charge d&#8217;afficher le titre du billet et la petite icône sur la droite. Avec Genesis la méthode pour l&#8217;appliquer est très simple. Ajoutez avant genesis(); les deux lignes suivantes :</p>
<p>[sourcecode language="php"]<br />
&lt;?php<br />
remove_action(&#8216;genesis_post_title&#8217;,'genesis_do_post_title&#8217;);<br />
add_action(&#8216;genesis_post_title&#8217;, &#8216;woo_tumblog_the_title&#8217;);<br />
genesis();<br />
?&gt;<br />
[/sourcecode]</p>
<p>La première ligne supprime le titre. La seconde indique à Genesis de mettre dans le titre la fonction du plugin WooTumblog. Pour le reste le thème s&#8217;occupe de tout.</p>
<h3>Afficher le contenu du billet</h3>
<p>Le fonctionnement est similaire. Il suffit là encore de supprimer le contenu du billet et d&#8217;afficher à la place le contenu rentré par le plugin.</p>
<p>[sourcecode language="php"]<br />
&lt;?php<br />
remove_action(&#8216;genesis_post_content&#8217;, &#8216;genesis_do_post_content&#8217;);<br />
add_action(&#8216;genesis_post_content&#8217;, &#8216;woo_tumblog_content&#8217;);<br />
genesis();<br />
?&gt;<br />
[/sourcecode]</p>
<p>Attention toutefois, cela s&#8217;avère problématique dans deux cas :</p>
<ul>
<li>si vous ajoutez ce plugin à un blog existant. Tout vos anciens billets perdront leur texte.</li>
<li>si vous écrivez aussi des billets par le système classique. Là encore le contenu n&#8217;apparaîtra pas.</li>
</ul>
<p>Il faut donc <strong>tester et afficher le contenu classique de WordPress si le billet n&#8217;a pas été rentré par cette extension</strong>. Pour ce faire j&#8217;ai ajouté deux fonctions. Vous pouvez placer ces fonctions soit dans les fichiers home.php, category.php et single.php soit plus simplement les centraliser dans un fichier <em>functions.php</em> que vous ajouter dans votre dossier. Ce fichier de fonction est automatiquement appelé par WordPress quand il existe.</p>
<p>Voici la première qui affiche le contenu du Tumblog à la place du excerpt(), le contenu court.</p>
<p>[sourcecode language="php"]<br />
function chapo(){<br />
	global $post;<br />
	$post_id = $post-&gt;ID;<br />
	$tumblog_list = get_the_term_list( $post_id, &#8216;tumblog&#8217;, &nbsp;&raquo; , &#8216;|&#8217; , &nbsp;&raquo;  );<br />
	$tumblog_id = get_term_by( &#8216;name&#8217;, $tumblog_item, &#8216;tumblog&#8217; );<br />
    if ($tumblog_list!=&nbsp;&raquo;){<br />
		woo_tumblog_content();<br />
    }<br />
    else {<br />
		the_excerpt();<br />
    }<br />
}<br />
[/sourcecode]</p>
<p>La première partie permet de tester si nous avons affaire ou non à un article ajouté avec l&#8217;extension. Si c&#8217;est le cas on fait appel à la fonction du plugin pour afficher le contenu Tumblog. Sinon on appelle la fonction de WordPress. Il suffit ensuite d&#8217;expliquer à Genesis d&#8217;appliquer cette fonction pour afficher le contenu :</p>
<p>[sourcecode language="php"]<br />
remove_action(&#8216;genesis_post_content&#8217;, &#8216;genesis_do_post_content&#8217;);<br />
add_action(&#8216;genesis_post_content&#8217;, &#8216;chapo&#8217;);<br />
[/sourcecode]</p>
<p>J&#8217;utilise cette fonction dans ma page d&#8217;accueil (home.php) et mes pages catégories (category.php).</p>
<h3>Le cas du billet seul</h3>
<p>Pour le cas où l&#8217;on se trouve dans la page qui affiche le billet, il y a une petite variation à faire sur cette même fonction. Au lieu d&#8217;afficher le excerpt elle doit afficher le contenu du billet. La fonction est similaire mais renvoie le contenu complet au lieu du texte court :</p>
<p>[sourcecode language="php"]<br />
function contenu(){<br />
    global $post;<br />
    $post_id = $post-&gt;ID;<br />
    $tumblog_list = get_the_term_list( $post_id, &#8216;tumblog&#8217;, &nbsp;&raquo; , &#8216;|&#8217; , &nbsp;&raquo;  );<br />
    $tumblog_id = get_term_by( &#8216;name&#8217;, $tumblog_item, &#8216;tumblog&#8217; );<br />
    if ($tumblog_list!=&nbsp;&raquo;){<br />
		woo_tumblog_content();<br />
    }<br />
    else {<br />
		the_content();<br />
    }<br />
}<br />
[/sourcecode]</p>
<p>Et ensuite il suffit de l&#8217;appeler dans la page single.php avant l&#8217;appel de la fonction genesis() :</p>
<p>[sourcecode language="php"]<br />
remove_action(&#8216;genesis_post_content&#8217;, &#8216;genesis_do_post_content&#8217;);<br />
add_action(&#8216;genesis_post_content&#8217;, &#8216;contenu&#8217;);<br />
[/sourcecode]</p>
<p>Et c&#8217;est tout ! Activez ensuite le thème comme vous activez un thème habituellement et tout devrait bien se passer. Pour faciliter les choses j&#8217;ai créé <a href="http://www.bertrand-soulier.com/wp-content/uploads/2010/11/genesis-wootumblog.zip">un thème enfant exemple</a> avec les fichiers essentiels et les fonctions qui vont avec.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bertrand-soulier.com/2010/11/23/marier-le-plugin-wootumblog-et-le-theme-genesis/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Insérer le bouton Facebook &#171;&#160;Like&#160;&#187; dans Spip en 2 minutes</title>
		<link>http://www.bertrand-soulier.com/2010/04/24/inserer-le-bouton-facebook-like-dans-spip-en-2-minutes/</link>
		<comments>http://www.bertrand-soulier.com/2010/04/24/inserer-le-bouton-facebook-like-dans-spip-en-2-minutes/#comments</comments>
		<pubDate>Sat, 24 Apr 2010 11:13:50 +0000</pubDate>
		<dc:creator>bertrand</dc:creator>
				<category><![CDATA[Astuces et Tutoriaux]]></category>
		<category><![CDATA[astuce]]></category>
		<category><![CDATA[spip]]></category>

		<guid isPermaLink="false">http://www.bertrand-soulier.com/?p=2409</guid>
		<description><![CDATA[Facebook permet désormais d&#8217;insérer un bouton &#171;&#160;I Like&#160;&#187; sur n&#8217;importe quelle page de son site. L&#8217;intégration est ultra-simplissime et se fait en deux minutes. Voici comment l&#8217;ajouter sur un site réalisé avec Spip. Pas besoin de plugin, il vous suffit d&#8217;ajouter dans le squelette article.html le code suivant : Il faut bien entendu ajouter ce [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>F<a href="http://www.bertrand-soulier.com/wp-content/uploads/2010/04/exemple-ilike.png"><img class="size-medium wp-image-2410 alignright" title="exemple-ilike" src="http://www.bertrand-soulier.com/wp-content/uploads/2010/04/exemple-ilike-300x67.png" alt="" width="300" height="67" /></a>acebook permet désormais d&#8217;insérer <a href="http://developers.facebook.com/docs/reference/plugins/like">un bouton &laquo;&nbsp;I Like&nbsp;&raquo; sur n&#8217;importe quelle page de son site</a>. L&#8217;intégration est ultra-simplissime et se fait en deux minutes. Voici comment l&#8217;ajouter sur un site réalisé avec Spip.</p>
<p>Pas besoin de plugin, il vous suffit d&#8217;ajouter dans le squelette article.html le code suivant :</p>
<pre lang="text" line="1" escaped="true">
<iframe src="http://www.facebook.com/plugins/like.php?href=[(#URL_ARTICLE|url_absolue|urlencode)]&amp;layout=standard&amp;show_faces=true&amp;width=125&amp;action=like&amp;colorscheme=light" scrolling="no" frameborder="0" allowTransparency="true" style="border:none; overflow:hidden; width:125px; height:px"></iframe>
</pre>
<p>Il faut bien entendu ajouter ce bout  de code à l&#8217;intérieur d&#8217;une boucle article pour que cela fonctionne.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bertrand-soulier.com/2010/04/24/inserer-le-bouton-facebook-like-dans-spip-en-2-minutes/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Mettre à jour le statut de sa page Facebook automatiquement</title>
		<link>http://www.bertrand-soulier.com/2009/09/26/mettre-a-jour-le-statut-de-sa-page-facebook-automatiquement/</link>
		<comments>http://www.bertrand-soulier.com/2009/09/26/mettre-a-jour-le-statut-de-sa-page-facebook-automatiquement/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 15:58:00 +0000</pubDate>
		<dc:creator>bertrand</dc:creator>
				<category><![CDATA[Astuces et Tutoriaux]]></category>
		<category><![CDATA[conseils]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[hellotxt]]></category>
		<category><![CDATA[ping.fm]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false">http://www.bertrand-soulier.com/2009/09/26/mettre-a-jour-le-statut-de-sa-page-facebook-automatiquement/</guid>
		<description><![CDATA[Facebook est une formidable source de trafic pour les blogueurs et webmasters. Sur Cyberbougnat.net, Facebook est ainsi devenu la troisième source de trafic, loin derrière Google, mais quasiment au même niveau que Google Actualités. Encore faut-il parvenir à faire des liens de la bonne manière. Ce qui permet d&#8217;apporter du trafic, c&#8217;est de partager le [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Facebook est une formidable source de trafic pour les blogueurs et webmasters. Sur <a href="http://www.cyberbougnat.net">Cyberbougnat.net</a>, Facebook est ainsi devenu la troisième source de trafic, loin derrière Google, mais quasiment au même niveau que Google Actualités.</p>
<p>Encore faut-il parvenir à faire des liens de la bonne manière. Ce qui permet d&#8217;apporter du trafic, c&#8217;est de partager le lien via son statut sur son mur. Facebook rend l&#8217;URL cliquable automatiquement et renvoie directement vers le site. Beaucoup plus pratique que l&#8217;import de RSS prévu dans l&#8217;application Notes qui ne fait qu&#8217;importer les articles. L&#8217;internaute lira de ce fait votre billet dans Facebook et ne viendra que rarement sur vos pages.</p>
<h3>Combiner les services</h3>
<p>Il est assez simple d&#8217;automatiser la mise à jour de ce statut en se basant sur les flux RSS. L&#8217;idée est de combiner deux services complémentaires :</p>
<ul>
<li><b><span style="font-weight: normal;"><b><a href="http://www.bertrand-soulier.com/wp-content/uploads/2009/09/hellotxt.png"><img src="http://www.bertrand-soulier.com/wp-content/uploads/2009/09/hellotxt-tm.jpg" width="150" height="43" alt="Capture d’écran 2009-09-26 à 17.50.44.png" style="float:right;" /></a><a href="http://ping.fm/">Ping.fm</a> ou <a href="http://hellotxt.com">HelloTxt</a></b> : Ces deux services vous permettent de publier un statut sur bon paquet de services sociaux : Facebook, Twitter, Plurk, FriendFeed et bien d&#8217;autres. Une bonne centaine chacun. Une fois inscrit, vous paramétrez vos services et pouvez publier vos statuts en même temps très rapidement.</span></b></li>
</ul>
<ul>
<li><b><a href="http://twitterfeed.com/">Twitterfeed</a></b> : A l&#8217;origine, ce service est destiné à la mise à jour automatique d&#8217;un compte Twitter depuis un flux RSS. Petit à petit, le service s&#8217;est étoffé et peut publier vers d&#8217;autres services et notamment HelloTxt et Ping.fm. Dans la pratique, Twitterfeed vérifie votre flux RSS à intervalle régulier et demande à Ping.fm ou HelloTxt de mettre à jours vos réseaux sociaux.</li>
</ul>
<p>Cette méthode fonctionne bien, mais dans le cas de Facebook elle a longtemps été limité à la mise des statuts des comptes. Facebook ne permettait en effet pas la mise à jour du statut d&#8217;une page. On devait alors se contenter de l&#8217;import de Notes dans Facebook ou essayer de se débrouiller avec quelques applis au comportement aléatoire.</p>
<p>Cette limitation expliquait aussi pourquoi nous étions un paquet à avoir créé un compte pour notre site avec une mise à jour automatique du statut. Toutefois c&#8217;est peu pratique, normalement interdit par Facebook et limité à 5000 amis.</p>
<p>Mais les choses évoluent et Facebook a palié ce problème. <b>On peut désormais mettre à jour le statut d&#8217;une page</b> via les api et applications tiers. Bonne nouvelle, HelloTxt et Ping.fm ont tous les deux intégré cette possibilité.</p>
<h3>Mon choix : Ping.fm</h3>
<p>Utilisant HelloTxt depuis quelques temps j&#8217;ai d&#8217;abord essayé d&#8217;ajouter cette solution. HelloTxt avait pris un peu d&#8217;avance dans ses fonctionnalités. Hélas, le lien avec Facebook ne semble pas très au point pour l&#8217;instant et l&#8217;application par laquelle tout passe est un peu obscure. Je n&#8217;ai ainsi pas réussi à la faire fonctionner correctement ni à paramétrer exactement comme je le voulais. Elle publiait sur mon profil et non sur ma page ou alors ne publiait plus du tout.</p>
<p>La solution Ping.fm est elle bien plus aboutie et fonctionne parfaitement. Surtout son paramétrage est bien plus simple et se passe directement sur le site de Ping.fm. Il suffit de lui indiquer vos identifiants et Ping vous affiche ensuite votre compte et les pages que vous administrez. On peut difficilement faire plus rapide.</p>
<p>Note : Twitterfeed vous demandera pour poster sur HelloTxt et Ping.fm de lui indiquer votre API KEY. Pas forcément simple à trouver voici le lien direct pour <a href="http://ping.fm/key/">Ping.fm</a> et <a href="http://hellotxt.com/settings/api">HelloTxt</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bertrand-soulier.com/2009/09/26/mettre-a-jour-le-statut-de-sa-page-facebook-automatiquement/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Pourquoi Frédéric Lefebvre ne sera pas secrétaire d&#8217;Etat de l&#8217;économie numérique</title>
		<link>http://www.bertrand-soulier.com/2009/01/13/pourquoi-frederic-lefebvre-ne-sera-pas-secretaire-detat-de-leconomie-numerique/</link>
		<comments>http://www.bertrand-soulier.com/2009/01/13/pourquoi-frederic-lefebvre-ne-sera-pas-secretaire-detat-de-leconomie-numerique/#comments</comments>
		<pubDate>Tue, 13 Jan 2009 10:58:24 +0000</pubDate>
		<dc:creator>bertrand</dc:creator>
				<category><![CDATA[Analyses]]></category>
		<category><![CDATA[Astuces et Tutoriaux]]></category>
		<category><![CDATA[Frédéric Lefebvre]]></category>
		<category><![CDATA[Humour]]></category>
		<category><![CDATA[Politique]]></category>

		<guid isPermaLink="false">http://www.bertrand-soulier.com/2009/01/13/pour-frederic-lefebvre-ne-sera-pas-secretaire-detat-de-leconomie-numerique/</guid>
		<description><![CDATA[Et bien tout simplement parce que je l&#8217;ai kidnappé&#8230; dans Facebook. Je trouve l&#8216;application Kidnappeur en série un peu débile, mais elle au moins servi à quelque chose. Notez toutefois que je me suis refusé pour l&#8217;instant à le torturer comme le permet l&#8217;application. Notez aussi que personne n&#8217;est venu le libérer, y compris des [...]]]></description>
			<content:encoded><![CDATA[<p></p><p><img src="http://www.bertrand-soulier.com/wp-content/uploads/2009/01/lefebvre.png" width="111" height="105" alt="Lefebvre.png" style="float:right;" />Et bien tout simplement parce que je l&#8217;ai kidnappé&#8230; dans Facebook. Je trouve l<a href="http://apps.facebook.com/kidnappeur/">&#8216;application Kidnappeur en série</a> un peu débile, mais elle au moins servi à quelque chose. Notez toutefois que je me suis refusé pour l&#8217;instant à le torturer comme le permet l&#8217;application. Notez aussi que personne n&#8217;est venu le libérer, y compris des gens de droite que j&#8217;ai dans mes amis facebook.</p>
<p>Je crois que je vais attendre la nomination du secrétaire d&#8217;Etat au développement de l&#8217;économie numérique pour le libérer. D&#8217;ailleurs <a href="http://www.numerama.com/magazine/11667-Economie-numerique-Devedjian-plutot-que-Lefebvre.html">on annonce Devedjan à ce poste</a>. Je n&#8217;aime pas particulièrement ce bonhomme mais cela me semble plus cohérent que Lefebvre.</p>
<p>Tout cela n&#8217;est bien sûr qu&#8217;une petite blague&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bertrand-soulier.com/2009/01/13/pourquoi-frederic-lefebvre-ne-sera-pas-secretaire-detat-de-leconomie-numerique/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Thèmes wordpress : osez le changement de couleurs</title>
		<link>http://www.bertrand-soulier.com/2008/12/09/themes-wordpress-osez-le-changement-de-couleurs/</link>
		<comments>http://www.bertrand-soulier.com/2008/12/09/themes-wordpress-osez-le-changement-de-couleurs/#comments</comments>
		<pubDate>Tue, 09 Dec 2008 06:26:14 +0000</pubDate>
		<dc:creator>bertrand</dc:creator>
				<category><![CDATA[Astuces et Tutoriaux]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.bertrand-soulier.com/2008/12/09/themes-wordpress-osez-le-changement-de-couleurs/</guid>
		<description><![CDATA[Si vous avez du mal pour trouver votre thème WordPress, envisagez la solution de la personnalisation et notamment du changement de couleurs. Par exemple un thème comme Dilectio est très bien organisé et proportionné mais vous n&#8217;aimez peut être pas les couleurs. Personnalisez le en modifiant quelques images et vous voilà avec un thème à [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Si vous avez du mal pour trouver votre thème WordPress, envisagez la solution de la personnalisation et notamment du changement de couleurs. Par exemple <a href="http://wp-themes.designdisease.com/testrun/">un thème comme Dilectio</a> est très bien organisé et proportionné mais vous n&#8217;aimez peut être pas les couleurs. Personnalisez le en modifiant quelques images et vous voilà avec un thème à votre goût sans avoir besoin de tout réinventer. Exemple réussi avec le <a href="http://www.paulcarr.com/">blog de Paul Car</a>r qui a adapté le fameux Dilectio.</p>
<p><img src="http://www.bertrand-soulier.com/wp-content/uploads/2008/12/dilecto.jpg" width="520" height="310" alt="Dilectio thème adapté" class="frame" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bertrand-soulier.com/2008/12/09/themes-wordpress-osez-le-changement-de-couleurs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Faire une sonnerie pour iPhone c&#8217;est facile&#8230;</title>
		<link>http://www.bertrand-soulier.com/2008/11/12/faire-une-sonnerie-pour-iphone-cest-facile/</link>
		<comments>http://www.bertrand-soulier.com/2008/11/12/faire-une-sonnerie-pour-iphone-cest-facile/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 07:18:22 +0000</pubDate>
		<dc:creator>bertrand</dc:creator>
				<category><![CDATA[Astuces et Tutoriaux]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.bertrand-soulier.com/2008/11/12/faire-une-sonnerie-pour-iphone-cest-facile/</guid>
		<description><![CDATA[J&#8217;ai voulu ce week-end personnaliser un tout petit peu mon iPhone avec une sonnerie personnalisée. Rien de compliqué, juste un petit bout d&#8217;une chanson de Brad Sucks que j&#8217;avais en mp3 et qui se trouve dans mon iTunes et dans mon iPhone. Pas besoin d&#8217;acheter une sonnerie pour ça. Alors voici la technique qui est [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>J&#8217;ai voulu ce week-end personnaliser un tout petit peu mon iPhone avec une sonnerie personnalisée. Rien de compliqué, juste un petit bout d&#8217;une chanson de <a href="http://www.bradsucks.net/">Brad Sucks</a> que j&#8217;avais en mp3 et qui se trouve dans mon iTunes et dans mon iPhone. Pas besoin d&#8217;acheter une sonnerie pour ça.</p>
<p>Alors voici la technique qui est très simple :</p>
<ol>
<li><strong>Ouvrez</strong> votre mp3 avec un éditeur audio comme <a href="http://audacity.sourceforge.net/">Audacity</a>.</li>
<li>Prenez les <strong>30 secondes maxi</strong> qui vous intéresse et enregistrez votre mp3</li>
<li>Maintenant ouvrez votre mp3 avec <strong>Quicktime</strong></li>
<li><strong><span style="font-weight: normal;"><strong>Exportez le au format iPhon</strong>e. Vous obtenez ainsi un joli fichier avec une extension m4v.</span></strong></li>
<li><strong><span style="font-weight: normal;">Remplacez <strong>l&#8217;extension</strong> m4v par <strong>m4r</strong> (ça doit être le r de ringtone)</span></strong></li>
<li><strong><span style="font-weight: normal;"><strong>Double cliquez</strong> sur ce nouveau fichier, ça va l&#8217;ajouter dans vos sonnerie dans iTunes.</span></strong></li>
<li><strong><span style="font-weight: normal;"><strong>Synchronisez</strong> votre iPhone et vous maintenant allez dans les options pour la choisir en sonnerie générale ou pour un contact.</span></strong></li>
</ol>
<p>Simple non ?! Maintenant, par comparaison voici la méthode Nokia :</p>
<ol>
<li>Dans votre téléphone allez sur la liste des titres mp3. Faites Option &gt; Définir comme sonnerie. Et voilà&#8230;</li>
</ol>
<p>Comme quoi, chez Apple ce sont les rois de l&#8217;ergonomie sauf quand ça pourrait les empêcher de gagner de l&#8217;argent&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bertrand-soulier.com/2008/11/12/faire-une-sonnerie-pour-iphone-cest-facile/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Solutions pour les problèmes avec une clé 3G SFR et Eee-PC</title>
		<link>http://www.bertrand-soulier.com/2008/08/15/solutions-pour-les-problemes-avec-une-cle-3g-sfr-et-eee-pc/</link>
		<comments>http://www.bertrand-soulier.com/2008/08/15/solutions-pour-les-problemes-avec-une-cle-3g-sfr-et-eee-pc/#comments</comments>
		<pubDate>Fri, 15 Aug 2008 14:59:10 +0000</pubDate>
		<dc:creator>bertrand</dc:creator>
				<category><![CDATA[Astuces et Tutoriaux]]></category>
		<category><![CDATA[3f]]></category>
		<category><![CDATA[eee-pc]]></category>
		<category><![CDATA[eeepc]]></category>
		<category><![CDATA[sfr]]></category>

		<guid isPermaLink="false">http://www.bertrand-soulier.com/?p=1640</guid>
		<description><![CDATA[Assez curieusement, hier ma clé 3G SFR a cessé de fonctionner sur EEE-PC sous Xandros. Quand je la branchais, la clé clignotait, le logiciel démarrait bien mais sans demander le code PIN de la clé. Plusieurs redémarrages furent inutiles et je me suis donc même en quête d&#8217;une solution. En fait j&#8217;en ai trouvé deux [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Assez curieusement, hier ma clé 3G SFR a cessé de fonctionner sur EEE-PC sous Xandros. Quand je la branchais, la clé clignotait, le logiciel démarrait bien mais sans demander le code PIN de la clé. Plusieurs redémarrages furent inutiles et je me suis donc même en quête d&#8217;une solution. En fait j&#8217;en ai trouvé deux : recréer une connexion ou faire un reset.</p>
<p><strong>Recréer la connexion</strong></p>
<ol>
<li>Branchez la clé sur l&#8217;EEE-PC.</li>
<li>Dans l&#8217;onglet  internet, allez dans Réseau (ou connexion réseau) et cliquez sur <em>Créer&#8230;</em></li>
<li>Choisissez GSM / 3G (UMTS) / HSDPA</li>
<li>Sélectionnez ensuite le modem <em>huawei</em></li>
<li>Il vous demande ensuite le code PIN de la clé. N&#8217;oubliez pas de cocher la case <em>&laquo;&nbsp;Mémoriser&nbsp;&raquo;</em></li>
<li>Cliquez ensuite sur Rechercher et choisissez le réseau SFR. Essayez plusieurs fois si ça ne marche pas.</li>
<li>Cliquez sur suivant et choisissez <em>France &#8211; SFR</em> comme opérateur</li>
<li>Sur l&#8217;écran suivant APN devrait être <em>websfr.</em> Je ne sais pas si ça marche avec ce websfr, mais vous pouvez aussi mettre <em>slsfr</em> qui marche bien. Supprimez le nom d&#8217;utilisateur et le mot de passe</li>
<li>Cliquez sur <em>Terminer</em> pour enregistrer votre connexion.</li>
</ol>
<p>La connexion est maintenant créée et il vous suffit d&#8217;aller dans Réseau et de sélectionner la connexion pour vous connecter. Je me suis rendu compte par contre que cela ne marchait parfois pas si le logiciel Asus était démarré.</p>
<p><strong>Reset de l&#8217;Eee-Pc</strong></p>
<p>La première méthode marche pas mal mais le logiciel Asus continuait de s&#8217;afficher pour rien. De plus je trouve le logiciel Asus plus pratique. J&#8217;ai donc opté pour un reset total qui est d&#8217;une simplicité redoutable.</p>
<ol>
<li>Pendant le démarrage de l&#8217;Eee-PC appuyez sur la <em>touche F9</em> au moment où s&#8217;affiche un premier écran Eee-PC (celui qui vous donne les commandes pour aller dans le Bios).</li>
<li>Choisissez &#8216;<em>Reset Factory Settings</em>&#8216;</li>
<li>Tapez <em>Yes</em> quand il vous le demande</li>
</ol>
<p>Vous obtenez un Eee-PC tout neuf. Attention donc de sauvegarder vos données personnelles avant. La première fois j&#8217;ai essayé en ayant la clé branchée. Cependant l&#8217;outil s&#8217;était affiché au même moment que les écrans Asus demandant mon nom et mon mot de passe et impossible de faire disparaître l&#8217;outil de connexion. J&#8217;ai recommencé sans la clé et ça a marché aussi.</p>
<p>Voilà deux astuces qui vous éviteront de passer du temps pour rien avec la Hotline SFR et vous permettront de retrouver votre connexion.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bertrand-soulier.com/2008/08/15/solutions-pour-les-problemes-avec-une-cle-3g-sfr-et-eee-pc/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Synchroniser un Pocket PC et Thunderbird ? C&#8217;est possible !</title>
		<link>http://www.bertrand-soulier.com/2006/10/08/synchroniser-un-pocket-pc-et-thunderbird-cest-possible/</link>
		<comments>http://www.bertrand-soulier.com/2006/10/08/synchroniser-un-pocket-pc-et-thunderbird-cest-possible/#comments</comments>
		<pubDate>Sun, 08 Oct 2006 21:00:00 +0000</pubDate>
		<dc:creator>bertrand</dc:creator>
				<category><![CDATA[Astuces et Tutoriaux]]></category>

		<guid isPermaLink="false">http://www.bertrand-soulier.com/2006/10/08/synchroniser-un-pocket-pc-et-thunderbird-cest-possible/</guid>
		<description><![CDATA[Voici un logiciel qui risque de vite devenir indispensable pour moi si j&#8217;arrive à le faire marcher à 100%. Pour l&#8217;instant je ne pouvais synchroniser mes contacts de mon téléphone Pocket PC qu&#8217;avec Outlook. Normal dans la logique Microsoft mais peu pratique car sur mon ordinateur je n&#8217;utilise pas Outlook mais Thunderbird pour tout ce [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Voici un logiciel qui risque de vite devenir indispensable pour moi si j&#8217;arrive à le faire marcher à 100%. Pour l&#8217;instant je ne pouvais synchroniser mes contacts de mon téléphone Pocket PC qu&#8217;avec Outlook. Normal dans la logique Microsoft mais peu pratique car sur mon ordinateur je n&#8217;utilise pas Outlook mais Thunderbird pour tout ce qui est messagerie. Je me retrouvais donc avec des listes de contacts différentes et j&#8217;étais obligé d&#8217;aller piocher dans Outlook des adresses pour écrire sous Thunderbird.</p>
<p>Et c&#8217;est là que <a href="http://www.mozilla.org/projects/calendar/lightning/">BirdieSync</a> constitue une petite révolution attendue depuis longtemps pour ma part. Il permet en effet d&#8217;ajouter une synchro entre Pocket Outlook et Thunderbird. Mieux il supporte aussi en principe <a href="http://www.mozilla.org/projects/calendar/lightning/">Lightning</a> qui est la solution de calendrier pour ThunderBird. Là je dis en principe car cela n&#8217;a pas marché pour moi.</p>
<p>BirdieSync n&#8217;est pas gratuit, mais son prix de 20 ? n&#8217;est finalement pas très élevé comparé à nombre de logiciels pour Pocket PC qui sont inutiles et surtout par rapport au service rendu.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bertrand-soulier.com/2006/10/08/synchroniser-un-pocket-pc-et-thunderbird-cest-possible/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Convertir des fichiers amr</title>
		<link>http://www.bertrand-soulier.com/2006/06/26/convertir-des-fichiers-amr/</link>
		<comments>http://www.bertrand-soulier.com/2006/06/26/convertir-des-fichiers-amr/#comments</comments>
		<pubDate>Mon, 26 Jun 2006 08:41:11 +0000</pubDate>
		<dc:creator>bertrand</dc:creator>
				<category><![CDATA[Astuces et Tutoriaux]]></category>

		<guid isPermaLink="false">http://www.bertrand-soulier.com/2006/06/26/convertir-des-fichiers-amr/</guid>
		<description><![CDATA[Les fichiers amr sont des fichiers sons utilisés sur des téléphones portables (Nokia, Sony Ericsson par exemple). Par exemple sur le Nokia 6111 dispose d&#8217;une fonction d&#8217;enregistrement qui stocke les fichiers en .amr. Pour les lire une fois rapatriés sur un PC pas de problème : Winamp sait faire, Real Player aussi une fois qu&#8217;il [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>Les fichiers amr sont des fichiers sons utilisés sur des téléphones portables (Nokia, Sony Ericsson par exemple). Par exemple sur le <a href="http://www.nokia.fr/index.php?content_id=6365&#038;increment=1">Nokia 6111</a> dispose d&#8217;une fonction d&#8217;enregistrement qui stocke les fichiers en .amr.</p>
<p>Pour les lire une fois rapatriés sur un PC pas de problème : Winamp sait faire, Real Player aussi une fois qu&#8217;il a récupéré les codecs sur internet. Seulement moi j&#8217;avais besoin de reprendre le fichier, le redécouper et le mixer avec un mp3 sous <a href="http://audacity.sourceforge.net/">Audacity</a> et en faire un petit podcast.<br />
Je n&#8217;ai pas trouvé la bonne manipulation sous Audacity pour le faire ou en tout cas pas le bon paramètre avec Raw Import. J&#8217;ai ensuite d&#8217;abord essayé le logiciel <a href="http://www.nch.com.au/switch/">Switch</a>. Ce logiciel est normalement capable de convertir pas mal de formats en mp3 mais là il n&#8217;a pas réussi.</p>
<p>J&#8217;ai donc cherché un spécialiste du format et j&#8217;ai trouvé chez <a href="http://www.miksoft.net/mobileMediaConverter.htm">Miksoft Mobile Media Converter</a>. Une fois installé rien de plus simple, vous lui indiquez le fichier .amr et lui transforme ça en mp3. Simple et efficace !! A noter que le logiciel sait aussi faire l&#8217;inverse et qu&#8217;il sait aussi faire les même choses pour le format vidéo 3GP <img src='http://www.bertrand-soulier.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.bertrand-soulier.com/2006/06/26/convertir-des-fichiers-amr/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Templates : configurer Dreamweaver MX</title>
		<link>http://www.bertrand-soulier.com/2005/06/30/templates-configurer-dreamweaver-mx/</link>
		<comments>http://www.bertrand-soulier.com/2005/06/30/templates-configurer-dreamweaver-mx/#comments</comments>
		<pubDate>Thu, 30 Jun 2005 09:22:06 +0000</pubDate>
		<dc:creator>bertrand</dc:creator>
				<category><![CDATA[Astuces et Tutoriaux]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[<p>Voici le dernier tutorial repris de l'ancienne série. Si vous utilisez Dreamweaver MX, vous devez avoir eu la désagréable surprise de ne pas réussir à ouvrir les fichiers .tpl autrement qu'en mode "code". Mais la solution existe...  (Article initialement écris le 01/12/2002)</p>]]></description>
			<content:encoded><![CDATA[<p></p><p>Avec les versions précédentes de Dreamweaver, il était très simple d&#8217;ouvrir un fichier .tpl (ou autre extension choisie pour vos templates). Il suffisait en effet d&#8217;associer l&#8217;extension au logiciel, et comme par magie on pouvait travailler sur les fichiers comme sur n&#8217;importe quelle page HTML</p>
<p>Avec la version MX, cette manipulation n&#8217;est pas suffisante, puisque le fichier sera ouvert en mode Code et qu&#8217;il est impossible de passer en mode Création.</p>
<h4>Trifouiller dans les fichiers de configuration</h4>
<p>Pourtant la solution est très simple. Le logiciel dispose en effet de toute une série de fichiers de configuration en xml que vous pouvez simplement modifier avec Notepad ou tout autre éditeur texte.</p>
<p>Cherchez donc le fichier <strong>MMDocumentTypes.xml</strong> qui se trouve dans le dossier <strong>Configuration\DocumentTypes</strong> du dossier où vous avez installé Dreamweaver MX. La troisième ligne doit ressembler à cela&nbsp;:</p>
<pre>&lt;documenttype id="HTML" internaltype="HTML" winfileextension="htm,html,shtml,shtm,stm,lasso,xhtml" macfileextension="html,htm,shtml,shtm,lasso,xhtml" file="Default.html" writebyteordermark="false"&gt;</pre>
<p>Modifiez la simplement en rajoutant l&#8217;extension de vos fichiers template (ici tpl)&nbsp;:</p>
<pre>&lt;documenttype id="HTML" internaltype="HTML" winfileextension="htm,html,shtml,shtm,stm,lasso,xhtml,tpl" macfileextension="html,htm,shtml,shtm,lasso,xhtml,tpl" file="Default.html" writebyteordermark="false"&gt;</pre>
<p>Dreamweaver assimile maintenant vos fichier .tpl a des fichiers html des plus classiques, et vous pourrez les ouvrir en mode Création.</p>
<h4>Autre astuce</h4>
<p>Il y a un autre fichier qui peut vous être utile de modifier, il concerne cette fois le type de document dans les boites de dialogue &laquo;&nbsp;Ouvrir&nbsp;&raquo;. Trouver dans le dossier Configuration le fichier Extensions.txt. Il contient tous les filtres possibles sur le type de document lorsque vous faites Fichier &gt; Ouvrir dans Dreamweaver.</p>
<p>Pour ma part j&#8217;ai rajouté une ligne dans ce fichier&nbsp;:</p>
<pre>TPL:Fichiers templates</pre>
<p>Ainsi je peux choisir de n&#8217;afficher que les fichier .tpl, ce qui est parfois bien pratique. Vous pouvez aussi ajouter l&#8217;extenson dans une autre ligne, comme ici à la ligne 2&nbsp;:</p>
<pre>HTM,HTML,XHTML,HTA,HTC,TPL:Documents HTML</pre>
<p>Ainsi vous pourrez n&#8217;afficher que les document .htm, .html &#8230; et .tpl</p>
<p>Bien sûr vous pouvez ajouter le support d&#8217;autres extensions de la même manière.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bertrand-soulier.com/2005/06/30/templates-configurer-dreamweaver-mx/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Templates : les blocks imbriqués et une astuce</title>
		<link>http://www.bertrand-soulier.com/2005/06/30/templates-les-blocks-imbriques-et-une-astuce/</link>
		<comments>http://www.bertrand-soulier.com/2005/06/30/templates-les-blocks-imbriques-et-une-astuce/#comments</comments>
		<pubDate>Thu, 30 Jun 2005 09:01:32 +0000</pubDate>
		<dc:creator>bertrand</dc:creator>
				<category><![CDATA[Astuces et Tutoriaux]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[<p>Pour finir sur les blocks, voilà quelques astuces sur les blocks imbriqués. Si l'utilisation est très simple il y a un ou deux points à ne pas oublier si l'on veut que cela fonctionne. (Article initialement écris le 25/06/2001)</p>]]></description>
			<content:encoded><![CDATA[<p></p><p>Pour illustrer le cas, nous allons mettre en place une sorte d&#8217;annuaire des liens sur PHP&nbsp;! Pour simplifier au maximum je ne prendrais que les titres des sites.</p>
<h4>Les données</h4>
<p>J&#8217;utilise ici des tableaux, car c&#8217;est plus simple dans le cadre du tutorial. Mais nous pourrions, utiliser des données provenant d&#8217;une base de données.</p>
<pre>&lt;?
$categories = array( // les catégories de liens
    0 =&gt;"Francais",
    1 =&gt;"Anglais"
    );
$liens[0]=array( // les liens de la catégorie 0
    0 =&gt; "Phpinfo.net",
    1 =&gt; "PhpFrance.com"
    );

$liens[1]=array( // les liens de la catégorie 1
    0 =&gt; "PhpBuilder.com",
    1 =&gt; "Php.net"
    );
?&gt;</pre>
<h4>Le template</h4>
<p>Comme le tutorial est sur les blocks imbriqués, nous allons créer un seul fichier (tableau.tpl) contenant un titre et 2 blocks&nbsp;:</p>
<pre>&lt;html&gt;
&lt;p&gt;&lt;font size="3"&gt;&lt;b&gt;Mes liens&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
&lt;!-- BEGIN CATEGORIE --&gt;&lt;p&gt;&lt;b&gt;{TITRE_CATEGORIE}&lt;/b&gt;&lt;br&gt;
&lt;!-- BEGIN ITEM --&gt; * {TITRE_ITEM}&lt;br&gt;
&lt;!-- END ITEM --&gt;&lt;/p&gt;&lt;!-- END CATEGORIE --&gt;
&lt;/html&gt;</pre>
<p>Comme vous pouvez le constater le block ITEM commence et se termine à l&#8217;intérieur du block CATEGORIE. Il ne faut pas l&#8217;oublier au moment d&#8217;écrire son code Php. On doit en effet commencer par déclarer le block à l&#8217;intérieur, puis l&#8217;autre&nbsp;:</p>
<pre>$t-&gt;set_block("tableau","ITEM","item"); // on définit le block intérieur
$t-&gt;set_block("tableau","CATEGORIE","categorie"); // on définit le block extérieur</pre>
<p><ins>IMPORTANT</ins>&nbsp;: Si on faisait l&#8217;inverse, le block ITEM ne sera pas vu du tout, et vous obtiendriez un message d&#8217;erreur.</p>
<h4>Le script</h4>
<pre>&lt;?
include "template.inc";
$t=new template("."); // création du template
$t-&gt;set_file("tableau","tableau.tpl"); // on indique le fichier servant de modèle
$t-&gt;set_block("tableau","ITEM","item"); // on définit le block intérieur
$t-&gt;set_block("tableau","CATEGORIE","categorie"); // on définit le block extérieur
for ($i=0; $i&lt;sizeof($categories); $i++) { // on commence par lister les catégories
       $t-&gt;set_var("TITRE_CATEGORIE",$categories[$i]);
       $t-&gt;set_var("item",""); // ligne à ne pas oublier sous peine de surprise !!!
        for ($j=0; $j&lt;sizeof($liens[$i]); $j++) { // on liste les liens pour chaque catégorie
                     $t-&gt;set_var("TITRE_ITEM",$liens [$i][$j]);
                     $t-&gt;parse ("item","ITEM",true); //on traite le block ITEM
                     }
       $t-&gt;parse ("categorie","CATEGORIE",true); // on traite le block CATEGORIE
       }
$t-&gt;parse("MyOutput","tableau",true); // on traite le reste de la page
$t-&gt;p("MyOutput"); // on affiche la page
?&gt;</pre>
<p>Si vous avez lu les tutoriaux précédents, il n&#8217;y a rien de nouveau pour vous. On appelle le fichier, on déclare le block, on affecte les valeur aux zones et on affiche le tout. Il y a une seule variante, mais il ne faut absolument pas l&#8217;oublier&nbsp;:</p>
<pre>$t-&gt;set_var("item",""); // ligne à ne pas oublier sous peine de surprise !!!</pre>
<p>Elle tient au fait que vous avez 2 boucles imbriquées. Cette ligne affecte une valeur nulle au block ITEM. Ce nettoyage permet de vider la valeur, qui sans cette ligne suivrait dans la boucle suivante. Pour faire un test, essayez d&#8217;enlever cette ligne. Pour la première catégorie cela ne change rien, mais dans la deuxième, vous obtenez les liens de la deuxième catégorie mais aussi ceux de la première qui ont suivis.  Si vous aviez 3 catégories, la troisième afficherait les liens de la première, de la deuxième et bien sûr ceux de la troisième. Alors imaginez le résultat si vous programmez un annuaire de 20 ou 30 catégories avec quelques sous-catégories !!</p>
<h4>Conclusion</h4>
<p>Si vous pouvez vous passer des blocks imbriqués, la technique utilisée pour vider le contenu du block vous sera certainement très utile. Elle fonctionne aussi de la même manière si vous utlisez plusieurs fichiers template plutôt que des blocks.<br />
Je connais certains développeurs qui ont passé leur week-end sur ce problème, surtout que la documentation de la Phplib ne mentionne pas du tout cette astuce.</p>
<p>Je crois que vous en savez maintenant assez pour développer votre site avec les templates&nbsp;!</p>
<p><a href="http://www.bertrand-soulier.com/php/tutoriaux/template3.zip">Télécharger les sources du tutorial</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bertrand-soulier.com/2005/06/30/templates-les-blocks-imbriques-et-une-astuce/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Templates : les blocks</title>
		<link>http://www.bertrand-soulier.com/2005/06/30/templates-les-blocks/</link>
		<comments>http://www.bertrand-soulier.com/2005/06/30/templates-les-blocks/#comments</comments>
		<pubDate>Thu, 30 Jun 2005 08:51:12 +0000</pubDate>
		<dc:creator>bertrand</dc:creator>
				<category><![CDATA[Astuces et Tutoriaux]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[<p>La suite du tutorial précédent, ou une autre manière de gérer les templates multiples. Les blocks permettent de combiner plusieurs templates en un seul. (Article initialement écris le 23/05/2001)</p>]]></description>
			<content:encoded><![CDATA[<p></p><p>Pour étudier les blocks nous allons revenir sur le tutorial sur les templates. Reprenons le deuxième exemple. D&#8217;abord le tableau (tableau.tpl)&nbsp;:</p>
<pre>&lt;html&gt;
   &lt;table&gt;
       {LISTE}
   &lt;/table&gt;
&lt;/html&gt;</pre>
<p>il nous faut un deuxième template qui correspond à la présentation d&#8217;une ligne du tableau (ligne.tpl)&nbsp;:</p>
<pre>&lt;tr&gt;
   &lt;td&gt;{ID} : {NOM}&lt;/td&gt;
&lt;/tr&gt;</pre>
<p>Maintenant voyons le script pour afficher le tableau (test2.php):</p>
<pre>&lt;?
include "template.inc";
$tableau=array("tarzan","jane","cheetah");
$t = new Template("tpl/"); // création du template $t
$t-&gt;set_file(array(
     "page"=&gt;"tableau.tpl",
     "ligne"=&gt;"ligne.tpl"
)); // on définit le fichier contenant le modèle

// traitement des lignes du tableau
reset($tableau);
while (list($cle,$valeur) = each($tableau)) {
 $t-&gt;set_var(array(
     "ID"=&gt;$cle,
     "NOM"=&gt;$valeur
 ) );
 $t-&gt;parse("LISTE","ligne",true);
}
// fin du traitement des lignes du tableau
$t-&gt;pparse("MyOutput","page"); // traitement du modele et affichage
?&gt;</pre>
<h4>Et avec les blocks&nbsp;?</h4>
<p>Cet exemple utilisait 2 fichiers template pour afficher le tableau. Les blocks vont permettre de n&#8217;en utiliser qu&#8217;un seul, ce qui réduit le nombre de fichiers et simplifie parfois le travail. On crée donc tableau.tpl&nbsp;:</p>
<pre>&lt;table border="0" cellspacing="0" cellpadding="0" width="200"&gt;
&lt;!-- BEGIN LIGNE --&gt;&lt;tr&gt;
&lt;td&gt;{ID} : {NOM}&lt;/td&gt;
&lt;/tr&gt;&lt;!-- END LIGNE --&gt;
&lt;/table&gt;</pre>
<p>J&#8217;ai volontairement pris le même exemple très simple. Le block est la partie définie par les commentaires&nbsp;: <code>&lt;!-- BEGIN LIGNE --&gt;...&lt;!-- END LIGNE --&gt;</code>. Dans ce cas ce block s&#8217;appelle LIGNE. Ce block est équivalent au fichier ligne.tpl de l&#8217;exemple précédent, et remplit le même rôle&nbsp;: il sera répété autant de fois que l&#8217;on en aura besoin.</p>
<p>Une petite remarque à ce sujet&nbsp;: quand vous créez un commentaire avec Dreamweaver, il ne laisse jamais d&#8217;espace avant le texte, et en laisse toujours un après. Pour que le script fonctionne, il faut rajouter l&#8217;espace de début, sinon vous aurez toujours une erreur.</p>
<p>Voyons maintenant le script php (index.php)&nbsp;:</p>
<pre>&lt;?
include "template.inc";
$t=new template("."); // création du template
$t-&gt;set_file("tableau","tableau.tpl"); // on indique le fichier servant de modèle
$t-&gt;set_block("tableau","LIGNE","une_ligne"); // on définit le block

$tableau=array("Tarzan", "Jane","cheetah"); // les données qui serviront d'exemple
// on va afficher le tableau ligne par ligne
reset($tableau);
while (list($cle,$valeur)=each($tableau)) {
 $t-&gt; set_var(array(
   "ID"=&gt;$cle,
   "NOM"=&gt;$valeur
   ));
 $t-&gt;parse("une_ligne","LIGNE",true); // on traite le block
}
$t-&gt;parse("MyOutput","tableau"); // on traite le reste de la page
$t-&gt;p("MyOutput"); // on affiche la page
?&gt;</pre>
<p>Le script est très ressemblant là encore, et produit le même résultat. Seulement on appelle plus qu&#8217;un seul fichier à l&#8217;aide de set_file(), et on définit le block avec la fonction set_var(). Sinon la démarche est la même, car à chaque passage dans la boucle on utilise la fonction parse() pour traiter le block.</p>
<p><strong>Conclusion</strong></p>
<p>L&#8217;utilisation des blocks plutôt que des fichiers templates séparés produit le même résultat, et ne complique pas plus le script. Souvent l&#8217;utilisation des blocks vous évitera seulement d&#8217;avoir plusieurs fichiers pour une même page. Je n&#8217;ai pas fait de test précis de rapidité entre les 2 méthodes, mais pour utiliser les 2 je ne vois pas de différence.</p>
<p><a href="http://www.bertrand-soulier.com/php/tutoriaux/template2.zip">Télécharger les sources du tutorial</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.bertrand-soulier.com/2005/06/30/templates-les-blocks/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Les templates Kesako ?</title>
		<link>http://www.bertrand-soulier.com/2005/06/30/les-templates-kesako/</link>
		<comments>http://www.bertrand-soulier.com/2005/06/30/les-templates-kesako/#comments</comments>
		<pubDate>Thu, 30 Jun 2005 08:20:45 +0000</pubDate>
		<dc:creator>bertrand</dc:creator>
				<category><![CDATA[Astuces et Tutoriaux]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[<p>J'ai décidé de reprendre un peu mes tutoriaux sur les templates. Je vais d'abord intégrer les quatre premier dans ce blog ce qui vous permettra de les commenter. Je les reprends tels quels en corrigeant seulement les liens qui ont changé depuis. On verra ensuite pour les compléter un peu. Le premier tutorial est une présentation du principe des templates et les premières bases pour travailler avec les templates de la phplib. (Article initialement écris le 08/04/2001)</p>]]></description>
			<content:encoded><![CDATA[<p></p><p>Les templates (ou modèles) permettent de séparer le code HTML et le script PHP. Dit comme ça, le bénéfice ne vous semble pas évident par rapport à l&#8217;immersion des balises html dans le script php. Voilà pour moi les avantages des templates&nbsp;:</p>
<ul>
<li>simplification des scripts php</li>
<li>optimisation plus simple du code html</li>
<li>plus de flexibilité dans le développement et modification de l&#8217;aspect d&#8217;un site en quelques secondes</li>
<li>customization du site (voir les skins)</li>
<li>permet au webdesigner qui ne connait pas la programmation de travailler tranquillement sur des sites dynamiques tout en conservant ses outils</li>
<li>réutilisation plus facile du code</li>
</ul>
<p><strong>Avant de commencer</strong></p>
<p>Il existe actuellement de nombreuses librairies de scripts gérant les templates. La plus connue est sûrement FastTemplate, mais elle n&#8217;est pas la seule. Pour ma part je lui préfère l&#8217;implémentation de la <a href="http://phplib.sourceforge.net">PHPLib</a>. Je lis régulièrement des avis sur la supériorité de l&#8217;une par rapport à l&#8217;autre, et je ne rentrerai pas dans ces considérations. Mais pour résumer il semble que FastTemplate soit moins rapide car ce serait une simple traduction d&#8217;une librairie PERL et donc n&#8217;utilisant pas les meilleurs fonctions de PHP.<br />
Pour ceux qui s&#8217;inquiètent déjà en se disant qu&#8217;il faut installer la PHPLib, ce qui n&#8217;est pas toujours possible, ne vous inquiétez pas. Vous n&#8217;avez besoin que d&#8217;un fichier&nbsp;: <a href="http://www.bertrand-soulier.com/php/tutoriaux/template.inc">template.inc</a>. Vous pouvez jetter le reste si vous le souhaitez.</p>
<p><strong>Premier exemple</strong></p>
<p>Créons un fichier html (template.tpl) contenant ce simple code (attention, retapez le code, car le copier-coller risque de créer des erreurs)&nbsp;:</p>
<pre>Bonjour {NOM} !</pre>
<p>C&#8217;est ce fichier qui définit l&#8217;apparence. Le nom et l&#8217;extension du fichier importent peu, c&#8217;est à vous de créer une convention qui vous indique que c&#8217;est un fichier template.</p>
<p>Maintenant un petit bout de script php, créons un fichier test.php&nbsp;:</p>
<pre><code>&lt;? </code>
<code> include "template.inc";</code>
<code> $nom="tarzan";</code>
<code> $t = new Template("."); // création du template $t </code>
<code> $t-&gt;set_file("page","template.tpl"); // on définit le fichier contenant le modèle</code>
<code> $t-&gt;set_var("NOM",$nom); // on indique que l'on doit remplacer {NOM} par le contenu de la variable $nom</code>
<code> $t-&gt;parse("MyOutput","page"); // traitement du modele </code>
<code> $t-&gt;p("MyOutput"); // on affiche la page complète </code>
<code> ?&gt;</code></pre>
<p>c&#8217;est une exemple volontairement très simple, mais vous avez là pratiquement toutes les fonctions des templates. Décryptons un peu ce code. La première ligne inclut le fichier template.inc livrée avec la PHPLib, c&#8217;est lui qui contient les fonctions neccesaires pour utiliser les templates. En fait c&#8217;est une classe (<a href="http://www.phpinfo.net/articles/article_classes.html">voir le tutorial sur phpinfo.net</a>), et il faut donc créer un objet pour pouvoir utiliser les fonctions de la classe.</p>
<p>Le code <strong>$t = new Template(&laquo;&nbsp;.&nbsp;&raquo;);</strong> crée donc un objet $t et indique le chemin pour accéder aux fichiers templates. Dans ce cas le fichier php et le template sont dans le même dossier, et on aurait aussi pû créer l&#8217;objet comme ça&nbsp;: <strong>$t = new Template();</strong> .</p>
<p>Ensuite set_file() indique le fichier template à utiliser. Puis; on défini le contenu de la zone {NOM} avec la fonction set_var(). La fonction parse() traite ensuite le template mais n&#8217;affiche rien. Pour afficher la page, on utilise la fonction p().<br />
Sur un exemple aussi simple, l&#8217;intérêt des templates est limité, mais il vous permet de tester quelques possibilités. Pour modifier l&#8217;aspect de votre page, vous n&#8217;avez plus qu&#8217;à modifier template.tpl. Vous pouvez le modifier sans rique dans un éditeur HTML comme Dreamweaver car il ne contient aucun code php.</p>
<p><strong>On complique un peu</strong></p>
<p>Créons un tableau avec une liste de nom. Nous allons utiliser non pas un, mais deux templates. D&#8217;abord le tableau (tableau.tpl)&nbsp;:</p>
<pre><code>&lt;html&gt;</code>
<code>   &lt;table&gt;</code>
<code>       {LISTE}</code>
<code>   &lt;/table&gt;</code>
<code>&lt;/html&gt; </code></pre>
<p>il nous faut un deuxième template qui correspond à la présentation d&#8217;une ligne du tableau (ligne.tpl)&nbsp;:</p>
<pre> &lt;tr&gt;
    &lt;td&gt;{ID} : {NOM}&lt;/td&gt;
 &lt;/tr&gt;</pre>
<p>Maintenant voyons le script pour afficher le tableau (test2.php):</p>
<pre>&lt;?
include "template.inc";
$tableau=array("tarzan","jane","cheetah");
$t = new Template("tpl/"); // création du template $t
$t-&gt;set_file(array(
     "page"=&gt;"tableau.tpl",
     "ligne"=&gt;"ligne.tpl"
)); // on définit le fichier contenant le modèle

// traitement des lignes du tableau
reset($tableau);
while (list($cle,$valeur) = each($tableau)) {
 $t-&gt;set_var(array(
     "ID"=&gt;$cle,
     "NOM"=&gt;$valeur
 ) );
 $t-&gt;parse("LISTE","ligne",true);
}
// fin du traitement des lignes du tableau
$t-&gt;pparse("MyOutput","page"); // traitement du modele et affichage
?&gt;</pre>
<p>J&#8217;ai introduit ici quelques différences. Tout d&#8217;abord, j&#8217;ai placé les fichier templates dans un dossier spécial nommé tpl. la création de l&#8217;objet est donc <strong>$t = new Template(&laquo;&nbsp;tpl/&nbsp;&raquo;);</strong> Comme on utilise 2 templates, on doit le spécifier dans le script. Plutôt que de faire 2 fois appel à la fonction set_var(), on passe un tableau en paramètres. Les fonctions set_file() et set_var() permettent en effet de passer un tableau en paramètre ce qui est parfois bien utile.</p>
<p>La ligne <strong>$t-&gt;parse(&laquo;&nbsp;LISTE&nbsp;&raquo;,&nbsp;&raquo;ligne&nbsp;&raquo;,true);</strong> introduit une petite variante par rapport au 1er exemple. Ici elle permet de créer une ligne du tableau à chaque passage dans la boucle while(). Le paramètre &laquo;&nbsp;true&nbsp;&raquo; est neccessaire ici pour afficher plusieurs lignes. Le tableau $tableau a en effet 3 lignes, et sans le paramètre true seule la dernière ligne serait affichée.</p>
<p>Enfin la fonction <strong>pparse()</strong> rassemble les fonction parse() et p(). La ligne <strong>$t-&gt;pparse(&laquo;&nbsp;MyOutput&nbsp;&raquo;,&nbsp;&raquo;page&nbsp;&raquo;);</strong> est équivalente aux 2 lignes suivantes&nbsp;:</p>
<pre><code>$t-&gt;parse("MyOutput","page");</code>
<code>$t-&gt;p("MyOutput");</code></pre>
<p><strong>Conclusion</strong></p>
<p>Voilà une aperçu rapide des templates. Dans un prochain tutorial, nous verrons que le deuxième exemple peut être aussi traité avec les blocks, ce qui permet de n&#8217;utiliser qu&#8217;un fichier template au lieu de deux.<br />
Les templates ne se limitent pas aux pages html. on peut aussi générer du xml, wml, texte des e-mails&#8230;. On peut par exemple avec le même script php générer la version html et la version wml d&#8217;une page en indiquant seulement un template différent.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bertrand-soulier.com/2005/06/30/les-templates-kesako/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

