5546 sujets

Sémantique web et HTML

Bonjour à tous,
Nous développons actuellement un site à quatre mains (php5.6, xhtml 1.0 transitional). Mon associé m'a très élégamment fait remarqué que : "ça ne sert à rien d'utiliser les caractères spéciaux html -type ' é ect...- vu qu'on est en utf8, ça fait 10 ans qu'on ne code plus comme ça!"
J'ai noté deux informations dans cette remarque.

La première, la plus évidente, "tu es vieux !" Je prends sur moi, je relativise et me dit qu'après tout, j'ai connu les K7, les VHS et le minitel, que mes premiers salaires étaient en francs (nouveaux merci bien!) donc peut-être qu'il n'a pas tout à fait tort et que pour les nouvelles générations, à 40 ans on est un vieux papi dans la programmation.

Par contre la deuxième information me fait plus peur : "tu es dépassé!".
Je me tourne donc vers vous pour avoir un complément d'information. Est-ce que les caractères spéciaux en HTML font partie de la préhistoire et ont-ils encore un intérêt? (Je pensais qu'on devait toujours les utiliser, qu'en cas d'encodage justement l'affichage serait toujours garanti).

Qu'en est il?

Merci à vous.
Salut !

Moi j'ai bientôt 43 ans, donc les K7, VHS et les francs nouveaux, moi aussi j'ai connus (surtout que dans mon coins tout le monde parlait encore en anciens francs). Mais je code seulement depuis 10 ans, je dois donc être une sorte de "vieux-jeune" Geek... Dans tous les cas ça ne nous empêche pas de développer "tendance" avec Node.js et d'être toujours à la pointe en testant par exemple les nouveaux modules CSS GridLayout. Et puis votre collègue vous avez qu'à lui dire que "coder moderne" ça commence par coder sur une version potable de php (la 7), pas avec la 5.6. Et toc !

Bref, de mon point de vue, à moins d'envisager une rétrogradation de sa base de données sous des jeux d'encodages antérieurs à la norme UTF-8, l'intérêt d'utiliser les entités HTML est effectivement très limité (surtout que l'on se dirige lentement mais sûrement vers l'UTF-16). Je n'utilise, perso, que l'espace insécable ( ).
Modifié par Olivier C (11 Sep 2017 - 15:22)
Administrateur
Olivier C a écrit :
Je n'utilise, perso, que l'espace insécable ( ).

J'ai tendance à avoir le même avis (et le même âge Smiley smile ), avec quelques entités complémentaires :
- &
- …
- < et >

Pour tout le reste, l'unicode est fantastique !
Pour moi qui ai près de deux fois ton âge, je n'utilise plus les &...; dans le HTML (même si   est plus lisible que le caractère utf-8 correspondant).
Par contre on ne peut pas aisément se passer de ' > < et & dans les fichiers xml.
L'utf-8 est actuellement le standard de fait. C'est un bidouillage innommable pour conserver une compatibilité ascendante avec les fichiers antérieurs à son adoption, mais dans la pratique on n'y pense plus une fois qu'on a fait la conversion, ce qui peut prendre quelques jours, ou quelques semaines si on a un gros site avec bdd. Smiley sweatdrop
Je vous recommande de faire le saut sans trop attendre... Smiley smile
Raphael a écrit :
Pour tout le reste, l'unicode est fantastique !

Oui mais non en fait : les items de la page en lien par exemple ne s'affichent pas tous sur mobile, et même sur desktop on peut avoir des différences de rendu. Du coup j'ai abandonné cette approche.
Modifié par Olivier C (11 Sep 2017 - 23:17)
Olivier C a écrit :

Oui mais non en fait : les items de la page en lien par exemple ne s'affichent pas tous sur mobile, et même sur desktop on peut avoir des différences de rendu. Du coup j'ai abandonné cette approche.


Olivier peux-tu me donner quelques explications stp? Tu veux dire que même avec un encodage utf8 correctement effectué il peut y avoir des problèmes d'affichage sur certains navigateurs? Lesquels? Des vieux IE et/ ou des navigateurs orientés mobile?
Et qu'appelles -tu les "items de la page en lien?

Sinon merci à tous pour vos réponses
Modérateur
C'est à propos des caractères Unicode donnés en liens par Raphaël. Le problème c'est que c'est des caractères spéciaux qui ne sont pas contenu dans toutes les polices de caractères. Les mobiles sont souvent plus fragile dessus car ils ont souvent des polices plus légères et moins de polices (pour les fallback). Mais le problème est exactement le même si on utilise l'entité HTML, de toute façon si on a pas le caractère dans la police.
Mon commentaire concernait cette page : Icones web Unicode.

Et donc, malgré l'enthousiasme de Raphaël sur son blog, j'ai souvent été confronté à une représentation aléatoire de ces caractères spéciaux en fonction des navigateurs, et c'est de plus en plus vrai avec les navigateurs récents ( ex : ???????? ????????????????????? ). Je leur préfère donc, de loin, une font dédiées que je génère en fonction de mes pictogrammes, comme ici :
Glyph Icons.

Ma police est générée à partir de SVGs placés dans un dossier grâce à ce script : Github.

Sinon, le SVG c'est l'avenir.
Olivier C a écrit :
( ex : ???????? ????????????????????? )

Tiens ben justement ces caractères ne sont pas passés sur le forum, mais je crois que la raison à l'origine de ce problème est un traitement des strings côté serveur...
Ok merci pour ces précisions.
C'est vrai que moi aussi j'utilise des fonts dédiées pour mes pictogrammes.
J'ai pu me faire une meilleure opinion sur le sujet grâce à vos réponses.

Merci à tous
Les entités HTML gardent toute leur pertinence face à des serveurs / navigateurs récalcitrants.
J'ai récemment été contraint de les utiliser au boulot pour des pages Wiki générées automatiquement et envoyées sur du GitLab, pourtant correctement encodées en UTF-8, provoquaient ni plus ni moins qu'une "internal error" sur le retour navigateur.
Les mêmes pages, toujours en UTF-8 mais avec entités HTML, passaient sans problème.