Cette page traitant du tri alphabétique sur le Wiktionnaire fait suite à la discussion commencée sur Discussion_modèle:voir/Documentation. Son objectif est double.
{{voir}}
et {{clé de tri}}
définissent chacun leurs règles) mais il est important de noter que cette première mouture ne correspond pas, au premier niveau du tri, aux règles qui avaient été débattues en 2006 et qui ont cours dans le modèle clé de tri (au regard desquelles deux signes de ponctuation, l’espace et le tiret, sont considérés comme des lettres).
|
Cette page est encore en construction et reste à compléter. Tenez-en compte en considérant son contenu. Si vous voulez ressusciter cette page, merci d’en parler sur Wiktionnaire:Wikidémie afin d’avoir du soutien.
|
Cette page est une ébauche et devra être discutée et modifiée en conséquence (voir avertissement). En attendant, elle ne représente pas le tri en usage aujourd’hui sur le Wiktionnaire.
Cette page décrit le tri alphabétique en usage sur le Wiktionnaire francophone.
Ci-dessous se trouve un guide synthétique (cliquer sur Dérouler) à destination des contributeurs qui cherchent à trier une liste de mots mettant en jeu des caractères suffisamment communs, notamment une liste de mots français. La méthode de tri complète est décrite dans le reste du document.
Pour trier des mots dans des listes, on fait comme dans un dictionnaire :
Le tri alphabétique décrit dans les règles de tri est recommandé à chaque fois qu’une liste d’articles du Wiktionnaire (sous forme de liste à puces ou d’énumération) est présentée dans un article, et qu’aucun autre ordonnancement particulier ne prévaut. Les cas recensés sont :
{{voir}}
(tri actuellement manuel, pouvant être automatisé par robot).L’application des règles de tri alphabétique vise à faciliter la recherche d’un mot au sein d’une liste à un utilisateur du Wiktionnaire francophone.
En conséquence :
Une approche naïve du tri alphabétique consisterait à penser qu’il suffit d’attribuer à chaque caractère Unicode un poids simple (un entier naturel, différent pour chaque caractère), et de comparer les mots à trier caractère par caractère sur la base de ces poids, pour trouver lequel vient avant l’autre. Cette approche permet en effet d’établir une relation d’ordre complète sur l’ensemble des mots (c’est-à-dire qu’on saura à coup sûr classer deux mots différents), mais son résultat ne peut, quels que soient les poids choisis, refléter l’ordre alphabétique usuel qui nous permet de trouver un mot dans un dictionnaire. La table ci-dessous illustre cela dans le cas où l’on donne à la lettre é un poids supérieur à la lettre e.
Tri naïf | Tri du dictionnaire |
---|---|
beau < béat | béat < beau |
Le tri naïf, considérant la lettre é comme lettre à part entière, présenterait tous les mots commençant par be- avant tous les mots commençant par bé-, ce qui n’est pas ce que nous observons dans les dictionnaires. Sur cet exemple, nous voyons donc que l’ordre alphabétique des dictionnaires usuels, qui s’est imposé par l’usage, est plus subtil et considère un caractère non comme un tout, mais comme un composite, une sorte d’édifice à plusieurs étages :
Étage | lettre e | lettre é |
---|---|---|
2 | ´ | |
1 | e | e |
L’étage 1 est l’étage de base (la lettre nue), l’étage 2 coiffe la lettre de ses accents, etc. Les mots sont d’abord comparés suivant l’étage 1 (la comparaison entre béat et beau suivant l’étage 1 compare beat avec beau, ce qui donne directement le résultat), et s’ils sont égaux au premier étage, on monte au deuxième étage pour effectuer une deuxième comparaison.
Étage | mot bêche | mot bêché |
---|---|---|
2 | ^ |
^ ´
|
1 | beche |
beche
|
Ici, on obtient la différence lors de la comparaison du 2e étage, sur le dernier caractère : l’accent aigu a un poids supérieur à aucun accent, donc bêche < bêché
.
Deux organisations internationales, l’ISO/C.E.I. et Unicode, ont défini chacune une norme qui formalise la méthode de tri alphabétique. Ces normes sont équivalentes, si ce n’est que la norme Unicode offre un choix plus large de traitement du niveau 4. Les deux organisations travaillent conjointement et maintiennent notamment leur fichier de poids standard synchronisés. Le formalisme est cependant différent. Voici les liens vers ces deux normes :
D’autre part, les règles de tri édictées par Unicode sont incorporées à leur librairie de localisation C.L.D.R..
Il est à noter que si chacune des deux normes diffère par sa formalisation, notamment en matière de génération des clés, leurs principes sont identiques, et tout algorithme implémentant la norme peut utiliser le format de clé qu’il désire, pourvu que le résultat du tri soit conforme.
Note (car ça ne va pas forcément de soi) : si A un poids plus faible que B, cela signifie que A sera rangé avant B.
Comme vu dans l’introduction au tri alphabétique, il existe des « étages » de tri, fondamentaux pour l’algorithmique du tri, que nous nommerons dorénavant niveaux, pour être plus fidèle au standard. Plus le niveau est élevé, moindre est son importance dans le tri.
Certains mots et, par définition, toutes les locutions comportent des signes de ponctuation : espace, tiret, apostrophe, point, pour ne citer que les plus fréquents.
La tradition des dictionnaires est d’ignorer ces signes aux niveaux 1, 2 et 3, et de n’en tenir compte que si les mots sont identiques aux niveaux 1, 2 et 3 (l’autre option, décrite par l’U.C.A., est de les considérer comme caractères à part entière dès le niveau 1). Si l’on ignore la ponctuation, alors :
T.G.V. < TGV
) ;D’autre part, il est loisible d’adapter la liste des signes que l’on considère comme caractères à part entière (présents au niveau 1) et celle des signes que l’on souhaite ignorer ou rejeter au niveau 4.
Pour le tri français (et le tri standard), la ligature æ est considérée comme un a avec un diacritique (d’un poids supérieur à tous les autres diacritiques), suivi d’un e. Les ligatures sont donc considérées comme deux lettres séparées pour le niveau 1.
Les symboles portant plusieurs diacritiques sont décomposés au niveau 2 en la suite de ces diacritiques. Cette suite s’ordonne selon une règle précise, issue de la normalisation D d’Unicode. Pour déterminer cet ordre, deux solutions :
La logique d’ordonnancement est commandée par les classes combinatoires spécifiées dans ce document : http://hapax.qc.ca/pdf/Chapitre-4.pdf dans le tableau 4-3. Grosso modo, on considère les classes de diacritiques dans cet ordre (on se restreint ici aux classes les plus usuelles), dont la logique est « du plus près au plus éloigné du caractère » (et de bas en haut pour une même distance) :
Si deux diacritiques sont de même classe (ἆ, ἔ : dans ces deux cas, deux diacritiques suscrits), leur ordre est celui dans lequel ils apparaissent (soit de gauche à droite, soit du plus près au plus éloigné).
On peut alors reprendre la notation en niveaux en rajoutant des sous-niveaux du niveau 2 pour expliciter les choses :
Niveau | lettre ø | lettre ǿ | lettre ὣ | lettre ᾣ | lettre ῳ |
---|---|---|---|---|---|
2.3 | ͅ | ||||
2.2 | ́ | ̀ | ̀ | ||
2.1 | ̸ | ̸ | ̔ | ̔ | ͅ |
1 | o | o | ω | ω | ω |
On se ramène alors à une comparaison de diacritiques simples (dont il faut connaitre les poids relatifs, voir Poids des symboles), sous-niveau par sous-niveau. Sur cet exemple, on peut néanmoins, sans connaitre les poids relatifs des diacritiques, déjà ordonner : ø < ǿ
et ὣ < ᾣ
puisqu’on est amenés dans ces deux exemples à comparer, au dernier sous-niveau, une absence de diacritique avec un diacritique (les premiers sous-niveaux ayant les mêmes diacritiques). À l’inverse, ordonner ᾣ et ῳ nécessite de connaitre les poids relatifs de l’esprit rude et du iota souscrit.
Les règles de tri respectent la norme U.C.A.
Les règles suivantes sont toutes soumises à discussion sur la page de discussion.
T.G.V. < TGV
).Cette section rassemble l’ordonnancement d’un certain nombre de symboles pour chaque niveau. Pour les autres, il suffit de se référer soit à la DUCET d’Unicode, soit à la table-modèle commune de l’ISO (l’avantage de la table-modèle commune est de présenter les symboles par ordre de poids, la DUCET les présentant par ordre de point Unicode).
Les symboles sont listés, à chaque niveau, par ordre de poids croissant (lorsque le poids est identique entre certains symboles, cela est indiqué).
Famille | Symboles |
---|---|
symboles monétaires | ¤, ¢, $, £, ¥, € |
chiffres arabes | 0 – 9 |
alphabet latin | a – z, ʒ, þ, ƿ |
alphabet grec | α, β, γ, δ, ε, ϝ, ϛ, ζ, ͱ, η, θ, ι, ϳ, κ, λ, μ, ν, ξ, ο, π, ϻ, Ϟ, ρ, σ, τ, υ, φ, χ, ψ, ω, ϡ, ϸ |
alphabet copte | |
alphabet cyrillique | а, б, в, г, д, е, ж, з, и, і, й, к, л, м, н, о, п, р, с, т, у, ф, х, ц, ч, ш, щ, ъ, ы, ь, ҍ, э, ю, я, ѳ, ѵ |
alphabet géorgien | |
alphabet arménien | |
alphabet hébreu | |
alphabet arabe |
Sont précisés ici les poids relatifs des diacritiques simples. Pour le traitement des diacritiques multiples, se référer à la section Diacritiques multiples.
o
o̲
o̓
o̔
ó
ò
ŏ
ô
ǒ
o̊
o͂
ö
ő
õ
ȯ
o̸
ç
ǫ
ō
o̍ , et à poids égal les autres « signes génériques suscrits » (<DABOVE> dans la table-modèle commune)
o̖ , et à poids égal les autres « signes génériques souscrits » (<DBELOW> dans la table-modèle commune)
o̶ , et à poids égal les autres « signes génériques transversaux » (<DTHRU> dans la table-modèle commune)
o⃝ , et à poids égal les autres « signes génériques contournant » (<DAROUND> dans la table-modèle commune)
o゙
o゚
o̵
o̅
ỏ
ȍ
o̐
ȏ
ơ
o̡
o̢
ọ
o̤
o̥
o̦
o̭
o̮
o̰
o̱
o̴
o̹
oͅ
o͘
o͠o
o͡o
o҃
… viennent ensuite les diacritiques hébreux, samaritains, arabes, syriens, éthiopiens, thaïs, etc. : consulter la DUCET…
puis les ligatures, de poids égal entre elles :
æ , ð , ß , etc.
o
o
ⓞ
O
O
Ⓞ
ᵒ
ₒ
ﺑ
ﺒ
ς
ﺏ
ᴼ
¼
Entre parenthèses figurent de façon informative les poids assignés par la DUCET.
(0209)
_ (020B)
- (020D)
– (0215)
— (0216)
, (0221)
; (0233)
: (0238)
! (025F)
¡ (0260)
? (0264)
¿ (0265)
. (0274)
· (0288)
' (02F8)
’ (02FA)
‹ (02FD)
› (02FE)
" (02FF)
« (0308)
» (0309)
( (030A)
) (030B)
(030C)
] (030D)
{ (030E)
} (030F)
§ (037C)
¶ (037E)
@ (0381)
* (0382)
/ (0387)
\ (0388)
# (038B)
% (038C)
& (0389)
′ (039D)
` (0446)
´ (0447)
^ (0449)
¯ (044A)
¨ (044D)
ˇ (045F)
° (04BA)
© (0546)
® (0547)
+ (05D6)
± (05D7)
÷ (05D8)
× (05D9)
< (05DA)
= (05DB)
> (05DC)
¬ (05DD)
| (05DE)
~ (05E0)
− (05E1)
Note : dans le cas où une lettre possède plusieurs diacritiques, ces diacritiques sont indiquées entre crochets dans l’ordre où elles doivent être prises en compte pour le tri (voir la section Diacritiques multiples) et non dans l’ordre de la dénomination Unicode de la lettre en question, ceci afin de faciliter la compréhension.