Valider 90945331 rédigé par Thorfin89's avatar Thorfin89
Parcourir les fichiers

Mise à jour de la documentation

parent 61e575c1
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+8 −67
Numéro de ligne d'origine Ligne d'origine Numéro de ligne de diff Ligne de diff
![WebRadioPi](dcts/images/rw-logo-mini.png)
![WebRadioPi](dcts/images/rw-logo-mini.png)
# WebRadioPi
# WebRadioPi
Lecteur de radios internet sur un écran en 800x480.
Lecteur de radios internet sur un écran en 800x480, prévu pour être installé sur un eee-pc 701 recyclé, fonctionnant sous une version allégée de Debian 9.


Ce projet est en cours de développement.
Ce projet est en cours de développement.

A ce jour, il est opérationnel dans ses fonctions de base..
Il n'est pas opérationnel à ce jour.


Pour toute information : thorfin89@free.fr
Pour toute information : thorfin89@free.fr


@@ -15,74 +14,16 @@ Interface au 15/01/2023
#### Sur un eee-PC reconverti en poste de radio Web
#### Sur un eee-PC reconverti en poste de radio Web
![WebRadioPi](dcts/images/WebRadioPi-on-eeePC.png)
![WebRadioPi](dcts/images/WebRadioPi-on-eeePC.png)


### SOLUTIONS :

### Importation des radios au format CSV :

```python
import csv

def radios_display(self):  # récupération de la liste des radios (+infos)
    with open("./data/radios.csv", 'r', encoding='utf8') as radios_file:
        radios_list = csv.DictReader(radios_file)
        radios_list = [dict(ligne) for ligne in radios_list]    # transforme en liste de dictionnaires
        # print(radios_dico)
    nb_radios = (len(radios_list))  # détermine le nombre de radios (dictionnaires)
    print(radios_list[3]['Nom'])    # extrait le nom de la 4ème radio
    for c in range(nb_radios):      # affiche la liste des 14 radios
        print(radios_list[c]['No'], ":", radios_list[c]['Nom'])
```



### Comment appeler une fonction avec une variable en utilisant un bouton sous tkinter ?:
##### Solution trouvée via tchat GPT :-D

Avec Tkinter, vous pouvez utiliser la méthode `command` pour  spécifier une fonction à exécuter lorsque le bouton est cliqué. Voici un exemple de comment appeler une fonction avec une variable en utilisant  un bouton sous Tkinter:

```python
import tkinter as tk


def function_to_call(variable):
    print(variable)


root = tk.Tk()
### INSTALLATION :


button = tk.Button(root, text="Click me!", command=lambda: function_to_call(variable))
Il faut installer le paquet python-vlc
button.pack()


variable = "Some value"
```bash

sudo pip3 install python-vlc
root.mainloop()
```
```


Dans cet exemple, `function_to_call` est la fonction qui sera appelée lorsque le bouton est cliqué, et `variable` est la variable qui sera passée en argument à cette fonction. La fonction lambda créée un wrapper qui exécute la fonction avec la variable passée comme argument
Il convient d'installer aussi VLC :

https://www.videolan.org/vlc/index.fr.html
Il est également possible de passer des arguments à la fonction directement en utilisant `button = tk.Button(root, text="Click me!", command=lambda x=variable: function_to_call(x))`, cela permet de passer des arguments à la fonction commande.

### SOURCES :

#### Liste de radios :

- http://fluxradios.blogspot.fr

#### Doc python-vlc :
- https://www.olivieraubert.net/vlc/python-ctypes/doc/vlc.MediaPlayer-class.html
- https://stackoverflow.com/questions/46758360/how-to-play-streaming-audio-from-internet-radio-on-python-3-5-3

#### Bouton ON/OFF
- https://www.youtube.com/watch?v=DMpq0Cot8YU
- https://www.youtube.com/watch?v=n1ucrkly2nc

#### Afficher les informations sur la radio
- https://github.com/oaubert/python-vlc/issues/72

#### Fichiers csv
- https://www.youtube.com/watch?v=sgUSSa7N9ec

#### Doc tkinter :
- http://tkinter.fdex.eu/index.html
- http://pascal.ortiz.free.fr/contents/tkinter/tkinter/
#### Streams radios :
- https://github.com/riencroonenborghs/streaming_radio/blob/master/assets/data/stations.json

archives/README.md

0 → 100644
+1 −0
Numéro de ligne d'origine Ligne d'origine Numéro de ligne de diff Ligne de diff
Ce dossier permet de stocker tous les documents qui ne sont pas indispensables au projet.
 No newline at end of file

dcts/solutions.md

0 → 100644
+44 −0
Numéro de ligne d'origine Ligne d'origine Numéro de ligne de diff Ligne de diff
### SOLUTIONS :

### Importation des radios au format CSV :

```python
import csv

def radios_display(self):  # récupération de la liste des radios (+infos)
    with open("./data/radios.csv", 'r', encoding='utf8') as radios_file:
        radios_list = csv.DictReader(radios_file)
        radios_list = [dict(ligne) for ligne in radios_list]    # transforme en liste de dictionnaires
        # print(radios_dico)
    nb_radios = (len(radios_list))  # détermine le nombre de radios (dictionnaires)
    print(radios_list[3]['Nom'])    # extrait le nom de la 4ème radio
    for c in range(nb_radios):      # affiche la liste des 14 radios
        print(radios_list[c]['No'], ":", radios_list[c]['Nom'])
```



### Comment appeler une fonction avec une variable en utilisant un bouton sous tkinter ?:
##### Solution trouvée via tchat GPT :-D

Avec Tkinter, vous pouvez utiliser la méthode `command` pour  spécifier une fonction à exécuter lorsque le bouton est cliqué. Voici un exemple de comment appeler une fonction avec une variable en utilisant  un bouton sous Tkinter:

```python
import tkinter as tk

def function_to_call(variable):
    print(variable)

root = tk.Tk()

button = tk.Button(root, text="Click me!", command=lambda: function_to_call(variable))
button.pack()

variable = "Some value"

root.mainloop()
```

Dans cet exemple, `function_to_call` est la fonction qui sera appelée lorsque le bouton est cliqué, et `variable` est la variable qui sera passée en argument à cette fonction. La fonction lambda créée un wrapper qui exécute la fonction avec la variable passée comme argument

Il est également possible de passer des arguments à la fonction directement en utilisant `button = tk.Button(root, text="Click me!", command=lambda x=variable: function_to_call(x))`, cela permet de passer des arguments à la fonction commande.

dcts/sources.md

0 → 100644
+26 −0
Numéro de ligne d'origine Ligne d'origine Numéro de ligne de diff Ligne de diff
### SOURCES :

#### Liste de radios :

- http://fluxradios.blogspot.fr

#### Doc python-vlc :
- https://www.olivieraubert.net/vlc/python-ctypes/doc/vlc.MediaPlayer-class.html
- https://stackoverflow.com/questions/46758360/how-to-play-streaming-audio-from-internet-radio-on-python-3-5-3

#### Bouton ON/OFF
- https://www.youtube.com/watch?v=DMpq0Cot8YU
- https://www.youtube.com/watch?v=n1ucrkly2nc

#### Afficher les informations sur la radio
- https://github.com/oaubert/python-vlc/issues/72

#### Fichiers csv
- https://www.youtube.com/watch?v=sgUSSa7N9ec

#### Doc tkinter :
- http://tkinter.fdex.eu/index.html
- http://pascal.ortiz.free.fr/contents/tkinter/tkinter/

#### Streams radios :
- https://github.com/riencroonenborghs/streaming_radio/blob/master/assets/data/stations.json
 No newline at end of file