Cozy Music : lecture de ses fichiers audio en streaming

Bonjour à toutes et à tous,

Je souhaite partager une idée d’application qui pourrait étendre les services proposés par Cozy aux fichiers audio. L’idée serait de proposer quelque chose de similaire à Google Play Music, c’est à dire une application permettant de lire ses propres fichiers audio en streaming depuis n’importe où.

Cela permettrait de placer toute sa collection à un endroit (son Cozy) et de la lire sans avoir à vraiment copier les fichiers d’un périphérique à un autre (ce qui conduit à une grande désorganisation, selon mon expérience…). On pourrait également créer et gérer des playlists, trier et rechercher les morceaux par album, artiste ou année.

Personnellement, ce genre d’application m’intéresserait énormément. Suis-je le seul ?

J’en ai déjà parlé au support de Cozy et on m’a répondu que ce genre d’application serait plutôt développée par la communauté, d’où ma venue sur ce forum :slight_smile:

Je suis tombé sur un ancien projet ici mais il n’est plus maintenu apparemment et n’est pas compatible avec la version actuelle. Ainsi, si suffisamment de personnes pensent que cette application pourrait être intéressante, je veux bien essayer de rentrer en contact avec cette personne pour voir si l’on pourrait relancer le projet (ou démarrer un nouveau projet sinon, même si ma spécialité n’est pas le web et que je pourrais avoir besoin d’aide ;)). Mais je préfére m’assurer avant tout que cela répond à un besoin.

En attendant vos réponses, je vous souhaite une bonne soirée :slight_smile:

Hello @gcoter,

bienvenue sur le forum !

Je vais laisser les gens s’exprimer, je voudrais juste corriger un lien : dans Cozy V2 existait une autre application CozyMusic, descendante de l’application que tu cites, mais dont l’architecture est beaucoup plus compatible avec celle du nouveau Cozy. En effet, tous les traitements se font côté client en appelant l’API du serveur. Il « suffirait » de remplacer les appels à l’API V2 par des appels à l’API V3…

J’attire l’attention de @Schoumi sur ce sujet, je crois que ça peut l’intéresser :wink:

Pour ma part c’est l’appli qui me ferait prendre l’offre à 9,99 €
Dans la V2 la qualité du stream était satisfaisante et ça me paraissait déjà bien abouti.

Parenthèse : j’ai également pensé à une idée de connecteurs qui permettraient d’ajouter des morceaux depuis Bandcamp et Soundcloud. Attention, je ne parle pas de collecteurs qui téléchargeraient les fichiers depuis ces plateformes (ce serait mal).

Merci beaucoup pour ta réponse @Clochix. Est-ce que quelqu’un serait disponible et motivé pour changer les appels à l’API ?

Apparemment, l’application dont tu parles a été déclarée comme DEPRECATED il y a deux jours.

Etant moi-même un grand utilisateur de Bandcamp et Soundcloud, j’approuve l’idée des connecteurs :slight_smile:

1 Like

Avec possibilité de caster sur un chrome cast (freebox), airplay airmedia ou upnp pour les libres :wink:

Hello @Clochix,

Sais-tu si quelqu’un a commencé à adapter l’ancienne application CozyMusic pour la nouvelle version de Cozy ? Le lien que tu as fourni renvoie vers un projet qui a été marqué DEPRECATED. Au cas où personne n’a commencé à s’en occuper, je veux bien le faire. Dans ce cas, existe-il un nouveau repository pour la nouvelle version ?

2 Likes

Hello @gcoter,

Non, à ma connaissance, personne n’a commencé à adapter l’ancienne application CozyMusic, nous serions très heureuses et heureux que la communauté la prennent en main ! Pour l’instant, il n’existe rien, pas dé dépôt ni rien, juste notre écoute pour t’aider :wink:

1 Like

Salut @gcoter,

Il n’y a pour le moment aucun projet (connu en tout cas) de démarré sur CozyMusic mais tu peux partir sur un dépôt de ton Github, il n’y aura aucun soucis :slight_smile:
Si tu souhaites démarrer “from scratch”, tu peux partir d’un hello world à jour et fonctionnel grâce à l’outil create-cozy-app qui est conçu pour aider les développeurs d’applications Cozy V3. N’hésites pas si tu as des questions à ce sujet :wink: . Dans ce cas, la nouvelle application développée aura l’avantage d’être beaucoup plus à jour et cohérente avec toutes les applications Cozy v3 actuelle, ce qui facilitera d’autant plus notre aide et le développement dans la durée.
Si tu souhaites essayer d’adapter l’application CozyMusic actuelle, tu peux regarder du côté de cozy-client-js qui est notre client JS actuellement utilisé pour la communication avec la stack Cozy. Cependant, il faudra probablement prévoir des changements liés à la nouvelle stack autre que les requêtes (manifest, permissions…), c’est assez compliqué de donner une liste exhaustive vu que de notre côté les applications v2 présentes en v3 actuellement ont toutes été réécrites et non “portées”.

