LaurentTRIPIED commited on
Commit
c6aa119
1 Parent(s): 3edb3b6
Files changed (1) hide show
  1. app.py +55 -2
app.py CHANGED
@@ -1,7 +1,60 @@
 
1
  import streamlit as st
 
 
2
 
3
- x = st.slider('Sélectionner une valeur')
4
- st.write(x, 'Le carré de la valeur est ', x * x)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6
 
 
 
 
 
 
 
7
 
 
 
 
 
 
1
+ # Importation des bibliothèques nécessaires
2
  import streamlit as st
3
+ import pandas as pd
4
+ import requests
5
 
6
+ # Fonction pour récupérer les données de l'API
7
+ def get_data():
8
+ """
9
+ Cette fonction effectue une requête GET vers l'API spécifiée et retourne une liste des enregistrements (records).
10
+ Elle utilise l'URL de l'API pour récupérer les données des établissements engagés dans la RSE à Bordeaux.
11
+ La fonction gère également les éventuelles erreurs de requête.
12
+
13
+ Returns:
14
+ List[Dict]: Une liste de dictionnaires où chaque dictionnaire représente les données d'un établissement.
15
+ """
16
+ # URL de l'API pour accéder aux données des établissements RSE
17
+ url = "https://opendata.bordeaux-metropole.fr/api/records/1.0/search/?dataset=met_etablissement_rse&q=&rows=100"
18
+ # Envoi de la requête GET à l'API
19
+ response = requests.get(url)
20
+ # Vérification du statut de la réponse
21
+ if response.status_code == 200:
22
+ # Conversion de la réponse en JSON
23
+ data = response.json()
24
+ # Récupération des enregistrements (records) depuis la réponse
25
+ records = data.get("records", [])
26
+ # Extraction des champs (fields) de chaque enregistrement
27
+ return [record["fields"] for record in records]
28
+ else:
29
+ # Retourne une liste vide si la requête échoue
30
+ return []
31
 
32
+ # Fonction pour afficher les organisations engagées dans l'application Streamlit
33
+ def display_organisations_engagees():
34
+ """
35
+ Cette fonction récupère les données des organisations engagées via la fonction `get_data`, les convertit en un DataFrame pandas,
36
+ puis utilise Streamlit pour les afficher dans un tableau sur l'interface utilisateur.
37
+ """
38
+ # Récupération des données via la fonction get_data
39
+ data = get_data()
40
+ # Vérification si des données ont été récupérées
41
+ if data:
42
+ # Conversion des données en DataFrame pandas pour une manipulation et un affichage plus faciles
43
+ df = pd.DataFrame(data)
44
+ # Affichage du DataFrame dans l'application Streamlit
45
+ st.write("Organisations engagées", df)
46
+ else:
47
+ # Message d'erreur en cas d'absence de données
48
+ st.write("Aucune donnée disponible.")
49
 
50
+ # Point d'entrée principal de l'application Streamlit
51
+ if __name__ == "__main__":
52
+ # Configuration de la barre latérale pour la navigation entre différents onglets
53
+ st.sidebar.title("Navigation")
54
+ # Option de sélection pour les différents onglets de l'application
55
+ app_mode = st.sidebar.selectbox("Choisissez l'onglet", ["Organisations engagées", "Autre Onglet"])
56
 
57
+ # Affichage de l'onglet "Organisations engagées" si sélectionné
58
+ if app_mode == "Organisations engagées":
59
+ display_organisations_engagees()
60
+ # Cette structure peut être étendue pour ajouter d'autres onglets à l'application