<?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>Clearideaz</title>
	<atom:link href="http://clearideaz.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://clearideaz.com</link>
	<description>webdesigner et intégrateur XHTML / CSS</description>
	<lastBuildDate>Wed, 27 Jan 2010 10:22:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Analyse de la nouvelle version de Duoh.com</title>
		<link>http://clearideaz.com/2008/11/analyse-de-la-nouvelle-versiond-e-duohcom/</link>
		<comments>http://clearideaz.com/2008/11/analyse-de-la-nouvelle-versiond-e-duohcom/#comments</comments>
		<pubDate>Sun, 16 Nov 2008 17:48:00 +0000</pubDate>
		<dc:creator>Olivier G.</dc:creator>
				<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[XHTML / CSS]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[duoh]]></category>
		<category><![CDATA[graphisme]]></category>
		<category><![CDATA[pieters]]></category>
		<category><![CDATA[veerle]]></category>

		<guid isPermaLink="false">http://www.clearideaz.com/?p=22</guid>
		<description><![CDATA[<p>Après un petit congé billet, je me redécide à écrire un billet à l’occasion de la publication récente de la nouvelle version du site <a hreflang="en" href="http://www.duoh.com/?rel=http://www.weblogr.fr">Duoh</a>. Pourquoi ce site&#160;? Parce qu’il est un exemple d’innovation en matière de webdesign. </p> <p>Trop de sites sont réalisés par des designers qui n’ont pas de réelle vision web et il ne faut en aucun cas les blâmer mais il serait grand temps d’avancer et de laisser le webdesign à des gens qui ont été formés pour ça et de ce fait, proposer enfin, de vrai formation dans ce domaine. Le webdesign répond à des contraintes d’ergonomie, d’accessibilité, de sémantique et d’intégration. L’art est secondaire (troll&#160;?). La maquette web est au service du contenu et non pas l’inverse.</p>]]></description>
			<content:encoded><![CDATA[<p>Après un petit congé billet, je me redécide à écrire un billet à l’occasion de la publication récente de la nouvelle version du site <a hreflang="en" href="http://www.duoh.com/?rel=http://www.weblogr.fr">Duoh</a>. Pourquoi ce site ? Parce qu’il est un exemple d’innovation en matière de webdesign.</p>
<p>Trop de sites sont réalisés par des designers qui n’ont pas de réelle vision web et il ne faut en aucun cas les blâmer mais il serait grand temps d’avancer et de laisser le webdesign à des gens qui ont été formés pour ça et de ce fait, proposer enfin, de vrai formation dans ce domaine. Le webdesign répond à des contraintes d’ergonomie, d’accessibilité, de sémantique et d’intégration. L’art est secondaire (troll ?). La maquette web est au service du contenu et non pas l’inverse.</p>

<p>Revenons donc à Duoh.com. Définissons d’abord ce qu’ils font. C’est une agence de design web et print qui existe depuis 1992 et composée de deux personnes : Geert Leyseele, le directeur de projet et Veerle Pieters au secteur de l’illustration et ’intégration. Duoh produit essentiellement de l’interface web mais également des logos, des illustrations, des icones et enfin du print.</p>
<p>Nous allons étudier dans un premier temps l’aspect graphique puis nous nous concentrerons sur l’aspect technique.</p>
<h3>Une grille peu conventionnelle</h3>
<p>Réalisée sous Illustrator, la maquette du site Duoh.com a pris un certain nombre de liberté graphique. Il ne s’agissait pas ici de s’enfermer dans les contraintes d’une grille.</p>
<p>Pourtant la tentation aurait été grande. On sait à quel point le design suisse (design que voulais évoque le nouveau Duoh) est très cubique et il aurait été évident de se caler précisément sur une grille régulière. Mais ici, il fallait du mouvement, de la vie. Comme on peut le voir sur l’image ci-dessous, certains éléments sont délibérement décalés par rapport à la grille de base.</p>
<p><a class="zoom" href="http://clearideaz.com/wp-content/uploads/2008/11/duohGrid.jpg"><img src="http://clearideaz.com/wp-content/uploads/2008/11/duohGrid-981x1024.jpg" alt="" title="duohGrid" width="282" height="295" class="alignleft size-large wp-image-77" /></a></p>
<p>Cela créé une certaine dynamique dans la mise en page. L’idée est également d’avoir un aspect différent à chaque scroll dans la page.</p>
<p>Concernant le choix des couleurs, là aussi, l’originalité était de mise. La maquette est un vrai arc-en-ciel. Une dizaine de couleurs ont été utilisées (rien que ça !). Mais c’est surtout leur utilisation qui est intéressante. On peut observer en fond de page, une gris très foncé (#3e373c) et dans la zone principale de contenu du blanc. En termes de contraste, on ne peut pas faire mieux. Et sur cette structure monochrome, viennent s’ajouter des couleurs <span lang="en">« flashy »</span> qui donnent force et vivacité.</p>
<p>Chaque maquette de page se présente comme une surprise pour le visiteur. Le fond de page change en permanence. En voici quelques exemples ci-dessous :</p>
<p><img class="alignnone size-full wp-image-83" title="Illustrations dans le fond de page du site Duoh" src="http://clearideaz.com/wp-content/uploads/2008/11/graphDuoh.jpg" alt="Illustrations dans le fond de page du site Duoh" width="390" height="499" /></p>
<p>Il en est de même pour la sidebar…</p>
<p><img class="alignnone size-full wp-image-84" title="Illustration de la sidebar du site Duoh" src="http://clearideaz.com/wp-content/uploads/2008/11/sidebarDuoh.jpg" alt="Illustration de la sidebar du site Duoh" width="390" height="228" /></p>
<h3>L’innovation dans l’intégration</h3>
<p>Si l’on met de côté un instant l’aspect graphique, on pourra remarquer un certain nombre de techniques d’intégration assez intéressantes et qui peuvent être aussi contestables.</p>
<p>Pour ce qui est des remplacements de texte par des images dans le menu principal, il y a un choix d’utiliser des balises span vides. A première vue, ça peut faire enrager les adeptes de la validité stricte ! Mais là, il est question d’accessibilité. En effet, contrairement aux techniques de remplacements d’image utilisées largement (text-indent :-9999px ou top :-9999px), il n’y aura aucun de souci lors de la lecture de la page si la CSS est activée et si les images ne sont pas chargées. L&#8217;astuce est de placer les span avec pour fond l&#8217;image au dessus (en position absolue) du texte.</p>
<p>Il peut paraitre également surprenant de trouver parfois des remplacements de texte par des images qui n’ont pas du tout le même contenu. Il y a par exemple sur la page Contact us, un titre de niveau 2 qui contient le texte <span lang="en">« Contact us for an estimate? »</span> et qui sous forme d’image est remplacé par <span lang="en">« Want a site that beautiful and brainy too ? »</span> ou le texte sur la <span lang="en">homepage</span> <span lang="en">« Who we are »</span> qui est tout bonnement remplacé par une image de séparation. J’argumenterais qu’ici on différencie l’aspect que le site aura lorsqu’il sera chargé avec tous les éléments graphique et son aspect dans aucune illustration. Aucun aspect n’est handicapé par ces pratiques et l’utilisateur ne manque aucune informations d’un coté comme de l’autre.</p>
<p>Ce qui a le plus perturbé les utilisateurs au premier coup d’œil sur ce site est l’utilisation de l’espace par la mise en page. Le site a été pensé de manière à ce qu’il soit agréable à lire autant sur des petites résolutions que sur des énormes résolutions (type iMac).Ce qui a rebuté plus d’un utilisateur est le fait qu’on ne puisse pas avoir accès sur les résolutions 1024*768 aux citations. D’autres qui avaient des résolutions intermédiaires se lamentaient d’avoir des citations coupées.</p>
<p>Ce genre de commentaires sont anti-productifs et ne feront jamais avancer le web. Il faut replacer le projet dans un contexte. Ici on parle de la vitrine d’un site de création web et print et pas d’un site destiné à un client. Ici, l’aspect novateur est qu’aucune résolution ne souffre de la mise en page. Le site s’adapte très bien à tout type d’écran. Il est enfin plaisant pour des personnes<span> </span>ayant des résolutions de type 1900*1200 de naviguer sur des sites web.</p>
<p>On notera également l’utilisation de la police de caractère Corbel (police distribuée avec Vista) et qui est remplacée par l’Helvetica au cas où cette dernière n’est pas disponible.</p>
<h3>Au rang de la technique</h3>
<p>Le site utilise le CMS <a hreflang="en" href="http://www.expressionengine.com/index.php?affiliate=veerlesblog&amp;page=/overview/"><span lang="en">Expression Engine</span></a> et est hébergé chez <a hreflang="en" href="http://enginehosting.com/"><span lang="en">Engine Hosting</span></a> qui met à disposition ce CMS de base. Je ne connais pas encore totalement cet outil, je suis dans la découverte mais il semble qu’il soit très souple et offre grand nombre de fonctionnalités.</p>
<p>Les pages pèse en moyenne 200 ko, les fichiers les plus lourds étant les images de fonds bien évidemment mais on a rien sans rien <img src='http://clearideaz.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Coté javascript, Duoh a fait le choix « tendance » de la librairie <a hreflang="en" href="http://www.mootools.net"><span lang="en">Mootools</span></a>. Ce qui est dommage, c’est d’avoir utilisé une librairie javascript uniquement pour les effets d’images sur la homepage et pour les tooltips de la <span lang="en">sidebar</span>. Là encore, ça se discute…</p>
<p>Le site est strictement valide W3C sur le code XHTML. Seule la CSS ne valide pas mais est-ce bien grave ?</p>
<h3>Conclusion</h3>
<p>Veerle qui a réalisé la maquette et l’intégration html de Duoh propose sans cesse ses idées en matière d’illustrations ou de réalisations web et Duoh.com constitue, une fois de plus, une nouvelle source d’inspiration.</p>
<p>Je vous invite à consulter ces liens pour plus d’informations :</p>
<ul>
<li><a hreflang="en" href="http://veerle.duoh.com/blog/comments/new_duoh_dot_com_has_launched/">New Duoh! dot com has launched</a></li>
<li><a hreflang="en" href="http://veerle.duoh.com/blog/comments/tweaks_to_duoh_dot_com/">Tweaks to Duoh! dot com</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://clearideaz.com/2008/11/analyse-de-la-nouvelle-versiond-e-duohcom/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Du Parallax avec jQuery et CSS</title>
		<link>http://clearideaz.com/2008/06/du-parallax-avec-jquery-et-css/</link>
		<comments>http://clearideaz.com/2008/06/du-parallax-avec-jquery-et-css/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 09:12:00 +0000</pubDate>
		<dc:creator>Olivier G.</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[parallax]]></category>

		<guid isPermaLink="false">http://www.clearideaz.com/?p=15</guid>
		<description><![CDATA[<p>Le <a href="http://fr.wikipedia.org/wiki/D%C3%A9filement" title="Voir la définition de Scrolling Parallax sur Wikipédia">scrolling parallax</a> est une technique qui consiste a créer un pseudo-effet de 3D sur un environnement en 2D. Si vous avez déjà pu jouer aux premières versions de Sonic The Hedgehog, vous comprendrez de quoi je parle. Je me suis amusé, encore une fois avec JQuery, a créer un effet parallax sur une page d’accueil d’un site existant.</p> <p>J’ai repris la page d’accueil de <a href="http://www.silverbackapp.com" title="Se rendre sur le site SilverBack.com">SilverBackApp.com</a> qui utilise déjà un effet Parallax au redimensionnement du navigateur. La technique très subtile consiste a placer les différentes couches de fonds avec des background-position en pourcentage. En jouant justement sur ces valeurs relatives, on peut de ce fait créer un effet intéressant lorsque l’utilisateur redimensionne sa fenêtre.</p> <p>En partant de cette base, j’ai décidé de rajouter une couche Javascript. Le but est de changer la position du fond en fonction de la position de l’image. Pour cela, on va juste récupérer les positions du pointeur et utiliser ces valeurs pour déterminer le positionnement (en pixel cette fois) des différentes images.</p>]]></description>
			<content:encoded><![CDATA[<p>Le <a title="Voir la définition de Scrolling Parallax sur Wikipédia" href="http://fr.wikipedia.org/wiki/D%C3%A9filement">scrolling parallax</a> est une technique qui consiste a créer un pseudo-effet de 3D sur un environnement en 2D. Si vous avez déjà pu jouer aux premières versions de Sonic The Hedgehog, vous comprendrez de quoi je parle. Je me suis amusé, encore une fois avec JQuery, a créer un effet parallax sur une page d’accueil d’un site existant.</p>
<p>J’ai repris la page d’accueil de <a title="Se rendre sur le site SilverBack.com" href="http://www.silverbackapp.com">SilverBackApp.com</a> qui utilise déjà un effet Parallax au redimensionnement du navigateur. La technique très subtile consiste a placer les différentes couches de fonds avec des background-position en pourcentage. En jouant justement sur ces valeurs relatives, on peut de ce fait créer un effet intéressant lorsque l’utilisateur redimensionne sa fenêtre.</p>
<p>En partant de cette base, j’ai décidé de rajouter une couche Javascript. Le but est de changer la position du fond en fonction de la position de l’image. Pour cela, on va juste récupérer les positions du pointeur et utiliser ces valeurs pour déterminer le positionnement (en pixel cette fois) des différentes images.</p>

<p>On obtiendra avec jQuery ce type de code pour la div #frontvines</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;body&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">mousemove</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>event<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
   $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#frontvines&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">css</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span> 
      backgroundPosition<span style="color: #339933;">:</span> <span style="color: #009900;">&#40;</span>event.<span style="color: #660066;">clientX</span> <span style="color: #339933;">*</span> <span style="color: #CC0000;">1.1</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">'px 0px'</span>
   <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Sur la première ligne, on cherche l’évènement qui indique que l’utilisateur bouge sa souris sur la page. Dans la partie fonction, on place en paramètre la position du curseur pour la réutiliser ensuite pour modifier les propriétés de styles associées à la balise comportant l&#8217;id #frontvines. Pour observer le résultat, rendez-vous sur la page dédié à cette démonstration <a title="Accéder à la première démonstration" href="http://clearideaz.com/demo/05062008/">disponible ici</a>.</p>
<p>Pour aller plus loin, je me suis amusé, dans une <a title="Accéder à la seconde démonstration" href="http://clearideaz.com/demo/06062008/">seconde démonstration</a>, à réutiliser une photo de paysage pour y introduire du parallax. Le principe reste le même, je vous laisse le soin de télécharger le script sur <a title="Accéder à la seconde démonstration" href="http://clearideaz.com/demo/06062008/">la page de la seconde démonstration</a>, vous y trouverez la manière de procéder dans les commentaires du fichier Javascript.</p>
<h3>Quelques liens en rapport avec Parallax :</h3>
<h4>Effet parallax à l’aide de CSS ou de Javascript</h4>
<ul>
<li><a title="Se rendre sur le site Dumago.net" href="http://dumago.net/">Le futur site de service Dumago.net (CSS)</a></li>
<li><a title="Visiter le site Umaghetzeggen.nl" href="http://www.umaghetzeggen.nl/">Effet parallax aux mouvements de la souris sur Umaghetzeggen.nl (Javascript)</a></li>
<li><a title="Accéder au site Dromaeo.com" href="http://dromaeo.com/">Le site des tests de performances Javascript Dromaeo (CSS)</a></li>
<li><a title="Voir la demo sur le site Dvessel.com" href="http://www.dvessel.com/">Démo expérimentale de footer avec effet de vagues (CSS)</a></li>
</ul>
<h4>Utilisation de parallax sous Flash</h4>
<ul>
<li><a title="Se rendre sur le site ff0000.com" href="http://www.ff0000.com/">Une démo assez bluffante en Flash</a></li>
<li><a title="Se rendre sur le site EffectsCod.com" href="http://www.effectscode.com/ImageEffects/DepthField/XML/">Effet de rotation rendu grâce à parallax</a></li>
<li><a title="Aller sur le site de Aviary" href="http://a.viary.com/">Un header construit en parallax</a></li>
<li><a title="Visiter le site Freedent White" href="http://www.freedentwhite.com/index.php/page/fr">Le site Freedent White</a></li>
</ul>
<h4>Tutorial</h4>
<ul>
<li><a title="Voir le tutos à propos de parallax via CSS " href="http://www.sitepoint.com/blogs/2008/01/18/in-the-lab-doing-strange-things-to-css-backgrounds/">Un tutos sur Sitepoint.com sur les effet parallax en CSS</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://clearideaz.com/2008/06/du-parallax-avec-jquery-et-css/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Une carte Vélib grâce à l&#8217;API Google</title>
		<link>http://clearideaz.com/2008/05/carte-velib-grace-a-lapi-google-et-jquery/</link>
		<comments>http://clearideaz.com/2008/05/carte-velib-grace-a-lapi-google-et-jquery/#comments</comments>
		<pubDate>Fri, 02 May 2008 15:55:00 +0000</pubDate>
		<dc:creator>Olivier G.</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[map]]></category>
		<category><![CDATA[vélib]]></category>

		<guid isPermaLink="false">http://www.clearideaz.com/?p=14</guid>
		<description><![CDATA[Si vous habitez Paris ou si vous ne faites qu&#8217;y travailler (comme moi), vous avez surement déjà eu l&#8217;occasion d&#8217;utiliser le service Vélib. Le site officiel ou d&#8217;autres sites indépendants comme Roulib.fr proposent des cartes permettant d&#8217;afficher le nombre de vélos disponibles ou encore le nombre d&#8217;emplacements restants. Je vous propose de faire la même [...]]]></description>
			<content:encoded><![CDATA[<p>Si vous habitez Paris ou si vous ne faites qu&#8217;y travailler (comme moi), vous avez surement déjà eu l&#8217;occasion d&#8217;utiliser le service Vélib. Le <a href="http://www.velib.paris.fr/" title="Se rendre sur le site officiel du service Vélib">site officiel</a> ou d&#8217;autres sites indépendants comme <a href="http://www.roulib.fr" title="Visiter le site Roulib.fr">Roulib.fr</a> proposent des cartes permettant d&#8217;afficher le nombre de vélos disponibles ou encore le nombre d&#8217;emplacements restants. Je vous propose de faire la même chose grâce à l&#8217;<a href="http://code.google.com/apis/maps/documentation/" title="Voir la page de documentation concernant l'API de Google Maps">API de Google Map</a>.</p>
<p>Le principe est simple. On génère en local un fichier XML à partir du fichier distant présent sur le site officiel Vélib via <abbr title="Hypertext Preprocessor">PHP</abbr>. Une fois cette étape effectuée, on a plus qu&#8217;à charger le fichier xml à l&#8217;aide de <a href="http://fr.wikipedia.org/wiki/JavaScript" title="Se rendre sur la page Wikipédia concernant la définition du Javascript">Javascript.</a></p>
<p><a href="http://clearideaz.com/demo/04062008/" title="Se rendre sur la page de démo du script de la carte Vélib">La page de démonstration du script</a> utilise le framework <a href="http://www.jquery.com" title="Se rendre sur le site officiel de jQuery">jQuery</a> mais vous pourrez trouver dans l&#8217;<a href="http://clearideaz.com/demo/04062008/gmap-velib.zip" title="télécharger directement l'archive depuis cette page">archive</a> une version en javascript pur et une autre version associée à l&#8217;autre framework <a href="http://www.prototypejs.org/" title="Visiter le site officiel du framework Prototype">Prototype</a> (Merci d&#8217;ailleurs à <a href="http://www.sunfox.org/" title="Voir le fabuleux blog de mon escroc de collègue Sunny">Sunny</a> pour son aide <img src='http://clearideaz.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )</p>
<p>Vous trouverez toutes les informations nécessaires dans les commentaires des différents fichiers javascript. N&#8217;oubliez pas d&#8217;aller <a href="http://code.google.com/apis/maps/signup.html" title="Se rendre sur le site Google Map pour obtenir une clé API">générer une clé API Google Map</a> sur le site dédié.</p>
<p>Pour pouvoir accéder à la carte et télécharger le script associé, rendez-vous sur <a href="http://clearideaz.com/demo/04062008/" title="Se rendre sur la page de démo du script de la carte Vélib">la page de démo du script de carte Vélib</a>. L&#8217;archive contient le script php pour générer les fichiers xml de la carte Vélib et des informations associées à chaque borne, les fichiers Javascript correspondants, la feuille de style <abbr title="Cascading Style Sheet">CSS</abbr> et les images requises.</p>
]]></content:encoded>
			<wfw:commentRss>http://clearideaz.com/2008/05/carte-velib-grace-a-lapi-google-et-jquery/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Les hacks c&#8217;est pas bien !</title>
		<link>http://clearideaz.com/2008/04/les-hacks-cest-pas-bien/</link>
		<comments>http://clearideaz.com/2008/04/les-hacks-cest-pas-bien/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 13:35:00 +0000</pubDate>
		<dc:creator>Olivier G.</dc:creator>
				<category><![CDATA[XHTML / CSS]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[htc]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[navigateurs]]></category>

		<guid isPermaLink="false">http://www.clearideaz.com/?p=27</guid>
		<description><![CDATA[<p>La tentation de recourir à des hacks est grande lorsque l'on commence à se lancer dans l'intégration d'un site web. Lorsque l’on s'aperçoit que la page développée s'affiche différemment d'un navigateur à l'autre, on se dit très souvent que c'est le navigateur (Internet Explorer pour ne pas le citer) qui interprète le code ou la feuille de style n'importe comment.</p> <p>Cette réaction est plus ou moins justifiée. Nous sommes tous conscients des lacunes du navigateur Microsoft et plus particulièrement des versions antérieures à la 7. Toutefois, ce n'est pas une raison pour charger sa feuille de style de propriétés invalides en prenant comme bouc émissaire le navigateur de Monsieur Redmond. </p> <p>Une feuille de style doit, au même titre que le document <abbr title="eXtensible HyperText Markup Language">XHTML</abbr>, passer l'épreuve du validateur <abbr title="World Wide Web Consortium">W3C</abbr>. Ce n'est pas en insérant des "_width:" ou encore de "%margin:" dans votre <abbr title="Cascading Style Sheet">CSS</abbr> que vous pourrez vous vantez de faire un site au codage propre. J'irais même jusqu'à dire que <strong>les hacks sont bons pour les fainéants la plupart du temps</strong>.</p> <p>Dernièrement, j'avais fais remarquer à un intégrateur remonté contre <abbr title="Internet Explorer">IE</abbr> que notre boulot perdrait de l'intérêt sans ces soucis de compatibilité. Même si j'affirmais cela ironiquement, je trouve passionnant de découvrir pourquoi telle propriété ne fonctionne pas de la même manière d'un navigateur à l'autre et surtout, comment y remédier.</p>]]></description>
			<content:encoded><![CDATA[<p>La tentation de recourir à des hacks est grande lorsque l&#8217;on commence à se lancer dans l&#8217;intégration d&#8217;un site web. Lorsque l’on s&#8217;aperçoit que la page développée s&#8217;affiche différemment d&#8217;un navigateur à l&#8217;autre, on se dit très souvent que c&#8217;est le navigateur (Internet Explorer pour ne pas le citer) qui interprète le code ou la feuille de style n&#8217;importe comment.</p>
<p>Cette réaction est plus ou moins justifiée. Nous sommes tous conscients des lacunes du navigateur Microsoft et plus particulièrement des versions antérieures à la 7. Toutefois, ce n&#8217;est pas une raison pour charger sa feuille de style de propriétés invalides en prenant comme bouc émissaire le navigateur de Monsieur Redmond. </p>
<p>Une feuille de style doit, au même titre que le document <abbr title="eXtensible HyperText Markup Language">XHTML</abbr>, passer l&#8217;épreuve du validateur <abbr title="World Wide Web Consortium">W3C</abbr>. Ce n&#8217;est pas en insérant des &laquo;&nbsp;_width:&nbsp;&raquo; ou encore de &laquo;&nbsp;%margin:&nbsp;&raquo; dans votre <abbr title="Cascading Style Sheet">CSS</abbr> que vous pourrez vous vantez de faire un site au codage propre. J&#8217;irais même jusqu&#8217;à dire que <strong>les hacks sont bons pour les fainéants la plupart du temps</strong>.</p>
<p>Dernièrement, j&#8217;avais fais remarquer à un intégrateur remonté contre <abbr title="Internet Explorer">IE</abbr> que notre boulot perdrait de l&#8217;intérêt sans ces soucis de compatibilité. Même si j&#8217;affirmais cela ironiquement, je trouve passionnant de découvrir pourquoi telle propriété ne fonctionne pas de la même manière d&#8217;un navigateur à l&#8217;autre et surtout, comment y remédier.</p>

<h3>Les hacks que l&#8217;on pourrait éviter</h3>
<h4>Les images PNG</h4>
<p>Prenons l&#8217;exemple du <abbr title="Portable Network Graphics">PNG</abbr>. Beaucoup de webmasters s&#8217;extasient devant les possibilités de ce format d&#8217;image. L&#8217;utilisation des <a href="http://blog.lablonde.fr/billets/25-la-couche-alpha-des-png-sous-internet-explorer.html" title="Voir un article traitant des possibilités et des caractéristiques du format PNG">différentes couches alpha de transparence</a> offre effectivement de nombreuses possibilités. Seulement voilà, ce format n&#8217;est pas pris en charge par les anciennes versions d’IE. Le hacker en herbe viendra me faire remarquer que l&#8217;on peut remédier à ce problème en utilisant la propriété CSS DX.Transform dans la feuille CSS ou dans un <a href="http://www.zeguigui.com/weblog/archives/2005/01/les_behaviors_m.php" title="Les behaviors, mais qu'est-ce donc ?">fichier .htc</a>. Cette utilisation pose plusieurs soucis :</p>
<ul>
<li>La feuille de style n&#8217;est pas valide W3C.</li>
<li>La feuille CSS n&#8217;est pas censée intégrer ce genre de propriétés ou faire appel à des fichiers chargeant du JavaScript.</li>
<li>Ce hack fait appel au moteur <a href="http://fr.wikipedia.org/wiki/DirectX" title="Voir l'article dédié à Direct X sur Wikipédia">Direct X</a> et selon la version, une simple image peut faire bugger le système d&#8217;exploitation, ce qui est, vous en conviendrez, un peu gênant&#8230;</li>
</ul>
<p>Si vous souhaitez vraiment utilisez le PNG sur Internet Explorer, appelez plutôt un fichier JavaScript pur pour arriver à vos fins.</p>
<p>Parfois, un simple découpage de l&#8217;illustration au format <abbr title="Graphics Interchange Format">GIF</abbr> ou même une image JPEG placée intelligemment peut offrir au visiteur le même effet. <strong>Le PNG n&#8217;est pas une fin en soit</strong>.</p>
<h4>Les pseudo-classes</h4>
<p>Concernant les pseudo-classes, évitez également de passer par un fichier .htc dans votre feuille de style pour intégrer le :hover sur une balise div ou un :target sur une tout autre balise. Encore une fois, si cette utilisation est requise, passez par de pures fonctions JavaScripts.</p>
<h4>Un problème de taille !</h4>
<p>Arrêtons de nous prendre le chou avec les débats philosophiques sur le <a href="http://www.tatane.info/index.php/le-hack-model-box-css" title="Un exemple d'article décrivant un hack de model box">model box</a> ou autre double-margin. Ces problèmes peuvent être aisément contournés. De plus, vous le verrez par vous même, quand on commence avec des hacks de placement ou d&#8217;ajustement de dimension, on en finit plus. <strong>Les hacks attirent les hacks</strong> <img src='http://clearideaz.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Comme vous pourrez le constater sur l&#8217;<a href="http://www.weblogr.fr/demo/23042008/test.html" title="Voir la démonstration sur la gestion des positionnements, padding et margin en CSS">exemple suivant</a>, les soucis de padding ou de margin peuvent parfois être causés par une simple propriété qui n’a pas lieu d&#8217;être. Pour être certain de contrôler pleinement votre mise en page, efforcez-vous de tester plusieurs méthodes de positionnement sans passer par les hacks et testez le résultat sur différents navigateurs. Il y aura toujours une méthode qui fasse plaisir à tout le monde <img src='http://clearideaz.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h3>Pour résumer</h3>
<p>Avant de se décider à utiliser un hack, il faut d&#8217;abord se questionner sur les autres alternatives valables. <strong>Dénigrer IE sans chercher plus loin n&#8217;amènera rien de bon</strong>. N&#8217;intégrez pas de fonctions JavaScripts dans votre feuille de style par le biais de fichiers .htc mais préférez un fichier JavaScript pur. N&#8217;abusez pas du format PNG et ne l&#8217;utilisez qu&#8217;en dernier recours. Privilégiez l&#8217;utilisation de &laquo;&nbsp;!important&nbsp;&raquo; aux notations bidons telles que &laquo;&nbsp;_width:&nbsp;&raquo; ou encore &laquo;&nbsp;%padding:&nbsp;&raquo;. Les hacks CSS c&#8217;est taboo, on en viendra tous à bout.</p>
<div id="encadre-article">
<h3>Quelques précisions s&#8217;imposent</h3>
<p>Au regard de cet article, on peut se demander ce qui est à ranger dans la catégorie des hacks ou non. Si je voulais résumer, j&#8217;engloberais les éléments qui ne valident pas la feuille CSS mais voici une petite liste détaillées :</p>
<ul>
<li>Dans un premier temps, j&#8217;inclus l&#8217;ensemble des propriétés mal orthographiées : &laquo;&nbsp;_width:&nbsp;&raquo;, &laquo;&nbsp;%padding:&nbsp;&raquo; par exemple.</li>
<li>Les inclusions de fichiers .htc pour faire appel à du javascript par exemple.</li>
<li>Les propriétés CSS non reconnues par le W3C tel que &laquo;&nbsp;opacity&nbsp;&raquo;.</li>
<li>Les propriétés en double pour une même classe ou ID (deux propriétés de taille pour un même bloc).</li>
<li>Les appels à Direct X dans la feuille de style.</li>
</ul>
<p>Et voici ce que je ne considère pas comme des hacks :</p>
<ul>
<li>Les sélecteurs non reconnus par tous les navigateurs mais valides W3C tel que &laquo;&nbsp;div &gt; p&nbsp;&raquo; (logique non?).</li>
<li>Les propriétés non reconnues par tous les navigateurs mais valides W3C. &laquo;&nbsp;min-height&nbsp;&raquo; en est un exemple.</li>
<li>Les feuilles de style appelées par des <a href="http://forum.alsacreations.com/faq/faq-53-Qu039est-ce-que-les-commentaires-conditionnels-.html" title="Qu'est-ce que les commentaires conditionnels?">commentaires conditionnels</a> (même si on s&#8217;en passerait bien&#8230;)</li>
</ul></div>
]]></content:encoded>
			<wfw:commentRss>http://clearideaz.com/2008/04/les-hacks-cest-pas-bien/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Récit d&#8217;une création de site internet (2ème partie)</title>
		<link>http://clearideaz.com/2008/03/recit-dune-creation-de-site-internet-2eme-partie/</link>
		<comments>http://clearideaz.com/2008/03/recit-dune-creation-de-site-internet-2eme-partie/#comments</comments>
		<pubDate>Mon, 24 Mar 2008 21:15:00 +0000</pubDate>
		<dc:creator>Olivier G.</dc:creator>
				<category><![CDATA[XHTML / CSS]]></category>
		<category><![CDATA[feuille de style]]></category>
		<category><![CDATA[intégration]]></category>
		<category><![CDATA[maquette]]></category>
		<category><![CDATA[sémantique]]></category>

		<guid isPermaLink="false">http://www.clearideaz.com/?p=26</guid>
		<description><![CDATA[<p>Après avoir achevé la maquette définitive du site, je suis ensuite passé au travail le plus intéressant, celui de l’intégration. J’ai commencé par comprendre mon document. Qu’est-ce que ma page raconte&#160;? Qu’est-ce qu’elle laisse transparaitre. Je peux ainsi mettre des noms sur les différents éléments présents dans la page&#160;: menu général du haut, titre de niveau 1, menu latéral des rubriques… Cette étape va me permettre de visualiser les différentes balises les plus adaptées aux différentes parties du document et délimiter les différentes zones (header, footer…).</p>]]></description>
			<content:encoded><![CDATA[<p>Après avoir achevé la maquette définitive du site, je suis ensuite passé au travail le plus intéressant, celui de l’intégration. J’ai commencé par comprendre mon document. Qu’est-ce que ma page raconte ? Qu’est-ce qu’elle laisse transparaitre. Je peux ainsi mettre des noms sur les différents éléments présents dans la page : menu général du haut, titre de niveau 1, menu latéral des rubriques… Cette étape va me permettre de visualiser les différentes balises les plus adaptées aux différentes parties du document et délimiter les différentes zones (header, footer…).</p>
<p><span id="more-26"></span><br />
<img class="alignnone size-full wp-image-99" title="La mises en balise et la délimitation des différentes parties" src="http://www.clearideaz.com/wp-content/uploads/2008/03/demobalisage.jpg" alt="demobalisage" width="390" height="444" /></p>
<p>On peut avoir plusieurs interprétations d’une mise en page et toutes sont contestables. Chacun peut avoir son idée sur la question mais la démarche de conception du document XHTML de manière sémantique est déjà une grande étape. Le travail d’intégration n’est pas un simple collage du travail graphique mais une interprétation sémantique de la maquette graphique.</p>
<p>Comme le dit si bien <a title="Voir l'article de Molly E. Holzschlag sur la sémantique dans les document XHTML" href="http://www.peachpit.com/articles/article.aspx?p=369225">Molly E. Holzschlag</a> :</p>
<blockquote><p>Dans le balisage, la sémantique traite du sens d’un élément et de la manière dont celui-ci est décrit dans son contenu.</p></blockquote>
<p>Une fois cette réflexion effectuée, je me suis mis à la première mise en application de mon schéma de balises. J’ai construis mon document sans penser une seule fois à l’apparence qu’il pourra avoir ensuite. Je me suis contenté de reprendre les balises et de les organiser de manière logique. Cette méthode permettra à votre document d’avoir du sens avec ou sans style. La mise en forme graphique sera l’affaire des feuilles de style.</p>
<p>Voici un extrait du schéma adopté :</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">h1</span>&gt;</span>Ecole primaire et maternelle Notre Dame<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">h1</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">h2</span>&gt;</span>Faches-Thumesnil<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">h2</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>Accueil<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>A propos<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span>&gt;</span>Contact<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
&nbsp;
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">h3</span>&gt;</span>Vivre ensemble<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">h3</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>A l’école Notre-Dame située à Faches-Thumesnil, <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">strong</span>&gt;</span>l’épanouissement de votre enfant est pour nous un devoir.<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">strong</span>&gt;&lt;<span style="color: #000000; font-weight: bold;">br</span> <span style="color: #66cc66;">/</span>&gt;</span>
Au cours de sa scolarité, l’enfant aura accès à de nombreuses activités favorisant ainsi son bien-être au sein de l’école.<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span></pre></div></div>

<p>Vous aurez sans-doute remarqué l’ajout d’une balise H2 qui n’était pas présente sur la maquette. Elle servira uniquement de balise utile au référencement et qui sera masquée sur le document visible par l’utilisateur.</p>
<p>Il est important d’éviter de surcharger le document en balisage superflu uniquement pour satisfaire ses besoins graphiques. On peut souvent se passer de calques (div). La balise UL peut être également utilisable pour créer un fond autour des différentes puces. L’objectif est d’avoir un document HTML qui se charge rapidement. Sur cette maquette, j’ai pu obtenir une mise en page comptant 124 lignes de balises XHTML là où j’aurais pu en faire le double si j’avais multiplié les DIV. En clair, il faut éviter tout balisage superflu.</p>
<p>Pendant l’étape de mise en code, j’ai régulièrement passé mon code au validateur W3C, on est jamais à l’abri d’une petite erreur.</p>
<p>Une fois mon code XHTML établi, j’ai pu me lancer dans la création de la feuille de style. Je me suis efforcé de bien organiser les différentes parties du document. Ainsi les propriétés relatives au header, corps de page, footer sont regroupées afin d’améliorer la lecture de la feuille CSS. Je n’utilise jamais de hacks dans mes feuilles de style. Au pire des cas (et vraiment en dernier recours), j’insère une feuille supplémentaire avec un commentaire conditionnel dans la page. Je pars du principe que toute mise en page peut être réalisée sans bidouilles. Cette démarche pose toutefois quelques limitations : L’absence de pseudo-classe :focus, la mise à disposition de la pseudo-classe :hover avec des possibilités réduites, l’utilisation d’images au format PNG transparentes.</p>
<p>Ces limitations, je les dépasse souvent à l’aide de JavaScript. On me reprochera de ce fait d’alourdir la page en scripts supplémentaires pour palier aux limitations de certains navigateurs et je répondrais que l’utilisation de fichier *.htc pour ajouter le :hover ou le :focus est aussi du JavaScript injecté différemment. Je profiterais même de cette évocation du fichier .*htc pour préciser que l’utilisation de cette méthode dans les feuilles de style pour intégrer des PNG lisibles sous Internet Explorer est une aberration. Cette pratique non-valide W3C va à l’encontre du principe même de la feuille CSS qui est sensée appliquer un style au document et non pas destinée à lancer des fonctions JavaScripts.</p>
<p>Vers la fin de l’intégration de ma maquette, je me suis permis quelques petites « folies » JavaScript sur la page afin de la rendre plus animée. Il faut toutefois éviter de devenir gadget !</p>
<p>Au final, je suis parvenu à réaliser une mise en page lisible sur l’ensemble des navigateurs couramment utilisés tout en ayant un code propre et une feuille de style dépourvue de hacks en tout genre.</p>
<p>Vous pouvez visualiser l’intégration de la maquette en vous rendant sur <a title="Voir le résultat de l'intégration XHTML / CSS" href="demo/24032007/">cette page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://clearideaz.com/2008/03/recit-dune-creation-de-site-internet-2eme-partie/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>IE 8 Beta, oui mais&#8230;</title>
		<link>http://clearideaz.com/2008/03/ie-8-beta-oui-mais/</link>
		<comments>http://clearideaz.com/2008/03/ie-8-beta-oui-mais/#comments</comments>
		<pubDate>Sun, 09 Mar 2008 08:27:00 +0000</pubDate>
		<dc:creator>Olivier G.</dc:creator>
				<category><![CDATA[Ergonomie]]></category>
		<category><![CDATA[ie8]]></category>
		<category><![CDATA[loup]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[standard]]></category>

		<guid isPermaLink="false">http://www.clearideaz.com/?p=12</guid>
		<description><![CDATA[Ce weekend, je me suis mis à tester la bête, plus précisément la version béta 1 disponible. Première chose qui frappe : c&#8217;est un navigateur dans la continuité d&#8217;un IE7 dans la forme. Il dispose d&#8217;une interface quasi-similaire même si quelques effets visuels ont été ajoutés et qui sont pour moi du domaine du gadget. [...]]]></description>
			<content:encoded><![CDATA[<p>Ce weekend, je me suis mis à tester la bête, plus précisément <a href="http://www.microsoft.com/windows/products/winfamily/ie/ie8/readiness/Install.htm" title="Tester la béta 8 en la téléchargeant sur le site de Microsoft">la version béta 1</a> disponible. Première chose qui frappe : c&#8217;est un navigateur dans la continuité d&#8217;un <abbr title="Internet Explorer 7">IE7</abbr> dans la forme. Il dispose d&#8217;une interface quasi-similaire même si quelques effets visuels ont été ajoutés et qui sont pour moi du domaine du gadget. La scrollbar horizontale est présente en permanence, ce qui est plutôt troublant et envahissant&#8230; Il y a toutefois la fonction Developer Tools (un Firebug-like) qui se révèle bien pratique mais qui était déjà disponible sous IE7. Donc du coté de l&#8217;ergonomie, pas de révolution.</p>
<p>Concernant la lecture des pages. Il y a quelques soucis comme par exemple son interprétation d&#8217;inputs dans les formulaires mais aussi dans la gestion des tailles de bloc. Rappelons qu&#8217;IE7 avait fait d&#8217;énormes progrès sur ce terrain. J&#8217;ai constaté également des problèmes de marge (margin) sur certaines pages web qui habituellement s&#8217;affichent très bien sur les autres navigateurs courants. La page de démarrage msn parle d&#8217;elle-même <img src='http://clearideaz.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Des propriétés CSS ne sont pas implantées dans cette version telles que :first-letter, :first-line ou encore letter-spacing. La propriété propriétaire (ça se dit ?) de Microsoft &laquo;&nbsp;Opacity&nbsp;&raquo; ne fonctionne pas non plus, un comble&#8230; Coté Javascript, Microsoft souhaite avec cette nouvelle mouture améliorer l&#8217;interprétation des scripts et pallier les lacunes mais concrètement, je n&#8217;ai pas pu constater les avancées sur cette béta.</p>
<p>Mais ne crions pas au loup trop vite, il ne s&#8217;agit que d&#8217;une version béta. Le meilleur reste à venir&#8230; ou le pire&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://clearideaz.com/2008/03/ie-8-beta-oui-mais/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Récit d&#8217;une création de site internet (1ère partie)</title>
		<link>http://clearideaz.com/2008/03/recit-de-la-creation-dun-site-internet-1ere-partie/</link>
		<comments>http://clearideaz.com/2008/03/recit-de-la-creation-dun-site-internet-1ere-partie/#comments</comments>
		<pubDate>Mon, 03 Mar 2008 08:57:00 +0000</pubDate>
		<dc:creator>Olivier G.</dc:creator>
				<category><![CDATA[Webdesign]]></category>
		<category><![CDATA[création]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[graphisme]]></category>
		<category><![CDATA[maquette]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.clearideaz.com/?p=21</guid>
		<description><![CDATA[<p>Actuellement en plein travail sur un projet web, j’ai quelque peu délaissé mon carnet web. Je me suis dis que ce serait intéressant de raconter à la manière d’un journal de bord les différentes étapes de la création d’un site internet. Nous allons donc voir une réalisation web sous tous ses aspects. </p> <h3>Le sujet</h3> <p>Il s’agit d’un site internet pour une école privée. L’objectif est de faire connaître l’établissement. Le site internet sera un moyen de communiquer avec les familles. Il devra faciliter la prise de contacts avec les parents. L’ergonomie est au centre de ce projet. Le site doit disposer d’une navigation simplifiée au maximum, l’ensemble des sections doit être correctement délimité. On retrouvera notamment une partie "actualité", des articles plus spécifiques sur les activités de l’école et un agenda.</p> <p>Concernant les contraintes techniques, le site devra disposer d’un espace d’administration simple d’utilisation. Les personnes qui mettront à jour le site ne seront pas des informaticiens. Il faut leur simplifier la tâche. Le choix d’un gestionnaire de contenu (<abbr title="Content Management System">CMS</abbr>) se révèle judicieux sur le plan technique. Il faudra toutefois veiller à ce que ce gestionnaire ne soit pas une "usine à gaz" et qu’il réponde à l’ensemble des besoins.</p>]]></description>
			<content:encoded><![CDATA[<p>Actuellement en plein travail sur un projet web, j’ai quelque peu délaissé mon carnet web. Je me suis dis que ce serait intéressant de raconter à la manière d’un journal de bord les différentes étapes de la création d’un site internet. Nous allons donc voir une réalisation web sous tous ses aspects.</p>
<h3>Le sujet</h3>
<p>Il s’agit d’un site internet pour une école privée. L’objectif est de faire connaître l’établissement. Le site internet sera un moyen de communiquer avec les familles. Il devra faciliter la prise de contacts avec les parents. L’ergonomie est au centre de ce projet. Le site doit disposer d’une navigation simplifiée au maximum, l’ensemble des sections doit être correctement délimité. On retrouvera notamment une partie &laquo;&nbsp;actualité&nbsp;&raquo;, des articles plus spécifiques sur les activités de l’école et un agenda.</p>
<p>Concernant les contraintes techniques, le site devra disposer d’un espace d’administration simple d’utilisation. Les personnes qui mettront à jour le site ne seront pas des informaticiens. Il faut leur simplifier la tâche. Le choix d’un gestionnaire de contenu (<abbr title="Content Management System">CMS</abbr>) se révèle judicieux sur le plan technique. Il faudra toutefois veiller à ce que ce gestionnaire ne soit pas une &laquo;&nbsp;usine à gaz&nbsp;&raquo; et qu’il réponde à l’ensemble des besoins.</p>

<h3>Premiers préparatifs</h3>
<p>Avant de me lancer dans la création graphique, j’ai étudié plusieurs possibilités de mise en page. Sur une feuille de papier, j’ai essayé différents placements possibles. Cet étape permet de débuter sereinement l&#8217;agencement des différents blocs de contenu sur la future maquette. Cela nous donne aussi l’occasion de déterminer les éléments sur lesquels on souhaitera attirer l’attention du visiteur. Pour respecter les besoins de navigation aisée dans le site, je me suis basé sur un système de navigation des plus conventionnels.</p>
<p>Pour trouver l’inspiration, je me suis mis à flâner sur des sites internet en rapport avec le monde de l’enfance. Quel dommage d’ailleurs que la majorité de ces portails ne soient pas très jolis graphiquement… Mais cela permet de faire naître des idées pour les premières maquettes du site en question.</p>
<h3>La création graphique</h3>
<p>La maquette graphique du site internet doit mettre en valeur l’objet du site internet. Il faut avoir à l’esprit que cette maquette sera déclinée au format web (<abbr title="Extensible HyperText Markup Language">XHTML</abbr> / <abbr title="Cascading Style Sheet">CSS</abbr>), il faut parfois calmer ses ardeur <img src='http://clearideaz.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . Il faut également avoir une idée de l’orientation graphique. A défaut, plusieurs axes de communication pourront être proposés. Dans le cas présent, les éléments graphiques doivent évoquer le monde de l’enfance. Le site doit toutefois rester structuré dans sa forme. L’ambiance générale doit être colorée et agréable.</p>
<p><img class="alignnone size-full wp-image-101" title="Les différents éléments graphiques créé avant le travail sur la maquette web" src="http://clearideaz.com/wp-content/uploads/2008/03/graphismes.jpg" alt="Les différents éléments graphiques créé avant le travail sur la maquette web" width="390" height="171" /></p>
<p>Dans un premier temps, j’ai réalisé dans Photoshop des objets propres au milieu scolaire. Ils ne seront pas tous intégrés mais pourront être réutilisés à l’occasion pour des mises à jour éventuelles. J’ai ainsi créé des fichiers psd (photoshop) de pinceaux, stylos, taille-crayon, tableau noir etc.…</p>
<p><a class="zoom" href="http://clearideaz.com/wp-content/uploads/2008/03/2304647008_558833ef7b_o.jpg"><img class="alignleft size-thumbnail wp-image-102" title="Notre Dame première version, dec 2008" src="http://clearideaz.com/wp-content/uploads/2008/03/2304647008_558833ef7b_o-150x150.jpg" alt="Notre Dame première version, dec 2008" width="150" height="150" /></a>Vient ensuite la maquette du site. Je débute l’agencement des différents blocs pour ensuite y intégrer les éléments décoratifs et les textes factices. J’ai pris pour habitude de travailler avec une grille pour respecter certaines règles de proportion (<a title="Voir la définition sur Wikipédia" href="http://fr.wikipedia.org/wiki/Nombre_d%27or">le nombre d’or</a>). Pour le titre du site, je me suis inspiré de l&#8217;écriture à la craie des instituteurs sur les tableaux d&#8217;école. Le header très fourni intègre quelques-un des éléments que j&#8217;avais créé au préalable. J&#8217;ai choisi de ne pas créer de divisions explicites entre les blocs. Le travail sur les dégradés m&#8217;a permis de donner cet effet de séparation entre les éléments. Il s&#8217;agit de mon premier travail sur la maquette du site. Les couleurs sont très sobres. J&#8217;ai utilisé volontairement des blocs très rectilignes. La grille m&#8217;a permis de respecter les proportions de rigueur. Au final, la sobriété de la maquette n&#8217;était pas probante.</p>
<p><a class="zoom" href="http://clearideaz.com/wp-content/uploads/2008/03/2304650826_29b1a0f7da_o.jpg"><img class="alignleft size-thumbnail wp-image-104" title="Notre Dame seconde version, dec 2008" src="http://clearideaz.com/wp-content/uploads/2008/03/2304650826_29b1a0f7da_o-150x150.jpg" alt="Notre Dame seconde version, dec 2008" width="150" height="150" /></a>J’ai donc utilisé l’outil de Teinte/Saturation pour rechercher les teintes adéquates. J&#8217;ai noté certains codes couleurs qui me semblaient appropriés et retravaillé les blocs de contenu. Les couleurs ont gagné en vivacité. J&#8217;en ai également profité pour repenser le menu supérieur en y intégrant des post-it. J&#8217;ai effectué plusieurs tests pour évoquer le monde de l&#8217;enfance avec notamment le petit dessin bordant le titre du site.<br />
Au final, l&#8217;ensemble manquait toujours d&#8217;impact. La vision de l&#8217;utilisateur resterais bloqué sur ce fameux header imposant. Il fallait mettre en valeur le contenu principal.</p>
<p><a class="zoom" href="http://clearideaz.com/wp-content/uploads/2008/03/2308730234_0ed9cdd172_o.jpg"><img class="alignleft size-thumbnail wp-image-105" title="Notre dame version finale, dec 2008" src="http://clearideaz.com/wp-content/uploads/2008/03/2308730234_0ed9cdd172_o-150x150.jpg" alt="Notre dame version finale, dec 2008" width="150" height="150" /></a>L’apparence de la seconde maquette manquait d’éléments de contraste. De ce fait, j’ai intégré un footer noir/gris afin de bien différencier la bannière supérieure, le contenu et le footer. J&#8217;ai redessiné le petit personnage. Je lui ai même présenté un nouveau petit camarade <img src='http://clearideaz.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Cette troisième maquette m&#8217;a également permis de penser à la manière de présenter la page d&#8217;accueil. J&#8217;ai ajouté deux blocs très colorés pour y insérer les éléments communicatifs, c&#8217;est-à-dire les accroches. Le menu latéral a également été simplifié. C&#8217;est cette maquette qui servira de base pour l&#8217;intégration XHTML / CSS</p>
<p><em>(À suivre…)</em><em><br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://clearideaz.com/2008/03/recit-de-la-creation-dun-site-internet-1ere-partie/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Un Photoshop-like multi-plateforme</title>
		<link>http://clearideaz.com/2008/02/un-photoshop-like-multi-plateforme/</link>
		<comments>http://clearideaz.com/2008/02/un-photoshop-like-multi-plateforme/#comments</comments>
		<pubDate>Thu, 21 Feb 2008 08:48:00 +0000</pubDate>
		<dc:creator>Olivier G.</dc:creator>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[bitmap]]></category>
		<category><![CDATA[multi-plateforme]]></category>
		<category><![CDATA[photoshop]]></category>
		<category><![CDATA[pixel]]></category>

		<guid isPermaLink="false">http://www.clearideaz.com/?p=7</guid>
		<description><![CDATA[Il n&#8217;y a pas à dire, il y a eu des progrès entre la version 1.0 de Illustrator et celle sortie récemment dans le package Creative CS3. C&#8217;est un vrai plaisir de travailler avec des outils aussi aboutis. J&#8217;aimerais porter votre attention sur le logiciel Pixel de Pavel Kanzelsberger. Dans la lignée d&#8217;un Photoshop, il [...]]]></description>
			<content:encoded><![CDATA[<p>Il n&#8217;y a pas à dire, il y a eu des progrès entre la version 1.0 de Illustrator et celle sortie récemment dans le package Creative CS3. C&#8217;est un vrai plaisir de travailler avec des outils aussi aboutis. J&#8217;aimerais porter votre attention sur le logiciel <a href="http://www.kanzelsberger.com/pixel/" title="Voir le site dédié au logiciel Pixel">Pixel</a> de Pavel Kanzelsberger. Dans la lignée d&#8217;un Photoshop, il permet de produire des réalisations graphiques ou des retouches d&#8217;images au format bitmap (et non vectoriel). Je l&#8217;ai testé personnellement et c&#8217;est un programme particulièrement abouti. L&#8217;avantage de ce programme réside en sa compatibilité avec les différents systèmes d&#8217;exploitation. Il est installable sur Windows, Mac OSX et les différents systèmes Linux. Il permet de réaliser bon nombre de fonctions dont on ne peut plus se passer dans Photoshop tel que l&#8217;export de l&#8217;image pour le web, la découpage par tranches, les options de fusion&#8230; Il ajoute même une fonctionnalité qui serait très pratique sur le logiciel d&#8217;Adobe. À la manière d&#8217;un système d&#8217;exploitation Linux, il met à disposition plusieurs espaces de travail. Ainsi on peut multiplier les projets sans souci <img src='http://clearideaz.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Le logiciel est encore en phase Béta et doit être publié dans sa version finale en ce début d&#8217;année.</p>
<p>En réponse à : <a href="http://www.babylon-design.com/site/index.php/2008/02/20/218-une-demonstration-en-video-illustrator-1-date-de-1987" title="Voir le post  sur Babylon Design">Babylon Design</a> (le trackback ne marche pas)</p>
]]></content:encoded>
			<wfw:commentRss>http://clearideaz.com/2008/02/un-photoshop-like-multi-plateforme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Viva jQuery et mon livre de chevet !</title>
		<link>http://clearideaz.com/2008/02/viva-jquery-et-mon-livre-de-chevet/</link>
		<comments>http://clearideaz.com/2008/02/viva-jquery-et-mon-livre-de-chevet/#comments</comments>
		<pubDate>Wed, 20 Feb 2008 08:56:00 +0000</pubDate>
		<dc:creator>Olivier G.</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[effets]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugins]]></category>

		<guid isPermaLink="false">http://www.clearideaz.com/?p=13</guid>
		<description><![CDATA[Plus je m&#8217;intéresse à jQuery et plus je me rend compte des possibilités étendues de ce framework javascript. Je suis parfois bluffé par les effets visuels qu&#8217;il peut générer. Sur Dragon Interactive, on a presque l&#8217;impression de visiter un site à base d&#8217;animations flash mais il n&#8217;en est rien. C&#8217;est l&#8217;utilisation judicieuse des fonctions fadeIn() [...]]]></description>
			<content:encoded><![CDATA[<p>Plus je m&#8217;intéresse à jQuery et plus je me rend compte des possibilités étendues de ce framework javascript. Je suis parfois bluffé par les effets visuels qu&#8217;il peut générer. Sur <a href="http://dragoninteractive.com" title="Se rendre sur le site de Dragon Interactive">Dragon Interactive</a>, on a presque l&#8217;impression de visiter un site à base d&#8217;animations flash mais il n&#8217;en est rien. C&#8217;est l&#8217;utilisation judicieuse des fonctions fadeIn() et fadeOut() qui donne cette sensation. <a title="Voir la liste officielle de plugins jQuery" href="http://plugins.jquery.com/">Bon nombre de plugins</a> viennent ajouter à ce framework d&#8217;autres fonctionnalités de la plus intéressante à la plus farfelue. Je suis récemment tombé sur <a title="Se rendre sur la page dédiée au plugin jCycle" href="http://www.malsup.com/jquery/cycle/">le plugin jCycle</a> qui permet des effets de transitions d&#8217;images assez intéressants.</p>
<p>De part l&#8217;intéret grandissant pour cette librairie javascript, j&#8217;ai décidé de casser ma tirelire pour m&#8217;acheter le livre <em>Premières applications Web 2.0 avec Ajax et PHP</em> de Jean-Marie Defrance et paru aux éditions Eyrolles. Ce n&#8217;est pas un ouvrage qui traite véritablement de la bibliothèque jQuery mais il consacre tout de même deux grands chapitres qui permettent d&#8217;apprivoiser la bête. A lire donc de toute urgence <img src='http://clearideaz.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><strong>Pour en savoir plus :</strong></p>
<ul>
<li><a href="http://www.jquery.com" title="Se rendre sur le site web du framework jQuery">Le site officiel de jQuery</a></li>
<li><a href="http://visualjquery.com/" title="Se rendre sur le site web Visual jQuery">Présentation des fonctions essentielles de jQuery</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://clearideaz.com/2008/02/viva-jquery-et-mon-livre-de-chevet/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Construire un document XHTML</title>
		<link>http://clearideaz.com/2008/02/construire-un-document-xhtml/</link>
		<comments>http://clearideaz.com/2008/02/construire-un-document-xhtml/#comments</comments>
		<pubDate>Tue, 12 Feb 2008 09:06:00 +0000</pubDate>
		<dc:creator>Olivier G.</dc:creator>
				<category><![CDATA[XHTML / CSS]]></category>
		<category><![CDATA[balises]]></category>
		<category><![CDATA[tutos]]></category>
		<category><![CDATA[w3c]]></category>
		<category><![CDATA[xhtml]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.clearideaz.com/?p=25</guid>
		<description><![CDATA[<p> <img alt="le Xhtml, c'est chaud :)" src="public/xhtml.gif" />Le <strong>XHTML</strong> (<em>eXtended HyperText Markup Language</em>) est, à l'instar du HTML, un langage de balisage. Sa syntaxe est basée sur la syntaxe du <abbr title="Extensible Markup Language">XML</abbr>. Il existe différentes versions du <abbr title="eXtended HyperText Markup Language">XHTML</abbr> : </p> <ul> <li> <strong>XHTML 1.0 Strict</strong> : Il ne gère que le contenu du document et non l'affichage. C'est le type de document à privilégier. </li> <li> <strong>XHTML 1.0 Transitional</strong> : C'est la passerelle entre le <abbr title="HyperText Markup Language">HTML</abbr> et le XHTML. Il permet l'utilisation de balises liées </li></ul>]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-thumbnail wp-image-115" title="xhtml, c'est chaud !!!" src="http://clearideaz.com/wp-content/uploads/2008/02/xhtml.gif" alt="xhtml, c'est chaud !!!" />Le <strong>XHTML</strong> (<em>eXtended HyperText Markup Language</em>) est, à l&#8217;instar du HTML, un langage de balisage. Sa syntaxe est basée sur la syntaxe du <abbr title="Extensible Markup Language">XML</abbr>.</p>
<p>Il existe différentes versions du <abbr title="eXtended HyperText Markup Language">XHTML</abbr> :</p>
<ul>
<li> <strong>XHTML 1.0 Strict</strong> : Il ne gère que le contenu du document et non l&#8217;affichage. C&#8217;est le type de document à privilégier.</li>
<li> <strong>XHTML 1.0 Transitional</strong> : C&#8217;est la passerelle entre le <abbr title="HyperText Markup Language">HTML</abbr> et le XHTML. Il permet l&#8217;utilisation de balises liées à l&#8217;affichage.</li>
<li> <strong>XHTML 1.0 Frameset</strong> : C&#8217;est le seul type de document qui autorise les frames. Logiquement, un document accessible ne doit pas inclure d&#8217;éléments frame donc à éviter&#8230;</li>
<li> <strong>XHTML 1.1</strong> : C&#8217;est une évolution du XHTML 1.0 Strict avec quelques balises qui ont été implantés ou modifiés.</li>
</ul>
<p>Lors de la construction d&#8217;un document XHTML, il est important d&#8217;avoir à l&#8217;esprit que ce n&#8217;est pas l&#8217;apparence du site qui engendre le balisage mais bien le contenu de ce document.</p>
<p>Pour l&#8217;élaboration d&#8217;un document type, nous prendrons le XHTML Strict 1.0 comme référence. Nous ne gérerons que le contenu. Exit les propriétés d&#8217;affichage tels que <em>bgcolor</em>, <em>color</em> ou encore <em>size</em>. Nous éviterons, de ce fait, de placer l&#8217;attribut (tout à fait valide) <em>style=&nbsp;&raquo;"</em> qui insère dans le document des propriétés <abbr title="Cascading Style Sheet">CSS</abbr>. Cela se fera dans une feuille de style externe. Le XHTML nécessite de se mettre en conformité avec certaines règles :</p>

<ul>
<li> <strong>Le XHTML impose l&#8217;utilisation d&#8217;attributs</strong><br />
<em>&lt;input type=&nbsp;&raquo;checkbox&nbsp;&raquo; name=&nbsp;&raquo;_option-test&nbsp;&raquo; id=&nbsp;&raquo;option-test&nbsp;&raquo; value=&nbsp;&raquo;" checked&gt;</em> en HTML s&#8217;écrit en XHTML : <em>&lt;input type=&nbsp;&raquo;checkbox&nbsp;&raquo; name=&nbsp;&raquo;_option-test&nbsp;&raquo; id=&nbsp;&raquo;option-test&nbsp;&raquo; value=&nbsp;&raquo;" checked=&nbsp;&raquo;checked&nbsp;&raquo; /&gt;</em></li>
<li> <strong>Toute balise ouverte doit être refermée</strong><br />
Vous pourrez remarquer dans l&#8217;exemple ci-dessus le slash à la fin de la balise input.</li>
<li> <strong>Les balises doivent être correctement imbriquées</strong><br />
Un ordre hiérarchique des balises est défini. C&#8217;est l&#8217;ordre logique de lecture du document qui déterminera l&#8217;agencement des balises et non l&#8217;affichage que le site devra avoir à l&#8217;écran.</li>
<li> <strong>Toute la syntaxe doit être rédigée en bas de casse</strong><br />
Autrement dit, en minuscule.</li>
<li> <strong>Les attributs obligatoires ne doivent pas être omis</strong><br />
On citera notamment <em>alt</em> pour la balise <em>img</em>.</li>
<li> <strong>Chaque attribut sera encadré de guillemets<br />
</strong> L&#8217;utilisation de double-quote est <del>donc de rigueur</del> conseillé pour chaque attribut de balise.</li>
</ul>
<h3>L&#8217;entête du document</h3>
<p>L&#8217;entête de page permet au navigateur de connaître un certain nombre d&#8217;informations avant de charger le corps de page (le contenu). On y trouvera par exemple, le type d&#8217;encodage (UTF-8 ou ISO), le titre du document ou l&#8217;appel à des fichiers externes (feuilles de style, javascript). L&#8217;entête est introduit par la balise <em>&lt;head&gt;</em> qui est insérée juste après le balise <em>&lt;html&gt;</em>.</p>
<p>La première étape n&#8217;est pas indispensable. On indique au navigateur qu&#8217;il s&#8217;agit d&#8217;un document XML tout en renseignant dans l&#8217;attribut encoding, l&#8217;encodage des caractères (ici ISO) :</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #ddbb00;">&amp;lt;</span>?xml version=&quot;1.0&quot; encoding=&quot;iso-8859-1&quot;?<span style="color: #ddbb00;">&amp;gt;</span></pre></div></div>

<p>Un problème se pose toutefois avec Internet Explorer. En effet, en affichant cette balise avant le doctype, le navigateur passe en quirks mode, c&#8217;est-à-dire en mode non-standard.</p>
<p>Le DOCTYPE est la seconde chose à spécifier dans le document XHTML. Il permet au navigateur de savoir à quel type de document il a à faire. Voici les DOCTYPEs XHTML qu&#8217;il est possible d&#8217;insérer :</p>
<h4>XHTML 1.0 Strict</h4>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt; !DOCTYPE html PUBLIC <span style="color: #ff0000;">&quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;</span> </span>
<span style="color: #009900;"><span style="color: #ff0000;">&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;</span>&gt;</span></pre></div></div>

<h4>XHTML 1.0 Transitional</h4>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt; !DOCTYPE html PUBLIC <span style="color: #ff0000;">&quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot;</span> </span>
<span style="color: #009900;"><span style="color: #ff0000;">&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;</span>&gt;</span></pre></div></div>

<h4>XHTML 1.0 Frameset</h4>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt; !DOCTYPE html PUBLIC <span style="color: #ff0000;">&quot;-//W3C//DTD XHTML 1.0 Frameset//EN&quot;</span> </span>
<span style="color: #009900;"><span style="color: #ff0000;">&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd&quot;</span>&gt;</span></pre></div></div>

<h4>XHTML 1.0 Strict</h4>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt; !DOCTYPE html PUBLIC <span style="color: #ff0000;">&quot;-//W3C//DTD XHTML 1.1//EN&quot;</span> </span>
<span style="color: #009900;"><span style="color: #ff0000;">&quot;http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd&quot;</span>&gt;</span></pre></div></div>

<p>Ensuite, il faut renseigner la balise <em>&lt;html&gt;</em> avec un namespace utilisant l&#8217;attribut xmlns. On prendra le soin de spécifier la langue du document dans les balises <em>xml:lang=&nbsp;&raquo;la_langue&nbsp;&raquo;</em> et <em>lang=&nbsp;&raquo;la_langue&nbsp;&raquo;</em>. Cette redondance est requise pour la validité du document et la compatibilité avec les différents navigateurs. Ces deux attributs ont la même fonction mais lang=&nbsp;&raquo;" permet en réalité d&#8217;être compris sur les anciens navigateur.</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">html</span> xmlns<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://www.w3.org/1999/xhtml&quot;</span> xml:<span style="color: #000066;">lang</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;fr&quot;</span> <span style="color: #000066;">lang</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;fr&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">html</span>&gt;</span></pre></div></div>

<p>Nous passons ensuite à l&#8217;entête du document par le biais de la balise <em>&lt;head&gt;</em>. Cette balise permettra de lier au document une ou plusieurs feuilles de styles, d&#8217;insérer des appels à des fichiers javascript. Mais auparavant, il faut définir l&#8217;encodage du document à l&#8217;aide d&#8217;une balise meta :</p>
<p><strong>Pour de l&#8217;UTF-8</strong> (Encodage international) :</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">meta</span> <span style="color: #000066;">http-equiv</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Content-Type&quot;</span> <span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/html; charset=UTF-8&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span></pre></div></div>

<p><strong>Pour de l&#8217;ISO</strong> (Encodage européen) :</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">meta</span> <span style="color: #000066;">http-equiv</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Content-Type&quot;</span> <span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/HTML; charset=iso-8859-1&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span></pre></div></div>

<p>Pour plus d&#8217;info sur la notion d&#8217;encodage, lisez <a title="Se rendre sur l'article d'OpenWeb sur les jeux de caractères" href="http://openweb.eu.org/articles/jeux_caracteres/">l&#8217;article d&#8217;OpenWeb sur les jeux de caractères</a></p>
<p>On aura la possibilité d&#8217;ajouter différentes balises méta afin de permettre un meilleur référencement du document. En voici un exemple :</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">meta</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;DC.title&quot;</span> xml:<span style="color: #000066;">lang</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;fr&quot;</span> <span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Clearideaz.com, XHTML, CSS, Accessibilité, Marketing, Design web&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">meta</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;author&quot;</span> <span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Gorzalka, Olivier&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">meta</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;description&quot;</span> <span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Carnet web de Olivier Gorzalka&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span></pre></div></div>

<p>Comme vous pourrez le constatez, on utilise une balise meta avec dans l&#8217;attribut name DC. Il s&#8217;agit en fait d&#8217;un schéma de métadonnées générique préconisé par le W3C.</p>
<p>Nous pouvons maintenant définir le titre du document avec la balise <em>&lt;title&gt;</em>. Il faut qu&#8217;il soit explicite. Évitez de donner le même titre à toutes les pages de votre site. Pensez aux personnes non-voyantes (et pas seulement&#8230;) utilisant des lecteurs de d&#8217;écran et qui se repèrent grâce aux dénominations des différents articles. Le titre se présentera de la façon suivante :</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">title</span>&gt;</span>
     Clearideaz.com, XHTML, CSS, Accessibilité, Marketing, Design web
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">title</span>&gt;</span></pre></div></div>

<p>A la suite de ce <em>&lt;title&gt;</em>, on insère l&#8217;appel éventuel à une feuille de style. Il existe deux méthodes sensiblement équivalentes :</p>
<p><strong>La méthode @import :</strong></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">&lt;!--</span>
<span style="color: #808080; font-style: italic;">     @import url(/themes/clearideaz/style.css);</span>
<span style="color: #808080; font-style: italic;">--&gt;</span></pre></div></div>

<p><strong>La méthode link</strong></p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">link</span> <span style="color: #000066;">rel</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;stylesheet&quot;</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;themes/clearideaz/style.css&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/css&quot;</span> <span style="color: #000066;">media</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;screen&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span></pre></div></div>

<p>Il n&#8217;existe pas, en soit, de grandes différences entre ces deux méthodes. Nous signalerons tout de même que <em>@import</em> n&#8217;est pas reconnue par les navigateurs dinosaures tels que Netscape 4.</p>
<h3>Le corps du document</h3>
<p>Nous arrivons au corps du document via la balise <em>&lt;body&gt;</em>. C&#8217;est le contenu qui sera visible dans le navigateur internet. On s&#8217;efforcera de hiérarchiser au maximum les éléments textuels. Il est important de ne pas penser à l&#8217;apparence du site lorsque l&#8217;on procède au balisage du document. Il faut respecter l&#8217;ordre de lecture du contenu. Nous userons par exemple des différents niveaux de titre : <em>&lt;h1&gt;, &lt;h2&gt;, &lt;h3&gt;</em>, &#8230; Lorsqu&#8217;il s&#8217;agira d&#8217;une liste d&#8217;éléments, on utilisera les listes à puce :</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">h1</span>&gt;</span>Sciences de la vie<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">h1</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>Bienvenue sur le site &quot;Sciences de la vie&quot;<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">h2</span>&gt;</span>Le monde animal<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">h2</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>Voici différents animaux :<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
     <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>Le chien<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
     <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>Le singe<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
     <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>Le tigre<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span></pre></div></div>

<p><em>Rappel : Chaque balise ouverte doit être obligatoirement refermée. Ainsi un paragraphe de texte commencera par &lt;p&gt; et se terminera par &lt;/p&gt;. Les balises de retour à la ligne ne s&#8217;écrivent plus &lt;br&gt; comme ce fut le cas dans le HTML mais &lt;br /&gt;. Idem pour &lt;hr&gt; qui devient &lt;hr /&gt;.</em></p>
<p>Un document XHTML type n&#8217;organisera pas son contenu à l&#8217;aide de tableau. Pour une meilleure hiérarchisation, on utilisera les calques qui se traduisent par des balises <em>&lt;div&gt;</em>. Ces balises nous permettrons par la suite de styler le document à l&#8217;aide de la feuille CSS. Il est judicieux d&#8217;attribuer à chaque balise <em>&lt;div&gt;</em> un ID explicite qui permettra de les différencier lors de l&#8217;élaboration de la feuille de style :</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;page&quot;</span>&gt;</span>
     <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;entete&quot;</span>&gt;</span>
     <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
     <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;conteneur&quot;</span>&gt;</span>
     <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;menu-principal&quot;</span>&gt;</span>
          <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>Rubrique 1<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
          <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>Rubrique 2<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
          <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>Rubrique 3<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
     <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
     <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;contenu&quot;</span>&gt;</span>
     <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
     <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
     <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;pied&quot;</span>&gt;</span>
          <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>Créé par Moi :)<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
     <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span></pre></div></div>

<p>Évitez de multipliez les calques, cela facilitera la compréhension de votre balisage.</p>
<p>Enfin on ferme la balise <em>&lt;body&gt;</em> et <em>&lt;html&gt;</em> du document. Voici donc ce que l&#8217;on pourrait obtenir :</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt; !DOCTYPE html PUBLIC <span style="color: #ff0000;">&quot;-//W3C//DTD XHTML 1.0 Strict//EN&quot;</span> <span style="color: #ff0000;">&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&quot;</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">html</span> xmlns<span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://www.w3.org/1999/xhtml&quot;</span> xml:<span style="color: #000066;">lang</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;fr&quot;</span> <span style="color: #000066;">lang</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;fr&quot;</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">head</span>&gt;</span>
     <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">meta</span> <span style="color: #000066;">http-equiv</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Content-Type&quot;</span> <span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/html; charset=UTF-8&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
     <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">meta</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;DC.title&quot;</span> xml:<span style="color: #000066;">lang</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;fr&quot;</span> <span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Weblog.fr, XHTML, CSS, Accessibilité, Marketing, Design web&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
     <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">meta</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;author&quot;</span> <span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Gorzalka, Olivier&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
     <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">meta</span> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;description&quot;</span> <span style="color: #000066;">content</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Carnet web de Olivier Gorzalka&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span>
     <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">title</span>&gt;</span>Weblog.fr, XHTML, CSS, Accessibilité, Marketing, Design web<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">title</span>&gt;</span>
     <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">style</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/css&quot;</span> <span style="color: #000066;">media</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;screen&quot;</span>&gt;</span>
          @import url(/themes/weblogr/style.css);
     <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">style</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">head</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">body</span>&gt;</span>
     <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;page&quot;</span>&gt;</span>
          <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;entete&quot;</span>&gt;</span>
               <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">h1</span>&gt;</span>Sciences de la vie<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">h1</span>&gt;</span>
          <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
          <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;conteneur&quot;</span>&gt;</span>
               <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;menu-principal&quot;</span>&gt;</span>
                    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>Rubrique 1<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
                    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>Rubrique 2<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
                    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>Rubrique 3<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
               <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
               <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;contenu&quot;</span>&gt;</span>
                    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>Bienvenue sur le site &quot;Sciences de la vie&quot;<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
                    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">h2</span>&gt;</span>Le monde animal<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">h2</span>&gt;</span>
                    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>Voici différents animaux :<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
                    <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
                         <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>Le chien<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
                         <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>Le singe<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
                         <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">li</span>&gt;</span>Le tigre<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">li</span>&gt;</span>
                    <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span>
               <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
          <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
          <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">div</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;pied&quot;</span>&gt;</span>
               <span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">p</span>&gt;</span>Créé par Moi :)<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">p</span>&gt;</span>
          <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
     <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">div</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">body</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">html</span>&gt;</span></pre></div></div>

<h3>La validation W3C</h3>
<p>Une fois le document XHTML terminé, il faut passer le fichier HTML au <a title="Voir le validateur W3C" href="http://validator.w3.org/">validateur W3C</a>. Le W3C est un consortium visant à promouvoir la compatibilité des technologies du Web et notamment le XHTML. En vérifiant la validité de la syntaxe de votre site, vous aurez la certitude que les différents documents XHTML respectent les standards du web. Si votre document contient des erreurs, le validateur vous les listera et il faudra bien évidemment les corriger <img src='http://clearideaz.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h3>Les balises courantes</h3>
<p>Il existe un grand nombre de balises XHTML qui permettent de rendre le document plus compréhensible. Je vous invite à visiter <a title="Voir l'espace de Giminik" href="http://giminik.developpez.com/xhtml/">l&#8217;espace de Giminik</a> qui recense l&#8217;ensemble des balises courantes du XHTML. Il existe deux grandes catégories de balises. Les inline (en-ligne) et les block (bloc). Les balises blocs permettent de structurer le document et peuvent contenir d&#8217;autres balises block ou inline. Les inline quant à eux attribue une sémantique spécifique à des mots d&#8217;une phrase et ne peut contenir que des éléments inline.</p>
<h4>Les balises de type block</h4>
<p><strong>&lt;div&gt;<br />
</strong> Elle donne la possibilité de structurer le contenu en différent blocs couramment appelés calques.</p>
<p><strong>&lt;h1&gt;, &lt;h2&gt;, &lt;h3&gt;, &lt;h4&gt;, &lt;h5&gt;, &lt;h6&gt;</strong><br />
Ils définissent différents niveaux de titre <em>(ex: &lt;h2&gt;Mon titre&lt;/h2&gt;).</em> Il est à noter que la balise <em>&lt;h1&gt;</em> ne peut être utilisée qu&#8217;une fois.</p>
<p><strong>&lt;hr /&gt;<br />
</strong> Cette balise insère une ligne horizontale dans le document.</p>
<p><strong>&lt;p&gt;</strong><br />
Cette balise identifie un élément comme paragraphe.</p>
<p><strong>&lt;ul&gt;, &lt;ol&gt;, &lt;li&gt;</strong><br />
Elles intègrent des listes d&#8217;éléments au document. La balise <em>&lt;ul&gt;</em> insère une liste à puces tandis que <em>&lt;ol&gt;</em> dresse une liste ordonnée. Les différents éléments de la liste sont encadrés par la balise <em>&lt;li&gt;</em>.</p>
<h4>Les balises de type inline</h4>
<p><strong>&lt;a&gt;<br />
</strong> Elle insère un lien hypertexte sur le texte balisé. Elle peut aussi agir comme point d&#8217;ancrage dans le document.</p>
<p><strong>&lt;br /&gt;<br />
</strong> Elle permet d&#8217;insérer un saut de ligne. A utiliser avec parcimonie&#8230;</p>
<p><strong>&lt;em&gt;</strong><br />
Le texte est mis en emphase? On l&#8217;assimile souvent à tort avec la balise <em>&lt;i&gt;</em>.</p>
<p><strong>&lt;strong&gt;<br />
</strong> Elle permet de réalise une mise en emphase forte.</p>
<p><strong>&lt;span&gt;<br />
</strong> Elle donne la possibilité de mettre en forme du texte à l&#8217;aide de CSS.</p>
<p><strong>&lt;img /&gt;</strong><br />
Cette balise insère une image dans le document. Elle doit automatiquement intégrer un attribut <em>alt=&nbsp;&raquo;"</em>.</p>
<p><strong>&lt;cite&gt;</strong><br />
Elle défini un texte comme citation. L&#8217;équivalent en block est <em>blockquote</em>.</p>
<p><strong>&lt;abbr&gt;</strong><br />
Elle donne la signification d&#8217;une abréviation. (<em>ex: &lt;abbr title=&nbsp;&raquo;Cascading Style Sheet&nbsp;&raquo;&gt;CSS&lt;/abbr&gt;).</em></p>
<p><strong>&lt;q&gt;</strong><br />
Elle caractérise une courte citation.</p>
<h3>Ce qu&#8217;il faut éviter</h3>
<p>Voici quelques petites choses à éviter lors de la création de votre document XHTML.</p>
<ul>
<li>Abuser des retours à la ligne (<em>&lt;br /&gt;</em>). Préférez l&#8217;utilisation de paragraphe (<em>&lt;p&gt;</em>)</li>
<li>Multipliez les balises <em>&lt;div&gt;</em>. D&#8217;autres éléments peuvent être stylés à la manière de ces calques.</li>
<li>Utiliser <em>&lt;img /&gt;</em> pour des illustrations. Cette balise ne doit être utilisée que si elle apporte un complément d&#8217;information au texte de l&#8217;article.</li>
<li>Insérer du javascript dans le document. Tout le code JS doit être placé dans un fichier externe. C&#8217;est ce qu&#8217;on appelle le <a title="Voir un exemple sur le JDN" href="http://www.journaldunet.com/developpeur/tutoriel/dht/070119-js-unobstrusive-javascript-non-intrusif.shtml">javascript non-intrusif</a>.</li>
<li>Nommer les ID ou les class des différents éléments en fonction de la couleur qu&#8217;ils auront dans le document. Pensez que votre site pourra évoluer et donc que les couleurs pourront changer. Nommer donc vos balises selon leur sens sémantique et non selon leur apparence.</li>
<li>Insérer du style CSS dans le document avec <em>style=&nbsp;&raquo;"</em>. La feuille de style est là pour ça, pourquoi surcharger votre document ?</li>
</ul>
<p>Comme nous avons pu le constater, la création d&#8217;un document XHTML est soumise à un certain nombre de règle. A ces règles s&#8217;ajoutent ensuite <a title="Voir l'article qui explique comment rendre son site accessible" href="http://www.weblogr.fr/index.php/post/2008/01/26/Rendre-son-site-accessible">les contraintes d&#8217;accessibilités</a>. En respectant ces &laquo;&nbsp;normes&nbsp;&raquo;, vous garantissez à votre site d&#8217;être lu par différents supports. Être lu par le plus grand nombre, c&#8217;est bien ça le principe du web <img src='http://clearideaz.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h3>Pour aller plus loin</h3>
<p>Quelques liens qui apporteront un complément à ce billet :</p>
<ul>
<li><a title="Voir la documentation du W3C sur le XHTML" href="http://www.w3.org/TR/xhtml1/">Documentation du XHTML 1.0 par le W3C</a> (<a title="Voir la traduction de la documentation sur le XHTML par le W3C" href="http://www.la-grange.net/w3c/xhtml1/">traduction française</a>)</li>
<li><a title="Se rendre sur les articles d'Open Web à propos du XHTML" href="http://openweb.eu.org/xhtml/">Rubrique XHTML du site OpenWeb</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://clearideaz.com/2008/02/construire-un-document-xhtml/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
