[center]Cracobox[/center]
Ce script permet de visualiser/enregistrer facilement divers médias sans utiliser son navigateur internet.
Participez à son évolution en proposant d'autres fonctions, radios, podcasts, webtv, replays... !

Le but étant d'en faire un script cool et relax.
Médias disponibles (des webradios cools pour la plupart) :
  • L'écho des gnous
    Émission consacrée au logiciel Libre et à la culture libriste
  • Podcast de Laurent Gerra sur RTL (8h45)
  • Super Oldies, 50's 60's, US
  • MusicRadio Airchecks," 50's 60's
  • Audio Noir, drama & crime (améliorez votre anglais et régalez vous de ces voix)
  • Valhalla Radio, heavy metal, voulez vous rejoindre Ragnaar au Valhalla ?
  • Medieval Radio
  • Vikland Radio
  • StreamingSoundTracks
  • UK Bass Radio
  • ModFM
  • RadioSEGA.net # Video Game Music
  • SLAY Radio # c64 remixes
  • MASCHINENGEIST.ORG # RADIO Deep Field Transmissions
  • LSD-25 . live . radio # Ambient, Dance, Electronic, House, Psychadelic, Trance, FullOn, DarkPsy, Goa
  • Elfm Radio # La radio web Folk - Pagan-Folk - Folk Nordique - Folk Celtique - Folk Slave - Rock Médiéval - Folk Méditerranéen
  • Radio-rock-vintage , comme son nom l'indique
  • Metalheart, webradio accès métal
  • Metallica-station, pas besoin de décrire
  • Pedro Broadcasting, la radio de Laurent Garnier
  • Bide-et-musique, la webradio de l'improbable et de l'inouï
  • Wildcountry
#!/bin/bash
# 0.54
# dépendance : xterm
# conseillé : mimms

# Auteur : cracolinux
# copyleft 2012 - 2020

 
# Voici la liste des spécificités actuelles:
# - Enregistrement des préférences dans ~/.config/cracobox/cracobox.conf
# - Utilisation d'un dossier temporaire : /tmp/cracobox pour toutes les taches de traitement de fichiers
# - Detection des players du système parmi une liste (non exhaustive, rajoutez-en!)

#Changelog:
# - EDG : Obtention des liens pour l'emission (écho de gnous) via le flux de Ludovic Grossard + 0.51
# - EDG : Parametrage du nombre d'émissions + 0.51
# - Gerra : ajout de la fonction pour les podcasts de Gerra sur RTL

# LICENCE:
#
# 		LICENCE PUBLIQUE RIEN À BRANLER
# 		Version 1, Mars 2009
# 		Copyright (C) 2009 Sam Hocevar
# 		14 rue de Plaisance, 75014 Paris, France
# 
# 			La copie et la distribution de copies exactes de cette licence sont
# 			autorisées, et toute modification est permise à condition de changer
# 			le nom de la licence. 
# 
# 		CONDITIONS DE COPIE, DISTRIBUTION ET MODIFICATION
# 		DE LA LICENCE PUBLIQUE RIEN À BRANLER
# 
# 		0. Faites ce que vous voulez, j’en ai RIEN À BRANLER.


	# fonctions diverses

## compatibilité avec bsd
if ! which seq > /dev/null 2>&1 ; then
    seq () {
	if [ $1 = 1 ] ; then
	    jot $2
	else
	    jot $((1+$2-$1)) $1
	fi
    }
fi
##

	
f_fichtemp () {
	for a in $@ ; do
		eval ${a}=$(mktemp --tmpdir=/tmp/cracobox)
	done	
}

f_quit () {
	rm -r /tmp/cracobox
	exit 0
	}	

f_detection_player () {
	
	player_possible=("vlc" "mplayer" "xine" "totem" "gnome-mplayer" "gst123" "cvlc" "mpv")
	for a in ${player_possible[@]}
	do
		which $a > /dev/null && player_choix=(${player_choix[@]} ${a})
	done
}

f_presser_une_touche () {
	
	echo
	read -s -n 1 -p " -appuyer sur une touche pour continuer-"
}

