Web et sémantique

La sémantique est une notion importante dans le domaine du code. Et ceci pour des raisons différentes, qu’il faut un peu préciser.

Précédent | 5/10 | Suivant

La sémantique

"La sémantique est une branche de la linguistique qui étudie les signifiés, ce dont on parle, ce que l’on veut énoncer. Sa branche symétrique, la syntaxe, concerne pour sa part le signifiant, sa forme, sa langue, sa graphie, sa grammaire, etc. ; c’est la forme de l’énoncé."

(wikipedia)

La sémantique concerne donc les langages en général, et leur relation avec le sens qu’ils véhiculent.
En sémantique, on peut par exemple associer le mot "Lune" et "Douleur" dans le champ sémantique de la poésie alors qu’il n’y a entre ces deux mots aucun lien étymologique ou syntaxique. Au quotidien, nous sommes capables d’identifier des champs sémantiques lors de lecture ou discussion et donc comprendre leur signification. Cela nous permet d’adapter notre langage et nos écrits pour leur contexte de réception.
Dans la phrase "Notre ami Charles nous a quitté bien trop précipitamment" nous pouvons facilement identifier que la signification est que Charles est mort, et que le contexte est celui du respect et de la peine. D’autres verbes appartiennent au même champ sémantique comme s’éteindre, décéder, mourir, disparaitre, crever, passer l’arme à gauche, claquer, etc. mais leur champ sémantique les associe à d’autres contextes. Savoir choisir ses mots, c’est identifier le champ sémantique ambiant et les utiliser en accord ou en rupture avec celui-ci.

Il existe des dictionnaires et des bases de données sémantiques qui relient des mots à des autres par association sémantique, et c’est un domaine d’étude important dans le domaine de l’intelligence artificielle, puisque des tas d’informations sont nichées dans la sémantique. Parfois l’ironie, la moquerie ou la flatterie sont cachés dans les choix sémantiques.
Ceci étant posé, qu’est-ce que la sémantique a à voir avec le web ? Et bien, on parlera de sémantique à 2 niveaux au moins.

Le html est un code sémantique

Le code html est un système de balises (comme la balise <h1> par exemple) qui entourent le contenu des pages, en leur donnant une valeur sémantique. La balise <h1>Truc</h1> permet au navigateur de reconnaitre le mot "Truc" comme étant un titre, et lui donner visuellement une taille plus importante, en accord avec cette fonction sémantique. Coder une page web est donc principalement structurer sémantiquement un contenu complexe composé de titres, de textes, de listes, de citations, etc. avec les balises correspondantes. Une fois ce travail fait, on assure un meilleur affichage de la page, mais aussi un meilleur référencement, puisque les moteur d’indexation et de recherche se base sur ces structures sémantiques pour identifier les différents contenus de la page.

Le web est sémantique

Dans la foulée de cette notion de page sémantique, beaucoup de personnes impliquées dans l’avenir d’internet, Tim Bernes-Lee en tête, voudraient renforcer la sémantique non pas seulement d’une page ou d’un site, mais d’internet tout entier. Ils ont créé le concept de web sémantique avec l’idée que si tout le monde utilise une même manière d’indexer les contenus, le référencement serait tellement facile que le web deviendrait alors une gigantesque base de donnée. On peut penser que c’est déjà le cas, mais en fait non : les pages web sont codées par des personnes différentes, qui utilisent des structures de page différentes, et un même type d’information peut être codé de manière très différent selon les choix des codeurs. Par exemple le site web d’un musée pourrait contenir une page décrivant le déjeuner sur l’herbe de Manet de la manière suivante :

<img src="dsle.jpg">
<h1>Le déjeuner sur l'Herbe</h1>
<div class="auteur">Edouard Manet</div>
<p>1863</p>

L’information est présente, le titre est dans une balise h1, mais l’auteur est identifié par un nom de classe et la date est juste dans une balise de paragraphe. Pour un robot, pas facile de savoir quelle information correspond à quoi...

La question est politique, car si un contenu est ignoré juste parce qu’il est mal structuré, l’information risque d’être uniquement dans les mains de ceux qui "codent bien", au détriment des amateurs qui font des erreurs. Or l’idée des premiers développeurs du net était l’accès démocratique à la création de contenus.