Finalement tous mes efforts pour faire du web quelque chose de comparable au “print” sont vains. Depuis quelque temps j’essaye d’intégrer une mise en place de la césure optionnelle dans les textes affichés (billets et commentaires) afin d’obtenir un gris typographique du plus bel effet sur des textes justifiés. J’ai donc récupéré un code qui permet de le faire pour quelques langues comme le français, l’anglais, etc. Dans l’absolu pas de soucis. La transformation s’applique correctement, bien qu’elle augmente de manière significative la taille des textes enregistrés dans la base de données. Mais quand on aime la belle typo, on ne compte pas, n’est-ce pas ? Tous les navigateurs ont l’air de le supporter correctement, la vie est belle.
Et puis quelqu’un m’a demandé comment le moteur de recherche de Dotclear allait réagir à la présence de cette entité (­
) dans les mots. Évidemment l’indexation n’en tient pas compte, en fait il considère ce caractère spécial comme n’importe quel autre caractère — ainsi le mot “discipline” sera indexé sous la forme “disci­pline” et pas sous sa forme naturelle — ce qui dénature complètement cette fonction. J’ai alors décidé de ne plus enregistrer la mise en place de la césure optionnelle mais de faire en sorte de l’appliquer uniquement au moment de l’affichage. On retrouve alors un moteur de recherche fonctionnel et une économie au niveau de la place occupée dans la base de données, tout ceci au détriment — que je n’ai pas expressément mesuré — de la vitesse d’affichage des pages HTML, puisque les caractères de césure sont dorénavant mis en place à la volée dans les textes juste avant leur affichage.
Et puis quelqu’un — le même d’ailleurs — m’a demandé comment les moteurs de recherche comme Google et consort allaient réagir à la présence de cette entité. Et bien soit ils réagissent comme le moteur de Dotclear, à savoir qu’ils considèrent ce caractère comme n’importe quel autre caractère constitutif du mot, soit, comme Google, comme un caractère séparateur de mot tout comme l’espace, le tiret, etc peuvent l’être. Du coup un texte correctement modifié pour permettre la césure, ce que prennent en compte les moteurs de rendu des navigateurs, n’est plus du tout indexé correctement par les moteurs de recherche !
Conclusion, il n’est pas possible aujourd’hui de proposer une césure optionnelle qui soit efficace et non intrusive pour les moteurs de recherche. Il va falloir attendre que ces derniers s’adaptent, ce qui peut prendre un certain temps voire même un temps incertain, et supprimer cette fonction en attendant des jours meilleurs. Peut-être d’ailleurs que les générations futures de nos navigateurs auront la bonne idée d’appliquer la césure eux-même, sans troubler les robots d’indexation et rendront du coup obsolète cette entité HTML qui existe pourtant depuis 1993 (au moins) !
Dommage…
1 De Jean-Michel -
Étant maquettiste “print”, le web me limite parfois mais aussi me surprend par d’autres possibilités.
2 De lipki -
J’ai envie de réagir, surement parce-que je suis poussé par la même besoin d’appliquer les règles typographique au web.
Alors il faut que je te rassure … eu … voila … oui donc la césure c’est bien ! … Y’a forcément une solution, c’est étrange …
A tiens ! Et pourquoi ne pas appliquer cette césure via du js.
Après tout, la césure n’a pas de valeur sémantique, donc elle n’a rien a faire dans le code html.
Qu’en pense tu ?
3 De gilda -
Je ne comprends pas tout, mais je sais que par ici
d’autres personnes se coltinent de semblables problèmes et qu’on peut tenter de leur écrire par là..
4 De Franck -
La césure n’a pas de valeur sémantique, c’est vrai, pas plus qu’une espace. Elle est cependante utilisée pour rendre la lecture plus confortable.
C’est vrai qu’un script javasscript chez le visiteur, par conséquent ignoré par les robots d’indexation, pourrait convenir. Je vais évaluer cette possibilité.
Gilda, merci pour les liens que je vais m’empresser d’aller consulter.
5 De samantdi -
Oh comme il est beau ce nouveau thème ! Très beau ! Félicitations !
6 De Franck -
Finalement j’ai un peu exploré les solutions javascript et je pense que je vais en faire un plugin à part d’ici quelque temps.
7 De lipki -
houhou \o/
j’aime pas les mots pas possible.
8 De Florent V. -
Bonjour,
Pour ma part, j’aurais tendance à déconseiller la solution JavaScript. Il faut bien mettre en balance le gain esthétique obtenu (je limite la question des césures à l’esthétique car si on n’a pas de gestion des césures… on n’utilisera tout simplement pas le texte justifié, en tout cas pas en dessous de 400 ou 500px de large!) et l’impact en termes de performance.
Charger 50ko de JS supplémentaire et surtout rajouter un temps d’exécution JS non négligeable, ce n’est pas anodin. Il faudrait mesurer l’impact en temps d’exécution du script de césure, mais je soupçonne quelque chose d’assez handicapant.
Au niveau de la production d’un texte avec
shy
, je me demande s’il y a une différence pour les moteurs de recherche entre l’entité HTML­
et le caractère littéral en UTF-8. Il se pourrait que le caractère littéral ne soit pas pris en compte et ne gène pas le référencement. Auquel cas, il redevient intéressant de gérer des césures comme un filtre côté serveur, le filtre devant être appliqué à l’enregistrement des contenus, comme le font certains CMS comme — sauf erreur de ma part — Dotclear ou Spip. Pour la recherche interne, on pourra faire la recherche sur les contenus non filtrés.Pour finir: césures et espaces ne sont pas comparables. Les espaces ont un sens dans un certain nombre de langues (ils séparent les mots), tandis que les césures sont un dispositif ergonomique. Quant à parler de sémantique… ce n’est pas pertinent ici, la sémantique au sens «techniques du Web» étant quelque chose de sensiblement différent.
9 De Franck -
Florent je serais assez enclin de suivre ces propos et de ne pas proposer de césure du tout. Ceci dit, parce que ça m’intéresse, je vais essayer d’en faire un plugin — je parle de la solution javascript — et ceux qui voudront l’adopter le feront, libre à eux. Il va sans dire que je préviendrai des inconvénients le concernant.
Quand aux moteurs de recherche, la question reste en suspens car aucun ne gère correctement la présence de ce caractère, qu’il soit codé sous forme d’entité html ou avec la forme UTF-8. L’idée d’enregistrer la transformation dans la base était d’ailleurs la solution que j’avais choisie (et qui d’ailleurs est toujours celle qui est en œuvre dans la dernière version publiée du plugin).
10 De Franck -
Oups j’ai dit une bêtise ! La césure n’est plus enregistrée dans la base comme je le disais dans mon commentaire précédent, mais insérée à la volée juste avant l’affichage.
11 De Joël -
Je suis plutôt de l’avis que les possibilités de césure ne devraient pas apparaître dans les fichiers HTML. Je pense que cela devrait se régler au niveau du navigateur (qui pourrait appliquer des règles de césures différentes suivant la langue en se fiant aux tags lang).
En général, je suis assez sceptique sur la possibilité de le faire automatiquement sans avoir jamais de problèmes. En tant que mathématicien, j’utilise souvent le logiciel LaTeX pour écrire des textes ; sur des documents de quelques dizaines de pages, on observe régulièrement des paragraphes de textes qui ne peuvent pas bien se formater et il faut intervenir manuellement pour effectuer des réglages fins de césure ou d’« élasticité » pour reserrer un tout petit peu plus certaines lignes ou autoriser des espacements entre mots un poil plus large pour que le paragraphe soit présentable. Bref, dans une certaine mesure, la finition relève de l’artisanat ; je doute qu’elle puisse être réalisée automatiquement dans le cas général, d’autant plus que pour le Web, il faudrait une assez grande souplesse pour que cela s’affiche bien partout. Finalement, je pense que si on juge qu’un bout de ce qu’on a écrit mériterait une typographie plus irréprochable, une solution acceptable serait de fournir à côté un fichier PDF…
12 De Franck -
Oui Joël je suis d’accord avec ton discours. Ceci dit, il reste encore pas mal de boulot aux développeurs des navigateurs et en parallèle à ceux qui produisent du contenu pour les rendre compatibles les uns et les autres avec un système de césure automatique. L’idée sur le Web n’étant pas d’atteindre la perfection mais d’approcher le niveau maximum de confort pour la lecture.