Journal cpu-audio 7.0

Posté par  (site web personnel, Mastodon) . Licence CC By‑SA.
Étiquettes :
17
27
avr.
2021

cpu-audio.js vient de passer en version 7.0. Le player audio de l'émission CPU en WebComponent a été revu en profondeur, avec moult corrections et notamment l'arrivée des thèmes graphiques en plus du (système simple de configuration](https://dascritch.github.io/cpu-audio/applications/live_config.html)

CPU-Audio

L'idée d'origine de cette lib était de pouvoir donner une URL qui puisse pointer à un instant précis d'un audio dans une page web. Car le standard existe mais n'est pas implémenté par les principaux navigateurs. Or il est bien utile pour les émissions de 5h30. Et quitte à le faire, le faire avec un minimum de dépendances et un maximum de souplesse.

Par la suite, les principales API sont arrivées pour enfin stabiliser les Web-components, ce qi m'a permis d'enfin réaliser une bibliothèque javascript isolée, transportable, agnostique, petite (sous les 50ko) et toujours en vanilla.

Je raconte (longuement) sur mon blog les démarches de conception qui m'ont permis d'y arriver et de le faire dans la licence GPL.

J'avais besoin de refondre complètement la bibliothèque pour la rendre plus maintenable, plus facile aussi pour que n'importe quel dev ou intégrateur front s'en empare. Il est ainsi possible de créer des thèmes graphiques sans toucher au code JS, ce dernier ayant même une tolérance d'implémentation.

Il reste toujours les idées qu'on avait jeté au début, que je ne réaliserai jamais seul mais que j'espère donner une base saine pour construire :
- des thèmes plus aboutis et jolis
- une WebExtension pour lire n'importe quel audio tranquillement
- créer des playlist décentralisées pour montrer que le web est beau car remixable
- créer des commentaires à la SoundCloud/MixCloud mais décentralisés
- des outils encore plus poussés que l'éditeur de chapitre
- ajouter un spectrogramme via add-on
Et n'hésitez pas à me contacter si vous avez besoin d'aide.

J'ai encore beaucoup de choses à dire, mais surtout beaucoup à remercier ; d'abord toute l'équipe de l'émission et ceux de la radio qui font qu'on reste très impertinents depuis 1981. Avec une pensée spéciale pour le Tetalab et Mixart Myrys où nous avions enregistré de nombreuses émissions et dans une panade noire.

Ensuite ceux qui m'ont aidé spécialement sur ce projet de code :

N'hésitez pas à le faire connaitre, si vous avez un projet audio dans le web qui nécessite un lecteur.

  • # TL;DL ?

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

    Or il est bien utile pour les émissions de 5h30.

    Oué ! elle est terrible cette bobine ! Mais elle est très longue aussi, et (amha) les meilleurs morceaux arrivent en gros deux heures après le début. Mais ce début est très bien aussi. C'est vous qui voyez. Enjoy !

  • # Inutile

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

    Moi je clique directement sur le bouton pour télécharger. Le player ne fait que ralentir le chargement de la page.

    (C'est le deuxième commentaire, donc j'ai le droit d'être méchant !).

    Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.

    • [^] # Re: Inutile

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

      Donc il n'est pas inutile, car le lien direct est bien plus bas :D

      Tu peux aussi l'essayer sur un navigateur qui ne supporte pas les WC, ou même sans JS pour te convaincre de son inutilité parfaitement conçue en “dégradation élégante”.

  • # licence probablement inappropriée

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

    Sur ton blog tu écris ceci :

    J'avais besoin de refondre complètement la bibliothèque pour la rendre plus maintenable, plus facile aussi pour que n'importe quel dev ou intégrateur front s'en empare.

    Et d'après le repo github (et d'après le blog aussi, mais c'est l'occasion de mettre le lien vers le code source) la licence est GPL 3.

    Cette licence est trop contraignante pour que les dev web s'emparent du projet. L'intérêt d'une lib pour un dev web est d'améliorer son projet. La GPL va contaminer son projet ce qui n'est pas acceptable dans beaucoup de cas.

    Je te suggère (si tu peux et veux) de passer en MIT ou LGPL. Tu ne contraindras pas d'éventuels utilisateurs, donc ils intégreront ton player et te feront des retours : rapports de bugs, questions, échanges voire correctifs.

    Exemple : pour Tracim on a développé un module python de génération de "preview" qui est indépendant et qui est en MIT. On a des retours de différents utilisateurs, des améliorations, et des gens l'utilisent dans un contexte professionnel où la GPL est rédhibitoire (pour une dépendance).

    La contamination de la GPL au programme qui utilise ta lib va imposer au développeur de faire des arbitrages avec d'autres dépendances qui n'ont rien à voir (mais qui ne sont pas compatibles GPL).

    GPL et AGPL pour un produit fini sont bien, mais pas pour une lib qui doit/peut/va être intégrée dans des projets variés (si l'objectif est d'étoffer ta base d'utilisateurs et de faire grandir ton projet).

    Illustration très concrète : on est en train de réfléchir à l'intégration d'un player audio dans Tracim. En GPL ta lib est écartée d'office car potentiellement incompatible avec la licence de l'ensemble de nos dépendances.

    En MIT ou LGPL, c'est ok car ça nous laisse faire ce qu'on veut par ailleurs. Dans les deux cas on contribuera upstream sur les problème que l'on rencontre.

Suivre le flux des commentaires

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