Skip to content

Commit

Permalink
update to application
Browse files Browse the repository at this point in the history
  • Loading branch information
davidcarayon committed Feb 3, 2020
1 parent 58736c9 commit b6a453a
Show file tree
Hide file tree
Showing 10 changed files with 204 additions and 8 deletions.
4 changes: 3 additions & 1 deletion DESCRIPTION
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,9 @@ Imports:
dplyr,
tidyr,
ggplot2,
purrr
purrr,
shiny,
shinydashboard
Suggests:
knitr,
rmarkdown
Expand Down
1 change: 1 addition & 0 deletions NAMESPACE
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@ export(computeIDGF)
export(exportIDGF)
export(importIDGF)
export(radarIDGF)
export(runIDGFTool)
importFrom(magrittr,"%>%")
2 changes: 1 addition & 1 deletion R/exportIDGF.R
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ exportIDGF <- function(IDGFres, outdir = paste0("RES_",Sys.Date())){
if(!dir.exists(outdir)) {dir.create(outdir, recursive = TRUE)}

s.time <- paste0(strsplit(as.character(Sys.time())," ")[[1]],collapse = "_")
time <- paste0(strsplit(s.time,":")[[1]],collapse = "-")
time <- Sys.Date()

write.csv2(IDGFres %>% dplyr::select(1:16),paste0(outdir,"/resultats_idgf_",time,".csv"), row.names = FALSE)

Expand Down
12 changes: 12 additions & 0 deletions R/runIDGFTool.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#' Run the shiny App
#'
#' @importFrom magrittr %>%
#' @export
runIDGFTool <- function() {
appDir <- system.file("myApp", package = "IDGF")
if (appDir == "") {
stop("Could not find example directory. Try re-installing `IDGF`.", call. = FALSE)
}

shiny::runApp(appDir, display.mode = "normal")
}
22 changes: 20 additions & 2 deletions README.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ Dans l'archive (.zip) téléchargée depuis cet espace, se trouvent la présente
Pour installer le package IDGF ainsi que ses dépendences associées, vous pouvez exécuter dans la console :

```{r installation local, eval=FALSE}
remotes::install_local("IDGF.tar.gz")
remotes::install_local("IDGF_2.0.tar.gz")
```

Ceci devrait installer le package ainsi que ses dépendances. Cette opération peut être chronophage si vous n'avez jamais installé de packages R auparavant.
Expand Down Expand Up @@ -161,7 +161,25 @@ Veillez à bien placer votre fichier de données dans votre répertoire de trava

# Utilisation de l'applicatif

## Via une interface interactive (*New!*)
## Via une interface interactive

Afin de simplifier l'utilisation de cet applicatif, une version interactive a également été développée. Pour l'utiliser, il suffit d'exécuter cette commande :

```{r appplication, eval = FALSE}
library(IDGF) # On vérifie que le package est bien chargé
runIDGFTool() # Va lancer un applicatif
```

Un pop-up va alors s'ouvrir comme une seconde page de Rstudio. Il est conseillé d'élargir cette fenêtre en plein écran.

![](man/figures/README-app.png)

A partir de cette interface, il suffit de charger les données à l'aide du bouton de chargement, puis il sera possible de visionner à partir des modules de la barre latérale :

- Les résultats bruts (sous forme de tableau)
- Les diagrammes de diagnostic

Enfin, il est possible de télécharger ces résultats sous forme d'archive .zip.

## Via lignes de code

Expand Down
28 changes: 26 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ Pour installer le package IDGF ainsi que ses dépendences associées, vous
pouvez exécuter dans la console :

``` r
remotes::install_local("IDGF.tar.gz")
remotes::install_local("IDGF_2.0.tar.gz")
```

Ceci devrait installer le package ainsi que ses dépendances. Cette
Expand Down Expand Up @@ -229,7 +229,31 @@ dans Session \> Définir le répertoire courant).

# Utilisation de l’applicatif

## Via une interface interactive (*New\!*)
## Via une interface interactive

Afin de simplifier l’utilisation de cet applicatif, une version
interactive a également été développée. Pour l’utiliser, il suffit
d’exécuter cette commande :

``` r
library(IDGF) # On vérifie que le package est bien chargé
runIDGFTool() # Va lancer un applicatif
```

Un pop-up va alors s’ouvrir comme une seconde page de Rstudio. Il est
conseillé d’élargir cette fenêtre en plein écran.

![](man/figures/README-app.png)

A partir de cette interface, il suffit de charger les données à l’aide
du bouton de chargement, puis il sera possible de visionner à partir des
modules de la barre latérale :

