Recherche
Peut être aimerez-vous...
Sections du site
Sites Neamar
Lisez ces articles !
| Présentation de la sémantique Web |
|
| Programmation et tuning - Programmation Web |
| Écrit par Neamar |
| Jeudi, 24 Décembre 2009 18:48 |
|
Petite introduction à l'importance de la sémantique. Qu'on s'y entende bien : tenter de résumer en quelques lignes la sémantique serait comme de vouloir expliquer à un aveugle un panorama somptueux avec trente mots. Mais qu'importe, je vais ici tenter d'en faire une présentation. Je n'ai ni la prétention, ni l'ambition d'en faire plus, mais j'espère que le peu que j'en dirai sera compréhensible. Avant de définir la notion même de sémantique, un petit saut dans le temps me semble utile. Back in the 90'sAu début du Web, les pages Internet étaient mises en forme en HTML. Ce langage mélange dans un même fichier style et contenu : autrement dit, le nom des balises indiquait non pas la fonction, mais la façon dont le texte devait être mis en forme. <b> demandait au navigateur de mettre le texte en gras (bold), <i>de le mettre en italique (italic), <u> de le souligner (underline). Imaginons donc un site communautaire sur lequel de multiples auteurs rédigent des articles. Certains aiment mettre leurs titres en gros, d'autre les soulignent et les graissent… rapidement, on assiste à un foisonnement de style pour une même fonction. En quoi cela pose-t-il un problème ? Bref, une catastrophe à tous les points de vue ! Zorro est arrivé !Se rendant compte de ces problèmes, « on » inventa le xHTML : une évolution du langage HTML qui se voulait plus « sémantique » (on y arrive ! ). Mais il n'y a pas que le webmaster à sauter d'allégresse ! Les visiteurs sont heureux aussi. (Moins de code à charger, puisqu'il suffit de récupérer une seule fois le fichier de mise en forme pour l'ensemble du site. ) Le véritable point fort de la sémantiqueC'est tout ? Mais alors, la sémantique, c'est juste pour les fainéants qui ont la flemme d'ouvrir leurs pages ! Et puis réduire le débit, on s'en fiche ! On a tous de l'ADSL maintenant… C'est vrai (encore que modifier manuellement des dizaines de milliers de pages soit lassant). Mais attendez, il reste un as dans la manche de la sémantique… et cet as, c'est Google ! Car quand Big-G visite votre site, s'il croise une balise « titre principal » (<h1>, pour header1), il sait que cela correspond à une information capitale de la page. Inversement, s'il rencontre une balise petit (small), il saura que le contenu présenté ici est annexe et pas forcément utile ou primordial sur cette page. À ce point là, vous devriez avoir compris que la sémantique correspond à toutes les informations au-delà du texte. Aller plus loin que le xHTML de baseTout va très bien dans le meilleur des mondes ? Hé non, car HTML n'implémente pas forcément toutes les balises nécessaires. Un exemple concret s'impose. Si vous lisez des périodiques, vous aurez remarqué que leurs représentations des siècles en chiffres romains n'est pas écrit en capitales, mais en petites capitales (small-caps, un exemple est présent ici). Comment reproduire cet effet ? xHTML n'offre malheureusement pas de balises toutes prêtes nommée <century> ! Nous pouvons donc définir une classe century qui mettra en petites majuscules et ajoutera automatiquement un e derrière. Tout cela est possible avec les règles CSS, et il suffira de marquer <span class="century">XIX</span> pour obtenir le rendu voulu. Et si un jour on décide de remplacer le e par un ème, cela ne posera aucun problème, puisque cette information sémantiquement vide n'est pas codée directement dans le texte, mais dans le style. Comme je le disais, on peut aussi classer une balise normale ; ce qui permet par exemple de designer différemment le premier sous titre de chaque section, ou de définir différents types d'emphase (mot important, mot traduit, mot étranger… ). Les possibilités sont presques infinies ! L'utilisation de la sémantique permet donc de garder un contenu cohérent et facilement éditable, sans pour autant sacrifier à la mise en forme du texte. Dangers à éviterAttention cependant, deux écueils se présentent à l'éditeur de contenu « sémantique ». Le premier, c'est de vouloir abuser des bonnes choses. Après tout, si Google apprécie les titres, pourquoi ne pas mettre tout mon texte en titre ? Il suffit de dire dans le CSS que la balise titre doit s'afficher comme du texte normal, et l'utilisateur n'en saura rien… et j'aurais floué Google. Dans le concept, c'est vrai… dans la pratique, des générations de webmasters s'y sont tentés et Google n'est pas bête ; il sait détecter une utilisation abusive. De plus, si vous procédez ainsi, du contenu secondaire sera mis en avant dans les résultats de recherche au détriment du vrai contenu : bref, vous y perdez plus que ce que vous y gagnez. Seconde idée, encapsuler sans réfléchir. Je mets mon article dans une boîte qui contient deux articles qui est dans une boîte avec tous les articles que je place dans une boîte qui contient le contenu de la colonne centrale de mon site, laquelle boîte est doublée avec une classe différente que je place dans une boîte englobant l'intégralité de mon site que je place dentre les balises body. Stop ! On peut effectivement obtenir ce type d'architecture si votre contenu est complexe, mais préférez toujours une structure simple et concise. Dans la même optique, minimisez le nombre de tableaux : sémantiquement, un tableau permet de représenter des données, pas de paramétrer la façon dont ces données doivent être affichées ! C'est le cheval de bataille des webmasters modernes : éradiquer l'ennemi <table> lorsqu'il est utilisé pour faire un design en colonnes (menu à gauche, contenu au milieu, informations à droite par exemple). En conclusionVoilà qui clôt cette introduction sommaire au problème complexe de la sémantique. |
| Mise à jour le Vendredi, 25 Décembre 2009 20:18 |