f_efface_et_presente () {
	
    clear
    echo "⇖⇘  ${1:-Cracobox}  ⇙⇗"
    echo	
}

f_faire_un_choix () {
	
    result="$1"
    shift

    for a in $(seq 1 $#) ; do
		echo "   $a ⇒ ${!a}"
    done

    echo

	if (( $# <= 9 )) ; then
    read -s -n 1 num			# sans validation par entrée
    else
    read num
    fi
   
    eval $result='${!num}'   # a modifier
}

	# LES REPLAYS & PODCASTS
	
# l'echo des gnous
f_echos_gnous () {

	# lecture ou écriture du nombre d'émission par défaut dans le fichier utilisateur ~/.config/cracobox/cracobox.conf
    if [[ -w ~/.config/cracobox/cracobox.conf ]] ; then
	
		if [[ -n $(grep 'nbemission=' ~/.config/cracobox/cracobox.conf) ]] ; then
			
			nbemission=$(grep 'nbemission=' ~/.config/cracobox/cracobox.conf | cut -d '=' -f 2)
			[[ -z $nbemission ]] && echo "Fichier ~/.config/cracobox/cracobox.conf invalide" && exit 1
		else

			f_efface_et_presente "Paramétrage"
			read -p "Nombre d'emissions par défaut:" nbemission
			echo "nbemission="$nbemission"" >> ~/.config/cracobox/cracobox.conf
		fi
    else
	
		f_efface_et_presente "Paramétrage"
			read -p "Nombre d'emissions par défaut:" nbemission
			echo "nbemission="$nbemission"" >> ~/.config/cracobox/cracobox.conf
    fi


	
	# Variables
	declare -a title
	#declare -a description
	declare -a lien
	declare -a duration
	declare -a all

	f_fichtemp echo_last  # va créer un fichier temporaire dans le variable $echo_last

	# parsage n°1 avec les n dernières émissions : titre, description, lien et durée
	#wget -O- http://www.chtinux.org/podcast/feed.xml | grep -m ${nbemission} -A 2 -B 5 "<enclosure\ url\=" | grep -v "<guid" | grep -v "<link" | grep -v "subtitle" | grep -v "summary" | tr -d '\t' > ${echo_last}
	wget -O- "https://podcast.grossard.fr/feed.xml" | grep -m ${nbemission} -A 3 "<enclosure\ url=" | grep -v "itunes:block" | grep -v "itunes:explicit"| tr -d '\t' > ${echo_last}
	# remplissage des 5 tableaux : titre, description, lien, durée et all (utilisé pour la présentation via f_faire_un_choix)
	# sed -n 1p : affichage de la ligne 1
	# sed -n 2p : affcihage de la ligne 2, etc.

	for (( a=1 ; a<=${nbemission} ; a++ )) ; do
		echo "---- ${nbemission} ------ "
		
		#title[${a}]=$(grep "<titl" ${echo_last} | cut -d '>' -f 2 | cut -d '<' -f 1 | sed -n ${a}p)
		#description[${a}]=$(grep "<descr" ${echo_last} | cut -d '>' -f 2 | cut -d '<' -f 1 | sed -n ${a}p)
		lien[${a}]=$(grep "<enclosure" ${echo_last} | cut -d '"' -f 2 | sed -n ${a}p)
		duration[${a}]=$(grep "duration" ${echo_last} | cut -d '>' -f 2 | cut -d '<' -f 1 | sed -n ${a}p)
		title[${a}]=${lien[${a}]##*/}
		all[$a]="${title[$a]} ${duration[$a]}"
	done

	# affichage des choix :

	f_efface_et_presente "${nbemission} dernières émissions"
	f_faire_un_choix emission "${all[@]}"


	for (( a=1 ; a<=${nbemission} ; a++ )) ; do     # lecture de title[]
		if [ "${emission}" = "${title[${a}]} ${duration[${a}]}" ] ;then
		urlfinale=${lien[${a}]}
		fi
	done
	
}


f_gerra ()

{
	# Variables
	declare -a gerra
	declare -a title
	declare -a lien


	f_fichtemp gerra_stuff  # va créer un fichier temporaire
	
	
	
	wget --output-document=$gerra_stuff "https://www.rtl.fr/podcast/laurent-gerra.xml"

	while read line
	do
		gerra+=("$line")
	done < $gerra_stuff

	# depuis la table gerra, on garnit les liens et title :
	tutu=0
	for (( i=0 ; i < ${#gerra[@]} ; i++)); do
		if ( grep mp3 <<< ${gerra[$i]} >/dev/null ) ; then
			((tutu++))
			bingo=$(grep --only-matching -E "https://rtl.proxycast.org.*mp3" <<< ${gerra[$i]})
			lien[$tutu]="$bingo"

			for b in {1..10} ; do
				if [[ "${gerra[$i-$b]}" =~ \<title\> ]] ; then
					title[$tutu]="${gerra[$i-$b]}"
				fi
			done
		fi
	done

	# raffinage des titles
	for (( z=0 ; z < ${#title[@]} ; z++ )); do
		title[$z]=${title[$z]/<title>/}
		title[$z]=${title[$z]/<\/title>/}
	done

	# affichage des choix :
	f_efface_et_presente "Podcast Gerra sur RTL"
	f_faire_un_choix emission "${title[@]}"

	# on determine urlfinale	

	for (( z=0 ; z < ${#title[@]} ; z++ )); do
		if [ "$emission" = "${title[$z]}" ] ; then
			urlfinale="${lien[$z]}"
		fi
	done

	}

	# LES DIRECTS Radio & TV
f_directs () {
	f_efface_et_presente "Les WEBRADIOs"
	f_faire_un_choix laradio "Bide & Musique" "Libre antenne" "Valhalla Radio" "Radio-rock-vintage" "UK Bass Radio" "Super Oldies" "StreamingSoundTracks" "Elfm Radio" "Vikland Radio" "Audio Noir" "MusicRadio Airchecks" "ModFM" "Medieval Radio" "Metalheart" "RadioSEGA.net" "SLAY Radio" "MASCHINENGEIST.ORG" "LSD-25 . live . radio" "Metallica-station" "Pedro Broadcast" "Countryclub" " Retour"
	
	case $laradio in

		##http://www.streamfinder.com/internet-radio-station/44379/gold247/#_

		"Libre antenne" )
		urlfinale="http://stream.libreantenne.org/listen.ogg";;
		
		"Super Oldies" )
		urlfinale="http://uk2-vn.mixstream.net/8064.pls";;
		
		"MusicRadio Airchecks" ) # 50's 60's
		urlfinale="http://173.236.59.83:8190"
		;;
		
		"Audio Noir" )#, drama & crime
		urlfinale="http://50.7.16.114:8000"
		;;
		
		"Valhalla Radio" ) # heavy metal
		urlfinale="http://cp.usa5.fastcast4u.com:5744/stream"
		;;
		
		"Medieval Radio" )
		urlfinale="http://5.159.233.66:9920/listen.pls"
		;;
		
		"Vikland Radio" )
		urlfinale="http://vikland.c-prod.com/vikland.m3u"
		;;
		
		"StreamingSoundTracks" )
		urlfinale="http://hi1.streamingsoundtracks.com:8000"
		;;
		
		"UK Bass Radio" )
		urlfinale="http://uk3-vn.mixstream.net:8002"
		;;
		
		"ModFM" ) #  →→ ModFM tracked amiga c64 chiptune electronic oldschool demoscene
		urlfinale="http://modfm.radio.de:8500"
		;;

		"RadioSEGA.net" ) # Video Game Music
		urlfinale="http://content.radiosega.net:8006/live"
		;;

		"SLAY Radio" ) # 	c64 remixes
		urlfinale="http://95.140.182.197:8100"
		;; 

		"MASCHINENGEIST.ORG" ) # RADIO Deep Field Transmissions
		urlfinale="http://radio.maschinengeist.org/stream_ultra.m3u"
		;;

		"LSD-25 . live . radio" ) # Ambient, Dance, Electronic, House, Psychadelic, Trance, FullOn, DarkPsy, Goa
		urlfinale="http://a1.lsd-25.ru:8000/new"
		;;

		"Elfm Radio" ) # La radio web Folk - Pagan-Folk - Folk Nordique - Folk Celtique - Folk Slave - Rock Médiéval - Folk Méditerranéen
		urlfinale="http://serveur-webradio.com:9030"
		;;

		"Radio-rock-vintage" )
		urlfinale="http://listen.radionomy.com/radio-rock-vintage"  # comme son nom l'indique
		;;
		
		"Metalheart" )
		urlfinale="http://listen.radionomy.com/metalheart" # →→ radio métal
		;;
	
		"Metallica-station" )
		urlfinale="http://listen.radionomy.com/metallica-station" # →→ radio métal(lica)
		;;
		
		"Pedro Broadcast" )
		urlfinale="http://pbb.laurentgarnier.com:8000/pbb.ogg"
		extension=".ogg"
		;;
		
		"Bide & Musique" )
		urlfinale="http://relay1.bide-et-musique.com:9100"
		;;
		
		"Wildcountry" )
		urlfinale="http://listen.radionomy.com/wild-country.m3u"
		;;
		
		" Retour")
		unset urlfinale
		break
		;;
	esac
	
	nompourenregistrement="${laradio}"$(date +%d-%m-%Hh%M)"${extension}"
}
	