Dans tous les cas, comme @Clochix l’a précisé, on reste disponible surtout pour aider une application à se développer au sein de la communauté Cozy :smiley:

PS: ça m’interesserait aussi un retour de CozyMusic sur Cozy, probablement une des apps que j’utilisais le plus en v2 :guitar: :guitar:

2 Likes

Salut @Clochix et @CPatchane,

Merci pour votre soutien et vos conseils. Je commencerai le développement bientôt. Je suis assez occupé en ce moment. Je vais sûrement tenter de démarrer “from scratch” à l’aide de l’outil. Je ne peux malheureusement pas me prononcer sur le temps que cela me prendra. Je ne suis pas habitué au développement web et je dois me familiariser avec Cozy. Je vous tiendrai au courant de mes avancées.

Si quelqu’un souhaite me rejoindre, n’hésitez pas à rentrer en contact avec moi :slight_smile:

5 Likes

Ce serait vraiment chouette qu’une appli de streaming refasse surface sur Cozy !

Je suis ce fil de discussion avec grand intérêt ! :slight_smile:

1 Like

Je suis également intéressé par une telle application et pourrer éventuellement donner un coup de main pour le dév, bien que n’étant pas spécialisé dans le js. :smile:

2 Likes

Bonjour ou bonsoir.

J’attire juste votre attention sur un point mais qui peut couter horriblement cher :unamused: si cette application est proposée sur un serveur autre que en auto-hébergement c’est notre cher amie la rémunération pour copie privée et les dents trop longes de ses bénéficiaires dont le :rage: (auto censure parentale) et bien trop connu.

Mise a part cette obstacle de chois c’est une bonne idée certains voudront peut être même la même chose mais avec leurs vidéos.

Bonjour à toutes et à tous,

Tout d’abord, merci encore pour votre soutien et vos remarques :slight_smile:

Le dépôt de l’application a été créé et se trouve ici ! Pour le moment, il y a simplement le projet “Hello World” généré par l’outil create-cozy-app de @CPatchane. J’ai décidé de développer l’application avec VueJS car j’ai lu et entendu beaucoup de bien à son sujet. Pour celles et ceux que cela intéresse (@laedit peut être ?), j’ai trouvé une série de tutoriels que je suis actuellement sur Youtube et qui permet de se former à VueJS.

Concernant la lecture des fichiers audio, je n’ai pas réussi à comprendre quelle bibliothèque était utilisée pour cela dans l’application V2. En cherchant un peu sur Google, je suis tombé sur AmplitudeJS qui me parait être suffisamment simple, flexible et performante pour être utilisée. Je pense donc partir sur ça mais n’hésitez pas à me faire des remarques ou des suggestions.

Afin de continuer au mieux le développement, j’ai plusieurs questions auxquelles j’aurais besoin que vous répondiez. D’une part, des questions plutôt techniques, destinées je pense à @Clochix et @CPatchane, et d’autre part des questions plus générales sur les fonctionnalités qui sont attendues, destinées aux anciens utilisateurs de la version V2 (que je n’ai pas connue) et aux utilisateurs intéressés par cette application.

Fonctionnalités attendues

J’ai découvert Cozy assez récemment et je n’ai donc pas connu la version V2. J’ai essayé de me plonger dans l’ancien code mais j’ai assez de mal à me faire une idée précise de ce que l’ancienne application offrait. Ainsi, je me suis dit qu’il serait mieux de demander directement à la communauté ce qu’elle attend d’une application Cozy Music.

Qu’attendez-vous de cette application ? Y a-t-il des fonctionnalités qui étaient manquantes auparavant et que vous souhaiteriez voir dans cette nouvelle version ?

Bien sûr, je ne peux pas garantir que toutes ces fonctionnalités seront intégrées rapidement dans la nouvelle version, étant moi-même encore assez débutant dans le développement d’application Web. Mais je souhaite ouvrir la discussion et établir une première TODO list pour diriger le développement.

Questions techniques

