1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
# Charger le package Shiny
library(shiny)
library(DT)
# Définir l'interface utilisateur
ui <- fluidPage(
titlePanel("Tableau de bord des tuteurs"),
sidebarLayout(
sidebarPanel(
textInput("nom", "Nom:"),
textInput("prenom", "Prénom:"),
textInput("email", "Email:"),
textInput("cours", "Cours:"),
textInput("groupe", "Groupe:"),
actionButton("add_btn", "Ajouter un tuteur")
),
mainPanel(
DTOutput("tuteur_table")
)
)
)
# Définir la partie serveur
server <- function(input, output, session) {
# Créer une liste réactive pour stocker les données des tuteurs
tuteurs <- reactiveVal(data.frame(Nom = character(),
Prénom = character(),
Email = character(),
Cours = character(),
Groupe = character(),
stringsAsFactors = FALSE))
# Observer le clic sur le bouton "Ajouter un tuteur"
observeEvent(input$add_btn, {
# Récupérer les données saisies
new_tuteur <- data.frame(Nom = input$nom,
Prénom = input$prenom,
Email = input$email,
Cours = input$cours,
Groupe = input$groupe,
stringsAsFactors = FALSE)
# Ajouter les nouvelles données au tableau existant
tuteurs(rbind(tuteurs(), new_tuteur))
#print(new_tuteur)
Réinitialiser les champs de saisie
updateTextInput(session, "nom", value = "")
updateTextInput(session, "prenom", value = "")
updateTextInput(session, "email", value = "")
updateTextInput(session, "cours", value = "")
updateTextInput(session, "groupe", value = "")
})
# Afficher le tableau des tuteurs
output$tuteur_table <- renderDT({
tuteurs()
})
}
# Lancer l'application Shiny
shinyApp(ui = ui, server = server) |
Partager