# Fonction gérant l'écoute/visionnage d'une url	
f_voir () {

    if [[ -w ~/.config/cracobox/cracobox.conf ]] ; then
    	if [[ -n $(grep 'player=' ~/.config/cracobox/cracobox.conf) ]] ;	then
			player=$(grep 'player=' ~/.config/cracobox/cracobox.conf | cut -d '=' -f 2)
			[[ -z $player ]] && echo "Fichier ~/.config/cracobox/cracobox.conf invalide" && exit 1
		else
			f_efface_et_presente "Choix du lecteur par défaut"
			f_detection_player
			f_faire_un_choix player ${player_choix[*]}
			echo "player="$player"" >> ~/.config/cracobox/cracobox.conf
		fi
    else
		f_efface_et_presente "Choix du lecteur par défaut"
		f_detection_player
		f_faire_un_choix player ${player_choix[*]}
		echo "player="$player"" >> ~/.config/cracobox/cracobox.conf
    fi

    echo "${urlfinale}"
    ${player} "${urlfinale}"
    
}

# Fonction gérant l'enregistrement d'une url	
f_enregistrer() {
	
	#cas d'un téléchargement régulier
	if ${telechargementregulier} ; then
		telechargementregulier=false
		export urlfinale
		xterm 	-T "Cracobox -enregistrement- dans $PWD"\
				-e 'echo -e "Téléchargement de ${urlfinale##*/} dans ${PWD} \n note: un téléchargement interrompue peut etre repris plus tard..." ; \
					wget -c ${urlfinale}' &
		unset urlfinale
		break
	fi
	
	# lecture ou écriture de l'enregistreur par défaut dans le fichier utilisateur ~/.config/cracobox/cracobox.conf
    if [[ -w ~/.config/cracobox/cracobox.conf ]] ; then
	
		if [[ -n $(grep 'enregistreur=' ~/.config/cracobox/cracobox.conf) ]] ; then
			
			enregistreur=$(grep 'enregistreur=' ~/.config/cracobox/cracobox.conf | cut -d '=' -f 2)
			[[ -z $enregistreur ]] && echo "Fichier ~/.config/cracobox/cracobox.conf invalide" && exit 1
		else
			
			f_efface_et_presente "Choix enregistreur:" ; echo
			f_faire_un_choix enregistreur mimms mplayer
			echo "enregistreur="$enregistreur"" >> ~/.config/cracobox/cracobox.conf
		fi
    else
	
		f_efface_et_presente "Choix enregistreur" ; echo
		f_faire_un_choix enregistreur mimms mplayer
		echo "enregistreur="$enregistreur"" >> ~/.config/cracobox/cracobox.conf
    fi
	
	# nom de l'enregistrement
	echo -e "Le nom par défaut pour l'enregistrement en préparation est : ${nompourenregistrement} \n"
	read -s -n 1 -p "Voulez-vous le changer ? (o/n)" ouinon && ouinon=$(tr [:upper:] [:lower:] <<< ${ouinon})
	[ ${ouinon} == "o" ] && read -p "Nouveau nom:" nompourenregistrement
	
	
	export urlfinale
	export nompourenregistrement
	
	# empecher mimms pour les directs, mimms s'utilise pour le protocole mms
	[[ $enregistreur == "mimms" ]] && [[ $choixinitial == "DIRECTS Radio/Tv" ]] && enregistreur="mplayer"
		
	if [[ $enregistreur == "mimms" ]] ;	then
	    
	    xterm 	-T "ctrl + c pour stopper l'enregistrement dans $PWD"\
				-e 'echo -e "\t\tctrl+c pour annuler (un téléchargement peut etre relancé et finalisé)" ; \
					mimms -r -c "${urlfinale}" "${nompourenregistrement}"' &
		
	fi
	
	if [[ $enregistreur == "mplayer" ]] ; then
		
		xterm 	-T "ctrl + c pour stopper l'enregistrement dans $PWD"\
				-e 'echo -e "\t\tctrl+c pour annuler" ; \
					mplayer -quiet "$urlfinale" -dumpstream -dumpfile "${nompourenregistrement}"' &
			
	fi
	
	unset urlfinale 
	unset nompourenregistrement

}

