Ca me fait penser que aux liens wikipédia qui contiennent des ancres (après un #) derrière le nom d'un article : si on les écrit en clair, les navigateurs de cartes OSM ne savent pas les convertir correctement en ancres selon le codage utilisé par MediaWiki (ce codage est pas de l'URL-encoding comme le nom de l'article, par exemples caractères accentués comme 'é' sont codés non pas avec la notation hexadécimale %xx des octets de codage UTF-8, mais sous la forme ambiguë ".nn" qui ne sait pas faire toutes les distinctions avec le point littéral "." qui n'est, lui, pas réencodé).
De plus les ancres dans un article ne sont pas forcément stables non plus si un titre de sous-section est utilisé plusieurs fois dans la page (pour ça on conseille dans les pages Wikipédia de coder une ancre stable avec un code comme <span id="xyz" /> vide, utilisable dans les ancres publiées dans les liens externes. En effet, dans ce cas, MediaWiki ne vas pas se contenter de réencoder le titre de section mais il va lui ajouter un suffixe numérique selon un algorithme non stable (qui peut changer si des sections sont ajoutées avant la section référencée). Plein de questions (désolé pour la longueur de ce qui suit) : Devrait-on mettre alors dans OSM ces ancres instables dans les URLs ? Ne devrait-on pas les éliminer ? Et aucun outil de QA ne vérifie le codage ou même l'existence de ces ancres. La plupart du temps elles ne marchent pas et on reste en tête de l'article affiché, ou bien on pointe sur la mauvaise section homonyme quand celui-ci a été remanié/restructuré (modification du contenu du sommaire). Si les URL avec ancres sont utilisées pour distinguer divers objets OSM décrits dans le même article Wikipédia, mais dans des sections différentes (qui pourraient devenir ensuite des articles séparés) ne devrait-on pas simplement ne pas renseigner du tout l'URL WIkipédia tant que le titre de l'article général n'est pas applicable à ces seuls objets ? (afin de ne garder dans OSM que les liens Wikipédia des objets "conteneurs" qui décrivent un ensemble. Erreurs courantes fréquemment rencontrés: - des tags comme "wikipedia=fr:http://fr.wikipedia.org/wiki/Xyz_Abc" Osmose propose tout aussi incorrectement "wikipedia="wikipedia=fr: http://fr.wikipedia.org/wiki/Xyz Abc" (recodage de l'espace) car il ne détecte pas que le nom après "fr:" n'est pas un nom mais une URL complète. Des utilisateurs confondent régulièrement le préfixe d'un nom et en mettent avant une URL complète. Dans des cas comme ça Osmose ne devrait pas tenir compte du tout du préfixe ("fr:" ici) mais regarder l'URL qui est après (qui commence par "http://" ou "https://") pour analyser le nom de domaine (vérifier qu'il est bien de la forme "<lang>.wikipedia.org" et que le chemin est de la forme "/wiki/<Xyz...> et alors proposer "wikipedia=<lang>:<Xyz...>" après avoir contrôle le codage de "<Xyz...>" (donc sans souligné "_" ni URL-encodage des octets UTF-8 "%nn". Osmose ne sait pas non plus vérifier que l'URL-decoding des séquences de "%nn" trouvées dans le tag donne bien de l'UTF-8 valide (on tombe sur ces cas quand une URL a été mal copiée, souvent tronquée, ou un caractère supprimé ou ajouté par erreur). Dans un cas comme ça, il ne peut pas proposer de correction, mais doit demander de rechercher sur Wikipédia le vrai nom (les deux moteurs de recherche de Wikipédia en général s'en sortent bien quand on lui donne l'URL mal codée telle qu'elle est, il trouve la plupart du temps l'article, et encore mieux avec le nouveau moteur expérimental en évaluation Bêta). Osmose ne semble pas non plus faire une recherche de l'existence de l'article (il lui suffirait de lancer une requête HTTP HEAD à l'URL générée à partir du nom, sans tenir compte des ancres ajoutées). Parfois je suis tombé sur des URLs de la forme "http://<lang>. wikipedia.org/w/index.php?title=<Xyz...>", qui marche aussi comme la forme plus simple ""http://<lang>.wikipedia.org/wiki/<Xyz...>", et parfois aussi avec d'autres paramètres dans la query string (après le "?") comme "uselang=<code langue de l'UI>" ou pire "setlang=<nouvelle langue de l'UI>"action=edit" : les query strings devraient être éliminées autant que possible d'OSM (on n'a pas à forcer la langue UI du visiteur de la page ni à changer ses préférences de langue en suivant un simple lien). Toutes les URLs de Wikipédia devraient être éliminées (pour laisser le choix entre "http://" ou "https://" par exemple, selon la config réseau ou le type de navigateur utilisé par le visiteur.) on ne devrait garder que "wikipedia=<lang>:Nom d'article" ou "wikipedia:<lang>=Nom d'article", sans aucune ancre ni autres paramètres de query string Donc le nom d'article mentionné ne devrait plus jamais contenir: - aucun "_", "%", "?" - ni aucun "#" (si on exclue les ancres), - ni aucun autre caractère réservé par MediaWiki (le "+" par exemple a un traitement spécial, il est admis dans certains contextes, les "{" et "}" ne sont pas admis dans les noms d'articles), - ni aucun préfixe de protole "http(s)://", ni aucun nom de domaine de la forme "<lang>.wikipedia.org" (penser que Wikipedia a plusieurs domaines pour la même langue, dont un supplémentaire pour sa version mobile, et d'autres portails pour mobiles plus limités en Wap seulement, ou encore une appli pour smartphone; et Wikipédia n'est peut n'être accessible gratuitement que via un proxy ou un portail d'un opérateur qui propose Wikipédia gratuitement, sans consommer son forfait data, par exemple Orange pour les mobiles en Afrique, ou via un agrégateur de contenus ou un cache local validé par une école par exemple; il pourrait aussi être accédé sur un CDROM ou une clé USB sans aucun accès réseau, les URLs sont donc adaptables, seuls les noms d'articles non URL-encodés sont à utiliser), - ni commencer par un "/" ni contenir aucun "//" nulle part (le "/" est admis de façon isolé en milieu du nom pour les sous-pages, mais l'espace de nom principal des articles de Wikipédia n'a aucune sous-page car le "/" fait partie du nom principal de nombreux objets comme les noms de villes). Idéalement, il faudrait aussi vérifier qu'il n'y a pas plusieurs préfixes de langue ou interwiki (pour ne pas malencontreusement aller vers un autre site que Wikipédia via un interwiki externe comme "bugzilla:" ou même "mediawiki:"). Mais ça demanderait à Osmose d'avoir une liste à jour des préfixes interwikis et interlangues supportés par wikipédia, car sinon les ":" peuvent faire partie soit du nom d'un article (pas recommandé du tout!), ou d'un préfixe de namespace local (comme "Utilisateur:" ou "User:" ou un espace de discusion, un espace projet...). Tout ça pour ne pas se retrouver avec des tags (déjà rencontrés dans OSM) de la forme: "wikipedia=fr:fr:<Xyz...>" (au lieu de "wikipedia=fr:<Xyz...>" ou encore "wikipedia=http://fr.wikipdia.org/wiki/en:<Xyz...>" (au lieu de "wikipedia=en:<Xyz...>" Autrement dit on demande à disposer de noms "canoniques", qui sont résolus directement sans nécessiter aucune redirection implicite d'un domaine à un autre (une redirection qui n'est pas sensée marcher partout si on n'a pas un accès direct et "en live" à Internet). Autre problème annexe: Comment référencer les articles qui sont sur Incubator (y compris ceux qui étaient sur un wiki fermé et déplacé depuis vers Incubator) ? Sachant alors le nom d'article sur Incubator est de la forme "Wp:<lang>/<Xyz...>". Il faudrait pouvoir indiquer "wikipedia=incubator:Wp:<lang>/<Xyz...>". Mais ces articles sont des ébauches difficilement référençables dans OSM. A mon avis il vaut mieux s'en passer dans OSM (les articles d'Incubator sont aussi exclus de Wikidata et exclus des listes d'interwikis inclus dans les articles de Wikipédia des autres langues, on ne les trouve que dans quelques liens externes en fin d'article d'une vraie Wikipédia, ou par des liens dans le sens inverse d'Incubator vers Wikipédia des autres langues). En revanche Wikidata n'exclue pas de pouvoir mentionner des noms d'objets (pas les noms des articles Wikipédia qui les aborde) dans les très nombreuses langues non supportées par une édition active de Wikipédia (ou d'autres projets Wikimedia comme Wikispecies, Wikinews...). Dernier point (question subsidiaire pour les courageux qui arrivent jusque là !): Peut-on envisager que certains objets n'aient aucun article référençable dans Wikipédia, mais seulement dans une page d'entrée du Wiktionnaire ou une page de galerie sur Commons ? Doit-on utiliser "wikipedia=*" pour inclure des pages d'autres projets Wikimedia ? Ou sur divers autres wikis supportés par Wikimedia uniquement au plan de la plateforme technique d'hébergement, comme ceux de Wikia (qui n'ont en revanche aucune charte de contenu, ces wikis n'étant pas nécessairement ouverts à la modif collaborative par tous, et admis pour des projets privés ou en groupe fermé tant qu'ils ne violent pas les droits de tiers, ils ont le droit de tout inventer, ne rien sourcer, et font largement place à la créativité de leurs auteurs, ils sont donc difficilement utilisables comme sources de référence) ?
_______________________________________________ Talk-fr mailing list Talk-fr@openstreetmap.org https://lists.openstreetmap.org/listinfo/talk-fr