ZoC Radio, la radio


Au commencement était la diffusion en direct (en duplex depuis deux points les plus éloignés possibles sur la planète, parce qu’on est comme ça, on choisit la facilité). Et puis il y a eu le replay et les émissions à télécharger (on n’appelait pas encore ça « podcast », à l’époque). Puis le live en vidéo. Et maintenant, on a enfin une (web)radio!

Au commencement était FunkWhale

Toute cette histoire a commencé avec le rachat de Twitter par Elon Musk (comme quoi, l’effet papillon, ça marche dans les deux sens). Pendant que tout le monde se ruait sur Mastodon, le Grand Argentier du Fric et Gardien Autoproclamé des usines à Gaz Expérimentales (GAF-GAUGE) de ZoC tombait sur un autre composant du Fediverse: Funkwhale. Cet équivalent SoundCloud était une solution idéale pour remettre en ligne les archives demandées à cor et à cri par nos auditeurs depuis la chute du site1, et facilité d’installation aidant, une solution souveraine d’hébergement de nos archives vit le jour2.

Mais il lui manquait quelque chose, à ce logiciel. Si l’on peut uploader de la musique et faire des playlists préconstruites, ça n’est pas encore une vraie webradio…

API new year

Mais Funkwhale ne propose pas uniquement une solution d’hébergement et de lecture de musique (et de la fédération), il propose aussi un truc assez cool: une API.

Une API, c’est quoi? Pour faire (très) simple, c’est un système d’interrogation des éléments d’un système. Dans le cas qui nous intéresse, l’API expose tout un tas d’informations intéressantes, comme l’ensemble des morceaux disponibles sur la plateforme interrogée3.

Set.list

Un programme de radio, c’est quoi exactement? C’est juste de décider ce qu’on passe, à quel moment. C’est enchainer deux chansons, puis un jingle, passer une page de publicité, puis remettre un peu de musique, et pourquoi pas une chronique.

On a d’un côté une audiothèque bien rangée avec la musique dans un bac, les pubs dans un autre, etc. et de l’autre ce qu’on veut passer et dans quel ordre. Il n’y a plus qu’à mettre en place un petit programme qui vient nous faire créer la playlist en fonction ce ces informations, avec une pincée d’aléatoire, parce que l’idée, ça reste quand même de ne pas faire une playlist fixe et d’être surpris à chaque fois.

On remet une petite couche de programmation (une trame qui change en fonction du jour de la semaine), et on obtient:

ZoC Radio, la radio

(juste à temps pour Noël)

Vers l’avenir du futur!

Les esprits chagrins répondront au GAF-GAUGE que c’est bien gentil, mais que ce n’est pas vraiment une webradio, parce que personne n’écoute en fait la même chose en même temps. Le GAF-GAUGE répond qu’il le sait, mais qu’il s’en fiche un peu: à l’heure d’Internet, le contenu est personnalisé pour l’utilisateur4.

Ceci dit, il y a quelques trucs que l’on veut rajouter:

  • L’aléatoire, c’est bien, mais on voudrait aussi pouvoir mettre des choses fixes (genre des bouts d’émission dans le bon ordre).
  • Actuellement, une fois qu’on a fini la trame en cours, on recommence la même playlist. C’est bien mais c’est un peu redondant. L’idée serait quand même d’enchainer sur une autre trame (ou de relancer la constitution d’une playlist à partir de la trame existante)
  • Evidemment, mettre en ligne encore plus de contenu pour ne pas tourner sur les quatre même chroniques et les 12 mêmes morceaux5
  • Il y aurait aussi des optimisations techniques à faire6
  • Et puis un peu de nettoyage de code et de travail de documentation, pour pouvoir envisager (un jour) de le proposer aux autres instances de Funkwhale.

En tous cas, restez en ligne, on va essayer de mettre ça en place!

  1. et même avant, les mises à jour successives ayant conduit à certaines pertes de liens[]
  2. le chargement des archives est encore en cours[]
  3. pour peu qu’on ait une autorisation. Ne comptez quand même pas qu’on vous file une clé d’accès[]
  4. oui, cher auditeur, chère auditrice, ZoC lance les dés rien que pour toi![]
  5. on ment, il y en a plus en base quand même[]
  6. le temps de chargement de la page, c’est votre playlist personnalisée rien que pour vous qui se calcule[]