Journal wymypy : un web-client pour MPD

Posté par  (site web personnel) .
Étiquettes : aucune
0
9
jan.
2007
Juste un tout petit post (car je sais qu'il y a plein d'MPD addict sur dlfp)

Je viens de releaser wymypy. C'est un client-web pour MPD ( http://musicpd.org , http://linuxfr.org/2006/10/02/21414.html), mais par rapport aux autres "client web" (phpmp2, etc ...), il intègre le serveur web (ce qui le rends très indépendant), et utilise massivement de l'ajax (plus réactif) !
Du coup, c'est un fichier de 62ko, n'ayant besoin que de python2.4 (et eventuellement MPD ;-).

Pour ceux qui avait lu mon annonce hier sur le forum (quand je me suis trompé ;-), wymypy est maintenant compatible python2.4 (plus besoin de py2.5), possède une seekbar, et permet de protéger l'accès http à l'interface.

Il y a plus d'infos, et un mini screenshot sur :
http://manatlan.infogami.com/wymypy

Les commentaires, idées et remontées de bug sont les bienvenues
  • # Juste pour dire ...

    Posté par  (site web personnel) . Évalué à 1.

    Une partie du sujet à été creusée ici :
    http://linuxfr.org/forums/41/20293.html

    Adhérer à l'April, ça vous tente ?

  • # Impressions

    Posté par  (site web personnel, Mastodon) . Évalué à 1.

    Premières impressions:

    Ca fait ramer ma machine en local, et quand j'essaye de le lancer sur un serveur du réseau local impossible d'y accéder depuis autre chose que la machine elle-même. Peut-être que ça se binde sur localhost alors que ça devrait être ouvert un peu plus ?

    Sinon belle initiative et beau code :)

    « Je vois bien à quels excès peut conduire une démocratie d'opinion débridée, je le vis tous les jours. » (Nicolas Sarkozy)

    • [^] # Re: Impressions

      Posté par  (site web personnel) . Évalué à 2.

      arghhh ... pour l'accès distant, c de ma faute
      merci à toi

      j'ai re-uploadé une version qui fonctionne ailleurs qu'en localhost (c'est quand même le but ;-( ... je suis vert)

      Qu'appelles tu faire ramer sinon, en local ?
      • [^] # Re: Impressions

        Posté par  (site web personnel, Mastodon) . Évalué à 1.

        Ah merci bien :)

        Sinon à distance ça fait aussi ramer la machine distante... 8.8 de load en quelques secondes... Et j'arrive même plus à reprendre la main sur ma machine...

        J'ai essayé avec mes 3 machines ici ça fait pareil... Pour le léger faut croire que c'est pas encore ça ^^

        « Je vois bien à quels excès peut conduire une démocratie d'opinion débridée, je le vis tous les jours. » (Nicolas Sarkozy)

        • [^] # Re: Impressions

          Posté par  (site web personnel) . Évalué à 2.

          > 8.8 de load en quelques secondes

          Comment tu mesures ça ?
          que je tente de refaire chez moi ...

          D'autres infos qui m'interesserait :
          - Tu as mis le refresh à combien ?
          - Combien d'item tu as dans ta playlist ?
          - C'est quoi ton processeur/ram ?
          • [^] # Re: Impressions

            Posté par  (site web personnel, Mastodon) . Évalué à 1.

            16.000 et quelques morceaux dans la playlist.
            Refresh à 2 sec.

            Et mesure ben top ou w.

            C'est ptet la playlist alors si tu la load à chaque fois...

            « Je vois bien à quels excès peut conduire une démocratie d'opinion débridée, je le vis tous les jours. » (Nicolas Sarkozy)

            • [^] # Re: Impressions

              Posté par  (site web personnel) . Évalué à 3.

              Je testerai ce soir ...

              Cependant oui la playlist est renvoyée toutes les 2sec. Mais bon, la constitution du html de celle-ci est très rapide et peu gourmande...
              (certes c'est optimisable encore)
              Sinon il est evident qu'il y a une corrélation entre la valeur du refresh et la charge cpu (ce pourquoi il est possible d'adapter le timing)
              Mais cette charge n'est pas énorme (à mon avis assez loin d'autres clients lourds) ... Et puis, à partir du moment où la musique est lancé, on coupe l'interface (comme on le fait avec un client lourd)
        • [^] # Re: Impressions

          Posté par  (site web personnel) . Évalué à 2.

          tu as quoi comme processeur ?
          j'ai un intel 2.6ghz ... ça tourne autour de 0.7% de cpu, avec un "refresh à 2s", et 60 morceaus dans la playlist ... (et certes 0, sans refresh)
          ça bouffe moins que htop ...
          • [^] # Re: Impressions

            Posté par  (site web personnel, Mastodon) . Évalué à 2.

            PIII 800MHz une bonne machine donc...

            Oui mais 60 morceaux c'est rien. Dès que je dépasse quelques milliers ça rame comme pas possible. Mais bon c'est normal ça reload la liste en entier. Sinon à part ça c'est sympa mais faut pas dépasser qq centaines de morceaux dans la playlist...

            « Je vois bien à quels excès peut conduire une démocratie d'opinion débridée, je le vis tous les jours. » (Nicolas Sarkozy)

            • [^] # Re: Impressions

              Posté par  (site web personnel) . Évalué à 2.

              ok, j'ai compris ...

              Faut que je sépare le reload de la playlist du reload de l'afficheur ;-)
              Je ne voulais pas pour rester le plus simple possible ... (au niveau du gui)
              mais je crois que je n'aurai pas le choix ...

              Le hic ça va être de "detecter simplement/proprement" quand est-ce qu'il y a un changement de morceau ...
              • [^] # Re: Impressions

                Posté par  (site web personnel, Mastodon) . Évalué à 2.

                Il y a un truc d'évenements serveur transmis aux clients dans MPD svn je crois, qui évite de poller régulièrement pour avoir les changements, il te notifie directement quand y'en a. Faut regarder de ce côté-là.

                « Je vois bien à quels excès peut conduire une démocratie d'opinion débridée, je le vis tous les jours. » (Nicolas Sarkozy)

                • [^] # Re: Impressions

                  Posté par  (site web personnel) . Évalué à 2.

                  Interessant ... (ce serait bien que mpd se pilote par dbus)
                  En attendant, j'ai moyen de poller simplement ...

                  Sinon, la prochaine version aura un rafraichissement séparé, entre la playlist et les commandes ...
                  C'est effectivement un peu moins gourmand ...
                  Mais de toutes façons, dès que la playlist dépasse 2000 items, l'affichage coté client web, est "limite" (temps de réponse)
  • # .

    Posté par  . Évalué à 3.

    wymypy= 62 Ko
    python = 50 Mo (sur slack11)

    pour un système client/serveur qui se voulait leger a la base, on peut faire mieux :)

    N'y aurait-il pas un moyen de distribuer ton client en intégrant un interpreteur et les libs necessaires dans un seul fichier (comme les executables bases sur des script en python que j'ai cru apercevoir du cote de l'OS de redmond) ?
    • [^] # Re: .

      Posté par  (site web personnel) . Évalué à 3.

      Oh, tu exagères ...

      wymypy s'adresse essentiellement à la plateforme linux ...
      La grande majorité des distribs linux possède python de base (non ?!)

      Sous nux, pyinstaller permet de freezer une appli python ...
      ça marche très bien sous win, mais sous linux, j'ai jamais essayé, et ça me fait un peu peur ... cependant, pourquoi pas ?!

      Cependant, par rapport aux autres "client web" de mpd, il n'y a pas photo ... Les autres demandent l'installation d'apache le plus souvent, de php ou de java, et qqfois de mysql (c pas une blague) ... ce qui au final, est bien plus contraignant ... (ce pourquoi je me suis lancé dans wymypy)
      • [^] # Re: .

        Posté par  . Évalué à 2.

        oui mais la majorite des utilisateurs n'en ont pas besoin si ils se limitent aux applications phares fournies par GNOME et KDE.
        Donc installer python uniquement pour ce client me donne l'impression de perdre la legerete que m'apporte mpd.
        Je te donne entierement raison sur les dependances de certains autres clients web. C'est pourquoi une distribution via pyinstaller me semblerait plus adaptee a l'esprit du projet initial.
        • [^] # Re: .

          Posté par  (site web personnel) . Évalué à 3.

          je vais méditer le côté pyinstaller de la chose ...

          Cependant, python est installé par défaut sur pas mal de distrib ... non ?
          • [^] # Re: .

            Posté par  . Évalué à 2.

            de toute facon je suppose qu'une fois stabilise toi ou d'autres allez chercher a creer des paquets pour differentes distributions.
            Donc au pire, le binaire cree avec pyinstaller servira a l'ensemble des distributions pour lesquelles des paquets n'auront pas ete crees.

            pour information, je suis toujours tres agace par les applications utilisant les langages de script parce que ca me force a installer trois tonnes de trucs qui ne me servent pas autrement (l'interpreteur evidemment, et souvent des bibliotheques supplementaires non comprises dans les paquets des distributions). Donc je suis surement biaise dans mon appreciation comparé aux personnes qui ont un usage regulier des applications python
            • [^] # Re: .

              Posté par  (site web personnel) . Évalué à 2.

              Bon déjà, wymypy n'utilise pas de libs externes de python ... uniquement les libs standards du python de base !

              Aussi j'ai du mal à croire que tu n'as pas "python" sur ta machine
              Sous windows, je comprendrai très bien ...
              Mais sous linux, il y a quand même énormément de progs python.

              Quant à qualifier python de langages de scripting : c'est aussi un peu fort ;-)

              Quant au freezer pyinstaller, faut savoir que ça freeze l'appli, càd ça zip les librairie python qui vont bien, et les scripts, et ça met tout ça dans un exe ... qui lui est chargé, au moment du lancement de dézipper tout ça dans "temp", et de demarrer l'appli ...
              La partie executable est un binaire qui est compilé sur la machine emmetrice ... Je doute sincèrement que cet executable tourne sur tous les linux ...

              Sinon, j'aimerai vraiment savoir quelle distrib tu utilises ... vraiment, par curiosité ...
              • [^] # Re: .

                Posté par  . Évalué à 2.

                Mais sous linux, il y a quand même énormément de progs python.

                et bien il faut croire qu'ils ne me sont pas utiles...

                Quant à qualifier python de langages de scripting : c'est aussi un peu fort ;-)

                Abus de langage: plutot que langage de script, je voulais surtout l'opposer, lui et ses comparses perl et ruby, aux langages compiles en natif

                Sinon, j'aimerai vraiment savoir quelle distrib tu utilises ... vraiment, par curiosité ...

                comme indiqué plus haut: une slackware
                • [^] # Re: .

                  Posté par  (site web personnel) . Évalué à 2.

                  pour le fun j'ai fait un EXE de wymypy1.1
                  peux tu me dires si ça marche sur ta slack
                  http://manatlan.free.fr/setup/wymypy
                  • [^] # Re: .

                    Posté par  . Évalué à 2.

                    ca ne fonctionne pas a cause de la necessite d'avoir glibc 2.4
                    la slack utilise la 2.3.6

                    Ce qui veut dire qu'il faudra gerer d'autres types de dependances pour chaque distribution.... pas une si bonne idee que ca finalement, a moins que ce soit specifique a la slack qui est connue pour ne pas integrer les dernieres nouveautes en attendant qu'elles prouvent leur stabilite ... mais bon vendredi c'etait hier :)

                    merci d'avoir tente le coup
  • # Ajout stream

    Posté par  (site web personnel) . Évalué à 3.

    Bravo pour ce client. Moi qui cherchait depuis quelques temps un client web léger pour MPD.

    Il manque peut-être la possibilité d'ajouter une URL à la playlist.

    J'ai corrigé http://mpd.wikia.com/wiki/Client:WyMyPy pour indiquer que cela marchait avec Python 2.4
    • [^] # Re: Ajout stream

      Posté par  (site web personnel) . Évalué à 2.

      Merci pour la correction du wiki d'mpd, j'avais oublié ce détail ...

      > Il manque peut-être la possibilité d'ajouter une URL à la playlist.
      Ah bon, c'est possible ça ?!?
      Tu parles peut être de cette notion de "stream" sous mpd ?
      • [^] # Re: Ajout stream

        Posté par  (site web personnel) . Évalué à 1.

        Je parle de la possibilité d'écouter une radio en ligne ou tout autre playlist m3u par exemple.

        Je n'ai pas la radio chez moi et j'utilise mpd pour écouter Radio France par exemple. Et j'aimerai avoir la possibilité de rajouter une radio facilement (pour l'instant il faut que je place le fichier dans le dossier playlist de mpd).
        • [^] # Re: Ajout stream

          Posté par  (site web personnel) . Évalué à 2.

          Pareil, j'écoute des radios via mpd ... elles sont dans mes playlists
          C'est plus pratique que de saisir une url à chaque fois

          Cependant j'ajouterai la possibilité, si mpd le permet
  • # but du projet...

    Posté par  (Mastodon) . Évalué à 2.

    J'ai un peu de mal à comprendre le but du projet...mpd fonctionnant sur le principe de client/serveur, je vois bien l'intérêt d'un client léger, mais dans ce cas la je n'irai pas utiliser un client web qui n'est pas intégré à mon bureau comme peut l'être un client gtk ou qt avec tous les petits bonus que ça apporte (notifications...). Et si je veux de la légèreté extrême, je choisirais plutôt un client console. wymypy étant un client web, il est sensé être installé sur une machine qui sera en ligne tout le temps, donc autant l'installer directement sur la machine qui fait office de serveur mpd. Dans ce cas la, j'ai un peu de mal à comprendre l'intérêt d'avoir le truc le plus léger possible non plus puisque de toute façon il n'encombrera pas la machine que tu utilises au jour le jour.

    Bon cela-dit si tu arrives à faire léger, super fonctionnel et stable, tant mieux :)

    Tu gagnerais à faire connaitre ton client auprès des devs de mpd pour qu'il apparaisse dans la page :
    http://www.musicpd.org/clients.shtml
    • [^] # Re: but du projet...

      Posté par  (site web personnel) . Évalué à 2.

      > Tu gagnerais à faire connaitre ton client auprès des devs
      > de mpd pour qu'il apparaisse dans la page :
      > http://www.musicpd.org/clients.shtml

      c'est déjà fait ;-) (depuis le 9/11)

      sinon, le but c pas de faire un client pour jouer en local
      (mais si au final, je risque d'y tendre ... car j'aimerai bien avoir un client comme exaile/listen pour mpd .. mais c'est sans prétention aucune)

      Le but : c'est pour commander son serveur de son à distance !!!
      il m'arrive de mettre de la zic, quand je suis à une soirée, chez des amis ...
      je renvoi tout le flux sonore de ma machine via ices/icecast
      et je pilote le player via un navigateur

      du coup, techniquement, je peux écouter ma musique partout sur terre où il y a un accès internet ...

      oui, on peut aussi se connecter via VNC/nxclient/ssh/mpc pour piloter son mpd de la même façon
      Mais là, c'est bien plus pratique ... (et bien plus pratique qu'un phpmp2 ou autres, car il n'y a besoin de quasi rien)

      capito ?

Suivre le flux des commentaires

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