<?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>bbxdesign &#187; Best Of</title> <atom:link href="http://bbxdesign.com/cat/bestof/feed/" rel="self" type="application/rss+xml" /><link>http://bbxdesign.com</link> <description>Vestiges d&#039;un CSS Guru</description> <lastBuildDate>Thu, 05 Apr 2012 12:00:32 +0000</lastBuildDate> <language>fr</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Une collection d&#8217;astuces CSS</title><link>http://bbxdesign.com/2012/01/13/une-collection-dastuces-css/</link> <comments>http://bbxdesign.com/2012/01/13/une-collection-dastuces-css/#comments</comments> <pubDate>Fri, 13 Jan 2012 07:42:45 +0000</pubDate> <dc:creator>Jeremy</dc:creator> <category><![CDATA[Best Of]]></category> <category><![CDATA[Bien développer]]></category> <category><![CDATA[astuce]]></category> <category><![CDATA[css]]></category><guid isPermaLink="false">http://bbxdesign.com/?p=1547</guid> <description><![CDATA[Dans la famille des &#8220;Cadeaux Web Design qu&#8217;il vaut mieux donner que jeter à la poubelle&#8221;, voici une petite liste d&#8217;astuces CSS glanées au fil du temps. Elles est destinée à tous les niveaux, et peut être agrandie par vous-même en m&#8217;envoyant vos supers astuces, ou bien par moi-même si jamais d&#8217;autres idées lumineuses me [...]]]></description> <content:encoded><![CDATA[<p><a href="http://bbxdesign.com/astuces-css/"><img class="alignnone size-full wp-image-1548" title="liste-astuces-css" src="http://bbxdesign.com/wp-content/uploads/astuces-css.png" alt="" width="500" height="200" /></a></p><p>Dans la famille des &#8220;Cadeaux Web Design qu&#8217;il vaut mieux donner que jeter à la poubelle&#8221;, voici une <a href="http://bbxdesign.com/astuces-css/">petite liste d&#8217;astuces CSS</a> glanées au fil du temps. Elles est destinée à tous les niveaux, et peut être agrandie par vous-même en m&#8217;envoyant vos supers astuces, ou bien par moi-même si jamais d&#8217;autres idées lumineuses me reviennent&#8230;</p> ]]></content:encoded> <wfw:commentRss>http://bbxdesign.com/2012/01/13/une-collection-dastuces-css/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>WordPress : le Tutoriel pour créer un site de A à Z</title><link>http://bbxdesign.com/2011/11/23/tutoriel-wordpress-gratuit/</link> <comments>http://bbxdesign.com/2011/11/23/tutoriel-wordpress-gratuit/#comments</comments> <pubDate>Tue, 22 Nov 2011 23:15:43 +0000</pubDate> <dc:creator>Jeremy</dc:creator> <category><![CDATA[Best Of]]></category> <category><![CDATA[Tutoriaux]]></category> <category><![CDATA[XHTML / CSS]]></category> <category><![CDATA[tutoriel]]></category> <category><![CDATA[wordpress]]></category><guid isPermaLink="false">http://bbxdesign.com/?p=1333</guid> <description><![CDATA[Après mon tutoriel CSS : l&#8217;Art et la Science, voici un tutoriel sur l&#8217;autre partie importante de mon expérience d&#8217;intégrateur : WordPress le Tutoriel. Je considère mes connaissances comme étant open-source. Et, de peur de les voir perdues à jamais, je préfère les écrire et les faire partager gratuitement avec la communauté des intégrateurs que [...]]]></description> <content:encoded><![CDATA[<p><a href="http://wordpress.bbxdesign.com"></a><a href="http://wordpress.bbxdesign.com/"><img class="alignnone size-full wp-image-1338" title="Tutoriel et thème gratuits pour WordPress" src="http://bbxdesign.com/wp-content/uploads/tutoriel-theme-gratuit-wordpress.png" alt="" width="500" height="300" /></a></p><p><a href="http://wordpress.bbxdesign.com/"></a>Après mon tutoriel <a href="http://css.steaw.com/">CSS : l&#8217;Art et la Science</a>, voici un tutoriel sur l&#8217;autre partie importante de mon expérience d&#8217;intégrateur : <strong><a title="Créer un site de A à Z" href="http://wordpress.bbxdesign.com/">WordPress le Tutoriel</a></strong>.</p><p>Je considère mes connaissances comme étant <em>open-source</em>. Et, de peur de les voir perdues à jamais, je préfère les écrire et les faire partager gratuitement avec la communauté des intégrateurs que nous sommes.</p><p>Ce tutoriel WordPress vous aidera à créer vous-même <strong>votre propre thème WordPress</strong>, mais contient aussi un <strong>thème WordPress vide gratuit</strong> sur lequel vous pouvez vous baser.</p> ]]></content:encoded> <wfw:commentRss>http://bbxdesign.com/2011/11/23/tutoriel-wordpress-gratuit/feed/</wfw:commentRss> <slash:comments>7</slash:comments> </item> <item><title>[Portfolio] Australie Trip : un carnet de voyage 2.0</title><link>http://bbxdesign.com/2010/08/24/australie-trip-un-carnet-de-voyage-2-0/</link> <comments>http://bbxdesign.com/2010/08/24/australie-trip-un-carnet-de-voyage-2-0/#comments</comments> <pubDate>Tue, 24 Aug 2010 08:00:31 +0000</pubDate> <dc:creator>Jeremy</dc:creator> <category><![CDATA[Best Of]]></category> <category><![CDATA[Design]]></category> <category><![CDATA[blog]]></category> <category><![CDATA[voyage]]></category> <category><![CDATA[wordpress]]></category><guid isPermaLink="false">http://bbxdesign.com/?p=1278</guid> <description><![CDATA[Mon amie Corine voulait partir en Australie pour 1 an. Désireuse de découvrir de nouveaux paysages et vivre de nouvelles expériences, tout en améliorant son niveau d&#8217;anglais, elle voulait raconter au fur et à mesure des kilomètres parcourus son voyage à travers le pays. Il lui fallait donc un blog : Australie Trip. Si vous [...]]]></description> <content:encoded><![CDATA[<p><a href="http://bbxdesign.com/wp-content/uploads/australie-trip-galerie.png"></a>Mon amie <a href="http://www.corinedutin.com/">Corine</a> voulait partir en Australie pour 1 an. Désireuse de découvrir de nouveaux paysages et vivre de nouvelles expériences, tout en améliorant son niveau d&#8217;anglais, elle voulait raconter au fur et à mesure des kilomètres parcourus son voyage à travers le pays. Il lui fallait donc un blog : <a href="http://www.australietrip.fr/"><strong>Australie Trip</strong></a>.</p><p><a href="http://bbxdesign.com/wp-content/uploads/australie-trip.png"><img class="alignnone size-medium wp-image-1279" title="australie-trip" src="http://bbxdesign.com/wp-content/uploads/australie-trip-500x278.png" alt="" width="500" height="278" /></a></p><p><a href="http://bbxdesign.com/wp-content/uploads/australie-trip-reptile-center.png"><img class="size-thumbnail wp-image-1288 alignleft" title="australie-trip-reptile-center" src="http://bbxdesign.com/wp-content/uploads/australie-trip-reptile-center-150x150.png" alt="" width="150" height="150" /></a><a href="http://bbxdesign.com/wp-content/uploads/australie-trip-a-propos.png"><img class="size-thumbnail wp-image-1287 alignleft" title="australie-trip-a-propos" src="http://bbxdesign.com/wp-content/uploads/australie-trip-a-propos-150x150.png" alt="" width="150" height="150" /></a><a href="http://bbxdesign.com/wp-content/uploads/australie-trip-canyon.png"><img class="size-thumbnail wp-image-1289 alignleft" title="australie-trip-canyon" src="http://bbxdesign.com/wp-content/uploads/australie-trip-canyon-150x150.png" alt="" width="150" height="150" /></a><a href="http://bbxdesign.com/wp-content/uploads/australie-trip-galerie.png"><img class="size-thumbnail wp-image-1290 alignleft" title="australie-trip-galerie" src="http://bbxdesign.com/wp-content/uploads/australie-trip-galerie-150x150.png" alt="" width="150" height="150" /></a><a href="http://bbxdesign.com/wp-content/uploads/australie-trip-trajet.png"><img class="size-thumbnail wp-image-1292 alignleft" title="australie-trip-trajet" src="http://bbxdesign.com/wp-content/uploads/australie-trip-trajet-150x150.png" alt="" width="150" height="150" /></a><a href="http://bbxdesign.com/wp-content/uploads/australie-poster-un-commentaire.png"><img class="size-thumbnail wp-image-1293 alignleft" title="australie-poster-un-commentaire" src="http://bbxdesign.com/wp-content/uploads/australie-poster-un-commentaire-150x150.png" alt="" width="150" height="150" /></a></p><p>Si vous êtes friands de paysages arides, de reptiles sauvages ou encore de culture aborigène, abonnez-vous au <a href="http://www.australietrip.fr/feed">flux RSS</a> !</p> ]]></content:encoded> <wfw:commentRss>http://bbxdesign.com/2010/08/24/australie-trip-un-carnet-de-voyage-2-0/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Introduction à WordPress 3 : custom post type et custom taxonomy</title><link>http://bbxdesign.com/2010/05/31/introduction-a-wordpress-3-custom-post-type-et-custom-taxonomy/</link> <comments>http://bbxdesign.com/2010/05/31/introduction-a-wordpress-3-custom-post-type-et-custom-taxonomy/#comments</comments> <pubDate>Mon, 31 May 2010 08:00:01 +0000</pubDate> <dc:creator>Jeremy</dc:creator> <category><![CDATA[Astuces]]></category> <category><![CDATA[Best Of]]></category> <category><![CDATA[Bien développer]]></category> <category><![CDATA[Logiciels]]></category> <category><![CDATA[Tutoriaux]]></category> <category><![CDATA[taxonomy]]></category> <category><![CDATA[tutoriel]]></category> <category><![CDATA[wordpress]]></category> <category><![CDATA[wp3]]></category><guid isPermaLink="false">http://bbxdesign.com/?p=1248</guid> <description><![CDATA[J&#8217;ai écrit un tutoriel complet pour réaliser un thème WordPress de A à Z.Il est plus récent et parle aussi des Custom Post Type et Custom Taxonomy. Du coup, je vous invite à aller le lire. WordPress vient d&#8217;annoncer une Release Candidate pour la version 3. J&#8217;ai pour ma part installé et mis en prod [...]]]></description> <content:encoded><![CDATA[<p class="focus">J&#8217;ai écrit un <strong>tutoriel complet</strong> pour <a href="http://wordpress.bbxdesign.com/">réaliser un thème WordPress de A à Z</a>.<br />Il est plus récent et parle aussi des Custom Post Type et Custom Taxonomy. Du coup, je vous invite à aller le lire.</p><p><strong>WordPress </strong>vient d&#8217;annoncer une <a href="http://wordpress.org/development/2010/05/wordpress-3-0-release-candidate/">Release Candidate pour la version 3</a>. J&#8217;ai pour ma part installé et mis en prod la <a href="http://wordpress.org/development/2010/05/wordpress-3-0-beta-2/">version Beta 2</a> qui, ma foi, est très stable. Si vous comptez l&#8217;installer, allez-y! Les mises à jour se font comme les WP actuellement, c&#8217;est à dire automatiquement. Et le système de template pour les thèmes est identique donc vos thèmes marcheront sans souci! Le seul souci est qu&#8217;il n&#8217;y a pas de version française encore mais bon, c&#8217;est uniquement pour l&#8217;admin qui est vraiment très simple en anglais.</p><h3>Nouveautés WordPress 3</h3><p>Dans les nouveautés, il y a :</p><ul><li>choisir son <strong>login </strong>et son <strong>mot de passe </strong>: au lieu d&#8217;avoir &#8220;admin&#8221; et un mot de passe généré automatiquement, on peut les choisir soi-même.</li><li>un nouveau thème par défaut, bourré de nouvelles fonctions et qu&#8217;on va customiser dans ce tutoriel</li><li>custom background : un outil dans l&#8217;admin pour pouvoir choisir un fond pour le site. Si vous développez des thèmes vous même, ça vous est inutile.</li><li><strong>Multi-sites</strong>! En fait, WordPress et WordPress µ ont fusionné : il est donc possible avec 1 seule installation WP de mettre en place autant de blogs différents que l&#8217;on veut. Par exemple : <strong>css</strong>.bbxdesign.com pour un blog de CSS, <strong>inspiration</strong>.bbxdesign.com pour un blog d&#8217;inspiration etc.</li><li>Custom Post Types</li><li>Custom Taxonomies</li></ul><p>Je vais développer ces 2 derniers points car ils sont les plus intéressants.<br /> <span id="more-1248"></span></p><h3>Custom Post Types : vos propres Posts et Pages</h3><p>Si vous utilisez WP, vous savez qu&#8217;il y a 2 grand types d&#8217;éléments pour poster :</p><ul><li><strong>Posts </strong>: ce sont les billets du blogs rangés chronologiquement. Ils peuvent être dans des Catégories et avoir des Tags.</li><li><strong>Pages </strong>: ce sont des pages contenant du contenu fixe et intemporel. Il n&#8217;y a pas de notion de chronologie, ni de catégorie, ni de tags. Il y a uniquement une notion de hiérarchie (relation page parent/page enfant).</li></ul><p>Si vous avez un blog, ces 2 types d&#8217;éléments sont parfaitement suffisants. Vous créez des billets avec les Posts et vous ajoutez une page &#8220;A propos&#8221; et &#8220;Contact&#8221; avec les Pages.</p><p>Mais imaginons qu&#8217;en plus de ça, vous voulez une catégorie <strong>Portfolio </strong>qui regroupe vos plus beaux travaux, avec un screenshot, une description et quelques infos sur le client. Comment faire ? Vous pouvez créer des Posts que vous classerez dans une catégorie &#8220;Portfolio&#8221;. Mais c&#8217;est non seulement fastidieux à mettre en place dans votre thème mais c&#8217;est aussi fastidieux à gérer dans l&#8217;admin.</p><p>On va donc créer un autre type de post : les &#8220;<strong>Projets</strong>&#8220;. Pour ça, on va utiliser le fichier functions.php.</p><h4>Une fonction pour customiser l&#8217;admin</h4><p>On va regrouper tout notre code dans une fonction qui sera appelée à l&#8217;initialisation de l&#8217;admin. Comme ça, lorsqu&#8217;on lance l&#8217;admin, on activera toutes les fonctions décrites dans my_custom_init :</p><pre>add_action('init', 'my_custom_init');
function my_custom_init()
{
/* notre code PHP pour rajouter les custom post type */
}</pre><p><strong><span style="color: #ff0000;">Tout le code que je vais écrire maintenant devra être inclus dans la fonction my_custom_init</span></strong>.</p><h4>Déclarer le Custom Post Type</h4><p>Maintenant nous allons rajouter l&#8217;élément &#8220;Projet&#8221; dans notre admin :</p><pre>register_post_type('projet', array(
 'label' =&gt; __('Projets'),
 'singular_label' =&gt; __('Projet'),
 'public' =&gt; true,
 'show_ui' =&gt; true,
 'capability_type' =&gt; 'post',
 'hierarchical' =&gt; false,
 'supports' =&gt; array('title', 'author', 'thumbnail')
));</pre><p>Il faut utiliser la <a href="http://codex.wordpress.org/Function_Reference/register_post_type">fonction register_post_type</a> qui porte bien son nom : elle enregistre un nouvel élément, un nouveau type de Post. Il y a ensuite plusieurs paramètres. Ils n&#8217;y sont pas tous parce que beaucoup sont optionnels. J&#8217;ai mis les plus importants :</p><ul><li>&#8216;projet&#8217; correspond au nom du nouvel élément. Il sera utilisé dans les fichiers de template.</li><li>&#8216;label&#8217; est le nom qu&#8217;on retrouvera dans la colonne de gauche de l&#8217;admin. Il est préférable de mettre un pluriel.</li><li>&#8216;singular_label&#8217; est l&#8217;équivalent au singulier</li><li>&#8216;public&#8217; définit si les posts seront publics ou non.</li><li>&#8216;show_ui&#8217; définit si ce nouvel élément apparaît dans l&#8217;admin</li><li>&#8216;capability_type&#8217; définit si le nouvel élément est identique à un Post classique ou à une Page classique. Ici on veut un titre et une image miniature donc Post. En général, les Posts sont beaucoup plus intéressants car ils ont davantage de fonctions que les Pages.</li><li>&#8216;hierarchical&#8217; définit si il peut y avoir une hiérarchie (comme pour les Pages). Ici, c&#8217;est non car chaque élément est au même niveau.</li><li>&#8216;supports&#8217; est un array qui définit quels éléments d&#8217;un Post normal on veut avoir. Ici je veux juste le titre, l&#8217;auteur du Post et une miniature. Il y a pleins d&#8217;autres éléments :<ul><li> &#8216;title&#8217;</li><li> &#8216;editor&#8217; (la fenêtre principale de contenu)</li><li> &#8216;author&#8217;</li><li> &#8216;thumbnail&#8217;</li><li> &#8216;excerpt&#8217;</li><li> &#8216;trackbacks&#8217;</li><li> &#8216;custom-fields&#8217;</li><li> &#8216;comments&#8217;</li><li> &#8216;revisions&#8217; (la sauvegarde automatique de versions passées)</li><li> &#8216;page-attributes&#8217; (choix de template pour les pages et gestion de la hiérarchie)</li></ul></li></ul><p>Pour avoir les <strong>thumbnails </strong>dans votre thème, il faut ajouter dans functions.php :</p><pre>add_theme_support( 'post-thumbnails' );</pre><p>Merci à <a href="http://bbxdesign.com/2010/05/31/introduction-a-wordpress-3-custom-post-type-et-custom-taxonomy/comment-page-1/#comment-1554">benoit</a> pour m&#8217;avoir rappelé de mettre cette astuce.</p><p>Si vous avez tout bien fait vous devriez voir :</p><p><img class="alignnone size-full wp-image-1249" title="wordpress-custom-post-type" src="http://bbxdesign.com/wp-content/uploads/wordpress-custom-post-type.png" alt="" width="166" height="129" /></p><p>Vous pouvez maintenant créer un nouveau projet en cliquant sur &#8220;Add New&#8221;</p><p><a href="http://bbxdesign.com/wp-content/uploads/wordpress-3-custom-post-type-new.png"><img class="alignnone size-medium wp-image-1253" title="wordpress-3-custom-post-type-new" src="http://bbxdesign.com/wp-content/uploads/wordpress-3-custom-post-type-new-500x222.png" alt="" width="500" height="222" /></a></p><p>Whaaa, c&#8217;est vide! Eh oui : on a juste mis &#8220;title&#8221;, &#8220;author&#8221; et &#8220;thumbnail&#8221;. Et c&#8217;est tout ce dont on a besoin! Hop je rajoute un Projet &#8220;bbxdesign&#8221; avec un screenshot :</p><p><a href="http://bbxdesign.com/wp-content/uploads/bbxdesign-wordpress-3-nouveau-projet.png"><img class="alignnone size-medium wp-image-1254" title="bbxdesign-wordpress-3-nouveau-projet" src="http://bbxdesign.com/wp-content/uploads/bbxdesign-wordpress-3-nouveau-projet-499x267.png" alt="" width="499" height="267" /></a></p><p>Ok c&#8217;est cool, j&#8217;ai réussi à rajouter un nouveau projet! Ca marche nickel dans l&#8217;admin. Sauf que pour l&#8217;instant, j&#8217;ai rien qui s&#8217;affiche dans le blog!</p><h4>Afficher les Custom Post Type</h4><p>Sur votre blog (sur la home par exemple), dans la boucle des posts, il y a actuellement les <strong>Posts </strong>normaux. Mais nous on veut afficher les <strong>Projets</strong>! Pour ça, il faut faire un query_posts avec comme post_type le mot &#8220;projet&#8221;. Sur index.php par exemple, mettez :</p><pre>&lt;?php
$home_paged = (get_query_var('paged'));
$arguments = array(
 'post_type' =&gt; 'projet',
 'post_status' =&gt; 'publish',
 'paged' =&gt; $home_paged
);
query_posts($arguments);
get_template_part( 'loop', 'index' );
?&gt;</pre><p>Le $home_paged est une astuce qui permet de récupérer la valeur de la page courante et ainsi éviter de casser la pagination! Ensuite vient un array d&#8217;arguments : post_type en projet, post_status en publish (pour éviter d&#8217;afficher les brouillons) et page avec la variable.<br /> Ensuite on fait le query_posts avec ces options puis on appelle la boucle avec get_template_part. Il faut savoir que get_template_part est une nouvelle fonction de WordPress 3 qui permet d&#8217;inclure d&#8217;autres fichiers php. Ici on appelle le fichier loop.php. C&#8217;est d&#8217;ailleurs très pratique pour éviter de copier-coller la boucle WP dans plusieurs fichiers.</p><p>Si vous ouvrez le fichier <strong>loop.php</strong> du thème &#8220;twentyten&#8221;, vous verrez qu&#8217;il est vraiment très long. On va tout virer et mettre juste un peu de code pour la home, histoire de vous montrer facilement comment afficher les éléments pour un projet. Nous, tout ce qu&#8217;on veut, c&#8217;est afficher le titre (c&#8217;est à dire le nom du projet), ainsi que la miniature.</p><pre>&lt;?php while ( have_posts() ) : the_post(); ?&gt;
 &lt;div id="post-&lt;?php the_ID(); ?&gt;" &lt;?php post_class(); ?&gt;&gt;
 &lt;h2&gt;&lt;?php the_title(); ?&gt;&lt;/h2&gt;
 &lt;?php the_post_thumbnail(); ?&gt;
 &lt;/div&gt;
