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)
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 :
- Thomas Parisot pour le standard Media Fragment, qui permet à ce player de créer des liens hypertextes temporels ;
- Loïc Gerbaud pour des corrections ;
- Guillaume Lemoine qui m'a bien aidé avec du prêt de matos au début ;
- Benoît Salles et Michel Poulain pour les tests, Gabi Boyer pour m'avoir passé un iPhone SE, téléphone qui est certes toujours mis à jour, mais Apple n'arrive vraiment pas à tenir Safari aux standards.
- @mariejulien pour m'avoir donné envie de ré-écrire un CONTRIBUTING.md plus accessible
- Christophe Porteneuve, un ami et un formateur JS qui m'a donné un magistral coup de pied au cul. Ses formations JS sont de sérieux cadeaux pour les devs webs.
- scombat qui a écrit une intégration minimale de cpu-audio.js dans React
- Éric Daspet pour ses précieuses remarques sur la documentation
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 Tonton Th (Mastodon) . Évalué à 4.
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 !
[^] # Re: TL;DL ?
Posté par Gil Cot ✔ (site web personnel, Mastodon) . Évalué à 1.
M'en vais dérouler la pellicule
“It is seldom that liberty of any kind is lost all at once.” ― David Hume
# Inutile
Posté par devnewton 🍺 (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 Da Scritch (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 LeBouquetin (site web personnel, Mastodon) . Évalué à 7.
Sur ton blog tu écris ceci :
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.
#tracim pour la collaboration d'équipe __ #galae pour la messagerie email __ dirigeant @ algoo
[^] # Re: licence probablement inappropriée
Posté par Da Scritch (site web personnel, Mastodon) . Évalué à 3.
Exact !
J'avais pas vraiment réfléchit à ça au tout début. Et heureusement, je suis encore le contributeur principal (excepté le design de @mariejulien dans un thème caché) donc je peux décider d'un changement de licence sans trop de soucis.
Comme je l'avais dit à une conf au Capitole Du Libre, une licence peut se négocier, mais là, oui, je vais probablement passer en LGPL en journée dans la release 7.0.2 . Tu peux suivre l'issue ici (ah oui, le dire vite montre que la radio est un métier)
Bon, du coup, la build passera de 49950 octets à 49951. Je reste sous les 50000, mais ça commence à être un peu juste
[^] # Re: licence probablement inappropriée
Posté par Da Scritch (site web personnel, Mastodon) . Évalué à 4.
fait, releasé en master, et l'exé est moins lourd de 8 octets :P
[^] # Re: licence probablement inappropriée
Posté par LeBouquetin (site web personnel, Mastodon) . Évalué à 3.
Ça c'est de la réactivité ! 👍
Du coup ça change la donne ; je pense qu'on va collaborer dans les semaines et mois à venir.
#tracim pour la collaboration d'équipe __ #galae pour la messagerie email __ dirigeant @ algoo
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 2.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: licence probablement inappropriée
Posté par LeBouquetin (site web personnel, Mastodon) . Évalué à 3.
Il faut aussi au strict minimum vérifier les dépendances et la compatibilité …
#tracim pour la collaboration d'équipe __ #galae pour la messagerie email __ dirigeant @ algoo
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 4.
Ce commentaire a été supprimé par l’équipe de modération.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.