En suivant les instructions du README qui a été généré, j’ai réussi à faire tourner localement l’application. Cependant, je m’interroge sur certains détails :

  1. Afin de tester que l’application est capable de récupérer et de lire les fichiers audio de l’utilisateur, j’aurais besoin que le serveur que je fais tourner en local contienne déjà quelques fichiers. J’ai cru comprendre que le stockage des données se fait avec CouchDB et je peux accéder à une interface à l’adresse http://cozy.tools:5984/_utils/. Est-il possible de faire en sorte que certains fichiers soient déjà présents dans cette base pour éviter de les ajouter “à la main” à chaque fois que je veux faire des tests ?

  2. Apparemment, les applications Cozy sont rattachées à Transifex, un service externe pour faciliter leur traduction si j’ai bien compris. En tant que développeur, je suis censé faire un certain nombre de configurations pour enregistrer l’application auprès de Transifex. Lorsque je me connecte avec mon compte Github, on me demande si je veux créer un projet ou en rejoindre un. Si je veux en créer un, je dois dire pour quelle entreprise je travaille. Est-ce que je devrais mettre “Cozy” ? Est-ce qu’il existe déjà un projet “Cozy” que je suis censé rejoindre ?

  3. Après avoir poussé l’application sur Github, j’ai essayé de lancer un job avec Travis pour vérifier que cela fonctionne. Tout s’est très bien passé jusqu’à ce qu’on me demande dans les logs d’entrer un token d’API. En faisant quelques recherches dans la documentation de Cozy, j’ai cru comprendre que chaque application est identifiée par un token afin d’utiliser l’API. Mais je n’arrive pas à comprendre comment ce token est généré. Est-ce que je suis censé le générer moi-même ?

2 Likes

Bonjour @gcoter,

Ravi de voir que tu est parti sur une nouvelle application Musique pour la v3 \o/
Je ne connaissais pas AmplitudeJS mais ça semble sympa, si ça peut permettre d’avoir un truc sympa et stable assez facilement et rapidement, je ne suis pas contre :wink:
Prends juste bien garde à bien le télécharger en temps que module NPM et non via un CDN dans l’application.

RE: Questions techniques

  1. Nous disposons d’un outil pour pousser rapidement des données comme par exemple un dossier de fichiers entier dans un Cozy pour nos développements, il est ici et je pense qu’il peut répondre à ton besoin. N’hésites pas si tu as un souci avec cet outil :wink:
  2. Concernant les traductions, c’est la première fois que l’on a une demande de traductions utilisant Transifex pour une application communautaire. On en discute en interne en tout cas pour voir la meilleur façon de faire, mais ça n’empêche pas démarrer correctement l’application en attendant, ne t’en fais pas (la commande qui pull les traductions n’est pas bloquante pour les builds/tests normalement)
  3. Pour activer le build Travis-CI sur ton application, il y a quelques manipulations à faire pour utiliser un token Github. J’ai ajouté une documentation spécifique à cozy-scripts (dépot de create-cozy-app)

Hâte de voir tous ça évoluer en tout cas :smiley:

2 Likes

Bonjour tout le monde,

J’ai été beaucoup occupé ces derniers temps, d’où ma longue absence sur le forum. J’ai commencé à travailler à nouveau sur Cozy Music.

J’ai réussi à installer AmplitudeJS et j’ai commencé à concevoir un lecteur. Mon but est de lire un petit fichier MP3 de test que j’ai créé pour l’occasion. Il me faut maintenant trouver comment le charger depuis Cozy.

Je vous tiendrai au courant de mes avancées.

PS: si des gens souhaitent m’aider, contactez moi.

2 Likes

Bonjour tout le monde,

J’ai besoin de l’API de Cozy pour récupérer les liens des fichiers audios stockés dans Cozy (cozy.client.files.getDownloadLinkByPath(path)). Je n’arrive pas à comprendre comment je dois m’y prendre pour avoir accès à ces fonctions dans mon code. Dans le fichier src/targets/browser/index.js, je vois bien que cozy.client est initialisé :

cozy.client.init({
    cozyURL: '//' + data.cozyDomain,
    token: data.cozyToken
})

Pourtant, si j’essaie d’appeler cozy.client.files.getDownloadLinkByPath("/"), voici le type d’erreur que j’obtiens :

TypeError: "__webpack_provided_cozy_dot_client.getDownloadLinkByPath is not a function"

La fonction existe, je l’ai retrouvé sur le repo de cozy-client-js. Je n’ai pas beaucoup d’expérience avec JavaScript, donc c’est sûrement une incompréhension de ma part.

Je ne vois pas trop comment je dois m’y prendre et ça me bloque pour la suite. Est-ce que vous pourriez m’aider ?

Hello @gcoter,

Est-ce que ton code est visible quelque part ? Sans plus d’informations, nos experts sèchent :-S

Hello @Clochix,

Oui, bien sûr, sur le repo que j’avais partagé plus haut : https://github.com/gcoter/cozy-music

Je travaille sur la branche develop en ce moment.

Désolé, j’ai oublié de le repréciser dans mon précédent message.

Juste une remarque, je n’ai pas poussé le code causant l’erreur dont je parle. Dans l’état actuel, j’ai un composant Home.vue qui affiche un lecteur, mais il manque l’URL du fichier MP3 à lire et l’URL de la covert art. Ce sont ces URLs que je voudrais récupérer avec l’API de Cozy.