Les standards ouverts du Web aident et facilitent le développement d’applications Web. Ils sont nombreux et il arrive que certaines bonnes pratiques recommandées par un standard contreviennent au respect d’autres bonnes pratiques définies par un autre standard.
Le cas des bonnes pratiques d’internationalisation en est un bon exemple. Du point de vue des bonnes pratiques du protocole HTTP, il est recommandé qu’à une ressource, une seule adresse lui soit associée. Du point de vue des bonnes pratiques de développement pour l’optimisation d’un site Web pour les moteurs de recherches [SEO], il est de bon aloi d’inclure des mots clefs à même l’URI. Il est donc tout à fait normal que l’adresse d’un document écrit en russe, par exemple, ne se retrouve pas à la même adresse que la version française du même document.
Le protocole HTTP
Le protocole HTTP prévoit un code 300 lorsque plusieurs documents correspondent à un URI demandé. Ainsi, pour plusieurs traductions d’un même document, un seul URI existe. Ce n’est pas un hasard si ce code est prévu à l’intérieur du protocole HTTP. Il est important de pouvoir localiser un certain contenu à partir d’une adresse et, si un document est disponible en plusieurs formats ou plusieurs langues, une réponse HTTP avec un code 300 fournit une liste des options sous forme d’URI. Cela simplifie grandement les échanges d’informations.
Une ressource, une adresse.
En configurant mon navigateur Web de façon adéquate, il est possible d’indiquer aux différents serveurs Web les préférences linguistiques de l’agent Web – le navigateur. Par exemple, si un hispanophone envoie l’URL d’un article qu’il a lu à un francophone, en naviguant vers cette URL, il sera possible pour le francophone d’y voir la version française de façon automatique.
Il est beaucoup plus convivial d’échanger une adresse comme « http://www.w3.org/International/questions/qa-i18n.html » que d’avoir à transformer une adresse comme « http://www.w3.org/International/questions/qa-i18n.es.php » et de trouver l’équivalent en anglais « http://www.w3.org/International/questions/qa-i18n.en.html » avant d’envoyer l’hyperlien!
Pour ceux qui souhaiteraient voir le code HTTP 300 dans toute sa splendeur, vous pouvez vous diriger vers l’adresse suivante : http://www.w3.org/International/questions/qa-i18n.php.
Les bonnes pratiques d’optimisation pour les moteurs de recherches
Une bonne pratique d’optimisation d’un site Web pour les moteurs de recherches est d’utiliser des mots clefs pertinents dans la structure même d’un site Web – donc dans l’adresse d’une ressource.
Par exemple, un article sur l’internationalisation devrait se retrouver à l’adresse « http://www.exemple.com/articles/internationalisation.html ». Et comme « articles » et « internationalisation » s’écrivent de la même façon en anglais et en français, il n’y a pas de problème.
Qu’en est-il de la traduction dans une autre langue? Prenons l’exemple du chinois. Afin d’optimiser le référencement sur « http://www.google.cn/, il faudrait très certainement traduire les mots « articles » et « internationalisation » en chinois.
Une ressource, plusieurs adresses.
Là où le bât blesse…
Le hic, c’est qu’en voulant respecter une bonne pratique d’optimisation pour les moteurs de recherches, voilà que nous ne respectons plus un principe de base souhaité par l’inventeur du Web lui-même, Tim Berners-Lee.
Un vent de popularité des bonnes pratiques de développement Web souffle en ce moment sur la communauté de développement Web, tant auprès des intégrateurs que des développeurs. L’évolution du Web est exponentielle et nous voyons émerger de bonnes pratiques auxquelles il aurait été même impossible de penser il y a de cela aussi peu que cinq ans, les technologies sur lesquelles reposent ces bonnes pratiques n’existant même pas à ce moment.
Nul n’est besoin de répéter ici l’ensemble des bénéfices de l’utilisation des bonnes pratiques de développement pour le succès d’un projet, mais serait-il possible que les bonnes pratiques deviennent victimes de leur propre succès? En rédigeant trop rapidement ces pratiques, des incohérences comme celle mise en lumière dans cet article peuvent apparaitre.
Se pourrait-il que la différence entre un développeur Web et un bon développeur Web ne réside plus dans sa capacité à respecter les bonnes pratiques de développement, mais bien dans sa capacité de bien déterminer et prioriser, selon le projet, les bonnes pratiques à utiliser?
Liens d’intérets
- An Introduction to Multilingual Web Addresses
- Introducing Character Sets and Encodings
- La norme HTTP 1.1 [en anglais]
#1 by Jimmy on 20 mars 2009 - 8 h 58 min
Un commentaire et une question.
Il est bien de considérer la langue de fureteur comme langue par défaut donc ce qui est envoyé dans la requête HTTP. Par contre, côté pratique, un site doit toujours avoir une manière facile de changer la langue d’affichage. Quand je dis facile, je veux dire un lien dans le haut de chaque page par exemple. Il ne faut pas obliger l’utilisateur à passer par les options de fureteur, car cette option n’est pas connue de tout le monde. Donc, il faut la langue dans le lien.
Question :
Il est vrai qu’il ne doit jamais avoir deux liens qui pointent vers exactement le même document. Par contre si je fais un texte sur un sujet en français et je le traduis en anglais, est-ce correct de considérer mon document français et mon document anglais comme deux documents différents? Donc il est normal d’avoir un hyperlien pour chaque document.
#2 by Samuel Sirois on 12 avril 2009 - 9 h 04 min
Commentaire très juste : il ne doit pas être nécessaire de modifier les options du navigateur afin d’être en mesure d’afficher un site dans une langue ou une autre. Par contre, je préciserais que cela n’oblige pas le programmeur Web à inclure la langue à l’intérieur même de l’URL.
En fournissant un mécanisme de changement de langue à l’intérieur même d’une page Web (une liste déroulante des langues disponibles par exemple), il est possible d’inclure untémoin à l’intérieur des échanges subséquents entre l’agent utilisateur et le serveur. C’est en donnant priorité à ce témoin qu’il sera possible d’afficher l’ensemble des pages du site Web dans la langue choisi par l’utilisateur sans qu’il lui soit nécessaire de connaître tous les rouages de son fureteur Web préféré. Ainsi, les bonnes pratiques HTTP peuvent être respectées.
Cela nous ramène au sujet de l’article : en souhaitant respecter une bonne pratique de développement Web, il est possible d’entrer en contradiction avec d’autres bonnes pratiques.
#3 by Samuel Sirois on 12 avril 2009 - 8 h 44 min
Cette question est fort pertinente, et loin d’être trivial. J’aurais pu répondre sur-le-champ, mais je crois que la question méritait vraiment que je prenne le temps de répondre intelligemment. Cela m’a pris un certain temps, mais j’ai finalement recueilli l’information que je crois nécessaire afin de tenter de répondre à cette question.
Sans vouloir engager officiellement les personnes qui m’ont aidé puisque ce commentaire est mon interprétation personnelle de leur apport et s’il y a erreur ou scandale : je tiens à prendre le blâme, j’aimerais remercier les gens qui ont pris le temps de me donner leur point de vue sur cette question. J’ai recueilli des informations de la part d’un bibliothécaire, d’une communicologue, d’une juriste ainsi que d’une traductrice.
Le bibliothécaire…
Force est de constater que deux traductions d’un même document sont deux documents différents. En fait, pour les bibliothécaires, il est même nécessaire d’inclure une réalité d’exemplaire en plus d’un document. L’exemplaire étant dicté par la manifestation physique d’un document.
La communicologue…
La traduction d’une même communication serait le même document. Le message étant le même, et s’adressant à un même public cible – à la différence près de la langue – les deux traductions d’un même message seraient considérées comme un même document.
La juriste…
Seul le document original a force de loi. La mise à disposition d’une traduction d’un document est une délicate attention afin de faciliter la compréhension d’un document, mais il sera nécessaire de se reporter au document original en tout temps si une interprétation juridique doit être faite. Les deux traductions n’ont pas la même valeur juridique et j’en conclus donc que deux traductions d’un document représentent deux documents différents.
La traductrice…
La traduction d’un document ne serait pas le même document. La traduction comprend également une bonne part de localisation (adaptation à la culture de la langue d’arrivée). En retraduisant le document traduit, les probabilités de revenir au document d’origine sont très faibles.
Résultats
Peut-on vraiment trancher? Je crois que le point de vue de la communicologue n’est pas si loin de la réalité du Québec. Peut-on parler de localisation d’une traduction alors que l’on souhaiterait s’adresser aux gens d’une même ville?
Et le Web dans tout ça?
Dépendant de l’angle d’analyse choisi, deux traductions peuvent s’avérer être un même document ou bien deux documents. Serait-il possible de déterminer un angle Web et ainsi trancher la question? J’en doute fort. Notre travail est de répliquer un domaine d’affaires dans le monde numérique afin de faciliter le travail de nos clients. Je crois bien que nous sommes dans une impasse et que nous devrons adapter notre interprétation de ce qu’est une traduction au cas par cas.