Incohérence de la documentation concernant la méthode de tri alphabétique. modifier

La documentation courante est contradictoire quant aux règles de tri alphabétique. Elle se réfère à la norme ISO 14651 (lien donné dans le point : « Ses paramètres devraient être triés selon les règles du tri français […] »), or les règles énoncées ne correspondent absolument pas.

Cas pratique : si l’on prend la sous-page {{voir/bo}}, qui est celle donnée en exemple dans la documentation, on peut voir que deux tris ont existé : le premier à la création de la page, et le deuxième, lors du changement d’Urhixidur (d · c), conforme aux règles données dans la documentation ; aucun ne correspond à la norme ISO 14651. Voici ces deux tris et celui issu de l’application de la norme — adaptée en reprenant la convention sur l’ordre interne des diacritiques (accents) telle qu’indiquée dans la documentation — (pour simplifier, je n’ai retenu dans la liste, parmi les diacritiques n’étant pas les accents utilisés en français, qu’un diacritique simple et un double, car les problèmes ne sont pas là) :

tri initial bo < Bo  < BO  < bo- < bó < bò < bô < bộ < bǒ  < boʼ
tri documentation BO < Bo  < bo  < bó  < bò < bô < bǒ < bộ < boʼ < bo-
tri iso bo < bo- < bo’ < Bo  < BO < bó < bò < bô < bǒ  < bộ

Afin d’expliciter la méthode de tri ISO décrite dans le document cité plus haut, voici la reproduction d’un tableau trouvé dans l’ouvrage Unicode 5.0 en pratique de Patrick Andries, résumant synthétiquement les 4 niveaux de comparaison décrits par la norme. Ces niveaux sont à comprendre au sens où on commence par exécuter la comparaison de niveau 1 ; si celle-ci ne permet pas de départager, alors on exécute la comparaison de niveau 2, etc.

Niveau Description Exemples
1 Caractère de base e < i jeune < jeunes < jeunisme
2 Accents u < û jeune < jeûne < jeunes
3 Casse j < J jeune < Jeune < jeûne
4 Ponctuation coop < co-op jeunisme < jeun-isme < Jeunisme

Application (pour chaque niveau, à côté du mot et entre parenthèses figurent les éléments sur lesquels porte la comparaison) :

Niveau Description Classement
1 Caractère de base BO (bo) = Bo (bo) = bo (bo) = bó (bo) = bò (bo) = bô (bo) = bǒ (bo) = bộ (bo) = boʼ (bo) = bo- (bo)
2 Accents BO () = Bo () = bo () = boʼ () = bo- () < bó (  ́) < bò (  ̀) < bô (  ̂) < bǒ (  ̌) < bộ (  ̣̂)
3 Casse bo (mm) = boʼ (mm) = bo- (mm) < Bo (Mm) < BO (MM) < bó < bò < bô < bǒ < bộ
4 Ponctuation bo () < bo- (  -) < boʼ (  ’) < Bo < BO < bó < bò < bô < bǒ < bộ

On notera au passage que tous les mots présents dans une sous-page donnée de {{voir}} doivent être par définition égaux relativement au niveau de comparaison no 1, ce que nous voyons ici.

Ma question est donc : l’erreur réside-t-elle dans l’interprétation de la norme ISO ou a-t-on choisi une autre norme sans le mentionner ? Chris06 28 juin 2014 à 14:18 (UTC)Répondre

