Journal Tagger efficacement son Ogg-thèque

Posté par . Licence CC by-sa
19
1
mar.
2015

TL;DR

OggAlbumTagger est un script Ruby qui permet de tagger de la musique au format Ogg Vorbis. Il fonctionne de façon interactive, propose de l'auto-complétion et de l'auto-suggestion, supporte les tags multi-valués ainsi que les pochettes d'album. Il est capable de gérer des albums complets, de renommer les fichiers à partir des tags, et permet de vérifier certaines bonnes pratiques concernant le contenu des tags.

Code source et documentation : sur Github.

Pourquoi OggAlbumTagger ?

M'étant récemment installé un serveur MPD que je contrôle depuis ma tablette Android grâce à l'excellent MPDroid (à qui Google mène la vie dure), je me suis rendu compte qu'il était nécessaire de mettre un peu d'ordre dans les tags de ma médiathèque : des genres que j'étais incapable d'identifier, des artistes qui s'appelaient différemment d'un album à un autre…

Heureusement, il y a quelques années, j'ai décidé d'abandonner le MP3 au profit de l'Ogg Vorbis. Outre le fait qu'il s'agisse d'un codec libre, de meilleure qualité que le MP3 et relativement bien supporté, mon choix s'est porté vers l'Ogg car la gestion des tags est relativement simple : une seule version du format, un seul encodage de caractères (bon, des spécifications un peu légères, mais un consensus assez bien respecté).

Malheureusement, j'ai n'ai pas trouvé d'outil d'édition de tags qui me satisfasse. En vrac :

  • Difficile d'accéder à des tags non standards.
  • Impossible/difficile d'associer plusieurs valeurs à un même tag.
  • Pas de gestion des pochettes.
  • Alignement inutile des tags numériques avec des zéros.
  • Ne permet pas le renommage des fichiers à partir des tags.
  • Difficile de tagger un album complet.

Du coup, j'ai profité d'un courte période de chômage pour écrire OggAlbumTagger.

Comment ça fonctionne ?

OggAlbumTagger fonctionne de façon interactive, comme un shell. Une fois le chargement d'un ensemble de fichiers Ogg effectué, vous disposez de commandes pour visualiser et manipuler les tags.

Voici une liste rapide de ses fonctionnalités :

  • Accès à l'ensemble des tags.
  • Supporte l'inclusion de pochettes d'albums.
  • Permet de vérifier que certaines bonnes pratiques liées à la cohérence des tags sont respectées (ces bonnes pratiques sont expliquées sur la page Github du projet).
  • Auto-complétion et auto-suggestion.
  • Permet de renommer les fichiers en se basant sur la valeur des tags.
  • Mode "album" permettant d'activer des vérifications spécifiques aux albums, mais aussi de renommer le dossier de l'album en même temps que les fichiers.

Il s'agit d'une première version, mais l'essentiel des fonctionnalités sont implémentées. Il reste une ou deux limitations, mais il y a assez peu de chances que vous les rencontriez. La documentation est (également en français), mais aucune aide n'est pour l'instant accessible depuis l'outil.

OggAlbumTagger est disponible en tant que Gem Ruby. Certaines dépendances nécessitent cependant une installation manuelle. C'est juste une étape supplémentaire, la procédure d'installation est expliquée sur la page Github du projet.