&lt;?php endwhile; ?&gt;</pre><p>Donc là, c&#8217;est très simple. On met la div avec le bon id et la bonne classe, on met le nom du projet (the_title) et l&#8217;image (the_post_thumbnail) et ça donne :</p><p><a href="http://bbxdesign.com/wp-content/uploads/wordpress-3-custom-portfolio.png"><img class="alignnone size-medium wp-image-1256" title="wordpress-3-custom-portfolio" src="http://bbxdesign.com/wp-content/uploads/wordpress-3-custom-portfolio-500x240.png" alt="" width="500" height="240" /></a></p><p>J&#8217;ai pris le thème de base &#8220;twentyten&#8221; et j&#8217;ai donc customisé les fichiers index.php et loop.php. La home contient donc des Projets et non pas des Posts. Mais vu que j&#8217;ai les 2, je peux faire une page /blog où j&#8217;aurais tous mes Posts!</p><p>Maintenant vous pouvez ajouter des projets à la volée, virer la sidebar, le header et gérer <strong>une partie Blog avec les Posts et une partie Portfolio avec les Projets.</strong></p><h3>Custom Taxonomy : de nouvelles catégories et de nouveaux tags</h3><p>Derrière ce nom barbare de &#8220;Taxonomy&#8221; se cache tout simplement les Catégories et les Tags. Avec WordPress 3, vous pouvez créer d&#8217;autres taxonomies. Imaginons qu&#8217;avec ce Portfolio vous voulez ajouter 2 choses :</p><ul><li>le <strong>type </strong>de projet : un logo, un site vitrine, une animation flash&#8230;.</li><li>les <strong>couleurs </strong>utilisées</li></ul><p>On pourrait utiliser les Catégories et les Tags, mais elles sont déjà utilisées par les Posts pour le Blog! On va donc créer d&#8217;autres catégories et d&#8217;autres tags, exclusivement pour le Portfolio.</p><pre>register_taxonomy( 'type', 'projet', array( 'hierarchical' =&gt; true, 'label' =&gt; 'Type', 'query_var' =&gt; true, 'rewrite' =&gt; true ) );
register_taxonomy( 'couleur', 'projet', array( 'hierarchical' =&gt; false, 'label' =&gt; 'Couleur', 'query_var' =&gt; true, 'rewrite' =&gt; true ) );</pre><p>On utilise la <a href="http://codex.wordpress.org/Function_Reference/register_taxonomy">fonction register_taxonomy</a>. Dans l&#8217;ordre on choisit</p><ul><li>le nom de la taxonomie</li><li>l&#8217;élément auquel il s&#8217;applique (ça peut être &#8216;post&#8217;, &#8216;page&#8217; ou un post type qu&#8217;on a créé, en l&#8217;occurence &#8216;projet&#8217;)</li><li>&#8216;hierarchical&#8217; definit si il y a une relation parent/enfant. Si oui, c&#8217;est comme les Catégories. Si non, c&#8217;est comme les Tags.</li><li>&#8216;label&#8217; c&#8217;est le nom plus descriptif qui s&#8217;affichera dans l&#8217;admin</li><li>&#8216;query_var&#8217; à mettre sur true pour qu&#8217;on puisse appeler cette taxonomie dans nos templates</li><li>&#8216;rewrite&#8217; c&#8217;est la chaîne de caractères présente dans les permaliens. Si on met &#8220;true&#8221;, ça prend la valeur par défaut, c&#8217;est à dire le nom de la taxonomie.</li></ul><p>(Bien sûr, tout ceci est toujours à mettre dans la fonction my_custom_init commencée tout à l&#8217;heure.)</p><p>Si vous rechargez l&#8217;admin, vous voyez par magie :</p><p><img class="alignnone size-full wp-image-1259" title="custom-taxonomy-type-couleur" src="http://bbxdesign.com/wp-content/uploads/custom-taxonomy-type-couleur.png" alt="" width="153" height="124" /></p><p><a href="http://bbxdesign.com/wp-content/uploads/custom-taxonomy-nouveau-projet.png"><img class="alignnone size-medium wp-image-1260" title="custom-taxonomy-nouveau-projet" src="http://bbxdesign.com/wp-content/uploads/custom-taxonomy-nouveau-projet-500x302.png" alt="" width="500" height="302" /></a></p><p>J&#8217;ai déplacé les blocs &#8220;Type&#8221; et &#8220;Couleur&#8221; à gauche pour que ce soit plus lisible. Maintenant vous pouvez ajouter le type &#8220;animation flash&#8221;, &#8220;logo&#8221;, &#8220;direction artistique&#8221;&#8230; et les couleurs &#8220;vert&#8221;, &#8220;orange&#8221;, &#8220;bleu&#8221;&#8230; Ca ressemble à peu près à ce qui ai fait sur <a href="http://www.steaw-webdesign.com/en">Steaw Web Design</a> (sauf qu&#8217;on utilise des sous-catégories).</p><h4>Afficher les Custom Taxonomies dans le thème</h4><p>Ok c&#8217;est cool, vous avez vos Custom Taxonomies dans l&#8217;admin. Maintenant faut les afficher dans le thème! On va reprendre le fichier loop.php de tout à l&#8217;heure et rajouter ça :</p><pre>&lt;?php while ( have_posts() ) : the_post(); ?&gt;
 &lt;div id="post-&lt;?php the_ID(); ?&gt;" &lt;?php post_class(); ?&gt;&gt;
 &lt;h2&gt;&lt;?php the_title(); ?&gt;&lt;/h2&gt;
 &lt;?php echo get_the_term_list( $post-&gt;ID, 'type', '&lt;p&gt;Type de projet : ', ', ', '&lt;/p&gt;' ) ?&gt;
 &lt;?php the_post_thumbnail(); ?&gt;
 &lt;?php echo get_the_term_list( $post-&gt;ID, 'couleur', '&lt;p&gt;Couleurs : ', ', ', '&lt;/p&gt;' ) ?&gt;
 &lt;/div&gt;