# Fonction gérant les actions sur ${urlfinale} 
f_action () {
	
	# Questionnement sur l'action à mener :
    f_efface_et_presente "Que faire ?"
    f_faire_un_choix action "Visionner/Ecouter" "Enregistrer" "Voir URL" " Retour" " Quitter"

	case $action in
	
		"Visionner/Ecouter")
		
			f_voir ;;
			
		"Voir URL")
		
			echo -e "$urlfinale\n" && read -s -n 1 -p " -appuyer sur une touche pour continuer-" && f_action ;;
			
		"Enregistrer")
		
			f_enregistrer ;;
			
		" Quitter")
		
			f_quit ;;
			
		" Retour")
		
			continue ;;
		
		*)
			echo "Incorrect..."
			sleep 1
			continue ;;
	esac


}

#======================
#LE CORPS DU SCRIPT (!)
#======================


# création du répertoire de fichiers temporaires
mkdir -p /tmp/cracobox

# variables
telechargementregulier=false
extension=".mp3"
nbemission=5

# GO!

while true
do
	f_efface_et_presente
	f_faire_un_choix choixinitial "REPLAYS & PODCASTS" "Webradios" " Supprimer les préférences" " Quitter"
	
	case ${choixinitial} in
	
		"Webradios")
			
			while true
			do
					
					f_efface_et_presente "Webradios"
					f_directs
					f_action
			done
			;;
				
		"REPLAYS & PODCASTS") 
		
			while true
			do
					
					f_efface_et_presente "Replays & Podcasts"
					f_faire_un_choix startchoice "L'échos des gnous (${nbemission} dernières)" "Gerra podcast de RTL" " Retour"

						
						case ${startchoice} in
								
								"L'échos des gnous (${nbemission} dernières)")
									f_echos_gnous
									telechargementregulier=true
									;;

								"Gerra podcast de RTL")
									f_gerra
									telechargementregulier=true
									;;
								
								" Retour")
									break ;;
						esac
					f_action
			done
			;;
		" Supprimer les préférences")
		
			[[ -w ~/.config/cracobox/cracobox.conf ]] && rm ~/.config/cracobox/cracobox.conf && echo "Préférences effacées!" && sleep 1 
			continue
			;;
				
					
		" Quitter")
			
			f_quit
			;;
		
		*)
			echo "Incorrect..."
			sleep 1
			continue ;;
	esac
