<?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>Iptima</title>
	<atom:link href="http://www.iptima.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.iptima.com</link>
	<description>... Miscellanées multimedia ®</description>
	<lastBuildDate>Tue, 08 Jun 2010 10:42:20 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Quand Google propose d&#8217;étonnantes suggestions&#8230;</title>
		<link>http://www.iptima.com/2010/04/19/quand-google-propose-detonnantes-suggestions/</link>
		<comments>http://www.iptima.com/2010/04/19/quand-google-propose-detonnantes-suggestions/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 21:30:44 +0000</pubDate>
		<dc:creator>Vincent Roulet</dc:creator>
				<category><![CDATA[Communication]]></category>
		<category><![CDATA[enseigne]]></category>
		<category><![CDATA[France]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Suggest]]></category>
		<category><![CDATA[Google Suggestions]]></category>
		<category><![CDATA[marque]]></category>
		<category><![CDATA[notoriété]]></category>
		<category><![CDATA[personnalité]]></category>
		<category><![CDATA[politique d'accessibilité]]></category>
		<category><![CDATA[réputation]]></category>

		<guid isPermaLink="false">http://www.iptima.com/?p=491</guid>
		<description><![CDATA[Google Suggestions (ou Google Suggest) propose la suggestion de mots-clef qui permet, selon l&#8217;éditeur, de trouver des termes de recherche pertinents, au fur et à mesure de la saisie de la requête.

Google précise&#8230; Google Suggestions utilise des informations sur la popularité des recherches courantes afin de classer ses suggestions. (&#8230;) Nous essayons de ne pas [...]]]></description>
			<content:encoded><![CDATA[<p><em>Google Suggestions</em> (ou <em>Google Suggest</em>) propose la suggestion de mots-clef qui permet, selon l&#8217;éditeur, <q>de trouver des termes de recherche pertinents</q>, au fur et à mesure de la saisie de la requête.</p>
<p><span id="more-491"></span></p>
<p><a href="http://www.google.fr/" onclick="window.open(this.href); return false;" title="aller sur le site Google (s'ouvre dans une nouvelle fenêtre)">Google</a> <a href="http://www.google.com/support/websearch/bin/answer.py?hl=fr&#038;answer=106230" onclick="window.open(this.href); return false;" title="aller sur l'aide de Google Suggestions (s'ouvre dans une nouvelle fenêtre)">précise</a>&#8230; <q><em>Google Suggestions</em> utilise des informations sur la popularité des recherches courantes afin de classer ses suggestions. (&#8230;) Nous essayons de ne pas proposer de suggestions de recherche qui pourraient offenser un grand nombre d&#8217;utilisateurs. Sont notamment inclus les termes à caractère pornographique, les termes grossiers, ainsi que les termes incitant à la haine et à la violence.</q></p>
<p>Les mots-clef suggérés par <a href="http://www.google.fr/" onclick="window.open(this.href); return false;" title="aller sur le site Google (s'ouvre dans une nouvelle fenêtre)">Google</a> sont <em>a priori</em> indépendants des contenus des pages <em>Web</em>, même si l&#8217;on peut penser que les internautes sont influencés par rétroaction par les sites déjà consultés.</p>
<p><em>Google Suggestions</em> affirme s&#8217;appuyer sur la popularité des recherches, mais ne précise pas le <em>dénominateur</em>, c&#8217;est-à-dire le délai retenu&#160;: s&#8217;agit-il des recherches des derniers mois ou des dernières heures&#160;? En effet, les suggestions sont fluctuantes au fil du temps&#160;: la même requête reformulée quelques heures plus tard ne renvoie pas toujours aux mêmes résultats. En outre, <em>Google Suggestions</em> ne retourne pas systématiquement le même nombre de résultats.</p>
<p>Néanmoins, les termes suggérés sont parfois étonnants&#160;!&#8230; Aussi avons-nous décidé de porter notre étude sur les hommes et les femmes politiques français, qu&#8217;il s&#8217;agisse de personnalités de premier plan ou de seconds couteaux. (Cette liste, parcellaire, est subjective.) Les suggestions ne reflètent pas l&#8217;état d&#8217;esprit des français, mais des internautes qui utilisent <a hreflang="en" href="http://www.google.com/" onclick="window.open(this.href); return false;" title ="aller sur le site Google (s'ouvre dans une nouvelle fenêtre)">Google</a>.</p>
<p>La recherche n&#8217;a porté que sur le prénom et le nom complet usuel (ainsi, <em>Sarközy de Nagy-Bocsa</em> n&#8217;a pas été utilisé au profit de <em>Nicolas Sarkozy</em> ou <em>Rama Yade</em> a été préféré à <em>Mame Ramatoulaye Yade</em>). De même, pour éviter les connotations péjoratives et pour faciliter les comparaisons, les diminutifs comme <em>Sarko</em>, <em>Ségo</em> ou <em>Dsk</em>&#8230; n&#8217;ont pas été retenus. Les résultats respectent l&#8217;ordre d&#8217;affichage et la typographie. Leur nombre fluctue, probablement selon la popularité (au sens large) des individus. Les requêtes ont été effectuées simultanément sur <a href="http://www.google.fr/" onclick="window.open(this.href); return false;" title="aller sur le site Google.fr (s'ouvre dans une nouvelle fenêtre)">Google.fr</a> et sur <a href="http://www.google.com/" onclick="window.open(this.href); return false;" title="aller sur le site Google.com (s'ouvre dans une nouvelle fenêtre)">Google.com</a> (<em>Google in English</em>). Enfin, n&#8217;ont été retenus que les termes apparaissant <strong>après</strong> le prénom et le nom.</p>
<p>La rigueur intellectuelle commanderait d&#8217;ailleurs d&#8217;actualiser régulièrement le contenu de cette page, mais le travail d&#8217;agrégation manuelle des données se révèle fastidieux.</p>
<p>Les résultats que nous présentons sont scindés en trois catégories, chaque personnalité étant ensuite classée selon son patronyme&#160;:</p>
<ol>
<li>hommes politiques de Droite,</li>
<li>hommes politiques de Gauche,</li>
<li>ministres.</li>
</ol>
<p><em>Google Suggestions</em> peut constituer un outil précieux pour mesurer <em>en temps réel</em> la popularité et la réputation d&#8217;une personne ou d&#8217;une marque, et savoir comment elles évoluent pour conduire ou non une action corrective.</p>
<h3>Hommes politiques de Droite</h3>
<h4>François Bayrou</h4>
<ul>
<li><em>Google.fr</em>
<ul>
<li>biographie</li>
<li>facebook</li>
<li>propose</li>
<li>wikipedia</li>
<li>blog</li>
<li>modem</li>
<li>franc maçon</li>
<li>député</li>
<li>et jean-pierre elkabbach</li>
<li>actualité</li>
</ul>
</li>
<li><em>Google.com</em>
<ul>
<li><em>Pas de réponse</em></li>
</ul>
</li>
</ul>
<h4>Jacques Chirac</h4>
<ul>
<li><em>Google.fr</em>
<ul>
<li>biographie</li>
<li>wikipedia</li>
<li>facebook</li>
<li>nu</li>
<li>mort</li>
<li>drague</li>
<li>maintenant</li>
<li>wiki</li>
<li>président</li>
<li>franc maçon</li>
</ul>
</li>
<li><em>Google.com</em>
<ul>
<li>biography</li>
<li>quotes</li>
<li>political party</li>
<li>bush gog magog</li>
<li>foundation</li>
<li>corruption</li>
<li>gog magog</li>
<li>scandal</li>
<li>mistress</li>
<li>dog</li>
</ul>
</li>
</ul>
<h4>François Fillon</h4>
<ul>
<li><em>Google.fr</em>
<ul>
<li>biographie</li>
<li>wikipedia</li>
<li>1er ministre</li>
<li>fils</li>
<li>blog</li>
<li>en chine</li>
<li>et les musulmans</li>
<li>identité nationale</li>
<li>sms</li>
<li>wiki</li>
</ul>
</li>
<li><em>Google.com</em>
<ul>
<li>musulmans</li>
</ul>
</li>
</ul>
<h4>Alain Juppé</h4>
<ul>
<li><em>Google.fr</em>
<ul>
<li>blog</li>
<li>wikipedia</li>
<li>maire de bordeaux</li>
<li>wiki</li>
<li>juif</li>
<li>condamnation</li>
<li>bordeaux</li>
<li>identité nationale</li>
<li>premier ministre</li>
</ul>
</li>
<li><em>Google.com</em>
<ul>
<li>bordeaux</li>
</ul>
</li>
</ul>
<h4>Jean-Marie Le Pen</h4>
<ul>
<li><em>Google.fr</em>
<ul>
<li>biographie</li>
<li>citations</li>
<li>sophie marceau</li>
<li>wiki</li>
<li>facebook</li>
<li>raciste</li>
<li>wikipedia</li>
<li>blog</li>
<li>solal</li>
</ul>
</li>
<li><em>Google.com</em>
<ul>
<li>wikipedia</li>
<li>quotes</li>
<li>facebook</li>
</ul>
</li>
</ul>
<h4>Marine Le Pen</h4>
<ul>
<li><em>Google.fr</em>
<ul>
<li>biographie</li>
<li>blog</li>
<li>facebook</li>
<li>nu</li>
<li>besson</li>
<li>2009</li>
<li>eric besson</li>
<li>wiki</li>
<li>2012</li>
<li>wikipedia</li>
</ul>
</li>
<li><em>Google.com</em>
<ul>
<li>wiki</li>
<li>mitterrand</li>
<li>eric besson</li>
</ul>
</li>
</ul>
<h4>Nicolas Sarkozy</h4>
<ul>
<li><em>Google.fr</em>
<ul>
<li>facebook</li>
<li>biographie</li>
<li>taille</li>
<li>wikipedia</li>
<li>nu</li>
<li>grand père</li>
<li>juif</li>
<li>wiki</li>
<li>carla bruni</li>
<li>tf1</li>
</ul>
</li>
<li><em>Google.com</em>
<ul>
<li>biography</li>
<li>wife</li>
<li>height</li>
<li>wiki</li>
<li>quotes</li>
<li>carla bruni</li>
<li>haiti</li>
<li>facebook</li>
<li>antichrist</li>
<li>political party</li>
</ul>
</li>
</ul>
<h4>Dominique de Villepin</h4>
<ul>
<li><em>Google.fr</em>
<ul>
<li>biographie</li>
<li>blog</li>
<li>wikipedia</li>
<li>site officiel</li>
<li>juif</li>
<li>facebook</li>
<li>club</li>
<li>avocat</li>
<li>wiki</li>
</ul>
</li>
<li><em>Google.com</em>
<ul>
<li>wiki</li>
<li>daughter</li>
<li>clearstream</li>
<li>un speech</li>
<li>trial</li>
<li>blog</li>
<li>bio</li>
<li>facebook</li>
<li>site officiel</li>
</ul>
</li>
</ul>
<p><em>Interrogations effectuées le 10 avril 2010, entre 16 h 45 et 17 h 25.</em></p>
<h3>Homme politiques de Gauche</h3>
<h4>Martine Aubry</h4>
<ul>
<li><em>Google.fr</em>
<ul>
<li>biographie</li>
<li>lesbienne</li>
<li>wikipedia</li>
<li>mari</li>
<li>brochen</li>
<li>blog</li>
<li>mariage</li>
<li>retraite</li>
<li>facebook</li>
<li>maire de lille</li>
</ul>
</li>
<li><em>Google.com</em>
<ul>
<li>wikipedia</li>
<li>lesbienne</li>
<li>biography</li>
</ul>
</li>
</ul>
<h4>Olivier Besancenot</h4>
<ul>
<li><em>Google.fr</em>
<ul>
<li>site officiel</li>
<li>et sa femme</li>
<li>biographie</li>
<li>wikipedia</li>
<li>patrimoine</li>
<li>femme</li>
<li>facebook</li>
<li>stéphanie chevrier</li>
<li>npa</li>
<li>blog</li>
</ul>
</li>
<li><em>Google.com</em>
<ul>
<li>npa</li>
</ul>
</li>
</ul>
<h4>Marie-Georges Buffet</h4>
<ul>
<li><em>Google.fr</em>
<ul>
<li>biographie</li>
<li>juive</li>
<li>identité nationale</li>
</ul>
</li>
<li><em>Google.com</em>
<ul>
<li><em>Pas de réponse</em></li>
</ul>
</li>
</ul>
<h4>Daniel Cohn-Bendit</h4>
<ul>
<li><em>Google.fr</em>
<ul>
<li>biographie</li>
<li>contact</li>
<li>wikipedia</li>
<li>mai 68</li>
<li>du rouge au vert</li>
<li>blog</li>
<li>facebook</li>
<li>ta gueule</li>
<li>le grand bazar</li>
</ul>
</li>
<li><em>Google.com</em>
<ul>
<li>wiki</li>
<li>biographie</li>
<li>mai 68</li>
<li>israel</li>
</ul>
</li>
</ul>
<h4>Cécile Duflot</h4>
<ul>
<li><em>Google.fr</em>
<ul>
<li>cantat</li>
<li>wiki</li>
<li>maldives</li>
<li>divorce</li>
<li>avion</li>
<li>facebook</li>
<li>aux maldives</li>
<li>terebenthine</li>
<li>blog</li>
</ul>
</li>
<li><em>Google.com</em>
<ul>
<li>cantat</li>
<li>maldives</li>
</ul>
</li>
</ul>
<h4>François Hollande</h4>
<ul>
<li><em>Google.fr</em>
<ul>
<li>juif</li>
<li>compagne</li>
<li>valérie trierweiler</li>
<li>biographie</li>
<li>maitresse</li>
<li>député</li>
<li>et valerie</li>
<li>facebook</li>
<li>nouveau look</li>
<li>blog</li>
</ul>
</li>
<li><em>Google.com</em>
<ul>
<li>juif</li>
</ul>
</li>
</ul>
<h4>Ségolène Royal</h4>
<ul>
<li><em>Google.fr</em>
<ul>
<li>chirurgie esthétique</li>
<li>actualité</li>
<li>poitou charentes</li>
<li>2010</li>
<li>andré hadjez</li>
<li>facebook</li>
<li>désirs d&#8217;avenir</li>
<li>françois hollande</li>
</ul>
</li>
<li><em>Google.com</em>
<ul>
<li>désirs d&#8217;avenir</li>
</ul>
</li>
</ul>
<h4>Dominique Strauss-Kahn</h4>
<ul>
<li><em>Google.fr</em>
<ul>
<li>biographie</li>
<li>wikipedia</li>
<li>wiki</li>
<li>prépare l&#8217;avenir en candidat libre</li>
<li>juif</li>
<li>scandale</li>
<li>guillon</li>
</ul>
</li>
<li><em>Google.com</em>
<ul>
<li>scandal</li>
<li>bio</li>
<li>wife</li>
<li>jew</li>
<li>threat to democracy</li>
<li>biography</li>
<li>imf</li>
<li>anne sinclair</li>
<li>contact</li>
</ul>
</li>
</ul>
<p><em>Interrogations effectuées le 10 avril 2010, entre 16 h 45 et 17 h 25.</em></p>
<h3>Ministres</h3>
<h4>Roselyne Bachelot</h4>
<ul>
<li><em>Google.fr</em>
<ul>
<li>biographie</li>
<li>tu mens</li>
<li>ministre de la santé</li>
<li>grippe a</li>
<li>lesbienne</li>
<li>tribunal</li>
<li>assignée</li>
<li>cv</li>
<li>assigner en référé</li>
</ul>
</li>
<li><em>Google.com</em>
<ul>
<li>wikipedia</li>
<li>h1n1</li>
<li>biographie</li>
<li>tribunal</li>
<li>vaccin</li>
<li>assignée en référé</li>
<li>wiki</li>
</ul>
</li>
</ul>
<h4>Éric Besson</h4>
<ul>
<li><em>Google.fr</em>
<ul>
<li>nouvelle compagne</li>
<li>tunisienne</li>
<li>juif</li>
<li>wikipedia</li>
<li>divorce</li>
<li>ministre</li>
<li>et sa nouvelle compagne</li>
<li>tunisienne 22 ans</li>
<li>biographie</li>
</ul>
</li>
<li><em>Google.com</em>
<ul>
<li>wikipedia</li>
<li>girlfriend</li>
<li>tunisienne</li>
<li>wikipedia</li>
<li>voici</li>
<li>immigration</li>
<li>france</li>
<li>grand debat</li>
<li>marine le pen</li>
<li>ministre</li>
<li>national identity</li>
</ul>
</li>
</ul>
<h4>Jean-Louis Borloo</h4>
<ul>
<li><em>Google.fr</em>
<ul>
<li>ministre</li>
<li>wikipedia</li>
<li>juif</li>
<li>bourré</li>
<li>ivre à l&#8217;assemblée</li>
<li>biographie</li>
<li>ivre</li>
</ul>
</li>
<li><em>Google.com</em>
<ul>
<li>wiki</li>
</ul>
</li>
</ul>
<h4>Brice Hortefeux</h4>
<ul>
<li><em>Google.fr</em>
<ul>
<li>biographie</li>
<li>et sa femme</li>
<li>raciste</li>
<li>wikipedia</li>
<li>auvergnat</li>
<li>juif</li>
<li>prix contre le racisme</li>
<li>video</li>
<li>wiki</li>
<li>femme</li>
</ul>
</li>
<li><em>Google.com</em>
<ul>
<li>wikipedia</li>
<li>racist</li>
<li>raciste</li>
<li>prix</li>
</ul>
</li>
</ul>
<h4>Éric Woerth</h4>
<ul>
<li><em>Google.fr</em>
<ul>
<li>juif</li>
</ul>
</li>
<li><em>Google.com</em>
<ul>
<li><em>Pas de réponse</em></li>
</ul>
</li>
</ul>
<h4>Rame Yade</h4>
<ul>
<li><em>Google.fr</em>
<ul>
<li>nu</li>
<li>biographie</li>
<li>et son mari</li>
<li>mari</li>
<li>photo</li>
<li>wiki</li>
<li>maillot de bain</li>
<li>voici</li>
<li>domenech</li>
<li>plage</li>
</ul>
</li>
<li><em>Google.com</em>
<ul>
<li>husband</li>
<li>biographie</li>
<li>photos</li>
<li>sarkozy</li>
<li>wikipedia</li>
<li>wikipedia fr</li>
<li>joseph zimet</li>
<li>mari</li>
<li>hot</li>
</ul>
</li>
</ul>
<p><em>Interrogations effectuées le 13 avril 2010, entre 11 h 30 et 12 h 00.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.iptima.com/2010/04/19/quand-google-propose-detonnantes-suggestions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Publier un catalogue interactif avec «&#160;Page Flip&#160;» grâce à la solution gratuite et professionnelle «&#160;Issuu&#160;»</title>
		<link>http://www.iptima.com/2010/04/19/publier-un-catalogue-interactif-avec-%c2%ab-page-flip-%c2%bb-grace-a-la-solution-gratuite-et-professionnelle-%c2%ab-issu-%c2%bb/</link>
		<comments>http://www.iptima.com/2010/04/19/publier-un-catalogue-interactif-avec-%c2%ab-page-flip-%c2%bb-grace-a-la-solution-gratuite-et-professionnelle-%c2%ab-issu-%c2%bb/#comments</comments>
		<pubDate>Mon, 19 Apr 2010 21:00:26 +0000</pubDate>
		<dc:creator>Vincent Roulet</dc:creator>
				<category><![CDATA[Communication]]></category>
		<category><![CDATA[Conception]]></category>
		<category><![CDATA[WebDesign]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Issuu]]></category>
		<category><![CDATA[Page Flip]]></category>
		<category><![CDATA[Pdf]]></category>
		<category><![CDATA[Portable Document Format]]></category>

		<guid isPermaLink="false">http://www.iptima.com/?p=461</guid>
		<description><![CDATA[Depuis quelques semaines, nous cherchions une solution gratuite pour publier en ligne des Page Flip, c&#8217;est-à-dire des catalogues feuilletables et interactifs en ligne au format Flash, souvent au format au Pdf à l&#8217;origine. Nos catalogues devaient pouvoir s&#8217;intégrer à des sites Internet haut de gamme. Nous voulions trouver une solution esthétique (sans les vilaines reliures [...]]]></description>
			<content:encoded><![CDATA[<p>Depuis quelques semaines, nous cherchions une solution <em>gratuite</em> pour publier en ligne des <em>Page Flip</em>, c&#8217;est-à-dire des catalogues feuilletables et interactifs en ligne au format Flash, souvent au format au <acronym title="Portable Document Format">Pdf</acronym> à l&#8217;origine. Nos catalogues devaient pouvoir s&#8217;intégrer à des sites Internet haut de gamme. Nous voulions trouver une solution esthétique (sans les vilaines reliures des doubles pages qui servent de cache-misère&#160;!) et stable, qui permettent notamment de zoomer sans perte de qualité textes et images&#160;: le choix était donc plus restreint. Après avoir testé plusieurs (dizaines de) solutions en ligne ou <em>Open Source</em> décevantes, nous avons finalement décidé de nous plonger dans <a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a>. Cet outil est bluffant, comme nous allons le montrer. Simple à utiliser pour des publications basiques, ses fonctionnalités étendues et son <acronym title="Application Programming Interface">Api</acronym> riche le rend très performant et hautement personnalisable&#160;: ajout de son propre logo, publication exclusive du catalogue dans ses propres pages, zoome y compris en mode plein écran, création automatique de miniatures cliquables, conversion des liens hypertextes&#8230;</p>
<p><span id="more-461"></span></p>
<p>Ici, avant de poursuivre la lecture, le plus simple consiste à visiter <a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a> et à feuilleter les catalogues en ligne, ou à découvrir notre premier catalogue de démonstration&#160;: il a été publié en quelques secondes en utilisant les options de base d&#8217;<a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a>&#160;: <a href="http://demo.iptima.com/pageflip/salons.php" rel="nofollow" onclick="window.open(this.href); return false;" title="voir un premier exemple de Page Flip conçu avec Issuu (s'ouvre dans une nouvelle fenêtre)">Salons d&#8217;affaire</a>.</p>
<p>D&#8217;abord, <a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a> se décline sous deux versions, gratuite et payante sous la forme d&#8217;une redevance mensuelle de 20 dollars. La version gratuite, que nous allons présenter en détail, oblige à souffrir l&#8217;affichage du logotype d&#8217;<a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a>, plutôt sobre, et de l&#8217;ajout d&#8217;une barre latérale aux catalogues présentant des publications sur le même sujet. De même, la version gratuite oblige à passer par <a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a> pour convertir et publier les documents, mais le processus s&#8217;avère rapide, tandis qu&#8217;il est possible de rendre privé ses documents. Autrement dit, la version payante n&#8217;est pas justifiée, sauf à vouloir commercialiser soi-même les services d&#8217;<a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a>.</p>
<p><a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a> possède cependant quelques inconvénients, que nous citerons d&#8217;emblée pour ne pas avoir à y revenir. Le support technique n&#8217;est disponible qu&#8217;en anglais et la documentation peut se révéler confuse et aride&#8230; d&#8217;où l&#8217;intérêt du présent article. Les rares textes présent dans les catalogues, notamment sur les icônes, sont écrits en anglais ou en espagnol. Le code à intégrer dans les pages n&#8217;est pas valide <acronym title="eXtensible HyperText Markup Language">Xhtml</acronym> Strict&#8230; même si nous avons trouvé le moyen d&#8217;y remédier en améliorant la syntaxe proposée. La mention d&#8217;<a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a> est présente sur les catalogues. Enfin, les <em>Page Flip</em> restent hébergés sur le site d&#8217;<a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a>, bien que le stockage soit transparent pour le visiteur.</p>
<p>Nous allons d&#8217;abord présenter l&#8217;insertion et la personnalisation d&#8217;un <em>Page Flip</em>, puis sa publication sur une page autonome, c&#8217;est-à-dire un site externe, indépendant d&#8217;<a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a>.</p>
<h3>Insertion d&#8217;un <em>Page Flip</em></h3>
<p>Avant de <a href="http://issuu.com/user/upload" lang="en" onclick="window.open(this.href); return false;" title="télécharger un document sur Issuu (s'ouvre dans une nouvelle fenêtre)">télécharger un document sur Issuu</a>, nous vous conseillons de vous inscrire pour gérer vos publications&#160;: le questionnaire est rapide à compléter.</p>
<p><a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a> permet de télécharger en ligne les documents&#8230;</p>
<ul>
<li>Jusque 500 pages et 100&#160;méga-octets.</li>
<li>Aux formats <acronym title="Portable Document Format">Pdf</acronym> (jusqu&#8217;à la version 1.5 - au-delà, le document est converti, et le résultat peut être aléatoire), <em>Word</em> (<em>.doc</em>), <em>Powerpoint</em> (<em>.ppt</em>), <em>Open Office</em> (<em>.ods</em>, <em>.odp</em>), <em>WordPerfect</em> (<em>.wpd</em>), <em>Rich Text Format</em> (<em>.rtf</em>), <em>Star Office</em> (<em>.sxi</em>, <em>sxw</em>).</li>
<li>Avec des images d&#8217;une résolution de 150&#160;<acronym title="Dots Per Inch">Dpi</acronym> maximum (les images d&#8217;une taille supérieure sont redimensionnées et les vecteurs simplifiés).</li>
<li>Avec une mise en page simple (cependant, n&#8217;avons pas rencontré d&#8217;erreurs avec des documents sophistiqués).</li>
</ul>
<p>Le <a href="http://getsatisfaction.com/issuu/topics/the_definitive_document_conversion_guide" lang="en" onclick="window.open(this.href); return false;" title="lire le guide de conversion des documents sur Issuu (s'ouvre dans une nouvelle fenêtre)">guide de conversion des documents sur Issuu</a> donne des renseignements exhaustifs sur ce thème.</p>
<p>Par ailleurs, un sujet sur l&#8217;<a href="http://getsatisfaction.com/issuu/topics/guide_exporting_from_indesign_to_issuu_ready_pdfs" lang="en" onclick="window.open(this.href); return false;" title="lire le sujet sur l'exportation avec Adobe InDesign sur Issuu (s'ouvre dans une nouvelle fenêtre)">exportation avec Adobe InDesign sur Issuu</a> peut aussi donner des informations utiles.</p>
<p>On peut <a href="http://issuu.com/user/upload" lang="en" onclick="window.open(this.href); return false;" title="télécharger un document sur Issuu (s'ouvre dans une nouvelle fenêtre)">télécharger un document sur Issuu</a> soit depuis son poste de travail, soit depuis une <acronym title="Uniform Ressource Locator">Url</acronym>. L&#8217;onglet <em>Upload a file</em> permet de télécharger un seul document. L&#8217;onglet <em>Upload many files</em>, uniquement disponible pour les utilisateurs enregistrés, permet de télécharger trois documents à la fois en spécifiant leurs <acronym title="Uniform Ressource Locator">Url</acronym>&#160;: cette option plus rapide ne permet donc pas de télécharger plusieurs documents simultanément depuis son ordinateur.</p>
<p>Les renseignements demandés dans la rubrique <em>General Information</em> avec les champs <em>Title</em>, <em>Description</em>&#8230; sont obligatoires, mais ne présentent un intérêt que pour permettre l&#8217;indexation du contenu dans <a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a> et dans les moteurs de recherche. Dès lors, pour une publication autonome c&#8217;est-à-dire sur son propre site Internet, cette étape peut être négligée en se contentant des renseignements basiques, car ils sont obligatoires. (Les champs de texte doivent contenir des minuscules ou des chiffres et ne pas contenir d&#8217;espaces ou d&#8217;accents.) La précision sur le type de document (livre, catalogue, journal&#8230;) n&#8217;influe pas sur l&#8217;apparence du contenu. La rubrique <em>Target your audience</em> ne présente pas non plus d&#8217;intérêt. La rubrique <em>Sound</em> permet de préciser un accompagnement sonore (nous n&#8217;avons pas testé cette possibilité), qui pourra être reprécisée lors de la publication. En revanche, il faut porter son attention sur <em>Publishing Options</em> et choisir <em>Private</em> pour éviter l&#8217;indexation et l&#8217;affichage du document dans <a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a>. Enfin, la section <em>Sharing options</em> permet d&#8217;autoriser les commentaires, les votes et les téléchargements quand les catalogues sont hébergés sur <a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a>.</p>
<p>Après conversion, un <em>index</em> est automatiquement créé (les miniatures des pages s&#8217;affichent dans le catalogue, par défaut en bas) et, si le document <acronym title="Portable Document Format">Pdf</acronym> original embarque des liens hypertextes, ils sont conservés et fonctionnels.</p>
<p>Une fois que le document est téléchargé et traité, nous pouvons travailler à son intégration dans une page <em>Web</em>.</p>
<h3>Personnalisation du <em>Page Flip</em></h3>
<p><a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a> propose un outil fabuleux, qui permet de personnaliser à loisir l&#8217;interface. Sans entrer dans les détails de son <acronym title="Application Programming Interface">Api</acronym>, voici quelques renseignements utiles pour une publication.</p>
<p>Lorsque le document est disponible dans l&#8217;interface <em>My Library</em>, on peut publier le document. Il suffit de sélectionner le document puis de cliquer sur le bouton <em>Embed</em>, ou d&#8217;utiliser le clic droit de la souris sur le document.</p>
<p>La fenêtre modale qui s&#8217;ouvre affiche deux extraits de code&#160;:</p>
<ol>
<li>le premier permet d&#8217;intégrer le catalogue à l&#8217;interface personnalisée dans une page externe (<em>Embed code</em>),</li>
<li>le second permet d&#8217;ajouter un lien vers le catalogue (<em>Link to</em>), qu&#8217;il soit hébergé sur <a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a> ou sur un autre site (<em>Standalone with Styling</em>), en personnalisant son interface.</li>
</ol>
<p>Avant de copier l&#8217;extrait, l&#8217;interface du catalogue doit être choisie&#160;:</p>
<ul>
<li>affichage ou non des boutons <em>Page Flip</em> (<em>Misc</em>)</li>
<li>agencement des pages (double, simple, simple de haut en bas) (<em>Layout</em>),</li>
<li>taille (si on indique une taille personnalisée, attention à respecter les proportions du document) (<em>Size</em>),</li>
<li>couleur ou thème (<em>Color or theme</em>),</li>
<li>lancement automatique du feuilletage (<em>Auto Flip</em>),</li>
<li>page de démarrage du <em>Page Flip</em> (<em>Starting page</em>),</li>
<li>son (<em>Audio</em>).</li>
</ul>
<p>Les modifications sont immédiatement répercutées dans l&#8217;aperçu en bas de la fenêtre (<em>Preview</em>) et dans les extraits de codes à intégrer en haut de la fenêtre. Aucune procédure d&#8217;enregistrement n&#8217;est prévue, cet outil servant juste à générer le code nécessaire&#160;: ainsi, lorsqu&#8217;on a peaufiné la présentation d&#8217;un premier document, le même code peut être ré-exploité sans passer par ce formulaire.</p>
<h4>Couleurs et thème</h4>
<p>La méthode la plus simple consiste à choisir une couleur ou un thème par défaut dans l&#8217;interface. Dans cette hypothèse, il n&#8217;y aura que la page <acronym title="HypertText Markup Language">Html</acronym> à transférer sur le site&#160;: un script présent dans le code appelera les éléments de mise en page depuis <a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a>.</p>
<p>L&#8217;autre méthode est plus complexe, mais ouvre des perspectives intéressantes&#160;: elle consiste à utiliser l&#8217;option <em>Custom theme URL</em>. Dans ce cas, il faudra concevoir (ou copier) et transférer le thème sur le serveur&#160;: le code appelera ce répertoire pour assurer la mise en page, à l&#8217;instar d&#8217;une feuille de style externe dans une page Internet classique.</p>
<p>Des <a href="http://issuu.com/services/customize/samplethemes.html" lang="en" onclick="window.open(this.href); return false;" title="échantillons de thèmes pour Issuu (s'ouvre dans une nouvelle fenêtre)">échantillons de thèmes pour Issuu</a> peuvent être téléchargés.</p>
<h5>Contenu d&#8217;un thème</h5>
<p>Un thème pour <a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a> présente l&#8217;arborescence suivante&#8230;</p>
<ol>
<li>fichier <em>crossdomain.xml</em>,</li>
<li>répertoire <em>issu</em>
<ol>
<li>sous-répertoire portant le nom du thème (ici, le nom n&#8217;a aucune importance, il n&#8217;apparaîtra pas)
<ol>
<li>fichier <em>crossdomain.xml</em>,</li>
<li>fichier <em>layout.xml</em>,</li>
<li>fichier <em>skins.fla</em> ou <em>skins.psd</em> (ou les deux),</li>
<li>fichier <em>skins.swf</em> ou <em>skins.png</em> (ou les deux).</li>
</ol>
</li>
</ol>
</li>
</ol>
<p>Les fichiers <em>.xml</em> peuvent être manipulés avec n&#8217;importe quel éditeur de texte.</p>
<p>Le fichier <em>skins.fla</em> ou <em>skins.psd</em> n&#8217;aura évidemment pas besoin d&#8217;être transféré sur le site.</p>
<h5>Le fichier <em>crossdomain.xml</em></h5>
<p>Les deux fichiers <em>crossdomain.xml</em> permettent d&#8217;autoriser son serveur à communiquer avec celui d&#8217;<a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a>. Ils n&#8217;ont pas à être modifiés. Le premier doit être placé à la <strong>racine</strong> du site, tandis que le second doit être placé dans le sous-répertoire portant le nom du thème.</p>
<h5>Le fichier <em>layout.xml</em></h5>
<p>Le fichier <em>layout.xml</em> permet de dessiner l&#8217;interface du catalogue.</p>
<p>D&#8217;abord, il est possible d&#8217;ajouter son propre logotype, comme l&#8217;explique l&#8217;<a href="http://platform.issuu.com/services/customize/tutorial-insertlogo.html" lang="en" onclick="window.open(this.href); return false;" title="lire l'article sur l'insertion de son propre logo (s'ouvre dans une nouvelle fenêtre)">article sur l&#8217;insertion de son propre logo</a>, avec une syntaxe comme &#160;:</p>
<p><code>&#60;object source="http://example.com/images/logo.png" /&#62;</code></p>
<p>Attention, pour les boutons, le fichier permet juste de les <strong>déclarer</strong> et de <em>placer</em>, non de personnaliser leur apparence (le fichier Flash ou Photoshop permettra de réaliser cette opération). En revanche, les boutons qui s&#8217;affichent en mode plein écran ne sont pas paramétrables, semble-t-il. Pour mémoire, les libellés des icônes sont en anglais par défaut, et ne peuvent pas (encore) être traduits.</p>
<p>Voici la liste des boutons et la syntaxe correspondante&#8230;</p>
<ul>
<li><em>Index</em><code>action="index" upState="#IndexButton_up" overState="#IndexButton_over"...</code></li>
<li><em>Fullscreen</em><code>action="fullScreen" upState="#FullscreenButton_up" overState="#FullscreenButton_over"...</code></li>
<li><em>Viewmode</em><code>action="viewMode" upState="#ViewModeButton_up" overState="#ViewModeButton_over"...</code></li>
<li><em>Previous</em><code>action="pagePrevious" upState="#PreviousButton_up" overState="#PreviousButton_over"...</code></li>
<li><em>Print</em><code>action="print" upState="#PrintButton_up" overState="#PrintButton_over"...</code></li>
<li><em>Next</em><code>action="pageNext" upState="#NextButton_up" overState="#NextButton_over"...</code></li>
<li><em>Share</em><code>action="share" upState="#ShareButton_up" overState="#ShareButton_over"...</code></li>
</ul>
<p>Les boutons diposent de quatre états&#160;:</p>
<ol>
<li><em>upState</em>, avec le suffixe <em>_up</em>,</li>
<li><em>overState</em>, avec le suffixe <em>_over</em>,</li>
<li><em>downState</em>, avec le suffixe <em>_down</em>,</li>
<li><em>disabledState</em>, avec le suffixe <em>_disabled</em>.</li>
</ol>
<p>Attention au bouton <em>Share</em>&#160;: si l&#8217;utilisateur y recourt, l&#8217;animation s&#8217;ouvre dans <a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a>.</p>
<p>Le bouton <em>Print</em> n&#8217;apparaît que si le catalogue est affiché en mode <em>Single page</em>.</p>
<p>Les boutons peuvent être groupés sur une ligne unique, grâce au conteneur <em>Box</em>.</p>
<p>Le conteneur <em>Canvas</em> permet d&#8217;ajouter une image de fond.</p>
<p><acronym title="Issuu Markup Language">Iml</acronym> permet de mettre en page le catalogue dans <em>layout.xml</em>. Le <a href="http://issuu.com/services/customize/iml.html" lang="en" onclick="window.open(this.href); return false;" title="lire le manuel de référence Iml (s'ouvre dans une nouvelle fenêtre)">manuel de référence Iml</a> donne des renseignements exhaustifs.</p>
<p>Voici, à titre d&#8217;exemple, quelques éléments de mise en page&#8230;</p>
<ul>
<li><a href="http://issuu.com/services/customize/iml-positioning.html" lang="en" onclick="window.open(this.href); return false;" title="consulter la syntaxe du positionnement des éléments (s'ouvre dans une nouvelle fenêtre)">Positionnement</a>
<p><code>&#60;image source="#Logo" left="10" top="20"/&#62;</code></p>
</li>
<li><a href="http://issuu.com/services/customize/iml-sizing.html" lang="en" onclick="window.open(this.href); return false;" title="consulter la syntaxe de la taille des éléments (s'ouvre dans une nouvelle fenêtre)">Taille</a>
<p><code>&#60;image source="#Logo" left="10" top="20" width="200" height="50"/&#62;</code></p>
</li>
<li><a href="http://issuu.com/services/customize/iml-depth.html" lang="en" onclick="window.open(this.href); return false;" title="consulter la syntaxe de l'empilement des éléments (s'ouvre dans une nouvelle fenêtre)">Empilement</a>
<p><code>&#60;image source="#Image1" left="10" top="20" depth="1"/&#62;</code></p>
</li>
<li><a href="http://issuu.com/services/customize/iml-background.html" lang="en" onclick="window.open(this.href); return false;" title="consulter la syntaxe de l'arrière-plan des éléments (s'ouvre dans une nouvelle fenêtre)">Arrière-plan</a>
<p><code>&#60;viewer xmlns="http://issuu.com/viewer/1.0" backgroundImage="#TwilightBackground" backgroundPosition="left,center" backgroundRepeat="repeat,noRepeat"&#62;</code></p>
</li>
</ul>
<p>Comme souvent en pareil cas, il ne sert à rien de s&#8217;imposer une longue et abstraite lecture des instructions&#160;: il vaut mieux s&#8217;approprier un fichier d&#8217;exemple, et le modifier au fil de l&#8217;eau en se reportant au manuel en cas de nécessité.</p>
<p><em>Dock</em> permet d&#8217;indiquer l&#8217;emplacement des miniatures, cliquables, du <em>Page Flip</em>.</p>
<p>Peut être également personnalisée l&#8217;aspect et l&#8217;emplacement de la numérotation des pages.</p>
<p>Enfin, <em>layout.xml</em> doit indiquer la source des boutons&#8230;</p>
<p><code>&#60;!-- Indique qu'un fichier Flash sera utilisé --&#62;<br />
&#60;skin source="skins.swf"/&#62;<br />
&#60;!-- Indique qu'un fichier Bitmap sera utilisé --&#62;<br />
&#60;skin source="skins.png"/&#62;  </code></p>
<h5>Le fichier <em>skins.fla</em></h5>
<p>Le fichier <em>skins.fla</em> permet de préciser les couleurs de l&#8217;interface et d&#8217;autres éléments décoratifs.</p>
<p>Dans <em>Adobe Flash Cs3 Professional</em>, à l&#8217;ouverture du document, apparaîssent les boutons et la couleur de l&#8217;arrière-plan avec deux calques, <em>Description</em> et <em>Objects</em>. Dans la bibliothèque, ouvrir par exemple le <em>Clip</em> <em>IndexButton_up</em> contenu dans le répertoire <em>IndexButton</em>, qui comprend deux calques&#160;: <em>shape</em> et <em>icon</em>. Dans <em>shape</em>, cliquer deux fois sur la forme&#160;: la couleur d&#8217;arrière-plan s&#8217;ouvre et peut être modifiée. Choisissons la couleur <em>#333333</em>. Tous les arrières-plans des boutons avec le suffixe <em>_up</em> se sont mises à jour. Continuer avec les autres boutons, en personnalisant ou non les calques <em>icon</em>, et enfin avec l&#8217;arrière-plan du document. Enfin, exportons l&#8217;animation.</p>
<p>On peut ajouter d&#8217;autres éléments pour parfaire l&#8217;animation. Ainsi, le thème <em>Crayon</em> proposé par <a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a> comprend, en plus du Clip <em>Background</em>, à la racine de la bibliothèque, les <em>Clips</em>&#8230;</p>
<ul>
<li><em>cloud1</em> (qui comporte quatre images-clés sur les <em>Frames</em> 1, 49, 50 et 98 avec deux interpolations de mouvement),</li>
<li><em>cloud2</em> (qui comporte quatre images-clés sur les <em>Frames</em> 1, 40, 41 et 81 avec deux interpolations de mouvement),</li>
<li><em>grass1</em> (qui comporte quatre images-clés sur les <em>Frames</em> 1, 72, 73 et 146 avec deux interpolations de mouvement),</li>
<li><em>grass2</em> (qui comporte quatre images-clés sur les <em>Frames</em> 1, 80, 81 et 160 avec deux interpolations de mouvement),</li>
<li><em>sun</em> (qui comporte quatre images-clés sur les <em>Frames</em> 1, 40, 41 et 80 avec deux interpolations de mouvement.</li>
</ul>
<p>L&#8217;<a href="http://issuu.com/services/customize/tutorial-flash.html" lang="en" onclick="window.open(this.href); return false;" title="lire l'article sur l'usage d'un fichier Flash sur Issuu (s'ouvre dans une nouvelle fenêtre)">article sur l&#8217;usage d&#8217;un fichier Flash sur Issuu</a> donne des indications. Le <a href="http://issuu.com/services/customize/guide-modifyingthegraphics.html" lang="en" onclick="window.open(this.href); return false;" title="lire le guide de modification des images d'Issuu (s'ouvre dans une nouvelle fenêtre)">guide de modification des images d&#8217;Issuu</a> donne aussi des renseignements sur l&#8217;emploi d&#8217;un fichier <em>.fla</em>.</p>
<h5>Le fichier <em>skins.psd</em></h5>
<p>À défaut d&#8217;utiliser Flash, on peut recourir à une image au format <acronym title="Portable Networks Graphics">Png</acronym>, gérée par exemple avec Photoshop. Dans ce cas, il suffit de colorier les boutons à sa guise, et d&#8217;indiquer les coordonnées des images dans le fichier <em>layout.xml</em>, avec une syntaxe comme&#160;:</p>
<p><code>&#60;skin source="skins.png" type="image"/&#62;<br />
...<br />
&#60;button action="index" upState="#100,50,200,10" overState="#200,50,300,100" downState="#300,50,400,100" disabledState="#400,50,500,100"/&#62;</code></p>
<p>On se reportera utilement à l&#8217;<a href="http://issuu.com/services/customize/tutorial-flash.html" lang="en" onclick="window.open(this.href); return false;" title="lire l'article sur l'usage d'un fichier Bitmap sur Issuu (s'ouvre dans une nouvelle fenêtre)">article sur l&#8217;usage d&#8217;un fichier Bitmap sur Issuu</a>.</p>
<h3>Publication du <em>Page Flip</em></h3>
<p>Enfin, il reste à publier notre <em>Page Flip</em> depuis la fenêtre modale.</p>
<p>Si l&#8217;on recourt aux couleurs ou thèmes par défaut, il suffit de copier l&#8217;extrait de code affiché dans <em>Embed code</em> et de l&#8217;insérer à la page <acronym title="HyperText Markup Language">Html</acronym> de son choix. Si l&#8217;on utilise son propre thème, après l&#8217;avoir transféré sur son serveur dans le répertoire de son choix (qui n&#8217;a aucune importance), il convient d&#8217;indiquer l&#8217;emplacement du fichier <em>layout.xml</em> dans l&#8217;option <em>Custom theme URL</em>&#160;: l&#8217;extrait de code affiché dans <em>Embed code</em> se mettra automatiquement à jour avec les paramètres (la prévisualisation s&#8217;actualisera aussi instantanément), qu&#8217;il faudra copier dans la page <acronym title="HyperText Markup Language">Html</acronym> de son choix.</p>
<p>Le code fourni par <a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a> n&#8217;est pas valide au format <acronym title="eXtensible HyperText Markup Language">Xhtml</acronym> Strict.</p>
<p>Nous donnons le code pour remédier à cet inconvénient, mais cette pratique contrevient aux conditions d&#8217;utilisation d&#8217;<a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a>. De plus, le code corrigé empêche la barre latérale, qui comprend des animations comparables pour promouvoir les services de l&#8217;éditeur, de s&#8217;afficher.</p>
<p>Code invalide fourni par <a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a>&#8230;</p>
<p><code>&#60;object style="width:600px;height:414px" &#62;&#60;param name="movie" value="http://static.issuu.com/webembed/viewers/style1/v1/IssuuViewer.swf?mode=embed&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Fcolor%2Flayout.xml&amp;backgroundColor=000000&amp;documentId=100403070328-b966961433834cdeb654d98b905e4b01&amp;docName=document&amp;username=user&amp;loadingInfoText=Texte&amp;et=1270974638339&amp;er=9" /&#62;&#60;param name="allowfullscreen" value="true"/&#62;&#60;param name="menu" value="false"/&#62;&#60;embed src="http://static.issuu.com/webembed/viewers/style1/v1/IssuuViewer.swf" type="application/x-shockwave-flash" allowfullscreen="true" menu="false" style="width:600px;height:414px" flashvars="mode=embed&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Fcolor%2Flayout.xml&amp;backgroundColor=000000&amp;documentId=100403070328-b966961433834cdeb654d98b905e4b01&amp;docName=document&amp;username=user&amp;loadingInfoText=Texte&amp;et=1270974638339&amp;er=9" /&#62;&#60;/object&#62;</code></p>
<p>Code valide équivalent (mais sans la barre latérale)&#8230;</p>
<p><code>&#60;object type="application/x-shockwave-flash" width="600" height="414" data="http://static.issuu.com/webembed/viewers/style1/v1/IssuuViewer.swf?mode=embed&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Fcolor%2Flayout.xml&amp;backgroundColor=000000&amp;documentId=100403070328-b966961433834cdeb654d98b905e4b01&amp;docName=document&amp;username=user&amp;loadingInfoText=Texte&amp;et=1270974638339&amp;er=9"&#62;<br />
&#60;param name="movie" value="http://static.issuu.com/webembed/viewers/style1/v1/IssuuViewer.swf?mode=embed&amp;layout=http%3A%2F%2Fskin.issuu.com%2Fv%2Fcolor%2Flayout.xml&amp;backgroundColor=000000&amp;documentId=100403070328-b966961433834cdeb654d98b905e4b01&amp;docName=document&amp;username=user&amp;loadingInfoText=Texte&amp;et=1270974638339&amp;er=9" /&#62;<br />
&#60;param name="allowfullscreen" value="true"/&#62;<br />
&#60;param name="menu" value="false"/&#62;<br />
&#60;/object&#62;</code></p>
<p>Notre catalogue final se nomme <a href="http://demo.iptima.com/pageflip/hotel.php" rel="nofollow" onclick="window.open(this.href); return false;" title="voir un deuxième exemple de Page Flip conçu avec Issuu (s'ouvre dans une nouvelle fenêtre)">Hôtel</a>. Nous avons choisi délibérément une interface sobre. Comme nous ne disposions pas d&#8217;un logo, nous avons utilisé avec notre subtilité coutumière (!) le symbole <em>@</em>. Le <em>Page Flip</em> se révèle d&#8217;une étonnante stabilité. Pourtant, le document <acronym title="Portable Document Format">Pdf</acronym> original pèse 2,3&#160;méga-octets et compte 24 pages.</p>
<p><a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a> propose des statistiques détaillées sur la consultation de chaque <em>Page Flip</em>, accessible depuis <em>My Library</em>.</p>
<p>Ajoutons qu&#8217;<a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a> propose de concevoir des catalogues visualisables sur téléphone mobile. Cette possibilité est, pour l&#8217;heure, limitée aux terminaux fonctionnant avec le système d&#8217;exploitation Android, mais devrait prochainement être étendue aux iPhone. Pour autant, cette solution impose aux lecteurs de télécharger une application spécifique.</p>
<p>Enfin,<a href="http://www.issuu.com/" lang="en" onclick="window.open(this.href); return false;" title="aller sur Issuu (s'ouvre dans une nouvelle fenêtre)">Issuu</a> proposent des extensions ou des codes spécifiques pour les principaux <acronym title="System Gestion Content">Sgc</acronym> et les sites les plus populaires.</p>
<p>Ces catalogues feuilletables, à l&#8217;utilité anecdotique à première vue, peuvent cependant trouver des usages inattendus&#160;: site Internet simplifié à l&#8217;extrême (pour les graphistes qui ne veulent pas se lancer dans l&#8217;apprentissage du <em>multimedia</em> et ne se soucient pas du référencement), <em>curriculum vitæ</em> (s&#8217;il compte plus d&#8217;une page&#160;!)&#8230; et, d&#8217;une façon générale, documents trop sophistiqués pour être décrits avec <acronym title="eXtensible HyperText Markup Language">Xhtml</acronym>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iptima.com/2010/04/19/publier-un-catalogue-interactif-avec-%c2%ab-page-flip-%c2%bb-grace-a-la-solution-gratuite-et-professionnelle-%c2%ab-issu-%c2%bb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Afficher un site Internet sur un téléphone mobile en pratique</title>
		<link>http://www.iptima.com/2010/02/24/afficher-un-site-internet-sur-un-telephone-mobile-en-pratique/</link>
		<comments>http://www.iptima.com/2010/02/24/afficher-un-site-internet-sur-un-telephone-mobile-en-pratique/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 22:54:24 +0000</pubDate>
		<dc:creator>Vincent Roulet</dc:creator>
				<category><![CDATA[Conception]]></category>
		<category><![CDATA[WebDesign]]></category>
		<category><![CDATA[accessibilité]]></category>
		<category><![CDATA[Acrobat Reader]]></category>
		<category><![CDATA[Cascading Style Sheets]]></category>
		<category><![CDATA[contenu alternatif]]></category>
		<category><![CDATA[Css]]></category>
		<category><![CDATA[Detect Mobile Browsers]]></category>
		<category><![CDATA[Extensible HyperText Markup Language]]></category>
		<category><![CDATA[Global System for Mobile Communications]]></category>
		<category><![CDATA[Gsm]]></category>
		<category><![CDATA[Html]]></category>
		<category><![CDATA[HyperText Markup Language]]></category>
		<category><![CDATA[Hypertext Preprocessor]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Portable Document Format]]></category>
		<category><![CDATA[référencement]]></category>
		<category><![CDATA[Search Engine Optimization]]></category>
		<category><![CDATA[sémantique]]></category>
		<category><![CDATA[Seo]]></category>
		<category><![CDATA[Sitemap]]></category>
		<category><![CDATA[Xhtml]]></category>

		<guid isPermaLink="false">http://www.iptima.com/?p=426</guid>
		<description><![CDATA[Nous allons présenter ici un moyen rudimentaire de servir un contenu alternatif, sémantique, sans altérer le contenu principal. L&#8217;objectif est didactique. Si notre exemple ne sera évidemment pas utilisable en production (!), il constituera, le cas échéant, une piste de réflexion sur un développement. Nous utiliserons Php par commodité, mais le raisonnement pourra être repris [...]]]></description>
			<content:encoded><![CDATA[<p>Nous allons présenter ici un moyen rudimentaire de servir un contenu alternatif, sémantique, sans altérer le contenu principal. L&#8217;objectif est didactique. Si notre exemple ne sera évidemment pas utilisable en production (!), il constituera, le cas échéant, une piste de réflexion sur un développement. Nous utiliserons <acronym title="pre-hypertext processing">Php</acronym> par commodité, mais le raisonnement pourra être repris avec d&#8217;autres langages de programmation.</p>
<p><span id="more-426"></span></p>
<p>D&#8217;abord, rendons-nous sur le site <a href="http://detectmobilebrowsers.mobi/" onclick="window.open(this.href); return false;" title="aller sur le site Detect Mobile Browsers (s'ouvre dans une nouvelle fenêtre)">Detect Mobile Browsers</a>, afin de télécharger le répertoire <em>mobile_detect_device</em>. Ce dossier contient le fichier <em>mobile_device_detect.php</em>. Son fonctionnement est sommaire, mais efficace&#8230; Il détecte le logiciel du navigateur&#160;: s&#8217;il se trouve dans la liste des agents utilisateurs des périphériques mobiles, il propose un traitement comme une direction. En revanche, il convient de maintenir à jour le fichier pour prendre en compte les nouveaux téléphones et les navigateurs correspondants.</p>
<p>Plaçons à la <em>racine</em> du site <em>mobile_detect_device</em>.</p>
<p>Nous disposons, à présent, de trois solutions pour rediriger vers un contenu alternatif&#160;:</p>
<ol>
<li>proposer un changement dynamique de la feuille de style avec l&#8217;<acronym title="Uniform Ressource Locator">Url</acronym>,</li>
<li>aiguiller vers un site alternatif, par exemple en sous-domaine,</li>
<li>concevoir des pages à double contenu, l&#8217;un pour le contenu principal (<em>ordinateurs classiques</em>), l&#8217;autre pour le contenu alternatif (<em>périphériques mobiles</em>).</li>
</ol>
<p>Dans le premier cas, il convient d&#8217;utiliser la syntaxe&#8230;</p>
<p class="left"><code>&#60;?php<br />
include('mobile_device_detect.php');<br />
&#36;mobile = mobile_device_detect();<br />
if (&#36;mobile == true)<br />
{<br />
&#160;&#160;header('Location: http://your-website.com/?css=mobile_style') ;<br />
}<br />
?&#62;<br />
</code></p>
<p>Cette solution conduit à ré-écrire une feuille de style, par exemple en cachant certains éléments avec la propriété <em>display: none</em>.</p>
<p>Dans le deuxième cas, il convient d&#8217;utiliser la syntaxe&#8230;</p>
<p class="left"><code>&#60;?php<br />
include('mobile_device_detect.php');<br />
&#36;mobile = mobile_device_detect();<br />
if (&#36;mobile == true)<br />
{<br />
&#160;&#160;header('http://www.monsite.com/mobile/') ;<br />
}<br />
?&#62;<br />
</code></p>
<p>Avec cette solution, plus simple et moins aléatoire, le site alternatif est autonome.</p>
<p>Dans le troisième cas, il convient d&#8217;utiliser la syntaxe&#8230;</p>
<p class="left"><code>&#60;?php<br />
include('mobile_device_detect.php');<br />
&#36;mobile = mobile_device_detect();<br />
if (&#36;mobile == true)<br />
{<br />
&#160;&#160;/***** contenu alternatif pour les périphériques mobiles *****/<br />
}<br />
else {<br />
&#160;&#160;/***** contenu principal pour les ordinateurs classiques *****/<br />
}<br />
?&#62;<br />
</code></p>
<p>Cette solution emporte notre préférence, car elle permet d&#8217;utiliser la même <acronym title="Uniform Ressource Locator">Url</acronym> pour les pages, et donc de simplifier le référencement. Un <em>Sitemap</em> spécifique sera notamment inutile.</p>
<p>On peut raffiner la condition et utiliser, par exemple, une redirection spécifique pour l&#8217;affichage sur <a href="www.apple.com/fr/iphone/" onclick="window.open(this.href); return false;" title ="aller sur le site de l'iPhone (s'ouvre dans une nouvelle fenêtre)">iPhone</a> (<em>http://www.monsite.com/iphone/</em>) et une autre pour l&#8217;affichage sur les autres périphériques de poche (<em>http://www.monsite.com/mobile/</em>)&#160;:</p>
<p class="left"><code>&#60;?php<br />
include('mobile_device_detect.php');<br />
mobile_device_detect('http://www.monsite.com/iphone/',true,true,true,true,true,false,'http://www.monsite.com/mobile/');<br />
?&#62;<br />
</code></p>
<p>Le code a été généré par <a href="http://detectmobilebrowsers.mobi/" onclick="window.open(this.href); return false;" title="aller sur le site Detect Mobile Browsers (s'ouvre dans une nouvelle fenêtre)">Detect Mobile Browsers</a>, mais nous préférons les syntaxes plus <em>lisibles</em> (et <em>bavardes</em>&#8230;)&#160;!</p>
<p>Voyons, en pratique, comment servir deux contenus dans la même page pour optimiser la <acronym title="Search Engine Optimization">Seo</acronym>. Notre contenu principal contiendra un titre, une animation en <a hreflang="en" href="http://www.adobe.com/products/flashplayer/" onclick="window.open(this.href); return false;" title ="aller sur le site de Flash Player (s'ouvre dans une nouvelle fenêtre)">Flash</a>, une image et un texte. Notre contenu alternatif contiendra les mêmes éléments, mais l&#8217;animation sera remplacée par un texte&#8230;</p>
<p class="left"><code>&#60;?php header(&#34;Content-Type: application/xhtml+xml&#34;);<br />
// Permet d'envoyer un format 'Multipurpose Internet Mail Extensions' (Mime) adapté à la consultation sur les périphériques mobiles, et doit être placé dès la première ligne avant toute autre instruction.<br />
include('mobile_device_detect.php');<br />
&#36;mobile = mobile_device_detect();<br />
if (&#36;mobile == true)<br />
// Le 'if' puis le 'else' comporte des répétitions, mais permet de ne demander qu'une requête Php.<br />
{<br />
/***** Génération du contenu pour les périphériques mobiles *****/<br />
?&#62;<br />
&#160;&#160;&#60;?= '&#60;' . '?xml version=&#34;1.0&#34; encoding=&#34;utf-8&#34;?' . '&#62;' ?&#62;<br />
&#160;&#160;&#60;!-- Envoie un encodage spécifique pour les périphériques mobiles --&#62;<br />
&#160;&#160;&#60;!DOCTYPE html PUBLIC &#34;-//W3C//DTD XHTML Basic 1.1//EN&#34; &#34;http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd&#34;&#62;<br />
&#160;&#160;&#60;!-- Prologue spécifique pour les périphériques mobiles --&#62;<br />
&#160;&#160;&#60;html xmlns=&#34;http://www.w3.org/1999/xhtml&#34;&#62;<br />
&#160;&#160;&#60;head&#62;<br />
&#160;&#160;&#60;meta http-equiv=&#34;Cache-Control&#34; content=&#34;max-age=200&#34; /&#62;<br />
&#160;&#160;&#60;!-- Mise en cache des données de l'en-tête pendant 200 secondes pour éviter les nouvelles requêtes et ralentir la navigation --&#62;<br />
&#160;&#160;&#60;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=UTF-8&#34; /&#62;<br />
&#160;&#160;&#60;link rel=&#34;stylesheet&#34; href=&#34;../phone/css/mobile.css&#34; type=&#34;text/css&#34; media=&#34;screen&#34; /&#62;<br />
&#160;&#160;&#60;!-- Si 'hanled' est introuvable, 'screen' est retenu par défaut. --&#62;<br />
&#160;&#160;&#60;!-- On peut se passer de l'appel à certains scripts destinés aux pages 'classiques'. --&#62;<br />
&#160;&#160;&#60;title&#62;Nuages&#60;/title&#62;<br />
&#160;&#160;&#60;meta name=&#34;description&#34; content=&#34;Nuages et stratocumulus&#34; /&#62;<br />
&#160;&#160;&#60;meta name=&#34;keywords&#34; content=&#34;ciel, stratocumulus, nuages, météo&#34; /&#62;<br />
&#160;&#160;&#60;/head&#62;<br />
&#160;&#160;&#60;body&#62;<br />
&#160;&#160;&#60;h1&#62;Nuages&#60;/h1&#62;<br />
&#160;&#160;&#160;&#160;&#60;p&#62;Un nuage est formé d'un ensemble de gouttelettes d'eau (ou de cristaux de glace) en suspension dans l'air. L'aspect du nuage dépend de la lumière qu'il reçoit, de la nature, de la dimension, du nombre et de la répartition des particules qui le constituent.&#60;/p&#62;<br />
&#160;&#160;&#60;h2&#62;Stratocumulus&#60;/h2&#62;<br />
&#160;&#160;&#160;&#160;&#60;div id=&#34;image&#34;&#62;<br />
&#160;&#160;&#160;&#160;&#60;img src=&#34;../phone/media/clouds_thumb.jpg&#34; alt=&#34;stratocumulus&#34; title=&#34;stratocumulus&#34; /&#62;<br />
&#160;&#160;&#160;&#160;&#60;!-- Le nom des images peut être modifié dynamiquement pour afficher une dimension spécifique pour les périphériques mobiles avec une expression régulière ou un 'str_replace()', à partir du moment où elles sont présentes sur le serveur en plusieurs tailles et portent un nom logique. Par exemple, on peut renommer 'image.jpg' en 'image_thumb'.jpg. On peut aussi créer des miniatures à la volée avec 'imagecopyresampled'.--&#62;<br />
&#160;&#160;&#160;&#160;&#60;/div&#62;<br />
&#160;&#160;&#160;&#160;&#60;p&#62;Le stratocumulus est un genre de nuage appartenant à l'étage inférieur et situé à une altitude comprise entre 500 et 2500 mètres. Son épaisseur est de 600 mètres. Il est d'origine convective, mais son extension verticale est immédiatement limitée par la stabilité de la couche supérieure. Visuellement, ce sont de larges masses sombres et arrondies, habituellement en groupe, lignes ou vagues. Pris isolément, ces nuages sont plus gros que ceux du type altocumulus et l'ensemble se situe à plus basse altitude (habituellement en dessous de 2000 mètres).&#60;/p&#62;<br />
&#160;&#160;&#60;/body&#62;<br />
&#160;&#160;&#60;/html&#62;<br />
&#60;?php<br />
}<br />
/***** Fin de la génération du contenu pour les périphériques mobiles *****/<br />
else<br />
{<br />
/***** Génération du contenu pour les ordinateurs classiques *****/<br />
?&#62;<br />
&#160;&#160;&#60;!DOCTYPE html PUBLIC &#34;-//W3C//DTD XHTML 1.0 Strict//EN&#34; &#34;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&#34;&#62;<br />
&#160;&#160;&#60;html xmlns=&#34;http://www.w3.org/1999/xhtml&#34;&#62;<br />
&#160;&#160;&#60;head&#62;<br />
&#160;&#160;&#60;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=UTF-8 &#34; /&#62;<br />
&#160;&#160;&#60;link rel=&#34;stylesheet&#34; href=&#34;../phone/css/default.css&#34; type=&#34;text/css&#34; media=&#34;screen&#34; /&#62;<br />
&#160;&#160;&#60;title&#62;Nuages&#60;/title&#62;<br />
&#160;&#160;&#60;meta name=&#34;description&#34; content=&#34;Nuages et stratocumulus&#34; /&#62;<br />
&#160;&#160;&#60;meta name=&#34;keywords&#34; content=&#34;ciel, stratocumulus, nuages, météo&#34; /&#62;<br />
&#160;&#160;&#60;/head&#62;<br />
&#160;&#160;&#60;body&#62;<br />
&#160;&#160;&#60;!-- On peut aussi renvoyer le contenu vers une autre page, l'en-tête étant alors optionnel !!! --&#62;<br />
&#160;&#160;&#60;h1&#62;Nuages&#60;/h1&#62;<br />
&#160;&#160;&#160;&#160;&#60;div id=&#34;anim&#34;&#62;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#60;object type=&#34;application/x-shockwave-flash&#34; data=&#34;../phone/media/clouds.swf&#34; width=&#34;400&#34; height=&#34;300&#34;&#62;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#60;param name=&#34;movie&#34; value=&#34;clouds.swf&#34; /&#62;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#60;/object&#62;<br />
&#160;&#160;&#160;&#160;&#60;/div&#62;<br />
&#160;&#160;&#60;h2&#62;Stratocumulus&#60;/h2&#62;<br />
&#160;&#160;&#160;&#160;&#60;div id=&#34;image&#34;&#62;<br />
&#160;&#160;&#160;&#160;&#60;a href=&#34;../phone/media/clouds_default.jpg&#34; onclick=&#34;window.open(this.href, 'Clouds', 'height=384, width=640, top=100, left=100, toolbar=no, menubar=yes, location=no, resizable=yes, scrollbars=no, status=no'); return false;&#34;&#62;&#60;img src=&#34;../phone/media/clouds_thumb.jpg&#34; alt=&#34;stratocumulus&#34; title=&#34;stratocumulus&#34; /&#62;&#60;/a&#62;<br />
&#160;&#160;&#160;&#160;&#60;/div&#62;<br />
&#160;&#160;&#160;&#160;&#60;p&#62;Le stratocumulus est un genre de nuage appartenant à l'étage inférieur et situé à une altitude comprise entre 500 et 2500 mètres. Son épaisseur est de 600 mètres. Il est d'origine convective, mais son extension verticale est immédiatement limitée par la stabilité de la couche supérieure. Visuellement, ce sont de larges masses sombres et arrondies, habituellement en groupe, lignes ou vagues. Pris isolément, ces nuages sont plus gros que ceux du type altocumulus et l'ensemble se situe à plus basse altitude (habituellement en dessous de 2000 mètres).&#60;/p&#62;<br />
&#160;&#160;&#60;/body&#62;<br />
&#160;&#160;&#60;/html&#62;<br />
&#60;?php<br />
}<br />
/***** Fin de la génération du contenu pour les ordinateurs classiques *****/<br />
?&#62;<br />
</code></p>
<p>Ou sans commentaires&#8230;</p>
<p class="left"><code>&#60;?php header(&#34;Content-Type: application/xhtml+xml&#34;);<br />
include('mobile_device_detect.php');<br />
&#36;mobile = mobile_device_detect();<br />
if (&#36;mobile == true)<br />
{<br />
?&#62;<br />
&#160;&#160;&#60;?= '&#60;' . '?xml version=&#34;1.0&#34; encoding=&#34;utf-8&#34;?' . '&#62;' ?&#62;<br />
&#160;&#160;&#60;!DOCTYPE html PUBLIC &#34;-//W3C//DTD XHTML Basic 1.1//EN&#34; &#34;http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd&#34;&#62;<br />
&#160;&#160;&#60;html xmlns=&#34;http://www.w3.org/1999/xhtml&#34;&#62;<br />
&#160;&#160;&#60;head&#62;<br />
&#160;&#160;&#60;meta http-equiv=&#34;Cache-Control&#34; content=&#34;max-age=200&#34; /&#62;<br />
&#160;&#160;&#60;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=UTF-8&#34; /&#62;<br />
&#160;&#160;&#60;link rel=&#34;stylesheet&#34; href=&#34;../phone/css/mobile.css&#34; type=&#34;text/css&#34; media=&#34;screen&#34; /&#62;<br />
&#160;&#160;&#60;title&#62;Nuages&#60;/title&#62;<br />
&#160;&#160;&#60;meta name=&#34;description&#34; content=&#34;Nuages et stratocumulus&#34; /&#62;<br />
&#160;&#160;&#60;meta name=&#34;keywords&#34; content=&#34;ciel, stratocumulus, nuages, météo&#34; /&#62;<br />
&#160;&#160;&#60;/head&#62;<br />
&#160;&#160;&#60;body&#62;<br />
&#160;&#160;&#60;h1&#62;Nuages&#60;/h1&#62;<br />
&#160;&#160;&#160;&#160;&#60;p&#62;Un nuage est formé d'un ensemble de gouttelettes d'eau (ou de cristaux de glace) en suspension dans l’air. L'aspect du nuage dépend de la lumière qu'il reçoit, de la nature, de la dimension, du nombre et de la répartition des particules qui le constituent.&#60;/p&#62;<br />
&#160;&#160;&#60;h2&#62;Stratocumulus&#60;/h2&#62;<br />
&#160;&#160;&#160;&#160;&#60;div id=&#34;image&#34;&#62;<br />
&#160;&#160;&#160;&#160;&#60;img src=&#34;../phone/media/clouds_thumb.jpg&#34; alt=&#34;stratocumulus&#34; title=&#34;stratocumulus&#34; /&#62;<br />
&#160;&#160;&#160;&#160;&#60;/div&#62;<br />
&#160;&#160;&#160;&#160;&#60;p&#62;Le stratocumulus est un genre de nuage appartenant à l'étage inférieur et situé à une altitude comprise entre 500 et 2500 mètres. Son épaisseur est de 600 mètres. Il est d'origine convective, mais son extension verticale est immédiatement limitée par la stabilité de la couche supérieure. Visuellement, ce sont de larges masses sombres et arrondies, habituellement en groupe, lignes ou vagues. Pris isolément, ces nuages sont plus gros que ceux du type altocumulus et l'ensemble se situe à plus basse altitude (habituellement en dessous de 2000 mètres).&#60;/p&#62;<br />
&#160;&#160;&#60;/body&#62;<br />
&#160;&#160;&#60;/html&#62;<br />
&#60;?php<br />
}<br />
else<br />
{<br />
?&#62;<br />
&#160;&#160;&#60;!DOCTYPE html PUBLIC &#34;-//W3C//DTD XHTML 1.0 Strict//EN&#34; &#34;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&#34;&#62;<br />
&#160;&#160;&#60;html xmlns=&#34;http://www.w3.org/1999/xhtml&#34;&#62;<br />
&#160;&#160;&#60;head&#62;<br />
&#160;&#160;&#60;meta http-equiv=&#34;Content-Type&#34; content=&#34;text/html; charset=UTF-8 &#34; /&#62;<br />
&#160;&#160;&#60;link rel=&#34;stylesheet&#34; href=&#34;../phone/css/default.css&#34; type=&#34;text/css&#34; media=&#34;screen&#34; /&#62;<br />
&#160;&#160;&#60;title&#62;Nuages&#60;/title&#62;<br />
&#160;&#160;&#60;meta name=&#34;description&#34; content=&#34;Nuages et stratocumulus&#34; /&#62;<br />
&#160;&#160;&#60;meta name=&#34;keywords&#34; content=&#34;ciel, stratocumulus, nuages, météo&#34; /&#62;<br />
&#160;&#160;&#60;/head&#62;<br />
&#160;&#160;&#60;body&#62;<br />
&#160;&#160;&#60;h1&#62;Nuages&#60;/h1&#62;<br />
&#160;&#160;&#160;&#160;&#60;div id=&#34;anim&#34;&#62;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#60;object type=&#34;application/x-shockwave-flash&#34; data=&#34;../phone/media/clouds.swf&#34; width=&#34;400&#34; height=&#34;300&#34;&#62;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#60;param name=&#34;movie&#34; value=&#34;clouds.swf&#34; /&#62;<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#60;/object&#62;<br />
&#160;&#160;&#160;&#160;&#60;/div&#62;<br />
&#160;&#160;&#60;h2&#62;Stratocumulus&#60;/h2&#62;<br />
&#160;&#160;&#160;&#160;&#60;div id=&#34;image&#34;&#62;<br />
&#160;&#160;&#160;&#160;&#60;a href=&#34;../phone/media/clouds_default.jpg&#34; onclick=&#34;window.open(this.href, 'Clouds', 'height=384, width=640, top=100, left=100, toolbar=no, menubar=yes, location=no, resizable=yes, scrollbars=no, status=no'); return false;&#34;&#62;&#60;img src=&#34;../phone/media/clouds_thumb.jpg&#34; alt=&#34;stratocumulus&#34; title=&#34;stratocumulus&#34; /&#62;&#60;/a&#62;<br />
&#160;&#160;&#160;&#160;&#60;/div&#62;<br />
&#160;&#160;&#160;&#160;&#60;p&#62;Le stratocumulus est un genre de nuage appartenant à l'étage inférieur et situé à une altitude comprise entre 500 et 2500 mètres. Son épaisseur est de 600 mètres. Il est d'origine convective, mais son extension verticale est immédiatement limitée par la stabilité de la couche supérieure. Visuellement, ce sont de larges masses sombres et arrondies, habituellement en groupe, lignes ou vagues. Pris isolément, ces nuages sont plus gros que ceux du type altocumulus et l'ensemble se situe à plus basse altitude (habituellement en dessous de 2000 mètres).&#60;/p&#62;<br />
&#160;&#160;&#60;/body&#62;<br />
&#160;&#160;&#60;/html&#62;<br />
&#60;?php<br />
}<br />
?&#62;<br />
</code></p>
<p>Le résultat peut être affiché sur une page de <a href="http://demo.iptima.com/phone/phone.php" onclick="window.open(this.href); return false;" title="aller sur le site Wikipedia (s'ouvre dans une nouvelle fenêtre)">démonstration</a>, et sa version mobile visualisée à l&#8217;adresse <em>http://demo.iptima.com/phone/phone.php</em>, par exemple avec <a href="http://www.opera.com/mini/demo/" onclick="window.open(this.href); return false;" title ="aller sur le site d'Opera Mini Demo (s'ouvre dans une nouvelle fenêtre)">Opera Mini Demo</a>.</p>
<p>Nous avons utilisé <a hreflang="en" href="http://www.adobe.com/products/flashplayer/" onclick="window.open(this.href); return false;" title ="aller sur le site de Flash Player (s'ouvre dans une nouvelle fenêtre)">Flash</a> comme exemple, mais le contenu pourrait aussi être servi avec des documents au format <acronym title="Portable Document Format">Pdf</acronym>.</p>
<p><em>Nota</em>. Les textes et l&#8217;image de démonstration viennent de <a href="http://fr.wikipedia.org/" onclick="window.open(this.href); return false;" title="aller sur le site Wikipedia (s'ouvre dans une nouvelle fenêtre)">Wikipedia</a>. L&#8217;animation en <a hreflang="en" href="http://www.adobe.com/products/flashplayer/" onclick="window.open(this.href); return false;" title ="aller sur le site de Flash Player (s'ouvre dans une nouvelle fenêtre)">Flash</a> a été téléchargée sur <a href="http://www.amarasoftware.com/" onclick="window.open(this.href); return false;" title="aller sur le site Amara Software (s'ouvre dans une nouvelle fenêtre)">Amara Software</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iptima.com/2010/02/24/afficher-un-site-internet-sur-un-telephone-mobile-en-pratique/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Servir un contenu alternatif pour favoriser le référencement</title>
		<link>http://www.iptima.com/2010/02/23/servir-un-contenu-alternatif-pour-favoriser-le-referencement/</link>
		<comments>http://www.iptima.com/2010/02/23/servir-un-contenu-alternatif-pour-favoriser-le-referencement/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 11:04:45 +0000</pubDate>
		<dc:creator>Vincent Roulet</dc:creator>
				<category><![CDATA[Conception]]></category>
		<category><![CDATA[WebDesign]]></category>
		<category><![CDATA[3G]]></category>
		<category><![CDATA[accessibilité]]></category>
		<category><![CDATA[Acrobat Reader]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Cascading Style Sheets]]></category>
		<category><![CDATA[contenu alternatif]]></category>
		<category><![CDATA[Css]]></category>
		<category><![CDATA[Extensible HyperText Markup Language]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[General Packet Radio Service]]></category>
		<category><![CDATA[Global System for Mobile Communications]]></category>
		<category><![CDATA[Gprs]]></category>
		<category><![CDATA[Gsm]]></category>
		<category><![CDATA[Html]]></category>
		<category><![CDATA[Iis]]></category>
		<category><![CDATA[Internet Information Service]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Lynx]]></category>
		<category><![CDATA[Pda]]></category>
		<category><![CDATA[Personal Digital Assistant]]></category>
		<category><![CDATA[Portable Document Format]]></category>
		<category><![CDATA[radio-téléphone]]></category>
		<category><![CDATA[Search Engine Optimization]]></category>
		<category><![CDATA[sémantique]]></category>
		<category><![CDATA[Seo]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[smartphone]]></category>
		<category><![CDATA[téléphone mobile]]></category>
		<category><![CDATA[W3c]]></category>

		<guid isPermaLink="false">http://www.iptima.com/?p=411</guid>
		<description><![CDATA[Servir un contenu alternatif destiné aux téléphones mobiles peut sembler constituer une contrainte. Pour autant, cette possibilité peut constituer un avantage pour la Seo, comme nous allons le voir.

Nous avons discuté récemment avec le fondateur d&#8217;un hôtel quatre étoiles&#8230; Le site Internet de son établissement a été conçu en Flash, voilà seulement deux ans. Or, [...]]]></description>
			<content:encoded><![CDATA[<p>Servir un contenu alternatif destiné aux téléphones mobiles peut sembler constituer une contrainte. Pour autant, cette possibilité peut constituer un avantage pour la <acronym title="Search Engine Optimization">Seo</acronym>, comme nous allons le voir.</p>
<p><span id="more-411"></span></p>
<p>Nous avons discuté récemment avec le fondateur d&#8217;un hôtel quatre étoiles&#8230; Le site Internet de son établissement a été conçu en <a hreflang="en" href="http://www.adobe.com/products/flashplayer/" onclick="window.open(this.href); return false;" title ="aller sur le site de Flash Player (s'ouvre dans une nouvelle fenêtre)">Flash</a>, voilà seulement deux ans. Or, en analysant le trafic de son site, l&#8217;hôtelier s&#8217;est aperçu que les demandes de connexion depuis un <em>Smartphone</em> étaient chaque jour plus nombreuses. Aussi, notre nouvel ami a demandé à une agence de refondre son site afin qu&#8217;il soient accessibles à l&#8217;ensemble des périphériques.</p>
<p>Nous n&#8217;avons pas encore découvert la nouvelle version du site de l&#8217;hôtel, mais la solution retenue constituerait un savant mélange de <a hreflang="en" href="http://www.adobe.com/products/flashplayer/" onclick="window.open(this.href); return false;" title ="aller sur le site de Flash Player (s'ouvre dans une nouvelle fenêtre)">Flash</a> et de <acronym title="HyperText Markup Language">Html</acronym>, optimisé au passage pour le référencement&#160;! Nous n&#8217;osons imaginer le résultat&#160;: faudra-t-il naviguer de page en page pour recharger à chaque fois une animation en <a hreflang="en" href="http://www.adobe.com/products/flashplayer/" onclick="window.open(this.href); return false;" title ="aller sur le site de Flash Player (s'ouvre dans une nouvelle fenêtre)">Flash</a> ou voir un contenu plus statique dédié aux périphériques de poches&#160;?</p>
<p>Ne serait-il pas préférable de laisser en place l&#8217;existant, avec une animation qui fonctionne plutôt bien, pour les ordinateurs <em>classiques</em>&#160;? Une animation en <a hreflang="en" href="http://www.adobe.com/products/flashplayer/" onclick="window.open(this.href); return false;" title ="aller sur le site de Flash Player (s'ouvre dans une nouvelle fenêtre)">Flash</a> sophistiquée peut demander un investissement lourd&#160;: il serait dommage de jeter le bébé avec l&#8217;eau du bain&#160;! Aussi ne vaut-il pas mieux servir un contenu alternatif et allégé pour les <em>Smartphones</em>&#160;: lors de la demande de connexion, le navigateur est reconnu et redirigé vers la version classique ou simplifiée du site.</p>
<p>Nous ne sommes pas un détracteur de <a hreflang="en" href="http://www.adobe.com/products/flashplayer/" onclick="window.open(this.href); return false;" title ="aller sur le site de Flash Player (s'ouvre dans une nouvelle fenêtre)">Flash</a> (mais de <a hreflang="en" href="http://www.microsoft.com/SILVERLIGHT/" onclick="window.open(this.href); return false;" title ="aller sur le site de Silverlight (s'ouvre dans une nouvelle fenêtre)">Silverlight</a> oui, pâle copie inutile et encombrante), car il faut reconnaître que cette technologie présente des avantages pour certains types de contenus&#8230; (Nous écrivons <em>certains</em>, car nous avons découvert récemment une pizzeria, dont le site au modeste contenu est exclusivement accessible avec <a hreflang="en" href="http://www.adobe.com/products/flashplayer/" onclick="window.open(this.href); return false;" title ="aller sur le site de Flash Player (s'ouvre dans une nouvelle fenêtre)">Flash</a>&#160;! Aussi avons-nous dû télécharger l&#8217;application sur notre modeste <em>Netbook</em> pour lire la carte&#160;: combien de clients perd cet établissement qui livre à domicile&#160;?) D&#8217;abord, l&#8217;animation est téléchargée une fois pour toutes permettant, après une attente raisonnable, une navigation fluide et interactive. Ensuite, <a hreflang="en" href="http://www.adobe.com/products/flashplayer/" onclick="window.open(this.href); return false;" title ="aller sur le site de Flash Player (s'ouvre dans une nouvelle fenêtre)">Flash</a> permet au pixel ou à la seconde près d&#8217;appeler un élément graphique ou sonore.</p>
<p>Cependant, un site en <a hreflang="en" href="http://www.adobe.com/products/flashplayer/" onclick="window.open(this.href); return false;" title ="aller sur le site de Flash Player (s'ouvre dans une nouvelle fenêtre)">Flash</a> devrait toujours demander l&#8217;adhésion (<em>Opt-in</em>) du visiteur, avec un éventuel préchargement de l&#8217;animation en tâche de fond&#160;: certaines animations, au fond sonore inattendu, peuvent être éprouvantes lors de l&#8217;accès à la page <em>Web</em>. Si le visiteur n&#8217;adhère pas (ou ne dispose pas ou ne veut pas du lecteur), il faut alors lui proposer un contenu alternatif, qui pourra être alors le même que celui servi pour les téléphones mobiles.</p>
<p>(Il semble qu&#8217;un lecteur <a hreflang="en" href="http://www.adobe.com/products/flashplayer/" onclick="window.open(this.href); return false;" title ="aller sur le site de Flash Player (s'ouvre dans une nouvelle fenêtre)">Flash</a> pour périphériques mobiles soit bientôt disponible. Gageons que, avec la mésentente entre constructeurs et éditeurs et une bande passante disponible de plus en plus réduite, la solution mettra du temps à s&#8217;implanter&#160;! Le recours intégral à cette technologie sera-t-il, d&#8217;ailleurs, souhaitable, ou faudra-t-il considérer que les animations viendront uniquement agrémenter le contenu&#160;?)</p>
<p>Servir un contenu alternatif peut aussi (et surtout) constituer l&#8217;occasion d&#8217;améliorer sa visibilité dans les moteurs de recherche, et, par exemple, d&#8217;obvier aux difficultés de référencement de contenu plus dynamique comme les animations écrites en <a hreflang="en" href="http://www.adobe.com/products/flashplayer/" onclick="window.open(this.href); return false;" title ="aller sur le site de Flash Player (s'ouvre dans une nouvelle fenêtre)">Flash</a> ou les pages au format <acronym title="Portable Document Format">Pdf</acronym> (<a hreflang="en" href="http://www.google.com/" onclick="window.open(this.href); return false;" title ="aller sur le site Google (s'ouvre dans une nouvelle fenêtre)">Google</a> en a néanmoins considérablement amélioré le référencement, au cours de ces derniers mois).</p>
<p>Naturellement, ce contenu sera sémantique, car les moteurs de recherche aiment l&#8217;accessibilité. Pour y parvenir, il suffit d&#8217;appliquer quelques règles simples&#160;:</p>
<ul>
<li>hiérarchiser l&#8217;information en utilisant les niveaux de titre (de <em>h1</em> à <em>h6</em>, du plus important ou moins important)&#160;;</li>
<li>utiliser avec prudence l&#8217;emphase&#160;;</li>
<li>légender les images, lorsque leur contenu est significatif&#160;;</li>
<li>choisir avec soin le titre des pages, leur description et leur mots clef&#160;;</li>
<li>optimiser la navigation&#160;;</li>
<li>s&#8217;assurer de la compliance du code aux normes définies par le <acronym title="World Wide Web Consortium">W3c</acronym>.</li>
</ul>
<p>Sur le plan graphique, la feuille de style permettra ensuite le formatage du site, et autorisera d&#8217;afficher un titre de deuxième niveau avec des caractères plus gros que ceux d&#8217;un titre de premier niveau ou de supprimer l&#8217;emphase sur certains mots-clef (il ne s&#8217;agit en aucun de contenu caché ou de <em>Cloacking</em>).</p>
<p>Pour vérifier la compliance d&#8217;un site à ces pratiques, il suffit d&#8217;utiliser un navigateur en mode texte, comme <a hreflang="en" href="http://lynx.isc.org/" onclick="window.open(this.href); return false;" title ="aller sur le site de Lynx (s'ouvre dans une nouvelle fenêtre)">Lynx</a>&#160;: on verra le rendu qui apparaîtra pour les moteurs de recherche. Dans un deuxième temps, le contenu sera validé par <a hreflang="en" href="http://validator.w3.org/mobile/" onclick="window.open(this.href); return false;" title ="aller sur le site du W3C mobileOK Checker (s'ouvre dans une nouvelle fenêtre)">W3C mobileOK Checker</a>.</p>
<p>Enfin, pourquoi ne pas demander aux moteurs de recherche de ne référencer que le contenu alternatif, par exemple avec un fichier <em>robots.txt</em>&#160;?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iptima.com/2010/02/23/servir-un-contenu-alternatif-pour-favoriser-le-referencement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Concevoir une feuille de style pour les périphériques mobiles</title>
		<link>http://www.iptima.com/2010/02/22/concevoir-une-feuille-de-style-pour-les-peripheriques-mobiles/</link>
		<comments>http://www.iptima.com/2010/02/22/concevoir-une-feuille-de-style-pour-les-peripheriques-mobiles/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 22:07:32 +0000</pubDate>
		<dc:creator>Vincent Roulet</dc:creator>
				<category><![CDATA[Conception]]></category>
		<category><![CDATA[WebDesign]]></category>
		<category><![CDATA[3G]]></category>
		<category><![CDATA[accessibilité]]></category>
		<category><![CDATA[Cascading Style Sheets]]></category>
		<category><![CDATA[contenu alternatif]]></category>
		<category><![CDATA[Css]]></category>
		<category><![CDATA[feuilles de style]]></category>
		<category><![CDATA[General Packet Radio Service]]></category>
		<category><![CDATA[Global System for Mobile Communications]]></category>
		<category><![CDATA[Gprs]]></category>
		<category><![CDATA[Gsm]]></category>
		<category><![CDATA[Html]]></category>
		<category><![CDATA[HyperText Markup Language]]></category>
		<category><![CDATA[Ihm]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[impression]]></category>
		<category><![CDATA[interface homme-machine]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Pda]]></category>
		<category><![CDATA[Personal Digital Assistant]]></category>
		<category><![CDATA[radio-téléphone]]></category>
		<category><![CDATA[sémantique]]></category>
		<category><![CDATA[smartphone]]></category>
		<category><![CDATA[téléphone mobile]]></category>
		<category><![CDATA[Xhtml]]></category>

		<guid isPermaLink="false">http://www.iptima.com/?p=382</guid>
		<description><![CDATA[Pour les périphériques de poche, c&#8217;est-à-dire les téléphones mobiles, Smartphones et autres Pda, la gestion des feuilles de style est complexe&#160;: les modèles sont très nombreux, et n&#8217;interprètent pas toujours correctement les directives Html.

D&#8217;abord, les résolutions des écrans sont multiples, les navigateurs parfois spécifiques, plus ou moins élaborés, voire conformes. Il faut donc trouver un [...]]]></description>
			<content:encoded><![CDATA[<p>Pour les <em>périphériques de poche</em>, c&#8217;est-à-dire les téléphones mobiles, <em>Smartphones</em> et autres <acronym title="Personal Digital Assistant">Pda</acronym>, la gestion des feuilles de style est complexe&#160;: les modèles sont très nombreux, et n&#8217;interprètent pas toujours correctement les directives <acronym title="HyperText Markup Language">Html</acronym>.</p>
<p><span id="more-382"></span></p>
<p>D&#8217;abord, les résolutions des écrans sont multiples, les navigateurs parfois spécifiques, plus ou moins élaborés, voire conformes. Il faut donc trouver un poids <em>moyen</em>, car il serait vain de concevoir une version dédiée pour chaque modèle&#160;! Le succès actuel de l&#8217;<a href="www.apple.com/fr/iphone/" onclick="window.open(this.href); return false;" title ="aller sur le site de l'iPhone (s'ouvre dans une nouvelle fenêtre)">iPhone</a> peut, toutefois, conduire à envisager un développement spécifique pour des raisons de stratégie commerciale.</p>
<p>Aussi, utilisons-nous deux outils en ligne pour émuler le fonctionnement des périphériques de poche&#160;:</p>
<ul>
<li><a href="http://www.opera.com/mini/demo/" onclick="window.open(this.href); return false;" title ="aller sur le site d'Opera Mini Demo (s'ouvre dans une nouvelle fenêtre)">Opera Mini Demo</a>,</li>
<li><a hreflang="en" href="http://mtld.mobi/" onclick="window.open(this.href); return false;" title ="aller sur le site de dotMobi (s'ouvre dans une nouvelle fenêtre)">dotMobi</a>.</li>
</ul>
<p>Dès que le rendu est correct avec <a href="http://www.opera.com/mini/demo/" onclick="window.open(this.href); return false;" title ="aller sur le site d'Opera Mini Demo (s'ouvre dans une nouvelle fenêtre)">Opera Mini Demo</a> et validé par le <a hreflang="en" href="http://validator.w3.org/mobile/" onclick="window.open(this.href); return false;" title ="aller sur le site du W3C mobileOK Checker (s'ouvre dans une nouvelle fenêtre)">W3C mobileOK Checker</a> (la page d&#8217;accueil <a href="http://www.iptima.com/" onclick="window.open(this.href); return false;" title ="aller sur le site Iptima (s'ouvre dans une nouvelle fenêtre)">Iptima</a> obtient le score de 99/100 et le présent article 98/100&#8230; scores perfectibles&#160;!), nous validons le développement.</p>
<p>Ensuite, certains navigateurs de périphériques de poche n&#8217;identifient pas le <em>medium</em> <em>Handled</em> dans l&#8217;en-tête des pages <acronym title="HyperText Markup Language">Html</acronym>, et ne retiennent que le <em>medium</em> <em>Screen</em>&#160;!</p>
<p>Afficher un contenu identique est illusoire, n&#8217;en déplaise aux tenants des mises en page <em>liquides</em> ou <em>fluides</em>&#160;: les bannières ou les images ne sont pas redimensionnables le plus souvent, et toujours trop larges pour un téléphone, et leur largeur est forcément fixe&#160;!</p>
<p>Aussi faut-il servir un contenu spécifique pour les périphériques de poche, soit en l&#8217;adaptant soit en le créant. Le principe est simple&#8230; Lors de la demande de connexion, le navigateur est identifié&#160;: s&#8217;il est reconnu comme mobile, il est redirigé vers le contenu alternatif. Sur le plan technique, la mise en œuvre n&#8217;est guère plus compliquée (il suffit de consulter <a href="http://www.iptima.com/" onclick="window.open(this.href); return false;" title ="aller sur le site Iptima (s'ouvre dans une nouvelle fenêtre)">Iptima</a> avec son radio-téléphone ou d&#8217;utiliser <a href="http://www.opera.com/mini/demo/" onclick="window.open(this.href); return false;" title ="aller sur le site d'Opera Mini Demo (s'ouvre dans une nouvelle fenêtre)">Opera Mini Demo</a> pour voir une illustration&#160;!), mais dépasserait le cadre de cet article. Nous essaierons d&#8217;y revenir prochainement.</p>
<p>Une feuille de style pour périphérique de poche doit être courte, car le délai de son téléchargement a de l&#8217;importance. De plus, il est inutile de vouloir perfectionner à outrance l&#8217;aspect de la page, car certains navigateurs restent sourds aux raffinements (comme la suppression des puces dans les listes), et il vaut mieux se concentrer sur l&#8217;essentiel&#160;: marges et couleurs, à assortir au site principal.</p>
<p>À l&#8217;instar des feuilles de style dédiées à l&#8217;impression, nous avons décidé d&#8217;utiliser essentiellement des unités relatives et réduites, en raison de l&#8217;étroitesse de l&#8217;écran, avec l&#8217;unité <em>em</em> ou <em>%</em>. L&#8217;affichage des polices de caractères se limite à une seule valeur. Les largeurs des bordures sont relatives. Nous avons aussi renoncé à appliquer un fond de couleur pour recourir à un arrière-plan transparent. Les images sont toujours centrées, en raison de l&#8217;étroitesse de l&#8217;écran.</p>
<p class="left"><code>body {<br />
&#160;&#160;background-color: transparent;<br />
&#160;&#160;color: #000000;<br />
&#160;&#160;font-family: sans-serif;<br />
&#160;&#160;/* Permet de spécifier une police sans empattements plus lisible sur un écran. */<br />
&#160;&#160;font-size: 1em;<br />
&#160;&#160;margin: 1em<br />
}<br />
#header {<br />
&#160;&#160;border-bottom: medium solid #ffa97a;<br />
&#160;&#160;border-top: medium solid #ffa97a;<br />
&#160;&#160;padding-bottom: 0.25em;<br />
&#160;&#160;text-align: center<br />
}<br />
img {<br />
&#160;&#160;display: block;<br />
&#160;&#160;margin-left: auto;<br />
&#160;&#160;margin-right: auto<br />
}<br />
ol.commentlist li, ol.pinglist li {<br />
&#160;&#160;border: thin dotted #666666;<br />
&#160;&#160;list-style-position: inside;<br />
&#160;&#160;list-style-type: decimal;<br />
&#160;&#160;margin: 0.9375em 0 0 0.9375em;<br />
&#160;&#160;/* margin: 15px 0 0 15px; dans la feuille de style pour l'écran du site principal */<br />
&#160;&#160;padding: 0.3125em;<br />
&#160;&#160/* padding: 5px; dans la feuille de style pour l'écran du site principal */<br />
}<br />
</code></p>
<p>Nous pouvons aussi cacher certains conteneurs, même si le contenu alternatif devrait permettre d&#8217;obvier à l&#8217;affichage de ces éléments&#8230;</p>
<p class="left"><code>#adsense, #advertising {<br />
&#160;&#160;display: none<br />
</code></p>
<p>Enfin, nous avons prévu d&#8217;afficher la signification des acronymes juste après leur affichage avec les <em>pseudo-classes</em> <em>acronym:after</em>, <em>abbr:after</em>, car l&#8217;équivalent des souris sur les <acronym title="Personal Digital Assistant">Pda</acronym> ne permettent pas toujours le survol. Ainsi, le lecteur connaît instantanément la signification. Tant pis pour les téléphones et les utilisateurs qui ne reconnaîtront pas cette règle&#8230;</p>
<p class="left"><code>acronym:after, abbr:after {<br />
&#160;&#160;content: &#34; [&#34;attr(title)&#34;]&#34;;<br />
&#160;&#160;text-decoration: none<br />
</code></p>
<p>Attention&#160;! il est tentant de redimensionner les images trop larges avec une feuille de style&#160;: l&#8217;image originale sera téléchargée, et obligera le navigateur à effectuer le redimensionnement, ralentissant l&#8217;affichage de la page.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iptima.com/2010/02/22/concevoir-une-feuille-de-style-pour-les-peripheriques-mobiles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Concevoir une feuille de style pour l&#8217;impression</title>
		<link>http://www.iptima.com/2010/02/22/concevoir-une-feuille-de-style-pour-limpression/</link>
		<comments>http://www.iptima.com/2010/02/22/concevoir-une-feuille-de-style-pour-limpression/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 16:49:28 +0000</pubDate>
		<dc:creator>Vincent Roulet</dc:creator>
				<category><![CDATA[Conception]]></category>
		<category><![CDATA[WebDesign]]></category>
		<category><![CDATA[3G]]></category>
		<category><![CDATA[accessibilité]]></category>
		<category><![CDATA[Cascading Style Sheets]]></category>
		<category><![CDATA[Css]]></category>
		<category><![CDATA[feuilles de style]]></category>
		<category><![CDATA[General Packet Radio Service]]></category>
		<category><![CDATA[Gprs]]></category>
		<category><![CDATA[Html]]></category>
		<category><![CDATA[HyperText Markup Language]]></category>
		<category><![CDATA[Ihm]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[impression]]></category>
		<category><![CDATA[interface homme-machine]]></category>
		<category><![CDATA[Pda]]></category>
		<category><![CDATA[Personal Digital Assistant]]></category>
		<category><![CDATA[radio-téléphone]]></category>
		<category><![CDATA[sémantique]]></category>
		<category><![CDATA[smartphone]]></category>
		<category><![CDATA[téléphone mobile]]></category>
		<category><![CDATA[Xhtml]]></category>

		<guid isPermaLink="false">http://www.iptima.com/?p=369</guid>
		<description><![CDATA[Les feuilles de style pour les imprimantes ne peuvent convenir à celles utilisées pour les écrans&#160;: un Design harmonieux sur un moniteur se révèle désastreux à l&#8217;impression, comme les fonds colorés. En outre, les imprimantes utilisent une résolution plus élevée, et la notion de pixel est difficilement transposable pour le papier. Enfin, il impossible de [...]]]></description>
			<content:encoded><![CDATA[<p>Les feuilles de style pour les imprimantes ne peuvent convenir à celles utilisées pour les écrans&#160;: un <em>Design</em> harmonieux sur un moniteur se révèle désastreux à l&#8217;impression, comme les fonds colorés. En outre, les imprimantes utilisent une résolution plus élevée, et la notion de pixel est difficilement transposable pour le papier. Enfin, il impossible de prévoir les caractéristiques de l&#8217;imprimante et les préférences de l&#8217;utilisateur&#160;: impression en noir et blanc&#160;? impression en mode portrait ou paysage&#160;?&#8230; taille de la feuille&#160;?&#8230;</p>
<p><span id="more-369"></span></p>
<p>Les feuilles de style dédiées à l&#8217;impression sont toujours reconnues avec les navigateurs, contrairement à <em>handled</em> pour les périphériques de poche&#160;: pourquoi utiliser une solution complexe et coûteuse en ressources comme JavaScript ou <acronym title="pre-hypertext processing">Php</acronym>&#160;?</p>
<p>Si une impression normée s&#8217;avère souhaitable, il vaut mieux alors générer un document <acronym title="Portable Document Format">Pdf</acronym> à la volée.</p>
<p>Cependant, il n&#8217;est pas judicieux de concevoir une feuille de style sophistiquée dans les moindres détails&#160;: comme le recours à l&#8217;impression reste marginal, les règles peuvent être rudimentaires.</p>
<p>Aussi avons-nous décidé de <em>lâcher prise</em> pour l&#8217;impression&#160;: nous allons utiliser des unités relatives avec <em>em</em>, nous ne spécifierons pas une police de caractères, et afficherons du noir et blanc. Ainsi, le navigateur gèrera par défaut l&#8217;impression&#8230; avec des résultats moins hasardeux&#160;!</p>
<p>En revanche, nous avons développé une solution spécifique pour la gestion des liens, des acronymes et des images, qui permet de tirer parti astucieusement des spécificités du <em>medium</em> <em>Print</em>.</p>
<h3>Quelques propriétés&#8230;</h3>
<p>D&#8217;abord, appelons le <em>medium</em> <em>Print</em> dans l&#8217;en-tête de nos pages <acronym title="HyperText Markup Language">Html</acronym>&#8230;</p>
<p class="left"><code>&#60;link rel=&#34;stylesheet&#34; href=&#34;http://www.monsite.com/styles/print.css&#34; type=&#34;text/css&#34; media=&#34;print&#34; /&#62;<br />
</code></p>
<p>Réglons ensuite l&#8217;apparence de notre site&#8230;</p>
<p class="left"><code>body {<br />
&#160;&#160;color: #000000;<br />
&#160;&#160;/* Nous imprimons en noir et blanc */<br />
&#160;&#160;font-family: serif;<br />
&#160;&#160;/* Permet de spécifier une police à empattements plus lisible sur le papier. */<br />
&#160;&#160;font-size: 1em;<br />
&#160;&#160;margin: 1.5em<br />
}<br />
</code></p>
<p>Ensuite, cachons les éléments purement décoratifs ou non significatifs, images ou non&#8230;</p>
<p class="left"><code>#adsense, #advertising {<br />
&#160;&#160;display: none<br />
}<br />
</code></p>
<p>Imprimons nos liens en noir et blanc&#8230;</p>
<p class="left"><code>h1, h2, h3, h4, h5, h6 {<br />
&#160;&#160;color: #000000;<br />
&#160;&#160;padding: 0.5em;<br />
&#160;&#160;text-align: center;<br />
&#160;&#160;text-decoration: none<br />
}<br />
h1.a, h1 a:link, h1 a:visited, h2.a, h2 a:link, h2 a:visited, h3.a, h3 a:link, h3 a:visited, h4.a, h4 a:link, h4 a:visited, h5.a, h5 a:link, h5 a:visited, h6.a, h6 a:link, h6 a:visited {<br />
&#160;&#160;color: #000000;<br />
&#160;&#160;text-decoration: none<br />
}<br />
</code></p>
<p>Préférons les unités relatives pour les bordures&#8230;</p>
<p class="left"><code>.postmetadata {<br />
&#160;&#160;border: thin solid #999999;<br />
&#160;&#160;/* Il existe trois unités relatives pour désigner la largeur de la bordure : 'thin', 'medium', ou 'thick'. */<br />
&#160;&#160;margin: 1em;<br />
&#160;&#160;padding: 1em<br />
}<br />
</code></p>
<p>Continuons à jouer avec les unités relatives&#8230;</p>
<p class="left"><code>ol.commentlist li, ol.pinglist li {<br />
&#160;&#160;border: thin dotted #666666;<br />
&#160;&#160;list-style-position: inside;<br />
&#160;&#160;list-style-type: decimal;<br />
&#160;&#160;margin: 1.5em 0 0 1.5em;<br />
&#160;&#160;/* margin: 15px 0 0 15px; dans la feuille de style pour l'écran */<br />
&#160;&#160;padding: 0.5em;<br />
&#160;&#160;/* padding: 5px dans la feuille de style pour l'écran */<br />
}<br />
</code></p>
<h3>Gestion des liens et des acronymes</h3>
<p>Par défaut, les liens et les acronymes sont imprimés en l&#8217;état, c&#8217;est-à-dire soulignés ou non. Néanmoins, un lien souligné n&#8217;est guère informatif pour le lecteur de la version imprimée, et il devra retourner sur le site pour retrouver l&#8217;adresse&#160;! Aussi pourquoi ne pas afficher l&#8217;adresse du lien ou la signification de l&#8217;acronyme juste après l&#8217;affichage&#160;? <acronym title="Cascading Style Sheets">Css</acronym> permet aisément de spécifier la propriété avec <em>:a:after</em>&#8230;</p>
<p class="left"><code>h1 a:after, h2 a:after, h3 a:after, h4 a:after, h5 a:after {<br />
&#160;&#160;border-bottom: thin solid #000000;<br />
&#160;&#160;content: &#34; [&#34;attr(href)&#34;]&#34;;<br />
&#160;&#160/* Noter l'espace juste après le premier guillemet pour éviter que le contenu ne colle au lien. */<br />
}<br />
acronym:after, abbr:after {<br />
&#160;&#160;border-bottom: thin dotted #000000;<br />
&#160;&#160;content: &#34; [&#34;attr(title)&#34;]&#34;<br />
}<br />
</code></p>
<h3>Gestion des images</h3>
<p>Pour les images, il ne semble pas toujours utile de les imprimer. En effet, la plupart des images ne présente aucune valeur informative, et l&#8217;impression d&#8217;une image d&#8217;une résolution de 72 pixels par pouce se révèle souvent catastrophique. C&#8217;est pourquoi, nous avons pris le parti de ne pas les afficher à l&#8217;impression (au passage, les droits d&#8217;auteur sont ainsi préservés), mais de signaler leur existence par deux moyens&#160;: avec le contenu de la balise <em>alt</em>, d&#8217;une part, et, d&#8217;autre part, avec la mention <em>[img]</em> (nous avons repris sobrement le nom de la balise <acronym title="HyperText Markup Language">Html</acronym> pour assurer l&#8217;internationalisation de la feuille de style). Ces deux affichages peuvent sembler redondants, mais la <em>pseudo-classe</em> img:after n&#8217;est pas gérée par tous les navigateurs. Ainsi, le lecteur ne perd aucune information essentielle&#160;!</p>
<p class="left"><code>dl.gallery {<br />
&#160;&#160;text-align: left /* Nos images sont placées dans des listes de définition */<br />
}<br />
.gallery_dt, .gallery_dd {<br />
&#160;&#160;margin-left: 0 /* Évite le décalage à droite imposé par le navigateur */<br />
}<br />
.gallery dt a img {<br />
&#160;&#160;display: none<br />
}<br />
.gallery dt a img:after {<br />
&#160;&#160;content: &#34; [&#34;attr(alt)&#34;] [alt]&#34;<br />
}<br />
.gallery dt:after {<br />
&#160;&#160;color: #333333;<br />
&#160;&#160;content: &#34;[img] &#34;;<br />
&#160;&#160;font-style: italic<br />
}<br />
.gallery dd:after {<br />
&#160;&#160;color: #333333;<br />
&#160;&#160;font-style: normal<br />
}<br />
.gallery dt, .gallery_dd {<br />
&#160;&#160;font-style: italic<br />
}<br />
</code></p>
<p><em>Nota</em>. Le marquage sémantique d&#8217;une liste de définition permet une gestion plus fine de l&#8217;affichage.</p>
<p>Si l&#8217;on ne souhaite pas se passer de l&#8217;impression des images, peut-être vaut-il mieux proposer, à titre alternatif, le téléchargement d&#8217;une image à la résolution spécifique.</p>
<p>En revanche, nous ne savons pas gérer correctement les veuves (<em>Widows</em>) et les orphelines (<em>Orphans</em>) pour éviter l&#8217;affichage disgracieux de lignes isolées en haut ou en bas de page&#160;: gageons que <acronym title="Cascading Style Sheets">Css</acronym> 3, voire l&#8217;évolution des navigateurs, permettra de combler nos attentes de typographe&#160;!</p>
<p><em>Lien intéressant</em>&#160;: <a href="http://www.pompage.net/pompe/impression/" onclick="window.open(this.href); return false;" title="lire l'article Faites bonne impression avec les CSS (s'ouvre dans une nouvelle fenêtre)"><em>Faites bonne impression avec les CSS</em></a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iptima.com/2010/02/22/concevoir-une-feuille-de-style-pour-limpression/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Varier l&#8217;apparence des liens hypertextes selon le contenu</title>
		<link>http://www.iptima.com/2010/02/21/varier-lapparence-des-liens-hypertextes-selon-le-contenu/</link>
		<comments>http://www.iptima.com/2010/02/21/varier-lapparence-des-liens-hypertextes-selon-le-contenu/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 13:25:24 +0000</pubDate>
		<dc:creator>Vincent Roulet</dc:creator>
				<category><![CDATA[Conception]]></category>
		<category><![CDATA[WebDesign]]></category>
		<category><![CDATA[accessibilité]]></category>
		<category><![CDATA[Cascading Style Sheets]]></category>
		<category><![CDATA[Css]]></category>
		<category><![CDATA[feuilles de style]]></category>
		<category><![CDATA[Ihm]]></category>
		<category><![CDATA[interface homme-machine]]></category>
		<category><![CDATA[sémantique]]></category>

		<guid isPermaLink="false">http://www.iptima.com/?p=357</guid>
		<description><![CDATA[Le soulignement des liens hypertextes dans un document est considéré comme intrusif et inesthétique. Voilà pourquoi, certains auteurs préconisent de renvoyer les hyerliens après le texte&#160;: cette solution manque pourtant d&#8217;ergonomie pour les lecteurs, et est coûteuse en ressources.

Aussi préférons-nous colorer nos liens hypertextes. Le lecteur distingue instantanément la différence, sans être gêné dans dans [...]]]></description>
			<content:encoded><![CDATA[<p>Le soulignement des liens hypertextes dans un document est considéré comme intrusif et inesthétique. Voilà pourquoi, certains auteurs préconisent de renvoyer les hyerliens après le texte&#160;: cette solution manque pourtant d&#8217;ergonomie pour les lecteurs, et est coûteuse en ressources.</p>
<p><span id="more-357"></span></p>
<p>Aussi préférons-nous colorer nos liens hypertextes. Le lecteur distingue instantanément la différence, sans être gêné dans dans le fil de la lecture.</p>
<p>Cependant, si nous décidons d&#8217;utiliser la couleur verte dans nos titres en incluant un lien hypertexte en rouge, le résultat ne sera pas fort heureux&#160;! De même, si nous colorons les citations en bleu, un lien hypertexte s&#8217;y affichera en rouge&#8230; Comment y remédier&#160;? <acronym title="Cascading Style Sheets">Css</acronym> permet aisément de répondre au problème et de <em>contextualiser</em> les hyperliens.</p>
<p>D&#8217;abord, déclarons la couleur de nos liens hypertextes pour l&#8217;ensemble du document&#8230;</p>
<p class="left"><code>a {<br />
&#160;&#160;color: red;<br />
&#160;&#160;text-decoration: none<br />
}<br />
</code></p>
<p>Ensuite, déclarons la couleur de nos titres&#8230;</p>
<p class="left"><code>h1, h2, h3, h4, h5, h6 {<br />
&#160;&#160;color: green<br />
}<br />
</code></p>
<p>Enfin, déclarons la couleur de nos citations&#8230;</p>
<p class="left"><code>blockquote, cite, q {<br />
&#160;&#160;color: blue<br />
}<br />
</code></p>
<p>Faute d&#8217;avoir trouvé une solution plus congruente, nous avons décidé que les hyperliens contenus dans un titre ou une citation auraient la même couleur que le titre ou la citation, c&#8217;est-à-dire son <em>parent</em>. En revanche, ils seront soulignés pour être identifiables.</p>
<p>Le soulignement peut sembler discutable. On pourrait s&#8217;en passer pour des raisons visuelles, sachant que les liens conserveront leur valeur sémantique. Cependant, il nous semble dommage de priver le lecteur d&#8217;une information accessible, d&#8217;autant que cette <em>contextualisation</em> s&#8217;applique à des portions courtes de texte.</p>
<p>Ainsi&#8230;</p>
<p class="left"><code>h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {<br />
&#160;&#160;border-bottom: 1px green solid; /* Nous préférons déclarer une bordure qu'un soulignement automatique dont le rendu est souvent trop proche du texte */<br />
&#160;&#160;color: green;<br />
&#160;&#160;text-decoration: none<br />
}<br />
blockquote a, cite a, q a {<br />
&#160;&#160;border-bottom: 1px blue solid;<br />
&#160;&#160;color: blue;<br />
&#160;&#160;text-decoration: none;<br />
}<br />
</code></p>
<p>Sur ce principe, nous pouvons décliner à loisir l&#8217;apparence des hyperliens dans notre feuille de style.</p>
<p>Nous n&#8217;avons pas encore présenté les <em>pseudo-classes</em> <em>link</em>, <em>visited</em>, <em>hover</em>, <em>active</em> (<em>LoVe HAte</em> est un moyen mnémotechnique pour les retenir)&#160;: elles doivent être écrites dans cet ordre pour qu&#8217;elles fonctionnent, mais ne doivent pas forcément se suivre&#8230; contrairement à une opinion répandue&#160;! Elles sont fort simples à utiliser&#8230;</p>
<p class="left"><code>a:link { /* apparence des liens actifs */<br />
&#160;&#160;color: green;<br />
&#160;&#160;text-decoration: none<br />
}<br />
a:visited { /* apparence des liens visités */<br />
&#160;&#160;color: yellow;<br />
&#160;&#160;text-decoration: none<br />
}<br />
a:hover { /* apparence des liens lors du survol avec la souris */<br />
&#160;&#160;border-bottom: 1px green solid;<br />
&#160;&#160;color: green;<br />
&#160;&#160;text-decoration: none;<br />
}<br />
a:active { /* apparence des liens lors du clic de la souris */<br />
&#160;&#160;color: green;<br />
&#160;&#160;text-decoration: none<br />
}<br />
</code></p>
<p>Il suffit ensuite d&#8217;appliquer ces <em>pseudo-classes</em> une à une sur les éléments à personnaliser.</p>
<p>De la même façon, pouvons-nous personnaliser l&#8217;apparence de la balise <em>acronym</em> ou <em>abbr</em> selon le contexte, par exemple dans les titres&#8230;</p>
<p class="left"><code>h2 acronym, h2 abbr, h3 acronym, h3 abbr, h4 acronym, h4 abbr, h5 acronym, h5 abbr, h6 acronym, h6 abbr {<br />
&#160;&#160;border-bottom: 1px #green dotted;<br />
&#160;&#160;cursor: help<br />
}<br />
</code></p>
<p>Voici un exemple tiré d&#8217;une feuille de style que nous utilisons en production.</p>
<p class="left"><code>a:link {<br />
/* Cette feuille de style gagnerait à être simplifiée, mais elle est didactique */<br />
&#160;&#160;color: #770010;<br />
&#160;&#160;text-decoration: none<br />
}<br />
a:visited {<br />
&#160;&#160;color: #607800;<br />
&#160;&#160;text-decoration: none<br />
}<br />
a:hover {<br />
&#160;&#160;border-bottom: 1px #770010 solid;<br />
&#160;&#160;color: #770010;<br />
&#160;&#160;text-decoration: none<br />
}<br />
a:active {<br />
&#160;&#160;color: #770010;<br />
&#160;&#160;text-decoration: none<br />
}<br />
/****** Titres ******/<br />
h1, h2, h3, h4, h5, h6 {<br />
/* Couleur par défaut des titres */<br />
&#160;&#160;color: #607800<br />
}<br />
h1 a:link, h2 a:link, h3 a:link, h4 a:link, h5 a:link, h6 a:link {<br />
/* Liens actifs dans les titres */<br />
/* Exemple. &#60;h2&#62;&#60;a href=&#34;http://www.idtgv.fr/&#34; title =&#34;aller sur le site Interactif Détente Tgv (s'ouvre dans une nouvelle fenêtre)\&#34;&#62;iDTGV&#60;/a&#62;&#60;/h2&#62; */<br />
&#160;&#160;border-bottom: 1px #607800 solid;<br />
&#160;&#160;color: #607800;<br />
&#160;&#160;text-decoration: none<br />
}<br />
h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited , h5 a:visited , h6 a:visited {<br />
/* Liens visités dans les titres */<br />
&#160;&#160;border-bottom: 1px #607800 solid;<br />
&#160;&#160;color: #607800;<br />
&#160;&#160;text-decoration: none<br />
}<br />
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {<br />
/* Liens visités lors du survol avec la souris dans les titres */<br />
&#160;&#160;border-bottom: 1px #770010 solid;<br />
&#160;&#160;color: #770010;<br />
&#160;&#160;text-decoration: none<br />
}<br />
h2 a:active, h3 a:active, h4 a:active, h5 a:active, h6 a:active {<br />
/* Liens lors du clic de la souris dans les titres */<br />
&#160;&#160;border-bottom: 1px #607800 solid;<br />
&#160;&#160;color: #607800;<br />
&#160;&#160;text-decoration: none<br />
}<br />
h2.post_title a:link, h2.post_title a:visited, h2.post_title a:hover, h2.post_title a:active, h3.post_title a:link, h3.post_title a:visited, h3.post_title a:hover, h3.post_title a:active {<br />
/* Liens dans les titres d'articles */<br />
&#160;&#160;border-bottom: none;<br />
&#160;&#160;color: #770010;<br />
&#160;&#160;text-decoration: none<br />
}<br />
h2.page_title a:link, h2.page_title a:visited, h2.page_title a:hover, h2.page_title a:focus, h2.page_title a:active {<br />
/* Liens dans les titres d'articles */<br />
&#160;&#160;border-bottom: none;<br />
&#160;&#160;color: #770010;<br />
&#160;&#160;text-decoration: none<br />
}<br />
h1 acronym, h1 abbr, h2 acronym, h2 abbr, h3 acronym, h3 abbr, h4 acronym, h4 abbr, h5 acronym, h5 abbr, h6 acronym, h6 abbr {<br />
/* Acronymes et abbréviations dans les titres */<br />
/* Exemple. &#60;h2&#62;&#60;acronym title=&#34;Interactif Détente Tgv&#34;&#62;iDTGV&#60;/acronym&#62;&#60;/h2&#62; */<br />
&#160;&#160;border-bottom: 1px #607800 dotted;<br />
&#160;&#160;cursor: help<br />
}<br />
/****** Citations ******/<br />
cite, q {<br />
&#160;&#160;color: #333333;<br />
&#160;&#160;font-style: normal;<br />
&#160;&#160;font-weight: 600 /* par défaut, la valeur 'bold' vaut 700 et 'normal' vaut 500<br />
}<br />
blockquote {<br />
&#160;&#160;color: #333333;<br />
&#160;&#160;font-style: normal;<br />
&#160;&#160;font-weight: 600;<br />
&#160;&#160;margin: 0 10px<br />
}<br />
h1 q, h2 q, h3 q, h4 q, h5 q, h6 q, h1 cite, h2 cite, h3 cite, h4 cite, h5 cite, h6 cite {<br />
/* Citations dans les titres */<br />
/* Exemple. &#60;h2&#62;&#60;q&#62;Dormir nuit&#60;/q&#62; déclare le marchand de sable&#60;/h2&#62; */<br />
&#160;&#160;color: #607800;<br />
&#160;&#160;font-style: italic<br />
}<br />
blockquote a:link, cite a:link, q a:link {<br />
/* Liens actifs dans les citations */<br />
/* Exemple. &#60;p&#62;&#60;q&#62;Je consulte fréquemment le site &#60;a href=&#34;http://www.sncf.com/&#34; title =&#34;aller sur le site de la Société Nationale des Chemins de Fer Français&#34;&#62;Sncf&#60;/a&#62;.&#60;/q&#62;&#60;/p&#62;*/<br />
&#160;&#160;border-bottom: 1px #333333 solid;<br />
&#160;&#160;color: #333333;<br />
&#160;&#160;font-style: normal;<br />
&#160;&#160;text-decoration: none<br />
}<br />
blockquote a:visited, cite a:visited, q a:visited {<br />
/* Liens visités dans les citations */<br />
&#160;&#160;border-bottom: 1px #333333 solid;<br />
&#160;&#160;color: #333333;<br />
&#160;&#160;font-style: normal;<br />
&#160;&#160;text-decoration: none<br />
}<br />
blockquote a:hover, cite a:hover, q a:hover {<br />
/* Liens lors du survol avec la souris dans les citations */<br />
&#160;&#160;border-bottom: 1px #333333 solid;<br />
&#160;&#160;color: #333333;<br />
&#160;&#160;font-style: normal;<br />
&#160;&#160;text-decoration: none<br />
}<br />
blockquote a:active, cite a:active, q a:active {<br />
/* Liens lors du clic de la sourisdans les citations */<br />
&#160;&#160;border-bottom: 1px #333333 solid;<br />
&#160;&#160;color: #333333;<br />
&#160;&#160;font-style: normal;<br />
&#160;&#160;text-decoration: none<br />
}<br />
blockquote em a:link, cite em a:link, q em a:link {<br />
/* Liens actifs dans les citations lorsque le texte est écrit avec emphase, c'est-à-dire en italique */<br />
/* Exemple. &#60;p&#62;&#60;q&#62;&#60;em&#62;Voyager avec la &#60;a href=&#34;http://www.sncf.com/&#34; title =&#34;aller sur le site de la Société Nationale des Chemins de Fer Français&#34;&#62;Sncf&#60;/a&#62; ou &#60;a href=&#34;http://www.airfrance.fr/&#34; title =&#34;aller sur le site d'Air France (s'ouvre dans une nouvelle fenêtre)&#34;&#62;Air France&#60;/a&#62;&#60;/em&#62; est une question récurrente&#60;/q&#62;, explique-t-il.&#60;/p&#62; */<br />
&#160;&#160;border-bottom: 1px #333333 solid;<br />
&#160;&#160;color: #333333;<br />
&#160;&#160;font-style: italic;<br />
&#160;&#160;text-decoration: none<br />
}<br />
blockquote em a:visited, cite em a:visited, q em a:visited {<br />
/* Liens visités dans les citations lorsque le texte est écrit avec emphase, c'est-à-dire en italique */<br />
&#160;&#160;border-bottom: 1px #333333 solid;<br />
&#160;&#160;color: #333333;<br />
&#160;&#160;font-style: italic;<br />
&#160;&#160;text-decoration: none<br />
}<br />
blockquote em a:hover, cite em a:hover, q em a:hover {<br />
/* Liens lors du survol avec la souris dans les citations lorsque le texte est écrit avec emphase, c'est-à-dire en italique */<br />
&#160;&#160;border-bottom: 1px #333333 solid;<br />
&#160;&#160;color: #333333;<br />
&#160;&#160;font-style: italic<br />
}<br />
blockquote em a:active, cite em a:active, q em a:active {<br />
/* Liens lors du clic de la souris dans les citations lorsque le texte est écrit avec emphase, c'est-à-dire en italique */<br />
&#160;&#160;border-bottom: 1px #333333 solid;<br />
&#160;&#160;color: #333333;<br />
&#160;&#160;font-style: italic<br />
}<br />
blockquote cite, q cite {<br />
/* Citation courte incluse à une citation longue */<br />
&#160;&#160;font-style: italic;<br />
&#160;&#160;font-weight: bold<br />
}<br />
/****** Acronymes et abréviations ******/<br />
acronym, abbr {<br />
&#160;&#160;border-bottom: 1px #000000 dotted;<br />
&#160;&#160;cursor: help<br />
}<br />
blockquote acronym, blockquote abbr, cite acronym, cite abbr, q acronym, q abbr {<br />
/* Acronyme ou abréviation incluse à une citation */<br />
/* Exemple. &#60;p&#62;&#60;q&#62;Le &#60;acronym title=&#34;Train à Grande Vitesse&#34&#62;Tgv&#60;/acronym&#62; reste moins rapide que l'avion.&#60;/q&#62;&#60;/p&#62; */<br />
&#160;&#160;border-bottom: 1px #333333 dotted;<br />
&#160;&#160;cursor: help;<br />
&#160;&#160;font-style: normal<br />
}<br />
em acronym, em abbr {<br />
/* Acronyme ou abréviation incluse à une citation lorsque le texte est écrit avec emphase, c'est-à-dire en italique */<br />
/* Exemple. &#60;p&#62;&#60;em&#62;Le &#60;acronym title=&#34;Train à Grande Vitesse&#34;&#62;Tgv&#60;/acronym&#62; est-il aussi rapide que l'avion ?&#60;/em&#62;, se demande-t-il.&#60;/p&#62; */<br />
&#160;&#160;border-bottom: 1px #333333 dotted;<br />
&#160;&#160;cursor: help;<br />
&#160;&#160;font-style: italic<br />
}<br />
blockquote em acronym, blockquote em abbr, cite em acronym, cite em abbr, q em acronym, q em abbr {<br />
/* Acronyme ou abréviation lorsque le texte est écrit avec emphase, c'est-à-dire en italique */<br />
/* Exemple. &#60;p&#62;&#60;q&#62;La plupart des voyageurs se demande &#60;em&#62;le &#60;acronym title=&#34;Train à Grande Vitesse&#34;&#62;Tgv&#60;/acronym&#62; est-il moins rapide que l'avion ?&#60;/em&#62;.&#60;/q&#62;, explique-t-il.&#60;/p&#62; */<br />
&#160;&#160;border-bottom: 1px #333333 dotted;<br />
&#160;&#160;cursor: help;<br />
&#160;&#160;font-style: italic<br />
}<br />
</code></p>
<p>Les possibilités de varier le style sont infinies, même s&#8217;il est difficile de prévoir l&#8217;ensemble des cas lors de l&#8217;écriture de la feuille de style.</p>
<p>Le principe de la personnalisation des liens hypertextes est facile à transposer avec d&#8217;autres attributs.</p>
<p>À ce propos, et le concept n&#8217;est pas facile à comprendre pour les débutants, les feuilles de style en cascade ne constituent pas une juxtaposition de règles hétéroclites définissant chaque élement d&#8217;une page <em>Web</em>. Par <em>cascade</em>, il faut comprendre <em>factorisation</em>&#160;: chaque règle suit la précédente (c&#8217;est le principe de l&#8217;<em>héritage</em> entre <em>parent</em> et <em>enfants</em>) ou l&#8217;infirme.</p>
<p>Aussi faut-il ne pas oublier de refléter l&#8217;arbre logique du document dans l&#8217;écriture des styles, en respectant l&#8217;ordre d&#8217;apparition des éléments dans la page, c&#8217;est-à-dire leur héritage, de gauche à droite.</p>
<p>Ainsi, si nous voulons supprimer les puces devant chaque liste du document, nous écrirons&#8230;</p>
<p class="left"><code>li {<br />
&#160;&#160;list-style-type: none<br />
</code></p>
<p>Partant de cette règle, nous pouvons toutefois ajouter des puces devant un élément particulier, par exemple dans le conteneur <em>post</em>, en écrivant&#160;:</p>
<p class="left"><code>.post li {<br />
&#160;&#160;list-style-type: square<br />
</code></p>
<p>Ici, il faut peser avec soin l&#8217;intérêt d&#8217;une règle générale&#160;: il est contre-productif de déclarer la suppression des puces dans l&#8217;ensemble du document pour les ajouter ensuite à chaque élément&#160;! Cependant, la redondance peut présenter l&#8217;avantage de simplifier la lecture et la maintenance du code.</p>
<p>Enfin, il est encore plus simple pour maintenir une feuille de style de regrouper les attributs par sélecteurs&#160;: couleurs, bordures, alignements, polices de caractères&#8230; Ainsi, si l&#8217;on souhaite changer une couleur, elle s&#8217;appliquera instantanément à tous les attributs concernés, grâce à cette <em>explosion</em>. La ré-écriture d&#8217;une feuille de style sous cette forme est fastidieuse, mais elle permet ensuite de gagner du temps.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iptima.com/2010/02/21/varier-lapparence-des-liens-hypertextes-selon-le-contenu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Centrer parfaitement une galerie d&#8217;images</title>
		<link>http://www.iptima.com/2010/02/18/centrer-une-galerie-dimages/</link>
		<comments>http://www.iptima.com/2010/02/18/centrer-une-galerie-dimages/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 11:39:59 +0000</pubDate>
		<dc:creator>Vincent Roulet</dc:creator>
				<category><![CDATA[Conception]]></category>
		<category><![CDATA[WebDesign]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[Cascading Style Sheets]]></category>
		<category><![CDATA[Css]]></category>
		<category><![CDATA[Extensible HyperText Markup Language]]></category>
		<category><![CDATA[feuilles de style]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Galerie]]></category>
		<category><![CDATA[get_option]]></category>
		<category><![CDATA[Html]]></category>
		<category><![CDATA[Hypertext Preprocessor]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Mark Newhouse]]></category>
		<category><![CDATA[MySql]]></category>
		<category><![CDATA[Php]]></category>

		<guid isPermaLink="false">http://www.iptima.com/?p=284</guid>
		<description><![CDATA[Nous nous sommes longtemps interrogé sur la manière de centrer parfaitement  la dernière ligne d&#8217;une galerie, quel que soit le nombre d&#8217;images. En effet, sur la plupart des sites n&#8217;utilisant pas des effets dynamiques comme JavaScript ou Flash, les images restantes d&#8217;une dernière ligne incomplète sont inexorablement alignées à gauche&#160;: les exemples sont nombreux.

Voici [...]]]></description>
			<content:encoded><![CDATA[<p>Nous nous sommes longtemps interrogé sur la manière de centrer parfaitement  la dernière ligne d&#8217;une galerie, quel que soit le nombre d&#8217;images. En effet, sur la plupart des sites n&#8217;utilisant pas des effets dynamiques comme JavaScript ou <a hreflang="en" href="http://www.adobe.com/products/flashplayer/" onclick="window.open(this.href); return false;" title ="aller sur le site de Flash Player (s'ouvre dans une nouvelle fenêtre)">Flash</a>, les images restantes d&#8217;une dernière ligne incomplète sont inexorablement alignées à gauche&#160;: les exemples sont nombreux.</p>
<p><span id="more-284"></span></p>
<p>Voici un problème relativement simple à formuler, mais dont la solution ne saute pas aux yeux. Après avoir parcouru en vain les arcanes du <em>Web</em> francophone puis anglophone, nous avons développé notre propre technique, que nous présentons ici.</p>
<p><em>Nota</em>. Dans notre présentation, par commodité, <em>O</em> désignera une image, tandis que <em>X</em> désignera une espace. (C&#8217;est notre modeste contribution à  l&#8217;<em><acronym title="American Standard Code for Information Interchange">Ascii</acronym> Art</em>&#160;!) Nous partirons aussi du postulat qu&#8217;une galerie correspond à des images de petites tailles alignées les unes avec les autres sur une page, dont leur largeur (et, idéalement, leur hauteur&#160;!) est équivalente.</p>
<p>Ainsi, pour cinq images, l&#8217;affichage sur une colonne s&#8217;effectue ainsi&#8230;</p>
<p class="center"><code>OXOXOXOXO</code></p>
<p>Pour les images restantes, le navigateur renvoie <em>logiquement</em>, sauf instruction contraire, les images restantes les unes à la suite des autres&#8230;</p>
<p>S&#8217;il reste quatre images&#8230;</p>
<p class="center"><code>OXOXOXOXX</code></p>
<p>S&#8217;il reste trois images&#8230;</p>
<p class="center"><code>OXOXOXXXX</code></p>
<p>S&#8217;il reste deux images&#8230;</p>
<p class="center"><code>OXOXXXXXX</code></p>
<p>S&#8217;il reste une image&#8230;</p>
<p class="center"><code>OXXXXXXXX</code></p>
<p>Or, ce résultat ne nous semble pas satisfaisant sur le plan visuel, car nous avons une fâcheuse tendance à cultiver la symétrie (&#8230; qui peut expliquer certains choix esthétiques&#8230; étonnants&#160;!).</p>
<p>Nous voulons obtenir l&#8217;affichage suivant&#8230;</p>
<p>S&#8217;il reste quatre images&#8230;</p>
<p class="center"><code>XOXOXOXOX</code></p>
<p>S&#8217;il reste trois images&#8230;</p>
<p class="center"><code>XXOXOXOXX</code></p>
<p>S&#8217;il reste deux images&#8230;</p>
<p class="center"><code>XXXOXOXXX</code></p>
<p>S&#8217;il reste une image&#8230;</p>
<p class="center"><code>XXXXOXXXX</code></p>
<p>Ainsi l&#8217;affichage nous semblera harmonieux, puisque les espaces seront équilibrés. Il ressemblera à&#160;:</p>
<p class="center"><code>OXOXOXOXO<br />
XOXOXOXOX<br />
XXOXOXOXX<br />
XXXOXOXXX<br />
XXXXOXXXX</code></p>
<p>Autrement posé, il s&#8217;agit de styler différemment les lignes complètes et la ligne incomplète, <em>orpheline</em>.</p>
<p>Aussi allons-nous <em>motoriser</em> les images. Nous utilisons <acronym title="pre-hypertext processing">Php</acronym>, mais le raisonnement peut être transposé à d&#8217;autres langages de programmation.</p>
<h3>Programmons les images</h3>
<p>Retournons à l&#8217;école pour un raisonnement arithmétique simple&#8230; Le nombre d&#8217;images à afficher (inconnu à l&#8217;avance - sinon, l&#8217;effort serait inutile&#160;!) est-il divisible par <em>3</em>, dans l&#8217;ensemble des nombres entiers <strong>Z</strong>&#160;? Dans l&#8217;<strong>affirmative</strong>, des lignes <em>pleines</em> s&#8217;afficheront. Dans la <strong>négative</strong>, quel sera le reste de la division&#160;? <em>2</em> ou <em>1</em>.</p>
<p>Ainsi&#8230;</p>
<ul>
<li>&#8230; pour 58 images, 58/3 = 19 images, reste 1 image&#160;;</li>
<li>&#8230; pour 104 images, 104/3 = 34 images, restent 2 images.</li>
</ul>
<p>(Pour une ligne de cinq images, le même raisonnement conduirait à avoir cinq cas possibles.)</p>
<p>Voici un exemple de code&#8230;</p>
<p class="left"><code>&#60;?php<br />
&#36;images = array('paris.jpg', 'marseille.jpg', 'lyon.jpg', 'lille.jpg', 'strasbourg.jpg');<br />
&#36;result = count(&#36;images);<br />
&#36;target = 3;<br />
/* La &#34;cible&#34; (c'est-à-dire une ligne &#34;pleine&#34;) est de trois images */<br />
&#36;orphans = fmod(&#36;result, &#36;target); // &#34;orphans&#34; comme &#34;orphelines&#34;<br />
/* 'fmod' retourne le reste d'une division */<br />
&#36;total = (&#36;result - &#36;orphans); // &#34;total&#34; pour une ligne pleine<br />
foreach(&#36;images as &#36;key =&#62; &#36;image)<br />
/* Nous utilisons la deuxième forme d'une boucle 'foreach' qui permet d'utiliser la valeur &#36;key utile dans les calculs. */<br />
{<br />
&#160;&#160;if ((&#36;key + 1) &#60;= &#36;total) // Pour trois images<br />
/* La valeur + 1 permet d'éviter que le résultat soit égal à zéro à la fin de la boucle. Nous aurions pu assigner la valeur au début des instructions... pour ne pas avoir à la ré-écrire ensuite dans les deux conditions suivantes ! Tant que le total n'est pas dépassé, l'instruction s'applique. */<br />
&#160;&#160;&#160;&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;echo '&#60;dl class=&#34;gallery_c&#34;&#62;'; // On créée la liste de définition &#34;gallery_c&#34; (voir ci-dessous)<br />
&#160;&#160;&#160;&#160;}<br />
&#160;&#160;else<br />
&#160;&#160;&#160;&#160;{<br />
&#160;&#160;&#160;&#160;if (((&#36;key + 1) &#62; &#36;total) &#38;&#38; (&#36;orphans == 2)) // Pour deux images<br />
/* La première condition permet de vérifier que le total est dépassé. S'il ne reste plus de lignes pleines et que le nombre d'images restantes est de deux, l'instruction s'applique. */<br />
&#160;&#160;&#160;&#160;&#160;&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;echo '&#60;dl class=&#34;gallery_b&#34;&#62;'; // On créée la liste de définition &#34;gallery_b&#34;, (voir ci-dessous)<br />
&#160;&#160;&#160;&#160;&#160;&#160;}<br />
&#160;&#160;&#160;&#160;if (((&#36;key + 1) &#62; &#36;total) &#38;&#38; (&#36;orphans == 1)) // Pour une image<br />
/* La première condition permet de vérifier que le total est dépassé. S'il ne reste plus de lignes pleines et que le nombre d'image restante est de une, l'instruction s'applique. */<br />
&#160;&#160;&#160;&#160;&#160;&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;echo '&#60;dl class=&#34;gallery_a&#34;&#62;'; // On créée la  liste de définition &#34;gallery_a&#34; (voir ci-dessous)<br />
&#160;&#160;&#160;&#160;&#160;&#160;}<br />
&#160;&#160;}<br />
&#160;&#160;echo &#36;image;<br />
/* La boucle 'foreach' affiche ensuite chaque image tour à tour. */<br />
&#160;&#160;echo '&#60;/dl&#62;'; // On ferme la liste de définitions<br />
}<br />
?&#62;</code></p>
<p>Ou sans les commentaires&#8230;</p>
<p class="left"><code>&#60;?php<br />
&#36;images = array('paris.jpg', 'marseille.jpg', 'lyon.jpg', 'lille.jpg', 'strasbourg.jpg');<br />
&#36;result = count(&#36;images);<br />
&#36;target = 3;<br />
&#36;orphans = fmod(&#36;result, &#36;target);<br />
&#36;total = (&#36;result - &#36;orphans);<br />
foreach(&#36;images as &#36;key =&#62; &#36;image)<br />
{<br />
&#160;&#160;if ((&#36;key + 1) &#60;= &#36;total)<br />
&#160;&#160;&#160;&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;echo '&#60;dl class=&#34;gallery_c&#34;&#62;';<br />
&#160;&#160;&#160;&#160;}<br />
&#160;&#160;else<br />
&#160;&#160;&#160;&#160;{<br />
&#160;&#160;&#160;&#160;if (((&#36;key + 1) &#62; &#36;total) &#38;&#38; (&#36;orphans == 2))<br />
&#160;&#160;&#160;&#160;&#160;&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;echo '&#60;dl class=&#34;gallery_b&#34;&#62;';<br />
&#160;&#160;&#160;&#160;}<br />
&#160;&#160;&#160;&#160;&#160;&#160;}<br />
&#160;&#160;&#160;&#160;if (((&#36;key + 1) &#62; &#36;total) &#38;&#38; (&#36;orphans == 1))<br />
&#160;&#160;&#160;&#160;&#160;&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;echo '&#60;dl class=&#34;gallery_a&#34;&#62;';<br />
&#160;&#160;&#160;&#160;&#160;&#160;}<br />
&#160;&#160;}<br />
&#160;&#160;echo &#36;image;<br />
&#160;&#160;echo '&#60;/dl&#62;';<br />
}<br />
?&#62;</code></p>
<p>Les images ont été placées dans un tableau à titre didactique. Naturellement, en production, il faudra recourir à une méthode plus simple.</p>
<p>C&#8217;est pourquoi, nous présentons le code utilisé avec <em>WordPress</em>, mais qui peut être utilisé dans n&#8217;importe quel environnement&#8230;</p>
<p class="left"><code>&#60;?php<br />
&#36;gallery_bottom = get_post_meta(&#36;post-&#62;ID, 'gallery_bottom', false);<br />
/* Avec WordPress, 'get_post_meta' permet de récupérer le(s) enregistrements correspondant dans une table MySql. Ensuite, on retrouve l'interaction habituelle entre Php et MySql. Les enregistrements des images sont enregistrées dans une table sous la forme : source, titre, légende (optionnel), Copyright (optionnel)...<br />
http://www.monsite.com/uploads/france.jpg,france,photo de la France,© Wikimedia Commons<br />
http://www.monsite.com/uploads/suisse.jpg,suisse,photo de la Suisse,© Wikimedia Commons<br />
http://www.monsite.com/uploads/portugal.jpg,portugal,photo du Portugal,© Wikimedia Commons<br />
http://www.monsite.com/uploads/danemark.jpg,danemark,photo du Danemark,© Wikimedia Commons<br />
 */<br />
if (&#36;gallery_bottom)<br />
{<br />
&#160;&#160;&#36;resulttgb = count(&#36;gallery_bottom); // &#34;tgb&#34; comme &#34;Temporary Gallery Bottom&#34; pour individualiser le processus<br />
&#160;&#160;&#36;targettgb = 3;<br />
&#160;&#160;&#36;orphanstgb = fmod(&#36;resulttgb, &#36;targettgb);<br />
&#160;&#160;&#36;totaltgb = (&#36;resulttgb - &#36;orphanstgb);<br />
&#160;&#160;foreach(&#36;gallery_bottom as &#36;key =&#62; &#36;tgb)<br />
&#160;&#160;{<br />
&#160;&#160;&#160;&#160;list(&#36;fulltgb, &#36;alttgb, &#36;txtatgb, &#36;txtbtgb) = explode(&#34;,&#34;, &#36;tgb);<br />
&#160;&#160;&#160;&#160;/* On coupe la chaîne en segments pour récupérer chaque élément. */<br />
&#160;&#160;&#160;&#160;&#36;extfull = array(&#34;.jpg&#34;, &#34;.jpeg&#34;, &#34;.png&#34;, &#34;.gif&#34;);<br />
&#160;&#160;&#160;&#160;&#36;extthumb = array(&#34;-100x100.jpg&#34;, &#34;-100x100.jpeg&#34;, &#34;-100x100.png&#34;, &#34;-100x100.gif&#34;);<br />
&#160;&#160;&#160;&#160;/* Chaque élément est remplacé dans l'ordre des deux tableaux. On convertit le nom de l'image pour afficher le nom de sa vignette, et éviter une double saisie de l'utilisateur. Naturellement, les images &#34;-100x100.jpg&#34; sont déjà stockées ! Ainsi, 'france.jpg' devient 'france-100x100.jpg'. */<br />
&#160;&#160;&#160;&#160;&#36;srctgb = str_ireplace(&#36;extfull, &#36;extthumb, &#36;fulltgb);<br />
&#160;&#160;&#160;&#160;/* 'str_ireplace' n'est pas sensible à la casse, et permet, par exemple, de transformer &#34;.GIF&#34; en &#34;.gif&#34;. */<br />
&#160;&#160;&#160;&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;if ((&#36;key + 1) &#60;= &#36;totaltgb)<br />
&#160;&#160;&#160;&#160;&#160;&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;echo '&#60;dl class=&#34;gallery_c&#34;&#62;';<br />
&#160;&#160;&#160;&#160;&#160;&#160;}<br />
&#160;&#160;&#160;&#160;&#160;&#160;else<br />
&#160;&#160;&#160;&#160;&#160;&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if (((&#36;key + 1) &#62; &#36;totaltgb) &#38;&#38; (&#36;orphanstgb == 2))<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;echo '&#60;dl class=&#34;gallery_b&#34;&#62;';<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if (((&#36;key + 1) &#62; &#36;totaltgb) &#38;&#38; (&#36;orphanstgb == 1))<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;echo '&#60;dl class=&#34;gallery_a&#34;&#62;';<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br />
&#160;&#160;&#160;&#160;&#160;&#160;}<br />
&#160;&#160;&#160;&#160;&#160;&#160;echo '&#60;dt&#62;&#60;a href=&#34;'.&#36;fulltgb.'&#34; title=&#34;'.&#36;alttgb.'&#34;&#62;&#60;img src=&#34;'.&#36;srctgb.'&#34; alt=&#34;'.&#36;alttgb.'&#34; title=&#34;'.&#36;alttgb.'&#34; /&#62;&#60;/a&#62;&#60;/dt&#62;';<br />
&#160;&#160;&#160;&#160;&#160;&#160;/* On concatène chaque élément récupéré tout à l'heure avec 'explode' dans une chaîne Html pour provoquer l'affichage de la vignette et du lien vers l'image. Par commodité, on utilise la même valeur pour les champs 'alt' et 'title'.*/<br />
&#160;&#160;&#160;&#160;&#160;&#160;if (&#36;txtatgb) // Puisque le champ est optionnel<br />
&#160;&#160;&#160;&#160;&#160;&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;echo '&#60;dd&#62;'.&#36;txtatgb.'&#60;/dd&#62;';<br />
&#160;&#160;&#160;&#160;&#160;&#160;}<br />
&#160;&#160;&#160;&#160;&#160;&#160;if (&#36;txtbtgb) // Puisque le champ est optionnel<br />
&#160;&#160;&#160;&#160;&#160;&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;echo '&#60;dd&#62;'.&#36;txtbtgb.'&#60;/dd&#62;';<br />
&#160;&#160;&#160;&#160;&#160;&#160;}<br />
&#160;&#160;&#160;&#160;&#160;&#160;echo '&#60;/dl&#62;';<br />
&#160;&#160;&#160;&#160;}<br />
&#160;&#160;}<br />
&#160;&#160;echo '&#60;div class=&#34;spacer&#34;&#62;&#60;/div&#62;'; // Pour éviter le flottement d'un élément adjacent avec la propriété Css 'clear: both;' chère à Mark Newhouse<br />
}<br />
?&#62;</code></p>
<p>Ou sans les commentaires&#8230;</p>
<p class="left"><code>&#60;?php<br />
&#36;gallery_bottom = get_post_meta(&#36;post-&#62;ID, 'gallery_bottom', false);<br />
if (&#36;gallery_bottom)<br />
{<br />
&#160;&#160;&#36;resulttgb = count(&#36;gallery_bottom);<br />
&#160;&#160;&#36;targettgb = 3;<br />
&#160;&#160;&#36;orphanstgb = fmod(&#36;resulttgb, &#36;targettgb);<br />
&#160;&#160;&#36;totaltgb = (&#36;resulttgb - &#36;orphanstgb);<br />
&#160;&#160;foreach(&#36;gallery_bottom as &#36;key =&#62; &#36;tgb)<br />
&#160;&#160;{<br />
&#160;&#160;&#160;&#160;&#9;list(&#36;fulltgb, &#36;alttgb, &#36;txtatgb, &#36;txtbtgb) = explode(&#34;,&#34;, &#36;tgb);<br />
&#160;&#160;&#160;&#160;&#36;extfull = array(&#34;.jpg&#34;, &#34;.jpeg&#34;, &#34;.png&#34;, &#34;.gif&#34;);<br />
&#160;&#160;&#160;&#160;&#36;extthumb = array(&#34;-100x100.jpg&#34;, &#34;-100x100.jpeg&#34;, &#160;&#160;&#160;&#160;&#34;-100x100.png&#34;, &#34;-100x100.gif&#34;);<br />
&#160;&#160;&#160;&#160;&#36;srctgb = str_ireplace(&#36;extfull, &#36;extthumb, &#36;fulltgb);<br />
&#160;&#160;&#160;&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;if ((&#36;key + 1) &#60;= &#36;totaltgb)<br />
&#160;&#160;&#160;&#160;&#160;&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;echo '&#60;dl class=&#34;gallery_c&#34;&#62;';<br />
&#160;&#160;&#160;&#160;&#160;&#160;}<br />
&#160;&#160;&#160;&#160;&#160;&#160;else<br />
&#160;&#160;&#160;&#160;&#160;&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if (((&#36;key + 1) &#62; &#36;totaltgb) &#38;&#38; (&#36;orphanstgb == 2))<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;echo '&#60;dl class=&#34;gallery_b&#34;&#62;';<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;if (((&#36;key + 1) &#62; &#36;totaltgb) &#38;&#38; (&#36;orphanstgb == 1))<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;echo '&#60;dl class=&#34;gallery_a&#34;&#62;';<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;}<br />
&#160;&#160;&#160;&#160;&#160;&#160;}<br />
&#160;&#160;&#160;&#160;&#160;&#160;echo '&#60;dt&#62;&#60;a href=&#34;'.&#36;fulltgb.'&#34; title=&#34;'.&#36;alttgb.'&#34;&#62;&#60;img src=&#34;'.&#36;srctgb.'&#34; alt=&#34;'.&#36;alttgb.'&#34; title=&#34;'.&#36;alttgb.'&#34; /&#62;&#60;/a&#62;&#60;/dt&#62;';<br />
&#160;&#160;&#160;&#160;&#160;&#160;if (&#36;txtatgb)<br />
&#160;&#160;&#160;&#160;&#160;&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;echo '&#60;dd&#62;'.&#36;txtatgb.'&#60;/dd&#62;';<br />
&#160;&#160;&#160;&#160;&#160;&#160;}<br />
&#160;&#160;&#160;&#160;&#160;&#160;if (&#36;txtbtgb)<br />
&#160;&#160;&#160;&#160;&#160;&#160;{<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;echo '&#60;dd&#62;'.&#36;txtbtgb.'&#60;/dd&#62;';<br />
&#160;&#160;&#160;&#160;&#160;&#160;}<br />
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;echo '&#60;/dl&#62;';<br />
&#160;&#160;&#160;&#160;&#160;&#160;}<br />
&#160;}<br />
&#160;echo '&#60;div class=&#34;spacer&#34;&#62;&#60;/div&#62;';<br />
}<br />
?&#62;</code></p>
<p><em>Nota.</em> Depuis que <em>WordPress</em> intègre la gestion des vignettes, nous n&#8217;utilisons plus les champs personnalisés&#160;!</p>
<h3>Stylons les images</h3>
<p>Nous avons utilisé les listes de définition pour afficher les images. La structure de ces listes est commode, grâce à l&#8217;attribut &#60;dd&#62;, optionnel, qui permet ou non d&#8217;ajouter une légende, en restant compatible <acronym title="eXtensible HyperText Markup Language">Xhtml</acronym> Strict. Un exemple d&#8217;utilisation est donné dans l&#8217;excellent article <a href="http://www.pompage.net/pompe/listesdefinitions/" onclick="window.open(this.href); return false;" title="lire l'article Les listes de définitions : mal utilisées ou mal comprises ? (s'ouvre dans une nouvelle fenêtre)"><em>Les listes de définitions&#160;: mal utilisées ou mal comprises&#160;?</em></a></p>
<p>Si une ligne est complète, c&#8217;est-à-dire comporte trois images, l&#8217;attribut <em>gallery_c</em> est utilisé pour les images. Si une ligne est incomplète et comporte deux images, l&#8217;attribut <em>gallery_b</em> est utilisé pour les images. Si une ligne est incomplète et comporte une image, l&#8217;attribut <em>gallery_c</em> est utilisé pour l&#8217;image.</p>
<p class="left"><code>dl.gallery_a, dl.gallery_b {<br />
&#160;&#160;float: left /* Inutile de provoquer le flottement de la dernière galerie, puisqu'il n'y a qu'une image ! */<br />
}<br />
dl.gallery_a dt, dl.gallery_b dt, dl.gallery_c dt, dl.gallery_a dd, dl.gallery_b dd, dl.gallery_c dd {<br />
&#160;&#160;text-align: center<br />
}<br />
dl.gallery_a dd, dl.gallery_b dd, dl.gallery_c dd {<br />
&#160;&#160;font-weight: bold<br />
}<br />
dl.gallery_a {<br />
&#160;&#160;width: 33.33% /* Nous fûmes longtemps persuadé que la version 5.5 d'Internet Explorer interprétait mal les décimales, à tort ! */<br />
}<br />
dl.gallery_b {<br />
&#160;&#160;width: 50%<br />
}<br />
dl.gallery_c {<br />
&#160;&#160;display: block;<br />
&#160;&#160;margin-left: auto;<br />
&#160;&#160;margin-right: auto;<br />
&#160;&#160;width: 100%<br />
}<br />
</code></p>
<p>Avec les largeurs fixes, il devient plus délicat d&#8217;aligner correctement les images, et le code est nettement moins élégant.</p>
<p>Ainsi, soit une feuille de style qui comporte les propriétés suivantes, sachant que la largeur du conteneur est de 625 pixels et celle d&#8217;une image est de 129 pixels avec ses bordures et ses marges&#8230;</p>
<p class="left"><code>dl.gallery_a, dl.gallery_b, dl.gallery_c {<br />
&#160;&#160;float: left<br />
}<br />
dl.gallery_a {<br />
&#160;&#160;margin: 15px 248px /* 248 pixels + 129 pixels + 248 pixels = 625 pixels */<br />
}<br />
dl.gallery_b {<br />
&#160;&#160;margin: 15px 91px /* 91 pixels + 129 pixels + 91 pixels + 91 pixels + 129 pixels + 91 pixels = 622 pixels - on doit se contenter de cette approximation - 91 pixels + 91 pixels, puisque les marges se juxtaposent */<br />
}<br />
dl.gallery_c {<br />
&#160;&#160;margin: 15px 39px; /* 39 pixels + 129 pixels + 39 pixels + 39 pixels + 129 pixels + 39 pixels + 39 pixels + 129 pixels + 39 pixels = 621 pixels - on doit se contenter de cette approximation - 39 pixels + 39 pixels, puisque les marges se juxtaposent */<br />
}<br />
</code></p>
<p><em>Nota</em>. Pour déterminer facilement, la largeur des espaces entre les images, il suffit d&#8217;appliquer le calcul&#160;:</p>
<p class="center"><code>(((largeur du conteneur ou de la page - (nombre d'images x largeur de chaque image))/((nombre d'images + 1) x 2)))</code></p>
<p>Par exemple, la largeur d&#8217;un conteneur est de 618 pixels (cette valeur simple est arbitraire&#160;!). Nous voulons y placer trois images de 150 pixels.</p>
<ul>
<li>Largeur du conteneur ou de la page&#160;: 618 pixels.</li>
<li>Nombre d&#8217;images&#160;: 3.</li>
<li>Largeur de chaque image&#160;: 150 pixels.</li>
<li>150 pixels x 3 images = 450 pixels.</li>
<li>Nombre d&#8217;espaces nécessaires&#160;: 3 images + 1.</li>
<li>Soient <em>(((618 - (3 x 150))/((3 + 1) x 2))) = <strong>21</strong></em>.</li>
<li>Soient (((618 pixels - (3 images x 150 pixels))/((3 espaces + 1) x 2))) = <strong>21 pixels</strong>.</li>
</ul>
<p>Nous avons utilisé des listes de définitions pour centrer nos images, mais notre solution peut s&#8217;adapter à d&#8217;autres types de balises et de contenu.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iptima.com/2010/02/18/centrer-une-galerie-dimages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Page d&#8217;accueil statique de WordPress, comment renvoyer vers les articles&#160;?</title>
		<link>http://www.iptima.com/2008/10/29/page-daccueil-statique-de-wordpress-comment-renvoyer-vers-les-articles/</link>
		<comments>http://www.iptima.com/2008/10/29/page-daccueil-statique-de-wordpress-comment-renvoyer-vers-les-articles/#comments</comments>
		<pubDate>Wed, 29 Oct 2008 10:50:26 +0000</pubDate>
		<dc:creator>Vincent Roulet</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[interface d'administration]]></category>

		<guid isPermaLink="false">http://www.iptima.com/?p=272</guid>
		<description><![CDATA[La caractéristique est rarement utilisée mais il est possible de remplacer la page d&#8217;accueil de WordPress, qui affiche traditionnellement les derniers articles, par une page statique dans les options de lecture. En voulant utiliser cet affichage, nous avons été perplexe&#160;: comment renvoyer vers les articles&#160;? Certes, le menu déroulant permet de préciser une page, mais [...]]]></description>
			<content:encoded><![CDATA[<p>La caractéristique est rarement utilisée mais il est possible de remplacer la page d&#8217;accueil de <em>WordPress</em>, qui affiche traditionnellement les derniers articles, par une page statique dans les options de lecture. En voulant utiliser cet affichage, nous avons été perplexe&#160;: comment renvoyer vers les articles&#160;? Certes, le menu déroulant permet de préciser une page, mais encore faut-il qu&#8217;elle existe&#160;! Sur ce point, cette procédure ne nous semble guère intuitive&#8230; Après avoir parcouru en vain plusieurs minutes durant les pages (toujours instructives&#160;!) du <em>Codex</em> anglophone, la solution a surgi dans notre esprit embrumé&#8230; Créer une page <em>vide</em> à intituler <em>Articles</em>, qu&#8217;il suffit ensuite de sélectionner dans le menu déroulant de <em>Page des articles</em>&#160;! Enfin, précision sans doute superfétatoire,  il faut évidemment afficher le lien sur la page d&#8217;accueil.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iptima.com/2008/10/29/page-daccueil-statique-de-wordpress-comment-renvoyer-vers-les-articles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Désactiver le suivi des versions de WordPress</title>
		<link>http://www.iptima.com/2008/10/29/desactiver-le-suivi-des-versions-de-wordpress/</link>
		<comments>http://www.iptima.com/2008/10/29/desactiver-le-suivi-des-versions-de-wordpress/#comments</comments>
		<pubDate>Wed, 29 Oct 2008 10:30:57 +0000</pubDate>
		<dc:creator>Vincent Roulet</dc:creator>
				<category><![CDATA[Notes de lecture]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[administration de WordPress]]></category>
		<category><![CDATA[Hypertext Preprocessor]]></category>
		<category><![CDATA[MySql]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Standard Query Language]]></category>

		<guid isPermaLink="false">http://www.iptima.com/?p=271</guid>
		<description><![CDATA[Korben explique sur son weblogue comment désactiver le suivi des versions de WordPress en modifiant le fichier wp-config.php, après purge préalable de la base de données. Thomas revient sur ce propos en donnant la procédure détaillée pour nettoyer en profondeur les tables. Il est certain que cette fonctionnalité de WordPress est inutile lorsqu&#8217;on est seul [...]]]></description>
			<content:encoded><![CDATA[<p>Korben explique sur son <a href="http://www.korben.info/comment-desactiver-le-suivi-des-versions-sous-wordpress-26.html" onclick="window.open(this.href); return false;" title="lire l'article de Korben sur la désactivation des suivi de versions de WordPress(s'ouvre dans une nouvelle fenêtre)">weblogue</a> comment désactiver le suivi des versions de <em>WordPress</em> en modifiant le fichier <em>wp-config.php</em>, après purge préalable de la base de données. Thomas revient sur ce propos en donnant la <a href="http://blog.newbie-project.net/2008/10/30/astuce-wp-donnez-un-bon-coup-de-balai-a-votre-bdd.html" onclick="window.open(this.href); return false;" title="lire l'article de Thomas sur la nettoyage en profondeur des tables de WordPress(s'ouvre dans une nouvelle fenêtre)">procédure</a> détaillée pour nettoyer en profondeur les tables. Il est certain que cette fonctionnalité de <em>WordPress</em> est inutile lorsqu&#8217;on est seul rédacteur et alourdit inutilement le contenu de la table <em>wp_posts</em>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.iptima.com/2008/10/29/desactiver-le-suivi-des-versions-de-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