&lt;?php endwhile; ?&gt;</pre><p>On utilise la fonction get_the_term_list pour afficher les taxonomies du post courant ($post-&gt;ID). C&#8217;est dans un paragraphe, et les éléments sont séparés par des virgules. En fait, la <strong>taxonomie </strong>c&#8217;est l&#8217;ensemble de la liste (ex: &#8220;Couleurs&#8221;) et <strong>terme </strong>c&#8217;est chaque élément de la liste (ex: &#8220;orange&#8221;, &#8220;vert&#8221;).</p><p>Visuellement, ça donne ça :</p><p><a href="http://bbxdesign.com/wp-content/uploads/custom-taxonomies-portfolio.png"><img class="alignnone size-medium wp-image-1261" title="custom-taxonomies-portfolio" src="http://bbxdesign.com/wp-content/uploads/custom-taxonomies-portfolio-500x262.png" alt="" width="500" height="262" /></a></p><p>Vous remarquerez que ça crée des liens pour chaque terme. En cliquant dessus, on arrive à une archive. En local, j&#8217;arrive pas à le faire marcher mais ça fonctionne sur mon <a href="http://www.jukepod.fr/annee/2004">JukePod pour l&#8217;année 2004 </a>par exemple.</p><h3>Conclusion</h3><p>Avec les custom post type et les custom taxonomy, vous pouvez créer plusieurs &#8220;flux&#8221; sur votre site, comme par exemple un blog et un portfolio, sans avoir à mélanger les deux ou à s&#8217;embêter avec des sous-catégories.</p><p>Par exemple, pour le blog Steaw et le portfolio Steaw, on a du créer 2 WordPress différents avec d&#8217;un côté des Posts, des Catégories, des Tags et de l&#8217;autre&#8230; ben pareil : des Posts, des Catégories, des Tags! On le ferait aujourd&#8217;hui, on utiliserait le custom post type Projet pour le Portfolio. Il y a même un gars qui a fait un <a href="http://justintadlock.com/archives/2009/06/04/using-custom-taxonomies-to-create-a-movie-database">IMDB avec WordPress 3</a>&#8230;</p><p>Sources : <a href="http://net.tutsplus.com/tutorials/wordpress/10-features-to-look-forward-to-in-wordpress-3-0">Nettuts</a> et <a href="http://kovshenin.com/archives/custom-post-types-in-wordpress-3-0/">kovshenin</a></p> ]]></content:encoded> <wfw:commentRss>http://bbxdesign.com/2010/05/31/introduction-a-wordpress-3-custom-post-type-et-custom-taxonomy/feed/</wfw:commentRss> <slash:comments>76</slash:comments> </item> <item><title>Lancement de DDDSGN, un site d&#8217;inspiration web design</title><link>http://bbxdesign.com/2010/04/21/dddsgn-site-inspiration-web-design/</link> <comments>http://bbxdesign.com/2010/04/21/dddsgn-site-inspiration-web-design/#comments</comments> <pubDate>Wed, 21 Apr 2010 12:00:48 +0000</pubDate> <dc:creator>Jeremy</dc:creator> <category><![CDATA[Best Of]]></category> <category><![CDATA[Design]]></category> <category><![CDATA[Inspiration]]></category> <category><![CDATA[lancement]]></category> <category><![CDATA[tumblr]]></category><guid isPermaLink="false">http://bbxdesign.com/?p=1236</guid> <description><![CDATA[Tumblr c&#8217;est magnifique. C&#8217;est très facile à utiliser, que ce soit pour poster des images, des liens, des vidéos&#8230; C&#8217;est un gros aggrégateur de tout et n&#8217;importe quoi, on a pas besoin de se soucier de l&#8217;hébergement, on peut utiliser son propre nom de domaine, il y a pas mal de services intégrés (Twitter, Feedburner [...]]]></description> <content:encoded><![CDATA[<p><a href="http://dddsgn.com/"><img class="alignnone size-full wp-image-1237" title="dddsgn-web-design-inspiration" src="http://bbxdesign.com/wp-content/uploads/dddsgn-web-design-inspiration.png" alt="" width="500" height="200" /></a></p><p><strong>Tumblr c&#8217;est magnifique</strong>. C&#8217;est très facile à utiliser, que ce soit pour poster des images, des liens, des vidéos&#8230; C&#8217;est un gros aggrégateur de tout et <a href="http://waker.fr/">n&#8217;importe quoi</a>, on a pas besoin de se soucier de l&#8217;hébergement, on peut utiliser son propre nom de domaine, il y a pas mal de services intégrés (Twitter, Feedburner entre autres) et surtout : <strong>créer un thème Tumblr</strong> est un jeu d&#8217;enfant!</p><p>Avec cette facilité pour poster tout ce que je veux (et vite!), et un système de template vraiment simple, je me suis dit que j&#8217;allais lancer mon petit site d&#8217;inspiration en web design, qui regroupera <strong>pleins de sites</strong> et <strong>d&#8217;éléments de sites</strong> (formulaires, headers, icônes&#8230;) : <a href="http://dddsgn.com/">DDDSGN</a>.</p><h3>Pourquoi &#8220;DDDSGN&#8221; ?</h3><p>Je voulais un nom court, simple et fun. Il fait bien évidemment référence à <a href="http://ffffound.com/">ffffound</a>.</p><h3>Pourquoi c&#8217;est tout noir et blanc ?</h3><p><img class="alignnone size-full wp-image-1238" title="dddsgn-screenshot" src="http://bbxdesign.com/wp-content/uploads/dddsgn-screenshot.png" alt="" width="500" height="500" /></p><p>J&#8217;ai testé beaucoup de couleurs et de palettes de couleurs pour des designs parfois sympas mais qui ne mettaient pas assez le <strong>contenu en valeur</strong>. Avec un site en fond blanc et le texte en nuances de gris, les couleurs des images ressortent très bien! D&#8217;ailleurs, il n&#8217;y a <strong>aucune image</strong> appelée par la CSS. C&#8217;est que de la typographie et des couleurs. Plus simple à entretenir, tiens.</p><p>Je vous invite à <a href="http://dddsgn.com/">visiter le site</a> et pourquoi pas à <a href="http://feeds.feedburner.com/dddsgn">vous y abonner</a> !</p> ]]></content:encoded> <wfw:commentRss>http://bbxdesign.com/2010/04/21/dddsgn-site-inspiration-web-design/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Refonte de Task This, site d&#8217;une appli iPhone</title><link>http://bbxdesign.com/2010/04/14/refonte-task-this-site-appli-iphone/</link> <comments>http://bbxdesign.com/2010/04/14/refonte-task-this-site-appli-iphone/#comments</comments> <pubDate>Wed, 14 Apr 2010 12:00:17 +0000</pubDate> <dc:creator>Jeremy</dc:creator> <category><![CDATA[Best Of]]></category> <category><![CDATA[Design]]></category> <category><![CDATA[Logiciels]]></category> <category><![CDATA[application]]></category> <category><![CDATA[iphone]]></category> <category><![CDATA[refonte]]></category><guid isPermaLink="false">http://bbxdesign.com/?p=1226</guid> <description><![CDATA[Vous connaissez tous ces sites d&#8217;appli iPhone ? Depuis 2 ans, c&#8217;est devenu une tendance, une catégorie à part dans les designs de site. Personnellement, je les trouve très créatifs, modernes et pertinents. Et je m&#8217;en inspire pas mal, comme par exemple dans cette liste de 40 sites d&#8217;appli. Malheureusement, je n&#8217;ai jamais eu l&#8217;occasion [...]]]></description> <content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-1227" title="task-this" src="http://bbxdesign.com/wp-content/uploads/task-this.png" alt="" width="500" height="200" /></p><p>Vous connaissez tous ces <strong>sites d&#8217;appli iPhone </strong>? Depuis 2 ans, c&#8217;est devenu une tendance, une catégorie à part dans les designs de site. Personnellement, je les trouve très créatifs, modernes et pertinents. Et je m&#8217;en inspire pas mal, comme par exemple dans cette liste de <a href="http://www.webdesignerdepot.com/2009/04/40-awesome-iphone-application-websites/">40 sites d&#8217;appli</a>. Malheureusement, je n&#8217;ai jamais eu l&#8217;occasion de bosser sur un tel site.</p><p>C&#8217;est pourquoi j&#8217;ai forcé le destin. En découvrant <strong><a href="http://www.task-this.com/fr/">Task This</a></strong>, une appli française gratuite de gestion de taches, j&#8217;ai tout de suite eu envie de proposer mes services pour faire la refonte.<span id="more-1226"></span></p><h3>Avant</h3><p><a href="http://blog.task-this.com/fr/index.php?pages/Features"><img class="alignnone size-full wp-image-1230" title="task-this-avant" src="http://bbxdesign.com/wp-content/uploads/task-this-avant2.png" alt="" width="500" height="500" /></a></p><p>Avant, c&#8217;était <a href="http://blog.task-this.com/fr/index.php?pages/Features">comme ça</a>. Et ça l&#8217;est encore pour le blog, vu que Dotclear est un moteur de blog, et qu&#8217;il n&#8217;y avait pas de raison de le refondre. Il y avait plusieurs pages en front-end, et une partie d&#8217;administration (à laquelle je n&#8217;ai pas touché) pour les utilisateurs en back-end.</p><p>Le design était un thème très répandu : le thème <a href="http://themes.dotaddict.org/demo-dc2/?theme=freshy2">Freshy 2</a>. Bien qu&#8217;etant un thème sympa, il était pas du tout pertinent pour un site iPhone.</p><h3>Après</h3><p><a href="http://www.task-this.com/fr/"><img class="alignnone size-full wp-image-1231" title="task-this-bbxdesign" src="http://bbxdesign.com/wp-content/uploads/task-this-bbxdesign.png" alt="" width="500" height="500" /></a></p><p>Je suis donc parti sur une <strong>page unique</strong>, avec plusieurs sections : accueil avec un gros visu, fonctionnalités, témoignages et formulaire de contact. J&#8217;ai donc viré plusieurs pages de contenu parce que je pense qu&#8217;elles étaient superflues et que les gens ne les lisaient pas beaucoup. Pour le blog et le back-end, je n&#8217;y ai pas touché.</p><p>Avec pas mal d&#8217;inspiration et un peu de JS, je suis très content du rendu final et j&#8217;espère pouvoir bosser sur d&#8217;autres sites d&#8217;appli à l&#8217;occasion!</p> ]]></content:encoded> <wfw:commentRss>http://bbxdesign.com/2010/04/14/refonte-task-this-site-appli-iphone/feed/</wfw:commentRss> <slash:comments>7</slash:comments> </item> <item><title>Proposition de refonte du site d&#8217;American Airlines</title><link>http://bbxdesign.com/2009/06/19/proposition-de-refonte-du-site-damerican-airlines/</link> <comments>http://bbxdesign.com/2009/06/19/proposition-de-refonte-du-site-damerican-airlines/#comments</comments> <pubDate>Thu, 18 Jun 2009 23:20:54 +0000</pubDate> <dc:creator>Jeremy</dc:creator> <category><![CDATA[Avis]]></category> <category><![CDATA[Best Of]]></category> <category><![CDATA[Design]]></category> <category><![CDATA[ergonomie]]></category> <category><![CDATA[politique]]></category> <category><![CDATA[refonte]]></category> <category><![CDATA[user experience]]></category><guid isPermaLink="false">http://bbxdesign.com/?p=872</guid> <description><![CDATA[Dustin Curtis, un designer d&#8217;interfaces, devait réserver un billet sur le site (horrible) d&#8217;American Airlines. J&#8217;ai déjà eu à le faire aussi lorsque je suis allé à New York. Son expérience en tant qu&#8217;utilisateur n&#8217;ayant pas été très plaisante, il s&#8217;est dit qu&#8217;il allait proposer sa propre refonte du site. Je suis personnellement très fan [...]]]></description> <content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-875" title="aa" src="http://bbxdesign.com/wp-content/uploads/aa.png" alt="aa" width="200" height="152" /></p><p><strong>Dustin Curtis</strong>, un designer d&#8217;interfaces, devait réserver un billet sur le <a href="http://www.aa.com/aa/homePage.do?locale=en_US">site (horrible) d&#8217;American Airlines</a>. J&#8217;ai déjà eu à le faire aussi lorsque je suis <a href="http://bbxdesign.com/2009/03/13/nyc-09-video-de-notre-voyage-a-new-york/">allé à New York</a>. Son expérience en tant qu&#8217;utilisateur n&#8217;ayant pas été très plaisante, il s&#8217;est dit qu&#8217;il allait proposer <strong><a href="http://dustincurtis.com/dear_american_airlines_redesign.html">sa propre refonte du site</a></strong>.</p><p><img class="alignnone size-full wp-image-873" title="american-airlines-refonte" src="http://bbxdesign.com/wp-content/uploads/american-airlines-refonte.png" alt="american-airlines-refonte" width="446" height="727" /></p><p>Je suis personnellement très fan de cette refonte du bloc le plus important du site : la <strong>réservation</strong>. Il y a un côté aéré, léger (pour une compagnie aérienne, que demander de mieux ?) et efficace dans sa refonte. Je me rappelle que je voulais proposer une refonte du site <a href="http://www.lequipe.fr/">l&#8217;Equipe.fr </a>(un tout autre domaine, un tout autre rôle) mais j&#8217;ai pas pris le temps de le faire et entre-temps, leur refonte est plutôt réussie. <img src='http://bbxdesign.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p><h3>La réponse d&#8217;American Airlines</h3><p>Ok, Dustin Curtis ne connaissait sans doute pas les raisons qui amènent American Airlines à garder leur site tel quel. Mais il a reçu une <a href="http://dustincurtis.com/dear_dustin_curtis.html">réponse de la part du User Experience Architect</a>. Un extrait (repris sur <a href="http://wordsondesign.com">Words on Design</a> &#8211; &#8220;shameless self promotion&#8230;&#8221;) :</p><blockquote><p>We could even redesign the AA.com home page without having to slog through endless review and approval cycles with their requisite revisions and re-reviews.</p></blockquote><p>En résumé, dans sa lettre de réponse, il dit qu&#8217;American Airlines est une boîte trop grosse avec <strong>beaucoup trop de gens impliqués dans le design </strong>pour que l&#8217;équipe de design puisse faire son boulot correctement, ou devrais-je dire, <strong>puisse faire son boulot tout court</strong>.</p><p>Je sais <strong>exactement </strong>ce qu&#8217;il veut dire.</p><p>American Airlines a les compétences en interne pour avoir un site intéressant, mais ne les utilise pas. Un problème <strong>politique </strong>? Je pense aussi.</p><h3>La peur du vide ?</h3><p>C&#8217;est sans doute la <strong>crainte </strong>des grosses entreprises d&#8217;avoir un site aussi aéré et léger, avec <strong>peu de contenu</strong>. Ils se disent peut-être qu&#8217;avec tout leur argent et la taille du trafic du site, ils doivent forcément avoir un site avec beaucoup de fonctionnalités, de contenu, des liens partout, des promos par ci par là&#8230;</p><p>Je sais pas. Le peur d&#8217;innover ? De faire confiance aux plus jeunes ? A ceux qui savent ? A ceux dont c&#8217;est le boulot ?</p><p>Je pense sincèrement que la <strong>qualité d&#8217;un design</strong> est (quasiment) <strong>inversement proportionnelle</strong> au nombre de personnes (ignares?) qui donnent leur avis dessus. Avoir une équipe de plusieurs designers, OK. Mais lorsque les services commercial ou technique y mettent leur nez, ça commence à sentir le roussis. Chacun son taf et tout ira bien!</p> ]]></content:encoded> <wfw:commentRss>http://bbxdesign.com/2009/06/19/proposition-de-refonte-du-site-damerican-airlines/feed/</wfw:commentRss> <slash:comments>13</slash:comments> </item> <item><title>Introduction au HTML 5</title><link>http://bbxdesign.com/2009/06/08/introduction-au-html-5/</link> <comments>http://bbxdesign.com/2009/06/08/introduction-au-html-5/#comments</comments> <pubDate>Mon, 08 Jun 2009 13:50:48 +0000</pubDate> <dc:creator>Jeremy</dc:creator> <category><![CDATA[Best Of]]></category> <category><![CDATA[Flash]]></category> <category><![CDATA[XHTML / CSS]]></category> <category><![CDATA[application]]></category> <category><![CDATA[html 5]]></category> <category><![CDATA[os]]></category><guid isPermaLink="false">http://bbxdesign.com/?p=843</guid> <description><![CDATA[Si vous le souhaitez, allez lire le tutoriel complet sur le HTML 5 et le CSS 3 que j&#8217;ai écrit. Le HTML 5 est la prochaine version importante du HTML. Bien qu&#8217;étant en compétition avec le XHTML 2, le HTML 5 fait davantage parler de lui parce qu&#8217;étant plus facilement implémentable et plus pragmatique dans [...]]]></description> <content:encoded><![CDATA[<p class="focus"> Si vous le souhaitez, allez lire le <a href="http://css.steaw.com">tutoriel complet sur le HTML 5 et le CSS 3</a> que j&#8217;ai écrit.</p><p>Le <strong><a href="http://en.wikipedia.org/wiki/HTML_5">HTML 5</a></strong> est la prochaine version importante du HTML. Bien qu&#8217;étant <a href="http://www.digital-web.com/articles/html5_xhtml2_and_the_future_of_the_web/">en compétition avec le XHTML 2</a>, le HTML 5 fait davantage parler de lui parce qu&#8217;étant plus facilement implémentable et plus pragmatique dans l&#8217;utilisation des nouvelles balises qu&#8217;il introduit.</p><h3>Quoi de neuf chez les balises ?</h3><p>J&#8217;avais <a href="http://bbxdesign.com/2008/01/22/premices-du-html-5/">déjà parlé</a> du HTML 5 l&#8217;an dernier, en parlant notamment des balises visant à <strong>structurer le contenu</strong>. Mais l&#8217;intérêt du HTML 5 se trouve surtout dans ces balises qui vont grandement faciliter la <strong>création d&#8217;applications web.</strong></p><ul><li><strong>&lt;canvas&gt;</strong><br /> Une balise dans laquelle on peut dessiner avec du JS. A priori on peut faire beaucoup plus avec.<br /> <strong>Exemples :</strong> <a href="http://htmlfive.appspot.com/static/draw.html">dessiner</a>, <a href="http://htmlfive.appspot.com/static/gifter.html">labyrinthe</a> ou encore mieux : <a href="https://bespin.mozilla.com/">Bespin par Mozilla</a>, un éditeur de code utilisant canvas et JS</li><li><strong>&lt;video&gt;</strong><br /> La vidéo est aujourd&#8217;hui implémentée sur le web grâce à différents plugins (Silverlight, Quicktime, WMP et surtout <strong>Flash</strong>). Pourquoi ne pas utiliser une simple balise &lt;video&gt; ?<br /> <strong>Exemples :</strong> <a href="http://www.youtube.com/html5">YouTube</a> et <a href="http://www.dailymotion.com/openvideodemo/">Dailymotion</a> font déjà des tests avec cette balise &lt;video&gt;, et <a href="http://blog.mozilla.com/blog/2009/05/27/dailymotion-supports-open-video/">Mozilla en parle</a>.</li><li><strong>Geolocation</strong><br /> La géolocalisation grâce à l&#8217;API de l&#8217;HTML 5.<br /> <strong>Exemple :</strong> <a href="http://htmlfive.appspot.com/static/whereami.html">Where Am I</a> géolocalise en utilisant Google Maps (il faut Firefox Beta).</li><li><strong>App Cache</strong><br /> Ca permet de sauvegarder des informations en local, pour travailler offline notamment.<br /> <strong>Exemple :</strong> des <a href="http://htmlfive.appspot.com/static/stickies.html">Post-It accessibles offline</a> (il faut Safari Beta).</li><li><strong>Workers</strong><br /> Un outil qui permet de mieux gérer la surcharge de JavaScript. En gros, plus de problème de ralentissement à cause d&#8217;un JS trop gourmand.<br /> <strong>Exemple :</strong> 2 scripts qui calculent le plus grand nombre premier. <a href="http://htmlfive.appspot.com/static/primes-bad.html">Le premier</a> fait crasher le navigateur (j&#8217;ai testé&#8230;), alors que <a href="http://htmlfive.appspot.com/static/primes-good.html">l&#8217;autre</a> y arrive très bien.</li></ul><p>Tous les exemples proviennent de la <a href="http://htmlfive.appspot.com/">Google Keynote</a>.<br /> <span id="more-843"></span></p><h3>Qui s&#8217;y intéresse ?</h3><h4>Google</h4><p><img class="alignnone" title="Google" src="http://www.google.fr/logos/Logo_40wht.gif" alt="" width="128" height="53" /><br /> Google, le plus grand acteur chez les applications web, <a href="http://radar.oreilly.com/2009/05/google-bets-big-on-html-5.html">mise gros sur le HTML 5</a>. Au départ, Google ne croyait pas que les applications web pouvaient rivaliser avec les applications de bureau. Mais avec le grand succès de Google Maps, leur état d&#8217;esprit a changé. Comme le dit le VP of Engineering Vic Gundotra :</p><blockquote><p>We knew then that the web had won. What was once thought impossible is now commonplace.</p></blockquote><p>La sortie de <strong>Google Chrome</strong> est un signe important. Le principal atout de ce navigateur est sa rapidité, grâce à son moteur JS très performant. Et en voyant les applications web utiliser massivement du JS, ce n&#8217;est pas un hasard.</p><p>Il y a aussi la sortie récente des <strong><a href="http://www.google.com/webelements/">Google Web Elements</a></strong> qui introduit l&#8217;idée de widgets exportables où l&#8217;on veut. Avec le HTML 5, ceci risque d&#8217;être encore plus simple.</p><p>La version Chrome d&#8217;<strong>Android </strong>supportera aussi le HTML 5.</p><p>Et puis, <strong>YouTube </strong>y porte aussi un <a href="http://www.youtube.com/html5">certain intérêt</a>.</p><h4>Mozilla</h4><p><img class="alignnone size-full wp-image-844" title="mozilla" src="http://bbxdesign.com/wp-content/uploads/mozilla.png" alt="mozilla" width="100" height="100" /></p><p>Mozilla est le plus actif pour implémenter les nouveautés HTML 5 dans <strong>Firefox</strong>, suivi de près par Safari et Opera, si l&#8217;on considère cette <a href="http://wiki.whatwg.org/wiki/Implementations_in_Web_browsers">liste d&#8217;implémentation du HTML 5 dans chaque navigateur</a>.</p><p>La <a href="http://www.dailymotion.com/openvideodemo">vidéo en HTML 5 par Dailymotion</a> ne fonctionne que sous Firefox Beta. On peut ajouter un skin autour, mettre la vidéo en flou, ajouter un &#8220;edge effect&#8221; par dessus&#8230; Ca rame sur mon netbook mais c&#8217;est sympa.</p><p>Avec le sortie de <strong><a href="http://www.dailymotion.com/openvideodemo">JetPack</a></strong>, on peut imaginer un bel avenir pour le combo JS + HTML 5.</p><h4>Palm</h4><p><img class="alignnone size-full wp-image-845" title="palm" src="http://bbxdesign.com/wp-content/uploads/palm.png" alt="palm" width="100" height="100" /></p><p>Michael Abbot, le Senior Vice President de Palm, en charge des applications et des services, mise aussi sur le HTML 5 sur le <strong>WebOS de Palm</strong> :</p><blockquote><p>You as a developer don&#8217;t need to leave your prior knowledge at the door to develop for the phone.</p></blockquote><p>Pour faire des <strong>applis iPhone</strong>, il faut s&#8217;y connaître en Objective-C. Pour faire des <strong>applis Palm</strong>, il faudra s&#8217;y connaître en HTML 5 et JS. Je ne sais pas à quel point ça pourra rivaliser en termes de qualité d&#8217;applications, mais je veux bien voir.</p><h4>Apple</h4><p><img class="alignnone" title="Apple" src="http://upload.wikimedia.org/wikipedia/fr/thumb/f/f8/Apple_chrome.png/100px-Apple_chrome.png" alt="" width="100" height="122" /></p><p>Je viens de voir sur la Worldwide Developers Conference 2009 que <strong>Safari Mobile</strong> supportait le HTML 5. C&#8217;est pas un détail anodin. Après le succès des app iPhone, celui des app web mobiles sur iPhone ?</p><h4>Les développeurs web ?</h4><p>Je ne suis pas développeur web mais j&#8217;imagine que je pourrais m&#8217;y intéresser si les possibilités sont importantes tout en gardant des technologies simples d&#8217;accès et performantes. Un avis de développeur JS sur la question ?</p><h3>Comment implémenter du HTML 5 aujourd&#8217;hui</h3><p>Ok, c&#8217;est bien beau toutes ces nouvelles balises, mais je fais comment pour l&#8217;utiliser aujourd&#8217;hui ?</p><p><span style="color: #ff6600;"><strong>Applications Web : oui mais&#8230;</strong></span><br /> Pour les balises axées &#8220;<strong>applications web</strong>&#8221; (canvas, geolocation, video, appcache&#8230;), <a href="http://wiki.whatwg.org/wiki/Implementations_in_Web_browsers">quelques navigateurs en version beta</a> offrent la possiblité d&#8217;utiliser ces nouvelles balises. Avec du JS, c&#8217;est <a href="http://www.sitepoint.com/newsletter/viewissue.php?id=3&amp;issue=241">déjà possible d&#8217;en tirer profit</a>.</p><p><span style="color: #008000;"><strong>Structure : OK</strong></span><br /> En ce qui concerne les balises de &#8220;<strong>structure</strong>&#8221; (header, section, article&#8230;), il est d&#8217;ores et <a href="http://viralpatel.net/blogs/2009/05/html-5-the-new-html-kid-on-the-block.html">déjà possible de les utiliser</a>. En fait, si les navigateurs ne comprennent pas forcément ces balises &#8220;inconnues&#8221; mais ne renvoient pas d&#8217;erreur. C&#8217;est juste que ces balises ne sont pas stylées et qu&#8217;elles sont considérées comme &#8220;inline&#8221;. Un display:block fait l&#8217;affaire.<br /> Pour <strong>IE6</strong>, il faut rajouter un script pour que le style s&#8217;applique à ces nouvelles balises.</p><ol class="dp-c"><li class="alt">&lt;script&gt;</li><li> document.createElement(<span class="string">&#8216;header&#8217;</span>);</li><li class="alt"> document.createElement(<span class="string">&#8216;footer&#8217;</span>);</li><li> document.createElement(<span class="string">&#8216;section&#8217;</span>);</li><li class="alt"> document.createElement(<span class="string">&#8216;aside&#8217;</span>);</li><li> document.createElement(<span class="string">&#8216;nav&#8217;</span>);</li><li class="alt"> document.createElement(<span class="string">&#8216;article&#8217;</span>);</li><li>&lt;/script&gt;</li></ol><h3>La concurrence : Flash, XHTML 2 et&#8230; Windows ?</h3><p>Je pense que le HTML 5 va surtout concurrencer les plugins de navigateur, et notamment <strong>Flash/Silverlight</strong>. En fait, l&#8217;intérêt de ces deux derniers est avant tout de palier à un manque, surtout au niveau de la gestion du multimédia dans le web (la vidéo en premier). Le HTML 5 peut sans doute gérer ça de manière plus légère, plus sémantique et plus accessible. C&#8217;est plutôt le combo <strong>HTML 5 + JS</strong> qui sera intéressant.</p><p>En parallèle du développement du HTML 5, il y aussi celui du <strong>XHTML 2</strong>. Actuellement, je mets toutes mes Doctype en XHTML 1.0 Strict, parce que j&#8217;ai peu de problème de compatibilité avec (Quirks Mode sous IE6 notamment). Après, j&#8217;ai pas trop suivi l&#8217;avancée du XHTML 2. Peut-être qu&#8217;on arrivera à &#8220;merger&#8221; les deux à un moment donné ?</p><p>Enfin, est-ce que le HTML 5 peut rivaliser avec <strong>Windows </strong>(et plus généralement les OS) ? Haha, ça a l&#8217;air très marrant comme supposition, mais <a href="http://www.pcworld.com/businesscenter/blogs/bizfeed/165653/html5_could_be_the_os_killer.html">certains y croient vraiment</a>. Depuis des années, <strong>Google </strong>se positionne sur ça : <strong>faire du web l&#8217;outil de travail principal</strong>.<br /> Google Docs + Chrome + Calendar + Notebook + Picasa + Mail + Talk = Web Desktop ?<br /> Le problème des applis web par rapport aux applis de bureau sont principalement :</p><ol><li>la rapidité d&#8217;exécution</li><li>les fonctionnalités</li><li>la nécessité d&#8217;être connecté pour travailler</li></ol><p>Le HTML 5 va aider à résoudre le 3ème point, avec la possiblité de sauvegarder des informations en local (voir AppCache plus haut).<br /> Pour le 2nd point, j&#8217;utilise rarement les fonctionnalités avancées de Word, et sur ce point, Google Docs me sufflit largement.<br /> Pour le 1er point, un outil aussi basique qu&#8217;un tableur ou qu&#8217;un traitement de texte nécessite relativement peu de ressources.</p><p>Etant très souvent connecté, j&#8217;utilise uniquement Google Docs et plus du tout Microsoft Word/Excel. Avec le HTML 5, j&#8217;aurais sans doute même plus besoin d&#8217;être connecté.</p><p>J&#8217;imagine un <strong>OS </strong>qui sera <strong>uniquement un navigateur web</strong>. Peut-être pour la <a href="http://www.techcrunch.com/2009/06/03/crunchpad-the-launch-prototype/">Crunchpad </a>?</p><h3>Conclusion</h3><p>Le HTML 5 est résolument axé &#8220;application web&#8221;. Couplé avec du JS, les résultats sont très intéressants. Ca me fait penser à du <a href="https://jetpack.mozillalabs.com/">Jetpack</a> pour un site (et non pas un navigateur). Il est surtout intéressant pour les développeurs du web de s&#8217;y pencher plutôt qu&#8217;un web designer comme moi. Parce qu&#8217;au final, les balises de structure (header, section&#8230;), ça facilite légèrement l&#8217;intégration et ça ajoute de la sémantique mais c&#8217;est pas révolutionnaire, alors que la video/audio, la géo localisation, le appcache&#8230; ont énormément de potentiel.</p><p>Le problème actuel est qu&#8217;il faut encore attendre 2010 avant de profiter vraiment du HTML 5. Mais en réalité, les développeurs n&#8217;attendent pas. Comme le dit Dave Clark :</p><blockquote><p>The technology is here even if the standards committees haven&#8217;t caught up</p><p>We reject: kings, presidents, and voting. We believe in: rough consensus and running code.</p></blockquote><p>Le mot d&#8217;ordre serait donc d&#8217;être pragmatique. Ne pas attendre les standards mais s&#8217;amuser à <a href="http://www.sitepoint.com/newsletter/viewissue.php?id=3&amp;issue=241">utiliser ce qu&#8217;on peut déjà utiliser</a> pour avoir de l&#8217;avance et faire avancer la standardisation justement.</p><p>Le plus gros acteur du web, Google, s&#8217;y intéresse. Il y a donc forcément du potentiel dans le HTML 5&#8230;</p> ]]></content:encoded> <wfw:commentRss>http://bbxdesign.com/2009/06/08/introduction-au-html-5/feed/</wfw:commentRss> <slash:comments>37</slash:comments> </item> <item><title>Un h1 pour le logo ou pas ?</title><link>http://bbxdesign.com/2009/05/12/un-h1-pour-le-logo-ou-pas/</link> <comments>http://bbxdesign.com/2009/05/12/un-h1-pour-le-logo-ou-pas/#comments</comments> <pubDate>Tue, 12 May 2009 04:00:22 +0000</pubDate> <dc:creator>Jeremy</dc:creator> <category><![CDATA[Avis]]></category> <category><![CDATA[Best Of]]></category> <category><![CDATA[Bien développer]]></category> <category><![CDATA[XHTML / CSS]]></category> <category><![CDATA[h1]]></category> <category><![CDATA[seo]]></category> <category><![CDATA[titre]]></category> <category><![CDATA[w3c]]></category><guid isPermaLink="false">http://bbxdesign.com/?p=812</guid> <description><![CDATA[A la question &#8220;Est-ce que je mets un &#60;h1&#62; pour mon logo ?&#8221;, je répondais oui avant. Maintenant, je réponds non. Le débat Il existe un débat assez récurrent sur l&#8217;élément de la page qui portera le h1. Que ce soit dans un post ou deux, ou dans des commentaires, la question reste ouverte. Il [...]]]></description> <content:encoded><![CDATA[<p>A la question &#8220;Est-ce que je mets un &lt;h1&gt; pour mon logo ?&#8221;, je répondais <strong>oui</strong> avant. Maintenant, je réponds <strong>non</strong>.</p><h3>Le débat</h3><p>Il existe un débat assez récurrent sur l&#8217;élément de la page qui portera le h1. Que ce soit dans un <a href="http://designbit.co.uk/2008/10/18/h1-tag-as-your-logo/">post</a> ou <a href="http://www.topicobserver.com/blog/web-development/2008/semantics-in-html-whats-in-a-heading/">deux</a>, ou dans des <a href="http://www.sixshootermedia.com/blog/semantic-h1-logo-link/">commentaires</a>, la question reste ouverte. Il y a 2 écoles :</p><ul><li><strong>h1 pour le logo</strong><br /> Etant donné que le logo porte le nom du site, c&#8217;est l&#8217;élément le plus important. Il doit donc être dans un &lt;h1&gt;, sur toutes les pages.<br /> Exemple : <a href="http://wordpress.org/">http://wordpress.org/</a></li><li><strong>h1 différent par page, un lien pour le logo</strong><br /> Le h1 doit représenter le contenu de la page. Ce dernier étant différent pour chaque page, il faut que le h1 change aussi.<br /> Exemple : <a href="http://simplebits.com/">http://simplebits.com/</a></li></ul><p><strong>Cas particulier</strong> : il arrive d&#8217;avoir un h1 pour le logo <strong>uniquement sur la page d&#8217;accueil</strong>, les autres pages ayant un h1 différent. Je classe ces sites dans la deuxième catégorie.</p><h3>Le h1, le plus important et l&#8217;unique (?)</h3><p>C&#8217;est quoi un h1 d&#8217;abord ? Selon le <a href="http://www.w3.org/TR/REC-html40/struct/global.html#h-7.5.5">W3C</a>, ça donne :</p><blockquote><p>A heading element briefly describes the topic of the section it introduces. Heading information may be used by user agents, for example, to construct a table of contents for a document automatically.</p></blockquote><p>Le h1 est le <a href="http://www.w3.org/QA/Tips/Use_h1_for_Title">titre de premier niveau</a> et doit introduire la section qui le suit.</p><h4>Paradoxal le h1 ?</h4><p>Si le h1 est sur le logo, alors il est tout en haut. Il doit donc décrire tout ce qui le suit, c&#8217;est à dire, le reste de la page. Il ne faut pas le mettre sur le logo alors ?</p><h4>Title et h1 : amis intimes</h4><p>Le titre de la page (balise &lt;title&gt;) est défini ainsi par le <a href="http://www.w3.org/TR/REC-html40/struct/global.html#h-7.4.2">W3C</a> :</p><blockquote><p>The TITLE element is not considered part of the flow of text. It should be displayed, for example as the page header or window title. Exactly one title is required per document.</p></blockquote><p>Le titre est <strong>unique</strong> et doit décrire le <strong>contenu</strong> de la page. C&#8217;est à peu près de cette façon que j&#8217;utilise mon <strong>h1</strong> : il est unique et décrit la page. Il est pour moi différent pour chaque page, comme l&#8217;est le titre.</p><p>Par contre, le titre doit être <a href="http://www.w3.org/QA/Tips/Use_h1_for_Title">davantage fourni</a> que le h1. L&#8217;idéal pour ce post serait :</p><ul><li>&lt;title&gt;Un h1 pour le logo ou pas ? &lt; Blog &lt; bbxdesign&lt;/title&gt;</li><li>&lt;h1&gt;Un h1 pour le logo ou pas ?&lt;/h1&gt;</li></ul><p>Mon <strong>titre</strong> décrit le contenu du document et d&#8217;où il provient.<br /> Mon <strong>h1</strong> décrit la section qu&#8217;il introduit : mon post.</p><p>Les deux sont <strong>complémentaires</strong> parce que l&#8217;un fait partie du flux du document, l&#8217;autre non. Ils ont donc un rôle légèrement différent.</p><h4>Un h1 est-il unique ?</h4><p>Je viens de remarquer que <a href="http://digg.com/linux_unix/Android_to_grow_faster_than_iPhone_in_2009">Digg</a> et <a href="http://www.alistapart.com/articles/the-wisdom-of-community/">A List Apart</a> ont <strong>deux h1 dans la même page</strong> (lorsque l&#8217;on va dans les commentaires ou sur un article). Ca m&#8217;a surpris parce que j&#8217;ai toujours cru que le h1 était unique, comme l&#8217;est la balise title. Le W3C ne spécifie rien sur l&#8217;unicité des headings (h1,h2,h3&#8230;) mais étant donné qu&#8217;elle <a href="http://www.w3.org/QA/Tips/Use_h1_for_Title">préconise</a> d&#8217;utiliser une partie de la balise title pour son contenu, je présume qu&#8217;il faut que le h1 soit <strong>unique</strong>.</p><h3>La solution optimale : un h1 différent par page, un lien pour le logo</h3><p>Si je résume, le h1 :</p><ul><li>décrit la section qui le suit</li><li>reprend une partie du title, qui lui-même décrit la page</li><li>est unique (selon moi)</li></ul><p>Cette équation a une seule solution : il y a <strong>un h1 différent par page</strong>, un lien pour le logo (à part éventuellement pour la page d&#8217;accueil, qui est un cas particulier).</p><p>Si le h1 doit décrire ce qui le suit et que je le mets sur le logo &#8220;bbxdesign&#8221; sur toutes les pages (il l&#8217;est actuellement uniquement sur ma page d&#8217;accueil), alors toutes mes pages auront comme contenu &#8220;bbxdesign&#8221; ? C&#8217;est très <strong>léger</strong> comme description de ma page, et très <strong>redondant</strong>, surtout pour les <strong>moteurs de recherche</strong>. Toutes mes pages ne parlent pas de &#8220;bbxdesign&#8221;. C&#8217;est juste le nom du site (qui est par ailleurs dans l&#8217;url). Mes pages ont toutes un contenu différent et <strong>je veux que mon h1 reflète ceci</strong>. C&#8217;est pour ça que ma page d&#8217;accueil a le logo comme h1, mais tous mes posts ont leur titre comme h1 (et le logo devient h2).</p><p>Le <strong>logo décrit le site</strong>, pas la page que l&#8217;on consulte actuellement. Après, il est possible de mettre <strong>deux h1</strong>, un pour le logo, un pour le titre du post par exemple. Mais cela voudrait dire que le premier h1 (celui du logo) affiche &#8220;bbxdesign&#8221;, et l&#8217;autre affiche &#8220;Un h1 pour le logo ou pas ?&#8221;. Pourquoi pas, mais je trouve que le second a davantage de poids et de légitimité que le premier. Et étant donné que l&#8217;on jusqu&#8217;à 6 niveaux hiérarchiques, pourquoi ne pas en tirer profit ?</p><h3>Les titres : une question d&#8217;ordre ou de poids ?</h3><p>Si le h1 n&#8217;est pas le logo, il se peut (et c&#8217;est mon cas) que le h1 <strong>ne soit pas le premier élément</strong> de la page, mais arrive après le header et la navigation. Est-ce que c&#8217;est problématique ? Je ne pense pas. Le W3C ne précise rien à ce sujet. Il faudrait plutôt se poser la question si les titres (h1,h2,h3&#8230;) sont davantage une question d&#8217;<strong>ordre</strong> ou de <strong>poids</strong> ?</p><p>A première vue, c&#8217;est surtout une question d&#8217;<strong>ordre</strong>. On a d&#8217;abord un h1, puis un h2, puis un ou plusieurs h3, puis peut-être un autre h2 suivi d&#8217;autres h3&#8230; A ce propos, il est <a href="http://www.w3.org/TR/WCAG10-HTML-TECHS/#document-headers">interdit de &#8220;sauter&#8221; un niveau hiérarchique</a>. On ne passe pas d&#8217;un h1 à un h3 sans avoir de h2. Il faut voir les h1-h6 comme des <strong>chapitres</strong> d&#8217;un livre.</p><blockquote><p>Users should order heading elements properly. For example, in HTML, H2 elements should follow H1 elements, H3 elements should follow H2 elements, etc. Content developers should not &#8220;skip&#8221; levels (e.g., H1 directly to H3).</p></blockquote><p>Pour le W3C c&#8217;est une question d&#8217;ordre. Mais il m&#8217;arrive de ne pas suivre cette règle à la lettre. Par exemple, dans une sidebar structurée, je mets des &lt;h3&gt; et des &lt;ul&gt; parce que c&#8217;est le <strong>poids</strong> que je leur donne par rapport au contenu de la page. Et mon post a lui aussi des h3-h6. Par conséquent, l&#8217;ordre de mes titres <strong>dans mon code</strong> peut passer du h6 au h3. Et ce n&#8217;est pas spécifique à la sidebar. Ca peut arriver lorsqu&#8217;il y a <strong>plusieurs zones dans la page</strong> avec un contenu différent.</p><p>Les titres h1-h6 restent des éléments assez mal utilisés (par moi d&#8217;abord), sans doute par manque de précisions de la part du W3C. En même temps, c&#8217;est peut-être têtu de s&#8217;obstiner autant. Parce qu&#8217;en ayant d&#8217;un côté le <strong>W3C</strong> (avec les soucis de standardisation et d&#8217;accessibilité) et de l&#8217;autre les <strong>moteurs de recherche</strong> (qui analysent minitieusement notre code), couplés à un <strong>flou</strong> autour de la définition de l&#8217;utilisation des titres, on se demande parfois si la solution est unique.</p> ]]></content:encoded> <wfw:commentRss>http://bbxdesign.com/2009/05/12/un-h1-pour-le-logo-ou-pas/feed/</wfw:commentRss> <slash:comments>7</slash:comments> </item> <item><title>Le temps d&#8217;intégration</title><link>http://bbxdesign.com/2009/05/06/le-temps-dintegration/</link> <comments>http://bbxdesign.com/2009/05/06/le-temps-dintegration/#comments</comments> <pubDate>Wed, 06 May 2009 17:30:35 +0000</pubDate> <dc:creator>Jeremy</dc:creator> <category><![CDATA[Avis]]></category> <category><![CDATA[Best Of]]></category> <category><![CDATA[Bien développer]]></category> <category><![CDATA[XHTML / CSS]]></category> <category><![CDATA[css]]></category> <category><![CDATA[html]]></category> <category><![CDATA[ie6]]></category> <category><![CDATA[intégration]]></category><guid isPermaLink="false">http://bbxdesign.com/?p=800</guid> <description><![CDATA[Je me suis posé la question de savoir combien était divisé mon temps pendant que j&#8217;intégrais. J&#8217;ai divisé en 5 parties ce temps (peut-être en oubliant des parties) et évalué grossièrement leur répartition. Je suis arrivé à ce graphique : HTML : vers davantage de modularité Je code toujours en XHTML 1.0 Strict, et ça [...]]]></description> <content:encoded><![CDATA[<p>Je me suis posé la question de savoir combien était divisé mon temps pendant que j&#8217;intégrais. J&#8217;ai divisé en 5 parties ce temps (peut-être en oubliant des parties) et évalué grossièrement leur répartition. Je suis arrivé à ce graphique :</p><p><img class="alignnone size-full wp-image-801" title="bbx-temps-d-integration" src="http://bbxdesign.com/wp-content/uploads/bbx-temps-d-integration.png" alt="bbx-temps-d-integration" width="500" height="418" /></p><h3>HTML : vers davantage de modularité</h3><p>Je code toujours en XHTML 1.0 Strict, et ça m&#8217;a évité pas mal de problème de Quirksmode je me rends compte. J&#8217;utilise au maximum les balises sémantiques &lt;p&gt;,&lt;ul&gt;,&lt;label&gt;,&lt;hn&gt;,&lt;strong&gt;&#8230; mais je suis de <strong>moins en moins réticent à multiplier</strong> les &lt;div&gt; et &lt;span&gt;. D&#8217;un côté, c&#8217;est cool d&#8217;éviter la divite, c&#8217;est joli, c&#8217;est léger. Mais en pratique, et surtout pour les gros sites, il faut être <strong>très spécifique</strong> quant aux styles à appliquer à certains éléments. Donc je rajoute une ou deux div par ci par là pour améliorer ma productivité et surtout la flexibilité du code. Ca facilite grandement la <strong>différenciation</strong>. Et ça permet surtout de prévoir d&#8217;eventuelles évolutions de fonctionnalités, et avoir une approche plus <strong>modulaire</strong>.</p><p>A force de prôner la séparation HTML (contenu) / CSS (mise en page), on a <strong>peur de modifier le HTML</strong>, comme si c&#8217;était devenu interdit voire impossible. Je me dis que les développeurs ne sont pas bien méchants et que l&#8217;on peut leur demander des modifs HTML, avoir plusieurs classes sur un même élément au lieu de répéter son code CSS pour pas grand chose (voir plus bas).</p><h3>CSS : une seule css, un reset et de moins en moins de contextualisation</h3><p>C&#8217;est évidemment très lié au HTML utilisé. Depuis quelques temps, je me suis fait un fichier <strong>reset.css</strong> qui utilise le <a href="http://developer.yahoo.com/yui/reset/">Reset CSS de Yahoo!</a> . Par contre, ce n&#8217;est pas un fichier que j&#8217;importe à chaque fois mais un code que je copie-colle en créant ma CSS. Parce que oui, je préfère garder <strong>une seule CSS</strong> pour tout le site. Niveau lisibilité, je n&#8217;ai pas trop de problème à utiliser un seul fichier parce que j&#8217;écris chaque sélecteur CSS sur une seule ligne. Niveau productivité, répartir des propriétés sur plusieurs CSS c&#8217;est passer beaucoup de temps de l&#8217;une à l&#8217;autre, trouver où se trouve ce sélecteur, éviter les conflits&#8230; J&#8217;évite. Et le seul vrai avantage d&#8217;avoir plusieurs CSS, c&#8217;est d&#8217;en appeler certaines dans certains cas, et d&#8217;autres dans les autres cas. Je préfère <strong>mettre une class au body</strong> pour différencier les pages, c&#8217;est beaucoup mieux.</p><p>Les exceptions pour utiliser plusieurs CSS sont : un fichier pour ie6, un fichier par couleur (si il y a des thèmes par couleur) et un fichier pour le print.</p><p>Je fais encore pas mal de contextualisation (ex: .bloc table tbody td.direction ) parce que ça permet d&#8217;éviter les conflits. <strong>+ de contextualisation = &#8211; de classes à créer</strong></p><h4>Appliquer le même style à des éléments HTML différents</h4><p>Il y aussi le cas où vous voulez que plusieurs éléments HTML aient les mêmes propriétés CSS Dans ce cas, il y 3 choix :</p><ul><li><strong>copier-coller</strong> les mêmes propriétés pour la nouvelle classe (bouh, pas bien!)<br /> .maclasse { propriétés identiques }<br /> .monautrelement { propriétés identiques }<br /> .montroisieme { propriétés identiques }</li><li>mettre les éléments qui ont les mêmes propriétés <strong>à la suite</strong><br /> .maclasse, .monautreelement, .montroisieme { propriétés identiques }</li><li>créer une <strong>nouvelle classe</strong> et rajouter cette classe dans le HTML<br /> .manouvelleclasse { propriétés identiques }</li></ul><p>La première méthode est à éviter : si on veut changer une propriété (ex: la couleur d&#8217;une bordure), il faut le changer autant de fois que l&#8217;on a copié-collé.<br /> La deuxième méthode est la plus propre : le HTML reste relativement léger (= non alourdi de classes) mais la CSS est plus longue à maintenir. C&#8217;est ce que je faisais avant.<br /> La troisième méthode est plus &#8220;<strong>modulaire</strong>&#8221; je dirais. Un élément HTML aura par exemple : class=&#8221;.maclasse .manouvelleclasse&#8221;. On rajoute donc une classe aux éléments qui ont le même style. Mmmh. Est-ce que c&#8217;est bien ? Est-ce que l&#8217;on sépare bien la mise en page du contenu ? Plus ou moins je dirais. En fait, dans le HTML, on ajoute la classe à tous les éléments qui doivent appraître de la même façon. Et si on veut plus qu&#8217;un élément n&#8217;aie plus ces propriétés ? Il faut supprimer la classe dans le code HTML. Ah. C&#8217;est pas bien. On ne devrait plus avoir à toucher au code HTML. En théorie, c&#8217;est vrai. Mais en pratique, c&#8217;est, d&#8217;une part, très rare de vouloir changer le style d&#8217;un seul élément, et d&#8217;autre part, pourquoi n&#8217;aurait pas-t-on le droit de modifier le HTML ? Une fois livré, on ne peut plus rien faire (voir § sur le HTML) ?</p><p>Je dois préciser une <strong>chose importante</strong> : cette méthode modulaire, je l&#8217;utilise surtout pour les blocs et les gros éléments, pour les éléments qui structurent et divisent l&#8217;affichage. Il faudrait que j&#8217;envisage de faire un article avec des exemples plus éloquents. <img src='http://bbxdesign.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p><h3>IE6 : 40% de perte de temps</h3><p>J&#8217;ai déjà parlé de ce que l&#8217;on pourrait faire <a href="http://bbxdesign.com/2009/04/27/si-ie6-nexistait-plus/">si IE6 n&#8217;existait plus</a>. En fait, rendre un site compatible IE6, c&#8217;est du débuggage pur et simple. On doit utiliser des overflow:hidden, position:relative, display:inline&#8230; pour aucune raison valable si ce n&#8217;est faire plaisir aux internautes du siècle dernier (ou presque). Sans compter tout ce que l&#8217;on est privé de faire. Bref, une calamité.</p><h3>Nommer les class/id</h3><p>Dans mon souci d&#8217;avoir un code lisible, pour moi et ceux qui retoucheront aux CSS, j&#8217;essaye d&#8217;avoir des noms de class/id simples mais efficaces. Simple, ça veut dire court. Avec 4 lettres, on peut faire pas mal de choses : .bloc, .nav, .main, .side&#8230; J&#8217;ai par exemple remplacé .pagination par .page. Ou mettre .srv au lieu de .service. C&#8217;est pas très méchant et ça permet d&#8217;avoir une CSS bien plus lisible (surtout si l&#8217;on contextualise ET que l&#8217;on met tout sur une ligne).</p><p>Et si je passe autant de temps, c&#8217;est aussi pour éviter d&#8217;appeler un élément &#8220;grillade&#8221; par exemple (alors que ça n&#8217;a rien à voir avec un barbecue). J&#8217;ai vérifié, elle y est encore.</p><h3>Découper les images</h3><p>Dernier point : découper le PSD. On voit directement si un PSD est fait par quelqu&#8217;un qui sait intégrer ou pas. J&#8217;ai de la chance, c&#8217;est souvent le cas. Mais lorsque ça ne l&#8217;est pas, il faut voir les effets de dégradés, les superpositions, les ombres qui dépassent&#8230; qui n&#8217;ont l&#8217;air de rien graphiquement, mais qui sont une calamité à intégrer. D&#8217;ailleurs, c&#8217;est une calamité à cause d&#8217;IE6! Parce que pour IE6, il faut <strong>tout aplatir</strong>! L&#8217;ombre doit aller avec l&#8217;élement qui la fait ET avec l&#8217;élément où elle se projette. N&#8217;est-ce pas logique ? Et bien non. Vive les PNG. C&#8217;est tout.</p><h3>Conclusion</h3><p>J&#8217;ai essayé de faire un rapide panorama de ce que doit faire un intégrateur. On se rend compte que le grand ennemi reste IE6. Les 40% cités correspondent au temps de débuggage, mais je suis sûr qu&#8217;on peut gagner du temps dans les autres domaines (découpage, css, html) si il n&#8217;y avait pas IE6. J&#8217;ai peut-être oublié des éléments, je ne sais pas. Vous avez des idées ? Des remarques ? Des critiques ?</p> ]]></content:encoded> <wfw:commentRss>http://bbxdesign.com/2009/05/06/le-temps-dintegration/feed/</wfw:commentRss> <slash:comments>8</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: basic (User agent is rejected)
Database Caching 15/18 queries in 0.011 seconds using disk: basic

Served from: bbxdesign.com @ 2012-05-22 23:27:30 -->