done

exit 0

Merci à AnsuzPeorth, ®om , n3o51 et demonipuch, Metalux et HUSH pour leurs contributions !
Salut pour le bouton annuler tu peut le récuperer comme ça :
    if [ $? -ne 0 ]
    then
j'ai fait avec l'aide d'AnsuzPeorth
Euh ... mon aide c'est limité à t'indiquer que gstreamer pouvait lire ce genre de protocole ... C'est donc pas une grande aide ...
n3o51 a écritSalut pour le bouton annuler tu peut le récuperer comme ça :
    if [ $? -ne 0 ]
    then
Oui, peut-être mais je n'ai pas réussi à mettre ça en place dans le code...si tu as une idée ...

@Ansuz

Oui, en plus, j'ai enlevé gstreamer du code !! j'arrive pas à enregistrer avec !!
Bonsoir cracolinux,
j'ai testé la version graphique (uniquement le visionnage) mais ça ne marche pas sur tous les flux. L'adresse de la vidéo ne semble pas être indiquée et seules les indications suivantes sont récupérées
mms://a988.v101995.c10199.e.vm.akamaistream.net/7/988/10199/3f97c7e6/ftvigrp.download.akamai.com/10199/cappuccino/production/publication/
soit correspondant à partieinitiale et partiefinale n'est pas récupérée.
En tout cas ce projet tombe à pic souhaitant faciliter la visualisation de C dans l'air pour un membre de mon entourage qui m'en a fait la demande. Merci pour lui 🙂.
edit : Corrigé!

