Code
# df_harvest_price <- read_excel(here::here("perso_projects/media/data_analyse_garden/recolte_total.xlsx")) %>%
# rename("date"=Date_récolte) %>%
# rename("qty"=`Quantité récolté`) %>%
# rename("unite"=Expr1002) %>%
# rename("price"=`Prix en magasin BIO`) %>%
# rename("name"=`Nom (s) commun (s)`) %>%
# rename("type"=`Type (Rotation)`) %>%
# rename("total"=Expr1) %>%
# dplyr::select(-Unités)
library(httr2)
library(jsonlite)
library(dplyr)
# 1) mets ta clé anon en variable d’environnement (une fois par session R)
Sys.setenv(SUPABASE_ANON_KEY = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Inh5Z2N6cHdnb3dtbWFyZmt3ZGJjIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTY0OTUwNDYsImV4cCI6MjA3MjA3MTA0Nn0.euY43Bd9gJW4y2qvxjwAZqrP6RPQXmGwcpD1H1Qx_pg")
# 2) appel RPC dans le schéma 'garden'
<- "https://xygczpwgowmmarfkwdbc.supabase.co"
SUPABASE_URL <- Sys.getenv("SUPABASE_ANON_KEY")
ANON stopifnot(nchar(ANON) > 0)
<- request(paste0(SUPABASE_URL, "/rest/v1/rpc/harvests_public_all")) |>
req req_method("POST") |>
req_headers(
apikey = ANON,
Authorization = paste("Bearer", ANON),
`Content-Type` = "application/json",
Accept = "application/json",
# 👇 indispensable quand la fonction est dans un autre schéma que 'public'
`Content-Profile` = "garden",
`Accept-Profile` = "garden"
|>
) req_body_json(list()) # pas de paramètres
# (optionnel) voir la requête construite
# req_dry_run(req)
<- req_perform(req)
resp stopifnot(resp_status(resp) < 300)
<- resp_body_json(resp, simplifyVector = TRUE) |> tibble::as_tibble()
df glimpse(df)
Rows: 63
Columns: 8
$ harvest_date <chr> "2025-09-07", "2025-09-06", "2025-09-06", "2025-09-06"…
$ created_by_name <chr> "Coco", "Coco", "Coco", "Coco", "Coco", "Coco", "Coco"…
$ product_name <chr> "Radish", "Zucchini", "Pea", "Tomato", "Carot", "Tomat…
$ variety <chr> "", "", "Kameor", "", "", "Beefsteak", "Beefsteak", "B…
$ harvest_unit <chr> "bunch", "piece", "kg", "kg", "kg", "kg", "kg", "kg", …
$ quantity <dbl> 30, 28, 2, 2, 12, 123, 124, 23, 23, 2, 2, 12, 18, 1, 2…
$ location_name <chr> "MaslardFamilyGarden", "MaslardFamilyGarden", "Maslard…
$ note <chr> NA, NA, NA, NA, NA, NA, NA, NA, "je suis trop fort", N…
Code
<- df %>%
plot ::group_by(product_name, location_name,created_by_name) %>%
dplyrsummarise(total = sum(quantity, na.rm=TRUE)) %>%
ggplot(aes(x=reorder(product_name, total), y=total, fill = location_name)) +
geom_col() +
coord_flip() +
#facet_grid(.~created_by_name)+
labs(x=NULL, y='Total', title=sprintf('Quantités par produit (jours)'))
`summarise()` has grouped output by 'product_name', 'location_name'. You can
override using the `.groups` argument.
Code
#ggsave('chart.png', plot, width=8, height=5, dpi=150)
#dbDisconnect(con)
plot