5568 sujets

Sémantique web et HTML

Je poste ici car je veux obtenir des URLs "porteuses" de sens en utilisant mod_rewrite.

Voici ma règle de test :
RewriteRule ^/news-([0-9]+)  /lire_news.php?id=$1  [L]
Celle-ci marche très bien par contre, si je met cette règle :
RewriteRule ^/news/([0-9]+).*$  /lire_news.php?id=$1  [L]
Alors là, ça ne marche plus du tout.

Des solutions ?
Modifié le 22 Nov 2004 - 09:06
Les URLs "porteuses" de sens sont effectivement une question de sémantique, mais ton problème en est un de langage coté serveur. Je te dirige vers http://www.webmaster-hub.com/ ou http://www.webrankinfo.com/. On y traite justement de ce sujet.

Précisément : URL Rewriting et .htaccess

Tu peux également faire la recherche suivante :
Rechercher mod_rewrite sur Google

Note : Est-ce que tu peux changer ton titre pour "URLs porteuses de sens" sinon je vais devoir déplacer en forum général.

Merci !
Modifié le 22 Nov 2004 - 05:25
Hum... Question de sémantique, pas vraiment.

Le sens éventuel induit par la forme d'une URI n'est destiné en fait qu'à l'utilisateur humain (On peut d'ailleurs se demander ici si la différence entre news-1 et lire_news.php?id=1 est vraiment essentielle pour lui).

Les "machines" qui sont la cible des données sémantiques ne peuvent et doivent inférer de la forme d'une URI qu'un nombre très limité (et problématique) d'informations sémantiques sur la ressource concernée:
- par exemple, un "mailto:webmaster_at_alsacreations.com" se réfère à un schéma normalisé et explicite (mailto).
- un "http://forum.alsacreations.com/robots.txt" ou un "http://forum.alsacreations.com/favicon.ico" font allusion à des "standards de fait" problématiques.

Mais, du point sémantique :
- "http://example.org/news-1/"
- "http://example.org/?id=azertyuiop123456789"
- "http://example.org/tagada-tsoin-tsoin/"
- "http://example.org/mon_canard_de_bain/"
... sont strictement indifférents et ne véhiculent pas plus d'information sur la ressource les uns que les autres.
C'est le principe d'opacité des URI.
Un oubli : on peut se demander quelle sera l'intérêt pour l'utilisateur, dans 10 ans de news accumulée, d'une URI ".../news-5874125/" et quel sens il pourrait bien en extraire ?

A la rigueur, la présence d'une information de date serait plus pertinente : ".../news/2004-11-22/".

Quoiqu'elle poserait le problème du système de référence culturel de la date en question (Elle est ici au format normalisé requis en HTML, mais rien ne l'indique à l'utilisateur). Voir http://www.w3.org/International/O-time et http://www.w3.org/International/questions/qa-date-format

Smiley edit
Autre possibilité justifiée par l'ergonomie: la présence de mots-clé dont l'utilisateur peut associer le souvenir avec le contenu de la news. De la sorte, une simple recherche dans son historique de navigation (s'il a un navigateur évolué) lui permet de retrouver la page en question:
Avec un URI "http://example.org/news/2004-11-22/canard_de_bain/", Opera me permet de retrouver immédiatement la page dans l'historique en saisissant soit la date, soit tout ou partie du mot-clé.

Mais là, on tombe sur un autre mécanisme qui, lui, a été conçu pour ça: le <title> du document. Il est également exploité par le moteur de recherche de l'historique dans un bon navigateur; il est prévu pour décrire la ressource; il est bon pour vous... mangez-en ! Smiley cligne

[/edit]
Modifié le 22 Nov 2004 - 06:31
Alors peut-on dire qu'une URLs "porteuse" de sens est "porteuse" de sens seulement pour l'humain et n'est pas utile dans un Web sémantique ?

<edit>
Décidément, on finit toujours par se planter avec ce mot (sémantique).
</edit>
Modifié le 22 Nov 2004 - 06:49
Oui pour l'humain.

Mais: non, ce n'est pas inutile dans le Web sémantique !

Simplement limité à un champ de possibilités déjà normalisé (Par exemple, un simple "http" est déjà une information sémantique sur une ressource). Ce champ est peut-être extensible à certaines données supplémentaires (voir http://www.w3.org/2001/tag/issues.html#metadataInURI-31 ) mais manifestement pas à des informations telles que le "news" visé ici.
Stephan a écrit :

<edit>
Décidément, on finit toujours par se planter avec ce mot (sémantique).
</edit>


AMHA, une bonne règle quant à ce terme est de se souvenir que la sémantique Web est destinée à permettre aux "machines" de réaliser des tâches. Pour cela, il faut que le "sens" ait été pré-défini dans des références normalisées exploitables par les machines (le balisage HTML, le Dublin Core, FOAF... ).

Elle ne correspond en effet souvant pas du tout à notre notion intuitive (qui serait plutôt "du contenu signifiant pour le lecteur", ici dans une URL), et ne s'adresse pas directement à l'utilisateur.
Stephan a écrit :
Il semble qu'il y est une différence entre URI et URL mais je n'ai pas eu le temps de lire. Je le ferai plus tard.

http://websemantique.org/URI
http://www.la-grange.net/2003/10/02.html

<edit>
URI => Uniform Resource Identifier
URL => Uniform Resource Locator (world wide web address)
</edit>


Disons qu'une URL peut être une URI, mais que ce n'est la seule source possible d'URI, et qu'URI et URL n'obéissent pas aux même contraintes.

L'URL est une adresse, un chemin à suivre avec nécessairement quelque-chose au bout.

Une URI est finalement peut-être simplement le nom d'une chose dans le Web sémantique.

Dans un cas limite, même si l'URL "http://laurent.denis.name" ne mène nulle part et que le nom de domaine n'existe pas, elle permet tout de même de créer l'URI identifiant "Laurent Denis", et de parler de lui dans différentes ressources. La présence de cette URI dans ces ressources dispersées permettrait à un moteur de recherche sémantique de trouver toutes les resssources parlant de Laurent Denis.
Pour répondre à Laurent Denis, je faisais simplement des tests. Le but étant justement d'obtenir des URL de la form news/2004/11/22/canard_de_bain. Mais pendant mes tests, je ne vais pas m'amuser à changer le traitement PHP.

Ensuite, si je l'ai bien compris, vous parlez de la sémantique du point de vue machine et non pas utilisateur ?

PS : Pour le problème initial, je vais aller consulter les liens.
rik24d a écrit :

Ensuite, si je l'ai bien compris, vous parlez de la sémantique du point de vue machine et non pas utilisateur ?


Lectures suggérées :
The Semantic Web par Tim Berners-Lee, James Hendler, Ora Lassila.
Version française par Elisabeth Lacombe et Jo Link-Pezet.
Disons pour faire simple que les URL "lisible" (Friendly URL) tiennent plus de l'ergonomie (confort d'utilisation et de compréhensiont de l'internaute) que de la semantique (donner du sens a des éléments qui pourraient être mal interprété... surtout par les machines !)
Je reviens sur ce sujet car je ne saisis toujours pas les concepts d'URL, d'URI et d'URN.
Pour moi, tout cela reste très flou. Smiley decu

Auriez-vous trois bonnes définitions ou un comparatif à me proposer pour m'éclairer ?
Une URI identifie une chose, et permet de la distinguer de n'importe quelle autre chose. Elle n'y donne pas forcément accès, même si les URI les plus évidentes le font (voir ci-dessous).
Elle respecte une syntaxe normalisée, du type (simplifié):
scheme:chemin?query#fragment

Exemples d'URI (non limitatifs), où on reconnait facilement cette syntaxe :

ftp://ftp.is.co.za/rfc/rfc1808.txt
http://www.ietf.org/rfc/rfc2396.txt
mailto:John.Doe@example.com
news:comp.infosystems.www.servers.unix
tel:+1-816-555-1212
telnet://192.0.2.16:80/
urn:oasis:names:specification:docbook:dtd:xml:4.1.2

Les URL sont des URI qui, outre l'identification de la ressource, permettent de la localiser à l'aide d'un protocole d'accès : http est le plus connu.

Les URN sont des URI qui, outre l'identification de la ressource, permettent de la nommer (ce qui renvoit à d'autres normes spécifiques définissant les manières de nommer...)
Laurent Denis a écrit :
Une URI identifie une chose, et permet de la distinguer de n'importe quelle autre chose. Elle n'y donne pas forcément accès, même si les URI les plus évidentes le font (voir ci-dessous).
Elle respecte une syntaxe normalisée, du type (simplifié):
scheme:chemin?query#fragment

Exemples d'URI (non limitatifs), où on reconnait facilement cette syntaxe :

ftp://ftp.is.co.za/rfc/rfc1808.txt
http://www.ietf.org/rfc/rfc2396.txt
mailto:John.Doe@example.com
news:comp.infosystems.www.servers.unix
tel:+1-816-555-1212
telnet://192.0.2.16:80/
urn:oasis:names:specification:docbook:dtd:xml:4.1.2

Les URL sont des URI qui, outre l'identification de la ressource, permettent de la localiser à l'aide d'un protocole d'accès : http est le plus connu.

Les URN sont des URI qui, outre l'identification de la ressource, permettent de la nommer (ce qui renvoit à d'autres normes spécifiques définissant les manières de nommer...)



Merci, cette définition m'aide à mieux comprendre, mais pour que ce soit encore plus clair, est-ce que tu aurais un exemple d'une URI qui ne serait pas une URL ou une URN ?