Oui, les émissions sont dans l'ordre antichronologique, c'est à dire la dernière en 1ere place, etc ...
Le problème, c'est que les vidéos les plus anciennes ne sont plus accessibles...c'est le cas des 2 dernières de la liste à l'heure ou j'écris ça. C'est france 5 qui décide!

Je vais aussi modifier le script pour qu'il prenne en compte la dernière émission le plus vite possible.
Par exemple, celle d'aujourd'hui est visionable sur la page d’accueil dès maintenant (22h09) mais mon script ne la propose pas...normal, il ne prend que celles de la page vidéos...!
Je m'en occupe au plus vite. (EDIT : c'est fait )

Content que le script te soit utile !
cracolinux a écritLe problème, c'est que les vidéos les plus anciennes ne sont plus accessibles...c'est le cas des 2 dernières de la liste à l'heure ou j'écris ça. C'est france 5 qui décide!
Pourtant la vidéo est toujours disponible concernant la dernière visible dans ton script à cette heure-ci:
mms://a988.v101995.c10199.e.vm.akamaistream.net/7/988/10199/3f97c7e6/ftvigrp.download.akamai.com/10199/cappuccino/production/publication/Autre/Autre/2012/S06/J1/379662_cdanslair_extrait1_20120206.wmv
En tout cas beau travail cracolinux, débutant en bash très très doucement (si je passais aussi moins de temps sur le forum! 😃), la tâche me paraissait un peu trop ardue pour le réaliser moi-même. En plus, cela me permettra d'étudier comment tu l'as fais 😉.
Arrêtes toi vite, je suis tout rouge devant mon écran !!!

L'url que tu donnes
mms://a988.v101995.c10199.e.vm.akamaistream.net/7/988/10199/3f97c7e6/ftvigrp.download.akamai.com/10199/cappuccino/production/publication/Autre/Autre/2012/S06/J1/379662_cdanslair_extrait1_20120206.wmv
mène à un extrait de l’émission, c'est pas vraiment le but de mon script d'y accéder...mais pourquoi pas dans une prochaine version.


