Page 1 sur 1

Ordre de tri incohérent dans Puddletag

Posté : mer. 5 mars 2025 12:17
par Nerva
Bonjour.

Après des années d'utilisation, je viens seulement de me rendre compte d'une bizarrerie dans le logiciel Puddletag (outil avancé pour gérer les tags des fichiers audio) : le tri alphabétique qui place systématiquement les caractères "spéciaux" (les accents français et le reste) en fin de liste. Par exemple, Éric Serra. Dans l'explorateur (Nemo), il est placé après les Eric (sans accent) ; et pareil lors d'une importation de fichiers dans Audacious (lecteur audio), un tri alphabétique dans Calc, etc. Dans Puddletag, il est placé après les Z.

Même chose lorsqu'un caractère accentué figure dans le nom de l'artiste ou le titre (mais pas en tant qu'initiale) ; par exemple, Céline Dion est classée après Cyndi Lauper, alors que dans Nemo elle figure comme il se doit entre Ceejay et Centerfold.

C'est pas que ça va m'empêcher de dormir :mrgreen: mais j'aimerais bien comprendre la logique de ce tri...

Merci.

Re: Ordre de tri incohérent dans Puddletag

Posté : mer. 5 mars 2025 16:39
par Nerva
Je ne suis sûr de rien, c'est plutôt par curiosité. Lorsque j'ouvre n'importe quel fichier audio dans un logiciel (Audacious, Audacity, etc), l'ordre est cohérent. Si je trie une liste dans Xed, pareil. Et si je nomme des photos avec des accents, le catalogage de XnView (ou autre) est ok aussi, comme pour tout type de fichier. Il n'y a décidément que dans ce logiciel que ça diffère. Et aucun paramétrage possible dans les préférences.

Re: Ordre de tri incohérent dans Puddletag

Posté : mer. 5 mars 2025 17:32
par Plozzopper
Bonjour,

J'ai installé Puddletag avec apt
Version: 2.2.0
Tri :
Artist
Ceejay
Celine Dion
Centerfold
Cyndi Lauper
Céline Dion
Eric Serra
Éric Serra

Puis, j'ai réessayé en installant avec pip (dans un environnement virtuel python)
https://pypi.org/project/puddletag/
Version: 2.4.0
Tri :
Artist
Ceejay
Celine Dion
Céline Dion
Centerfold
Cyndi Lauper
Eric Serra
Éric Serra

Il y a ce rapport de bogue sur GitHub : Improve natural sorting ; https://github.com/puddletag/puddletag/pull/794 maintenant corrigé et d'autres.

Re: Ordre de tri incohérent dans Puddletag

Posté : jeu. 6 mars 2025 09:02
par arghlub
Salut,

As-tu essayé d'aller voir du côté des «locales» ?
Plus d'infos : viewtopic.php?p=114093#p114093
;)

Re: Ordre de tri incohérent dans Puddletag

Posté : jeu. 6 mars 2025 10:58
par Nerva
Plozzopper a écrit : mer. 5 mars 2025 17:32 Puis, j'ai réessayé en installant avec pip (dans un environnement virtuel python)
J'ai la version 2.0.1 d'installée, qui n'est plus toute jeune.

Image

Je ne sais plus quand, mais comme ça avait disparu des dépôts, j'avais suivi cette procédure pour l'installer :

https://forum.ubuntu-fr.org/viewtopic.php?id=2053363

Mais je vois que maintenant (depuis quand ?) il y a un PPA que j'ai déjà pour Darktable et Audacious.

https://fr.linux-terminal.com/?p=6710

Ça ne serait pas mieux finalement ? Parce que je ne sais pas ce qu'est pip dans un environnement virtuel. :oops:
arghlub a écrit : jeu. 6 mars 2025 09:02 Salut,

As-tu essayé d'aller voir du côté des «locales» ?
Plus d'infos : viewtopic.php?p=114093#p114093
;)
J'ai ça partout : fr_FR.UTF-8

Re: Ordre de tri incohérent dans Puddletag

Posté : jeu. 6 mars 2025 20:26
par arghlub
Nerva a écrit : jeu. 6 mars 2025 10:58
arghlub a écrit : jeu. 6 mars 2025 09:02 As-tu essayé d'aller voir du côté des «locales» ?
J'ai ça partout : fr_FR.UTF-8
Essaie cette commande pour changer les locales :

Code : Tout sélectionner