Pour ma part je ne prenais jamais le temps de m'y référer. Mais mon robot peut repasser sur tous ces modèles pour reclasser leurs paramètres. JackPotte ($) 28 juin 2014 à 15:20 (UTC)Répondre
« L’erreur réside-t-elle dans l’interprétation de la norme ISO ou a-t-on choisi une autre norme sans le mentionner ? » Ni l’un ni l’autre. J’avais écrit la doc selon ma lecture du document de LaBonté (daté 1988–1996). La norme ISO/CÉI 1465 est ultérieure et il n’est pas trop surprenant qu’elle diffère dans les détails. Le problème en est un d’accessibilité, les normes ISO étant rarement librement disponibles. Si Chris06 y a accès, alors oui, modifions notre documentation et nos pratiques en conséquence ! Urhixidur (discussion) 29 juin 2014 à 04:24 (UTC)Répondre
Merci Urhixidur (d · c) de reconstituer l’historique ! Alors, je n’ai accès qu’au document de LaBonté (pré-ISO) et au lien que je mentionne (Unicode 5.0 en pratique, post-ISO), mais les deux documents décrivent exactement le même algorithme (qui, du coup, a de grosses chances d’être celui de la norme ISO), à tout du moins dans ses lignes fondamentales (c’est-à-dire les quatre niveaux de comparaison). La divergence de notre documentation est donc due à un problème d’interprétation du document de LaBonté. Si donc nous acceptons de suivre la norme (en adaptant certains détails qui peuvent l’être, j’en vois deux : l’ordre interne des diacritiques que tu as déjà proposé, et le parcours des accents de gauche à droite plutôt que de droite à gauche), il faudra en effet modifier la doc (et soit programmer un robot pour réordonner — ce qui peut être assez funky —, soit se taper tout à la mimine — ce qui ressemble à un travail de titan). Chris06 29 juin 2014 à 15:07 (UTC)Répondre
D’accord sauf pour changer « le parcours des accents de gauche à droite plutôt que de droite à gauche ». L’exemple ISO et les exemples LaBonté sont clairs : cote < côte < coté < côté. On discrimine d’abord l’accent le plus à droite. Urhixidur (discussion) 2 juillet 2014 à 16:42 (UTC)Répondre
Ce sera un des points à décider (certainement sur la base des dictionnaires usuels), car tant la norme ISO/C.E.I. que la norme U.C.A. (voir ci-dessous) ne présentent cette possibilité que comme une adaptation du comportement par défaut ; pour le C.L.D.R. (librairie du standard Unicode traitant de la localisation), le tri de droite à gauche serait spécifique au français du Canada (voir Data → core.zip → common → collation). Chris06 13 juillet 2014 à 12:32 (UTC)Répondre

La norme ISO/C.E.I. 14651 est publique et disponible gratuitement sur le site de l’ISO :

D’autre part, le modèle {{clé de tri}} nous informe qu’il existe la norme U.C.A. (Unicode Collation Algorithm), qui redéfinit à sa sauce le même algorithme (à la différence principale qu’il donne un choix supplémentaire sur la façon de traiter le quatrième niveau) :

La norme U.C.A. me semble plus aboutie en termes de formalisation et de documentation, et j’aurais tendance à la préférer comme base de travail. Je propose de créer une page dédiée (Wiktionnaire:Tri alphabétique par exemple, avec sa page de discussion afin de discuter chaque adaptation de la norme), afin de d’échafauder les règles précises du tri alphabétique du Wiktionnaire, applicables notamment au tri des puces dans les sous-sections et au présent modèle (note : concernant le tri dans les catégories via {{clé de tri}}, il est pour l’instant impossible d’appliquer un tri correct au-delà du premier niveau puisque la clé de tri est générée manuellement et donc très simplement ; si, par contre, dans l’avenir la clé de tri peut être générée automatiquement par un robot, il sera alors envisageable d’appliquer le tri complet). Chris06 13 juillet 2014 à 12:32 (UTC)Répondre

Je suis favorable à la création d’une page d’ébauche Wiktionnaire:Tri alphabétique afin de discuter ces questions. Sans en être pro, je m’y intéresserai probablement. Aussi à propos du modèle {{clé de tri}}, il a vocation à être remplacé effectivement par une clé automatique générée via Lua, cf. justement module:clé de tri2 et sa page de discussion où nous avons déjà entamé la question. Le choix jusqu’ici est celui conforme au document de LaBonté (pour le français du moins…), mais s’il y a mieux tant mieux. — Automatik (discussion) 14 juillet 2014 à 01:27 (UTC)Répondre
J’ai créé pour l’instant une ébauche chez moi : Utilisateur:Chris06/Bac à sable/Wiktionnaire:Tri alphabétique. Je ne sais pas trop si c’est la bonne direction, mais je pense que l’information est là, et les choix à faire sont en tout cas explicités ; il faudra peut-être ne pas directement créer Wiktionnaire:Tri alphabétique mais une autre page moins « officielle », tant que les choix n’auront pas été faits (et je pense qu’il faudra se donner du temps), pour que ces règles, en discussion, ne soient pas prises pour argent comptant. Et pour info, je vais partir un petit moment en vacances… Chris06 29 juillet 2014 à 22:30 (UTC)Répondre
Revenir à la page « voir/Documentation ».