Par ailleurs, je viens de modifier le script, toutes les émissions sont disponibles, même celle d'aujourd'hui et il ne propose plus les vidéos périmées (cf post #7)
Ce qui veut dire que j'ai fais la modification et la mise à jour en 1 heure les gars !!

OH-YEAH !!!



🙂


Désolé, je suis un peu foufou ce soir
@metalux

Est-ce que tu tiens à cette possibilité de voir les extraits des plus anciennes émissions ?
cracolinux a écritArrêtes toi vite, je suis tout rouge devant mon écran !!!
Aarrrrrrrrrgh! Oups! C'est moi qui devrait être tout rouge (de honte) d'avoir confondu l'extrait avec la vidéo intégrale (pfff...c'est pas comme ça que je vais progresser, le script bash ne doit pas accepter une telle approximation!).
Non,non, je ne tiens pas à voir les extraits des anciennes émissions, et avec la mise à jour que tu as fais il ne doit plus rien avoir à améliorer. Je vais de ce pas tester la dernière version.
testé et approuvé. En plus en nautilus-script c'est le top!
Par contre j'ai un problème d'encodage: Qu'attend-il? s'affiche Qu&#039;attend-il?. Est-ce que cela vient de chez moi?
Non, c'est "normal", il y a un problème d'encodage.
Je vais essayer d'y remédier.
je n'arrive pas à lancer la version console. Ce n'est pas la version qui m'intéresse le plus mais j'aimerais bien la tester (étudier) également. Comment dois-je m'y prendre?
Tu dois d'abord rendre le fichier téléchargé exécutable :
chmod u+x le-fichier
Ensuite, tu peux le lancer par :
./le-fichier-a-lancer
C'est bien ce que je fais.
le script m'affiche USAGE : c-dans-l-air vis|enr|url (visionner/enregistrer/voir url) puis quitte.
Cela semble lié au début du script (commande exit) mais je ne sais pas interpréter [[ $# != "1" ]] et le 1 après exit:
[[ $# != "1" ]] && echo "USAGE : c-dans-l-air vis|enr|url  (visionner/enregistrer/voir url)" && exit 1
Je ne vois pas l'erreur que j'ai pu commettre pour le lancer.
@metalux ( je te conseille ça au passage)

Tu dois lancer le script avec le paramètre voulu :
c-dans-l-air vis|enr|url (visionner/enregistrer/voir url)

Donc, ici tu peux utiliser vis, enr ou url
Ce qui donne : ./script vis (pour visualiser)

En fait, dès le lancement, tu donnes déjà un instruction au script

@dell-ubuntu

merci,
Ici, j'essaie juste de partager un script pour une utilisation ciblée et ça me fait progresser en bash-scripting.
Pluzzdl est super et télécharge vite avec la méthode par morceaux (que je ne comprends pas!) mais j'en ai pas vraiment besoin, j'utilise arte+7qt et mon script.
Merci cracolinux, en fait je pensais que le script devais se mettre en attente du paramètre une fois lancé et je n'avais pas pensé le passer directement. merci pour le lien, il me servira certainement.
@dell-ubuntu
Je n'ai pas essayé Pluzzdl mais il ne semble pas correspondre aux mêmes besoins. Dans mon cas, seule la visualisation m'intéresse et pour une utilisation ciblée vers cette émission tout en s'adressant à des personnes très peu à l'aise avec l'ordinateur. Dans ce cas, juste un clic, et c'est parti. Je n'ai pas trouvé d'autres scripts ou applications répondant aussi bien à cela.
A voir:
Trouver un moyen d'utiliser le bouton annuler de zenity. Je galère la dessus !!
Rien de nouveau de ce côté? Il faudrait envoyer un kill à mplayer ainsi qu'un rm du fichier en cours de téléchargement lors d'un enregistrement si l'utilisateur clique sur annuler, sinon mplayer continue en tâche de fond. Qu'en penses-tu?
Oui, je suis d'accord, c'est l'idéal. Mais je n'arrive à rien de bon.

Au post #3 N3o51 m'a donné une piste mais je n'arrive pas à la mettre en place.

De même, j'ai cherché des infos sur les caractères type &#039, apparemment, c'est un caractère html alors que la page web est en UTF-8 ... là je crois pas que je vais trouver une solution pour ça, c'est pas très esthétique mais c'est pas trop important. J'aimerais par contre trouver un solution pour ce bouton annuler...

(hs : alors la doc sur le bash ?)