OggAlbumTagger est publié sous licence MIT. Toute contribution est bien évidemment la bienvenue.

  • # HS - Sommaire

    Posté par (page perso) . Évalué à 2.

    Rien à voir avec le sujet, mais comment arrives-tu à utiliser les titres (TL;DR + Pourquoi OggAlbumTagger ? + Comment ça fonctionne ?) sans que le site génère automatiquement un sommaire en début de texte ?

    • [^] # Re: HS - Sommaire

      Posté par . Évalué à 1.

      Je n'en pas la moindre idée.
      Il y a quelques jours quand, j'ai testé la prévisualisation d'une des premières versions de l'article, il me semble qu'un sommaire était généré.

    • [^] # Re: HS - Sommaire

      Posté par (page perso) . Évalué à 7.

      Le sommaire n'est généré qu'à partir d'un certain nombre de caractère dans le contenu.

      « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

  • # Peu argumenté

    Posté par . Évalué à 5.

    La partie argumentation, du pourquoi les logiciels de tag existants ne conviennent pas, est plutôt faiblarde. Vu que je suis pleinement satisfait d'Easytag par exemple, et que je trouve qu'il répond bien aux points mentionnés, je n'ai pas compris ce qui est reproché aux logiciels existants.
    Quelques explications précises et des exemples seraient bienvenus.

    • [^] # Re: Peu argumenté

      Posté par (page perso) . Évalué à 2.

      EasyTag gère les pochettes?

      ⚓ À g'Auch TOUTE! http://afdgauch.online.fr

    • [^] # Re: Peu argumenté

      Posté par . Évalué à 10. Dernière modification le 01/03/15 à 22:21.

      Easytag préfixe automatiquement le numéro de piste par au moins un zéro. C'est pas grand chose, mais ça m'énerve (en 2015, c'est pas compliqué de savoir que 2 vient avant 10). C'est aussi lié au fait que j'ai entrepris d'écrire un petit lecteur multimédia répondant à mes besoin, et c'est pénible de devoir écrire un critère de tri alambiqué pour trier les piste alors qu'un simple tri d'entiers suffit.

      Easytag ne me permet pas d'accéder à des tags non-standards, genre ARTISTSORT, tag que je trouve vachement pratique. D'ailleurs, je viens de tester sur un album, et il me l'a tout simplement dégagé.

      Dans Easytag, pour associer plusieurs valeurs à un tag, il faut activer une option (qui ne concerne que 7 tags standards) qui considère le tiret comme séparateur, ce qui peut avoir des effets indésirables (c'est assez commun d'avoir un tiret dans un titre ou dans un nom d'artiste).

      Le point commun à la plupart de outils que j'ai testé, c'est la gestion foireuse des tags multiples : utilisation d'un simple champs texte avec un caractère/une chaine de caractères qui fait office de séparateur. Et quand les tags multiples sont gérés, il est impossible de faire des choses du genre "supprimer telle valeur du tag".

      J'apprécie également le fait d'avoir une commande pour vérifier que mes bonnes pratiques sont respectées, et ça, j'ai vu aucune appli qui permet de scripter ce genre de chose.

      J'ai aussi essayé :

      • Puddletag : sur la version packagée dans ma Debian testing, pas moyen de faire apparaitre le panneau qui gère les pochettes. Gestion foireuse des tags multiples ("\" comme séparateur, mais pas de bol, il me semble que j'ai un ou deux titre qui le contiennent).
      • MP3tag sous Windows : gestion foireuse des tags multiples (de mémoire, "\" comme séparateur), et accès complexe aux tags non standards.
      • Exfalso : gère les tags à valeurs multiple, mais difficile de jouer avec.
      • Picard : ne supporte pas les tags non standards.
      • Vorbistagedit : difficile de taguer un album complet, ne gère pas les pochettes.
      • D'autres, avec le même genre de reproches.

      Note : lors de mes essais, je n'ai pas toujours creusé à fond pour voir si certaines fonctionnalités n'étaient pas cachées. Mais comme je les considèrent comme essentielles, si elles n'étaient pas directement accessible, c'est que l'outil ne correspondait pas à mon usage/mes besoins.

      • [^] # Re: Peu argumenté

        Posté par . Évalué à 4.

        (en 2015, c'est pas compliqué de savoir que 2 vient avant 10)

        Mouais bof. Moulte logiciels font encore un tri alphanumérique. Et autant s'est facile de remplacer celui de ton pc, autant c'est moins amusant quand on commence à utiliser les lecteurs intégrés aux télés, box multimédias, baladeurs ou autoradios.

        Et honnêtement en 2015 on doit pouvoir assigner une variable avec un 0 prefixé devant un chiffre et pouvoir la traiter facilement comme un entier.

        $ irb
        irb(main):001:0> toto = 00
        => 0
        irb(main):002:0> titi = toto + 1
        => 1

        • [^] # Re: Peu argumenté

          Posté par . Évalué à 1.

          C'est pas parce qu'ils le font que c'est bien.

          a = 08
          => #<RubyParser::SyntaxError: Illegal octal digit.. near line 1: "">

          Tagger ma musique en octal, non merci, sans façon.

          • [^] # Re: Peu argumenté

            Posté par (page perso) . Évalué à 2.

            Même si ruby, c'est, comme tout le monde le sait le langage du diable. Même lui gère très bien le parsing d'entier préfixé par 0:

            a = "08".to_i
            print a

            résultat: 8

            « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

            • [^] # Re: Peu argumenté

              Posté par . Évalué à 1.

              On s'en fiche, bien sûr que dans n'importe quel langage il est possible d'écrire un bout de code qui va parser et trier ce genre de chose, ainsi que "3/42", "03/042" et toute autre notation farfelue. Sauf que moi, ça ne m'amuse pas spécialement de trouver une solution à ce genre de problématique.

              Le truc, c'est que lorsqu'un lecteur n'est pas capable de gérer une fonction aussi simple que trier des entiers, généralement c'est qu'il y a de quoi s'inquiéter pour les fonctions plus complexes. Du coup, changement de lecteur, et le fait qu'il s'agisse d'une télé, d'une box, d'un baladeur ou d'un autoradio n'y change rien. D'autant plus qu'il s'agit certainement de logiciels propriétaires.

              Il est à noter qu'OggalbumTagger supporte sans problème des numéros de piste non numériques. Bon, pour l'instant, il faut les entrer à la main et faire l'impasse sur la fonction de renommage, mais il devrait être assez facile de corriger ça.

            • [^] # Re: Peu argumenté

              Posté par . Évalué à 1.

              Et 010, ça donne quoi ?

      • [^] # Re: Peu argumenté

        Posté par . Évalué à 2. Dernière modification le 02/03/15 à 16:46.

        Exfalso : gère les tags à valeurs multiple, mais difficile de jouer avec.

        Mais il est basé sur mutagen, une bibliothèque python plutôt complète pour gérer les tags audio.

        Quitte à faire ta propre soupe, ça te permettrait de voir un peu plus loin que les ogg.

        C'est ce que j'utilise perso quand je dois faire des trucs tordus sur ma bibliothèque audio (genre migrer des tags d'un wavpack vers un flac)

        • [^] # Re: Peu argumenté

          Posté par . Évalué à 1.

          J'utilise Taglib, qui supporte aussi pas mal de formats audio. Mutagen dispose de quelques fonctions sympa, comme la conversion d'une version d'ID3 à une autre, mais le reste me semble à première vue assez standard.

          Cela dis, comme je n'ai pas l'intention de me battre avec des tags ID3, leurs 3 (ou 4) versions majeures et leurs encodages pas toujours supportés (ces considérations datent de l'époque ou j'avais un simple lecteur MP3, mais je suis quasiment certain que certains autoradios sont encore sensibles à ce genre de choses).

          Mais si quelqu'un est prêt à y consacrer un peu de temps, j'intégrerai volontiers ses contributions.

      • [^] # Re: Peu argumenté

        Posté par . Évalué à 2.

        Easytag préfixe automatiquement le numéro de piste par au moins un zéro.

        Tu peux le régler dans les préférences.

        Dans Easytag, pour associer plusieurs valeurs à un tag, il faut activer une option (qui ne concerne que 7 tags standards) qui considère le tiret comme séparateur, ce qui peut avoir des effets indésirables (c'est assez commun d'avoir un tiret dans un titre ou dans un nom d'artiste).

        Et faire un patch pour permettre d'utiliser un autre séparateur ?

        Easytag ne me permet pas d'accéder à des tags non-standards.

        Effectivement. Mais à part que le patch aurait été plus long ?

        Contribuer à Easytag, ou un autre, pour lui permettre de gérer les fonctionnalités qu'il te manquait aurait été plus productif. Tu as préféré réécrire ta solution… dans certains cas c'est nécessaire mais là ça me laisse un peu dubitatif.

        • [^] # Re: Peu argumenté

          Posté par . Évalué à 2.

          Easytag préfixe automatiquement le numéro de piste par au moins un zéro.

          Tu peux le régler dans les préférences.

          En effet, j'avais vu que cet option ne permettait pas de descendre en dessous d'un rendu des numéros de pistes sur 2 chiffres, mais j'étais passé à coté de la checkbox qui permet de désactiver l'option.

          Et faire un patch […]

          Les fonctionnalités que je voulais vont au delà de ce simple problème de séparateur. D'un point de vue purement égoïste, je pense qu'écrire ma propre solution a été plus productif. Au delà de ça, comparé à Easytag (ou à tout autre éditeur de tag graphique), ma solution me permet également d'être plus productif.

          • [^] # Re: Peu argumenté

            Posté par . Évalué à 3.

            Oui, justement, c'est bien ce que je pointais du doigt (le point de vue égoïste). C'est un taggeur en plus mais avec un worflow super précis. C'est pas vraiment envers toi hein, c'est général.

            Un jour on créera une catégorie de contributions au libre d'utilité publique. Un jour.

            Travail facile, ou besogne très dure
            N'ont de valeur qu'en leur utilité.

            • [^] # Re: Peu argumenté

              Posté par (page perso) . Évalué à 3.

              Un jour on créera une catégorie de contributions au libre d'utilité publique. Un jour.

              c'est un peu lapidaire pour l'auteur du journal qui propose son outil en libre répondant à sa manière de faire.

              Tu souhaitais proposer qu'il contribue à un existant, je comprends bien aussi la démarche. Bin, il y a peut-être moyen de combiner ?

              N'ont de valeur qu'en leur utilité.

              ça reste à démontrer
              (c'est pour la rime), le libre c'est aussi se trouver et comprendre comment contribuer, cela peut passer par des facilitateurs, y trouvant leur compte, ça te dit ? (ça te fera passer de whiner à winner, moi aussi je sais être lapidaire :D)

              • [^] # Re: Peu argumenté

                Posté par . Évalué à 1.

                Hihi, à le relire c'est en effet plutôt lapidaire, j'avais d'autres trucs dans la tête hier soir… et ce pauvre monsieur avait rien fait qui méritait ça (quoique ses réponses nettes et argumentées donnent un peu envie de le titiller…). Toutes mes présentes pour cette agression !

                ça te fera passer de whiner à winner, moi aussi je sais être lapidaire :D

                Mais mais… une lapidation en anglais ! Comme c'est vulgaire !

            • [^] # Re: Peu argumenté

              Posté par . Évalué à 2.

              Ne t'en fais pas, je ne le prends pas mal.
              Quand je parlais d'égoïsme, c'était surtout pour souligner le fait que j'ai écrit ce logiciel pour répondre à un besoin qui est avant tout le mien. Il y a une sacré différence entre être égoïste et être le premier concerné. C'est d'ailleurs le premier conseil que l'on donne à quelqu'un qui souhaite contribuer au libre, mais qui ne sais pas comment : identifier un problème auquel on est confronté, et tenter de le résoudre.

              Quant au workflow super précis que tu évoque, on peut déjà de faire ce que l'on veut des tags. Les fonctionnalités actuelles permettent d'automatiser certaines tâches, mais je pense que les structures de données ainsi que l'architecture sous-jacente restent suffisamment génériques pour en envisager bien d'autres.

  • # Alignement des tags numériques avec des zéros.

    Posté par (page perso) . Évalué à 10. Dernière modification le 02/03/15 à 09:26.

    Perso, je trouve totalement utile l'alignement des tags numériques avec des zéros. Particulièrement lorsque tu graves un CD ou tu copie tes titres sur une carte SD pour ton lecteur de salon ou ton autoradio.

    La plupart des ces lecteurs vont lire les titres en utilisant l'ordre ASCII à la place de l'ordre numérique. Pour moi, c'est très énervant, particulièrement pour un album live, ou même pour lire les titres sur la pochette.

    Après tout, 01,02,03,… c'est pas dur à lire pour un être humain.

    • [^] # Re: Alignement des tags numériques avec des zéros.

      Posté par . Évalué à 1.

      En fait, c'est uniquement pour les tags que je ne veux pas d'alignement. Lorsque les fichiers sont renommés à partir des tags, l'alignement est présent, de façon à permettre un tri lexicographique des fichiers.

      Ce que tu décris est typiquement un signe de mauvaise conception du lecteur multimédia couplé à une mauvaise utilisation de ce tag. Si ce tag s'appelle "tracknumber", c'est pour que l'on y indique sa position dans l'album, rien d'autre. Sauf qu'entre "3", "03", "3/42" et "03/42" (les notations le plus communes que l'on trouve), ça devient vite pénible de faire le tri, alors qu'il s'agit à la base d'une tâche ultra simple. Mon avis : mauvais lecteur multimédia => changer de lecteur multimédia.

      • [^] # Re: Alignement des tags numériques avec des zéros.

        Posté par (page perso) . Évalué à 3.

        Mon avis : mauvais lecteur multimédia => changer de lecteur multimédia.

        Sauf que les autoradio compatibles ogg/vorbis, ça court pas les rues.

        • [^] # Re: Alignement des tags numériques avec des zéros.

          Posté par . Évalué à 2.

          Si un logiciel propriétaire intégré d'office dans un OS avait eu un fonctionnement bancal, nous aurions tous crié au scandale. Le fait que ce logiciel propriétaire soit dans un autoradio ne change pas grand chose pour moi.

          D'autant plus qu'aujourd'hui les autoradios sont tellement intégrés aux voitures qu'il difficile d'y renoncer sans avoir à renoncer à quelques fonctionnalités de la voiture : sur ma C3 je devais renoncer à l'afficheur LCD (qui affiche notamment les infos de conso/parcours) et je devais payer 60€ de plus pour avoir le faisceau de câbles permettant de conserver les commandes au volant (pour un autoradio à 40€, les boules).

          Du coup, j'ai demandé à Citroën ce qu'ils me proposaient. Une MP3Box à mettre dans la boite à gants : 300€. J'ai ris, et je suis parti.

          Du coup, j'ai envisagé un kit Parrot pour utiliser mon smartphone comme mediaplayer. Mais comme j'avais déjà une oreillette bluetooth, ça faisait un peu double usage.

          Du coup, j'ai cherché la doc de mon autoradio (le RD4 de base de la majorité des Peugeot/Citroën de base d'avant 2009). J'ai découvert qu'il y avait une entrée auxiliaire, mais qui n'était ni câblée, ni activée. Le câble coutait 30€ chez le concessionnaire, mais ils en ignoraient l'existence (ni même que c'était possible). Du coup, j'ai découpé un câble jack, une nappe ide, fait 3 soudure, et au cours d'une révision, je leur ai demandé de m'activer la sortie (ce qui ne peut se faire qu'avec la mallette qui va bien). Il a fallu déplacer 4 mécanos, ils ont refusé de le faire sans ma présence, mais ça a pris 15 bonnes secondes, et ils me l'ont fait gratuitement.

          C'est pour moi la meilleure solution, et la moins cher. Heureusement, beaucoup de voitures récentes (même des modèles basiques) sont nativement équipées d'une entrée jack.

          • [^] # Re: Alignement des tags numériques avec des zéros.

            Posté par . Évalué à 6. Dernière modification le 02/03/15 à 23:32.

            Ben tu vois je préfère tagger mes fichiers avec des 0 en préfix des 9 premiers entier et pouvoir utiliser les commandes au volant pour changer de piste sans avoir à tripoter mon smartphone en roulant ni jouer du fer à souder.

            T'es du genre vachement obtus pour un truc d'une banalité sans nom et tu finis par avoir une ergonomie encore plus mauvaise.

            • [^] # Re: Alignement des tags numériques avec des zéros.

              Posté par . Évalué à 1.

              En même temps, mon autoradio ne fait que radio et CD, pas MP3. Donc entre l'ergonomie de manipuler mon smartphone (qui au passage est fixé juste à coté de mon volant, donc assez peu de manipulation) et l'ergonomie de devoir manipuler des CDs , je ne sais pas ce qui est le pire et requiert le plus d'attention.

              Au final, peut-être que je suis vachement obtus pour un truc d'une banalité sans nom, mais les mecs qui ont fait ton autoradio n'ont pas été foutu d'implémenter un truc d'une banalité sans nom. Je ne sais pas qui est le plus à blâmer.

          • [^] # Re: Alignement des tags numériques avec des zéros.

            Posté par (page perso) . Évalué à 4.

            Si un logiciel propriétaire intégré d'office dans un OS avait eu un fonctionnement bancal, nous aurions tous crié au scandale. Le fait que ce logiciel propriétaire soit dans un autoradio ne change pas grand chose pour moi.

            On arrive au stade où il faut choisir entre ses convictions et la facilité d'utilisation. Ça dépend aussi de si tu développes uniquement le projet pour toi ou si tu comptes avoir des utilisateurs.

            Personnellement même si ça me fait souvent chier, pour mes projets où je ne suis pas le seul utilisateur je me plie aux contraintes de la réalité, même si elles sont le résultats de mauvais comportements. Dans ton cas il me semble qu'ajouter une option pour mettre le nombre sur deux chiffres est plus simple que sortir le fer à souder.

            Il existe deux catégories de gens : ceux qui divisent les gens en deux catégories et les autres.

            • [^] # Re: Alignement des tags numériques avec des zéros.

              Posté par . Évalué à 1.

              C'est justement par conviction que j'ai voulu qu'il en soit ainsi. En n'étant pas compatible avec les (rares) lecteurs qui souffrent de cette limitation, j'ai un léger sentiment de faire avancer les choses dans le bon sens.

              Mais si cette fonctionnalité est vraiment utile à certains, si moi à quelqu'un à un peu de temps à y consacrer, je n'ai aucun problème à la voir intégrée à OggAlbumTagger.

    • [^] # Re: Alignement des tags numériques avec des zéros.

      Posté par . Évalué à 3.

      Après tout, 01,02,03,… c'est pas dur à lire pour un être humain.

      Voire 001, 002, 003 (pas besoin de s'imposer les limites du CD)…

  • # Tagutil

    Posté par (page perso) . Évalué à 2.

    Avais-tu essayé tagutil ? À mon avis, cet outil n'a pas la reconnaissance qu'il devrait. Il gère évidemment l'Ogg via libvorbis, sinon je n'en parlerais pas, mais aussi FLAC via libFLAC et d'autres formats encore via TagLib.
    Ce qui est sympa avec c'est qu'il est très facilement scriptable. De plus, il gère également le renommage des fichiers et il est lui aussi sous une licence sympa :)
    Par contre, il ne gère pas les pochettes.

    • [^] # Re: Tagutil

      Posté par . Évalué à 1.

      Par contre, il ne gère pas les pochettes.

      Tout est dis.
      Mais j'essaierai quand même.

      • [^] # Re: Tagutil

        Posté par (page perso) . Évalué à 1. Dernière modification le 02/03/15 à 18:49.

        Par contre, il ne gère pas les pochettes.

        Tout est dis dit.

        man fork?

        • [^] # Re: Tagutil

          Posté par . Évalué à 1.

          Hormis l'absence de support des pochettes, je trouve pas super efficace le processus d'édition via un dump yaml distinct des tags de chaque fichier ouvert avec $EDITOR. Vorbistagedit fait plus ou moins la même chose, mais lui à la bonne idée de n'utiliser qu'un seul dump. C'est probablement bien ponctuellement, mais j'avais quelques milliers de morceaux à retagger…

          Certes, il y a bien des commandes qui permettent d'ajouter/retirer un tag à tout un ensemble de fichiers sans passer par ce processus d'édition, mais ça oblige à avoir une vision assez précise de ce que l'on veut faire. OggAlbumTagger fonctionne selon un mode interactif que je pense plus pratique.

          Quant à la possibilité de le scripter, ça relève plutôt de la possibilité de l'intégrer à un script. Pour info, la partie lecture/écriture des tags doit me prendre 10 lignes (allé, 20 avec la gestion des erreurs) dans OggAlbumTagger, qui lui même utilise Taglib. Je ne pense pas qu'utiliser Tagutil comme surcouche à Taglib m'aurait aidé.

          • [^] # Re: Tagutil

            Posté par . Évalué à 3.

            OggAlbumTagger fonctionne selon un mode interactif que je pense plus pratique.

            Si tu as quelques milliers de fichiers à retagger comme tu le dis, alors je doute qu’un mode interactif sois ce qu’il y ait de plus pratique…

            • [^] # Re: Tagutil

              Posté par . Évalué à 2.

              Même si mon appli en est capable, elle n'est pas faite pour traiter des milliers de fichiers à la fois.

              Le mode album est fait pour traiter les albums un par un. À moins de devoir réécrire tous les tags, ça me prend moins entre 15s et une minute pour faire quelques corrections. Comparé à tout ce que j'ai pu essayé, c'est ce que je trouve le plus pratique.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.