====== Personnaliser la webradio studiobox ======
La solution de Webradio des CEMEA est issue du projet Studiobox (développé par [[http://logicielslibres.dane.ac-versailles.fr/spip.php?article270|l'académie de Versailles]]).
Le code en a été modifié et adapté à nos besoins.
Voici la procédure détaillée de ces modifications.
===== Récupérer les sources de studiobox =====
Le code actuel se trouvent dans un dépot public (comme l'était [[https://git.backbone.education/ggekiere/studiobox/tree/master|celui de Studiobox]]). Nous l'avons cloné et modifié.
Le dépot Git utilisé : [[https://framagit.org/cemea/webradio|https://framagit.org/cemea/webradio]]
Pour le récupérer, vous pouvez :
* soit le télécharger avec le bouton "Download"
* soit le dupliquer sur votre PC dans un dossier qui vous intéresse avec la commande (sous Linux, installer le paquet "git" : sudo apt install git):
git clone https://framagit.org/cemea/webradio
===== Modifier les sources de studiobox =====
Une fois le code source récupéré, vous pouvez le modifier. Tout se passe dans le dossier **Studiobox3/config**. Voici quelques dossiers utiles :
* **package-lists / **//principal.list.chroot// : fichier contenant la liste des paquets à installer dans la distribution
* **include.chroot /** : dossier recopié dans la distribution avec des ajouts manuels (scripts, images grub…). On se retrouve à la racine de la future studiobox.
* **includes.chroot / etc / skel /** : contenu du dossier recopié dans le home de chaque utilisateur (qui contient .Scripts…)
* **include.installer** / //preseed.cfg// : fichier d'options pour l'installation de la distribution et de la version live (dépots, langue…)
* **packages.chroot /** : dossier contenant des paquets .deb à installer hors dépôts.
* **includes.binary / isolinux /** : dossier avec fond d'écran de démarrage
* **hooks** : dossier contenant des scripts lancés pendant la création du live, pour nettoyage ou installation de paquets ou procédures supplémentaires
===== Les scripts particuliers =====
Dans le dossier /home/studiobox on trouve quelques fichiers personnalisés (qui viennent de /etc/skel) dont certains servent au lancement des outils principaux de la webradio.
==== Le dossier . Scripts ====
Il contient plusieurs scripts importants :
=== diffrec-LS.bash ===
C'est lui qui lance avec quelques options la diffusion et enregistrements de la radio :
* diffrec-LS.bash cs : configure la carte son
* diffrec-LS.bash pm : lance l'interface pour définir le point de montage
* diffrec-LS.bash rec : diffuse et enregistre en local
* diffrec-LS.bash internet : diffuse et enregistre sur internet
* etc.
=== Le dossier .Scripts / config ===
Il contient les fichiers qui contiendront la configuration de la webradio :
* //cs// : pour la carte son (normalement : 0,0 pour la première entrée de la première carte son)
* //pm// : pour le point de montage, contient le nom du canal, le mot de passe
==== Les menus (visibles par clic-droit) ====
Ils sont générés à partir de fichiers .xml qu'on trouve dans le dossier **.config / openbox. : **//menu.xml, menuinstallation.xml, menupersistence.xml//
Lors de la modification de certaines options, ils sont remplacés par la version 2 de ces fichiers : //menu2.xml, menuinstall2.xml, menupersistence2.xml//
Les possibles modifications sont dues par exemple à l'installation du paquet "Airtime", l'installation de la clef ou l'ajout de la persistance.
==== Les dossiers ====
Les dossiers importants dans le "home" :
* **Documents** : ils contiennent la documentation : ne pas le changer, les menus y font référence.
* **Enregistrements** : C'est là que seront stockés les enregistrements en live.
* **Musique** : Si Airtime est installé, c'est là qu'il va chercher la musique à diffuser.
* **Images** : contient le fond d'écran.
===== Recréer la distribution =====
**Pré-requis** : sous Linux, installer le paquet "live-build" ([[https://live-team.pages.debian.net/live-manual/html/live-manual/index.en.html|voir documentation]]) (d'autres outils existent aussi pour la création d'ISO comme [[https://vmdb2.liw.fi/|vmdb2]] pour créer des iso à partir de fichiers YAML):
apt install live-build
Une fois ces dossiers ou fichier modifiés, placez-vous dans le dossier **Studiobox3** (ou un autre)à (là où il y a **config**) et lancez la commande :
lb build # (lb pour live-build)
Elle va suivre les instructions contenus dans **config/**, **preseed.cfg** et télécharger les paquets utiles et créer un fichier "iso" (studiobox-amd64-hybrid.iso) dans le dossier. Il faut patienter selon le débit de votre connexion et la vitsse de votre PC : 45 minutes minimum.
Si vous deviez modifier les fichiers de configuration, il faudrait faire le ménage en lançant :
lb clean
avant de relancer
lb build
PS : il est possible et pratique de procéder à la création de cette nouvelle iso dans une studiobox installée pour avoir les outils utiles et un environnement similaire.
===== Tester la distribution =====
Pour tester la distribution, vous pouvez soit l'installer sur une clef USB avec [[https://etcher.io/|Etcher]], soit utiliser la virtualisation avec [[https://www.virtualbox.org/|Virtualbox]] pour lancer l'ISO comme live-CD/USB.
===== Aspects techniques =====
* Le flux audio local est transféré sur le serveur via la librairie liquidsoap
* Le serveur audio qui diffuse est "icecast" à installer (paquet Debian : icecast2). Fichier de config à venir
* ll est nécessaire de définir un point de montage différent par flux audio
==== Fichier de config icecast : ====
C'est l'utilisateur source qui est utilisé pour diffuser le flux.
Le serveur icecast comprend chaque flux avec les options suivantes :
webradio.mp3 / webradio
port 8000
===== Projets similaires de webradio =====
* [[https://p-node.org/|Pi-node]] avec un raspberry-pi et émission locale sur réseau locale, sur serveur distant et en FM en courte portée
====== Serveur de Webradio ======
Le serveur actuel de Webradio est configuré à partir d'un serveur classique Icecast avec un fichier de configuration manuel.
Une alternative plus récente est possible avec la solution Azuracast déjà testée.
* [[.:webradiosazuracast|Projet de serveur Azuracast]] : Webradios.cemea.org