sudo update-locale LC_COLLATE=C.UTF-8
Et revérifie ton ordre de tri.
Si ça ne marche tooujours pas, pour revenir en arrière :

Code : Tout sélectionner

sudo update-locale LC_COLLATE=fr_FR.UTF-8

Re: Ordre de tri incohérent dans Puddletag

Posté : jeu. 6 mars 2025 22:39
par Plozzopper
Bonjour Nerva et arghlub

J'ai testé avant Nerva par curiosité.

J'ai déconnecté ma session de Mint puis reconnecté et fait :

Code : Tout sélectionner

locale
Pour m'assurer que LC_COLLATE=C.UTF-8

Image
Avec cette locale, j'ai le même problème de tri avec la version 2.4.0

Image
Nemo a maintenant lui aussi le problème de tri. Peut-être Nerva aura-t-il un autre résultat.

Image
Comparativement à LC_COLLATE=fr_FR.UTF-8 où cela fonctionne pour le tri.

J'ai regardé le lien de linux-terminal pour l'installation avec le PPA. Il est indiqué que c'est pour la version 2.2.0. Je suis allé voir s'il y avait un PPA plus récent sur launchpad :
https://launchpad.net/~ubuntuhandbook1/ ... /puddletag
Cela semble être le dernier PPA (2.2.0-0).

Cette version PPA est plus ancienne que celle avec laquelle j'ai testé sur Mint 22 Cinnamon (le paquet 2.2.0-3) et qui ne renvoyait pas le bon tri.

Si tu as suivi la procédure sur forum.ubuntu-fr pour installer, c'est que tu l'as fait à partir du code source (installer git, les dépendances et récupérer les sources).

Pour ce qui est de l'environnement virtuel Python, cela permet d'isoler les dépendances et versions de bibliothèques pour éviter les conflits. Plus de détails sur ce site : https://blog.stephane-robert.info/docs/ ... -virtuels/

Sur https://github.com/puddletag/puddletag il est écrit comment compiler le code source et ils parlent aussi de l'installation avec un environnement virtuel (je ne suis pas passé par git cependant, j'ai utilisé la version sur https://pypi.org/project/puddletag/ en créant auparavant mon environnement virtuel). J'ai la version 2.4.0 qui fonctionne en parallèle avec la 2.2.0

Comme tu le mentionnes, ce n'est pas ce qui va t'empêcher de dormir, mais si tu veux régler ce petit problème, il y a des façons de faire. À partir du code source, certaines dépendances ont changé. Je ne pourrais te guider. Le PPA, je ne pense pas que cela corrigera le problème. Pour ce qui est des venv, je suis encore en processus d'apprentissage. Je voulais juste tester si avec une nouvelle version le tri était OK.

Re: Ordre de tri incohérent dans Puddletag

Posté : ven. 7 mars 2025 00:00
par Plozzopper
@arghlub

Au lieu de passer par sudo, j'ai essayé :

Code : Tout sélectionner

LC_COLLATE=C.UTF-8 puddletag
Cela ne résout pas le problème, mais permet de tester plus rapidement. J'ai les même résultats qu'avec sudo. La locale reste fr, mais COLLATE (comment les chaînes sont triées) change pour C.

Sinon

Code : Tout sélectionner

export LC_COLLATE=C.UTF-8
puddletag
À moins de me tromper, cela permet d'avoir LC_COLLATE=C.UTF-8 seulement pour la session d'un terminal.

Dans le même style pour démarrer Firefox avec des menus en anglais, il y a

Code : Tout sélectionner

LANG=en_US.UTF-8 firefox
Finalement, j'ai testé :

Code : Tout sélectionner

printf "%s\n" Ceejay Celine Céline Centerfold Cindy | LC_COLLATE=C sort
Ceejay
Celine
Centerfold
Cindy
Céline

Comparativement à :

Code : Tout sélectionner

printf "%s\n" Ceejay Celine Céline Centerfold Cindy | LC_COLLATE=fr_FR.UTF-8 sort
Ceejay
Celine
Céline
Centerfold
Cindy

Re: Ordre de tri incohérent dans Puddletag

Posté : ven. 7 mars 2025 11:22
par Nerva
Bon, merci de votre aide, mais là ça devient vraiment trop complexe pour une simple curiosité. Je vais néanmoins consulter le dossier sur l'environnement virtuel Python, ce qui pourrait être utile ultérieurement.

@arghlub, j'ai quand même essayé de changer le locale, aucune différence.

Merci. ;)