- Les résultats bruts (sous forme de tableau)
- Les diagrammes de diagnostic

Enfin, il est possible de télécharger ces résultats sous forme d’archive
.zip.

## Via lignes de code

Expand Down
108 changes: 108 additions & 0 deletions inst/myApp/app.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
library(shiny)
library(shinydashboard)
library(IDGF)

css3 <- HTML("
.shiny-download-link {width: 100%;text-align: center;}")

## CSS pour la couleur du sidebar
css2 <- HTML("
.text {
fill: #FFFFFF
}")

# Define UI for application that draws a histogram
ui <- dashboardPage(skin = "green",

## Le header
dashboardHeader(title="Applicatif IDGF", titleWidth = 300),

## Le sidebar, avec l'input, des item et subitem
dashboardSidebar(width = 350,h4(
fileInput("files", "Charger le fichier de données (format excel)", accept = c(".xls",".xlsx",".csv")),
sidebarMenu(id = "tabs",
menuItem("Résultats bruts", tabName = "table", icon = icon("list")),
menuItem("Graphiques de diagnostic", tabName = "diagnostic", icon = icon("tachometer"))),
br(),
downloadButton("downloadData", "Exporter les résultats"))),

dashboardBody(
tags$head(tags$style(css2)),
tags$head(tags$style(css3)),
tabItems(
tabItem(tabName = "diagnostic",
plotOutput("myplot", height = "900px")),
tabItem(tabName = "table",
tableOutput("mytable"))
)
)

)


# Define server logic required to draw a histogram
server <- function(input, output) {

IDGFdata <- eventReactive(input$files, {

IDGF::importIDGF(input = input$files$datapath)

})

## Production des plots dimension
IDGFres <- eventReactive(input$files, {

IDGFdata() %>% computeIDGF()

})

## Production des diagrammes radar
IDGFresrad <- eventReactive(input$files, {

IDGFres() %>% radarIDGF()

})


output$myplot <- renderPlot({

ggpubr::ggarrange(plotlist = IDGFresrad()$plot)

})

output$mytable <- renderTable({

IDGFres()

})

output$downloadData <- downloadHandler(
filename = "export_IDGF.zip",
content = function(file) {

withProgress(message = "Production des figures en cours........", detail = "Merci de patienter quelques instants", value = 0.2,{

outdir <- file.path(tempdir(),"results")

exportIDGF(IDGFresrad(), outdir = outdir)

setwd(outdir)
fs <- file.path(list.files(outdir, recursive = TRUE))

zip(zipfile = file, files = fs)
incProgress(0.8)
})



}
,contentType = "application/zip"
)




}

# Run the application
shinyApp(ui = ui, server = server)
Binary file added man/figures/README-app.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 11 additions & 0 deletions man/runIDGFTool.Rd

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

24 changes: 22 additions & 2 deletions vignettes/Notice_simplifiee.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ Dans l'archive (.zip) téléchargée depuis cet espace, se trouvent la présente
Pour installer le package IDGF ainsi que ses dépendences associées, vous pouvez exécuter dans la console :

```{r installation local, eval=FALSE}
remotes::install_local("IDGF.tar.gz")
remotes::install_local("IDGF_2.0.tar.gz")
```

Ceci devrait installer le package ainsi que ses dépendances. Cette opération peut être chronophage si vous n'avez jamais installé de packages R auparavant.
Expand Down Expand Up @@ -162,7 +162,27 @@ Veillez à bien placer votre fichier de données dans votre répertoire de trava

# Utilisation de l'applicatif

## Via une interface interactive (*New!*)
## Via une interface interactive

Afin de simplifier l'utilisation de cet applicatif, une version interactive a également été développée. Pour l'utiliser, il suffit d'exécuter cette commande :

```{r appplication, eval = FALSE}
library(IDGF) # On vérifie que le package est bien chargé
runIDGFTool() # Va lancer un applicatif
```

Un pop-up va alors s'ouvrir comme une seconde page de Rstudio. Il est conseillé d'élargir cette fenêtre en plein écran.

```{r application screen, out.width = "100%", fig.align = "center", echo = FALSE}
knitr::include_graphics("../man/figures/README-app.png")
```

A partir de cette interface, il suffit de charger les données à l'aide du bouton de chargement, puis il sera possible de visionner à partir des modules de la barre latérale :

- Les résultats bruts (sous forme de tableau)
- Les diagrammes de diagnostic

Enfin, il est possible de télécharger ces résultats sous forme d'archive .zip.

## Via lignes de code

Expand Down

0 comments on commit b6a453a

Please sign in to comment.