|
| 1 | +--- |
| 2 | +title: "Les différents outils de la science des données biologiques" |
| 3 | +author : "Guyliann Engels, Raphael Conotte & Philippe Grosjean" |
| 4 | +tutorial: |
| 5 | + id: "sdd1.01a" |
| 6 | + version: 1.0.0 |
| 7 | +output: |
| 8 | + learnr::tutorial: |
| 9 | + progressive: true |
| 10 | +runtime: shiny_prerendered |
| 11 | +--- |
| 12 | + |
| 13 | +```{r setup, include=FALSE} |
| 14 | +library(learnr) |
| 15 | +options(tutorial.event_recorder = BioDataScience::record_sdd) |
| 16 | +tutorial_options(exercise.checker = BioDataScience::checker_sdd) |
| 17 | +tutorial_options(exercise.timelimit = 60) |
| 18 | +tutorial_options(exercise.cap = "Code R") |
| 19 | +knitr::opts_chunk$set(echo = FALSE, comment = NA) |
| 20 | +``` |
| 21 | + |
| 22 | +```{r, echo=FALSE} |
| 23 | +fixedRow( |
| 24 | + column(9, div( |
| 25 | + img(src = 'images/BioDataScience-128.png', align = "left"), |
| 26 | + h1("Science des données biologiques"), |
| 27 | + "Réalisé par le service d'Écologie numérique des Milieux aquatiques, Université de Mons (Belgique)" |
| 28 | + )), |
| 29 | + column(3, div( |
| 30 | + textInput("user", "Utilisateur :", ""), |
| 31 | + textInput("email", "Email :", "") |
| 32 | + )) |
| 33 | +) |
| 34 | +textOutput("user") # This is newer shown, but required to trigger an event! |
| 35 | +textOutput("email") # Idem! |
| 36 | +``` |
| 37 | + |
| 38 | +```{r, context="server"} |
| 39 | +output$user <- renderText({BioDataScience::user_name(input$user);""}) |
| 40 | +output$email <- renderText({BioDataScience::user_email(input$email);""}) |
| 41 | +updateTextInput(session, "user", value = BioDataScience::user_name()) |
| 42 | +updateTextInput(session, "email", value = BioDataScience::user_email()) |
| 43 | +``` |
| 44 | + |
| 45 | + |
| 46 | +## Préambule |
| 47 | + |
| 48 | +Si vous n'avez jamais utilisé de tutoriel "learnr", familiarisez-vous d'abord avec son interface [ici](http://biodatascience-course.sciviews.org/sdd-umons/learnr.html). |
| 49 | + |
| 50 | + |
| 51 | + |
| 52 | +> Conformément au RGPD ([Règlement Général sur la Protection des Données](https://ec.europa.eu/info/law/law-topic/data-protection/reform/rules-business-and-organisations/principles-gdpr_fr)), nous sommes tenus de vous informer de ce que vos résultats seront collectés afin de suivre votre progression. **Les données seront enregistrées au nom de l'utilisateur apparaissant en haut de cette page. Corrigez si nécessaire !** En utilisant ce tutoriel, vous marquez expressément votre accord pour que ces données puissent être collectées par vos enseignants et utilisées pour vous aider et vous évaluer. Après avoir été anonymisées, ces données pourront également servir à des études globales dans un cadre scientifique et/ou éducatif uniquement. |
| 53 | +
|
| 54 | +## Gestion de projet |
| 55 | + |
| 56 | +Répondez aux questions ci-dessous |
| 57 | + |
| 58 | +```{r qu_intro} |
| 59 | +quiz( |
| 60 | + question("Définissez la SciViews Box 2019 ?", |
| 61 | + answer("une machine virtuelle dédiée à la recherche scientifique avec de nombreux programmes préconfigurés", |
| 62 | + correct = TRUE), |
| 63 | + answer("un environnement de développement intégré"), |
| 64 | + answer("un logiciel de gestion de versions"), |
| 65 | + answer("un service web d'hébergement de projet"), |
| 66 | + answer("un langage avec une syntaxe facile à lire et à écrire"), |
| 67 | + answer("aucune des réponses proposées n'est correcte"), |
| 68 | + allow_retry = TRUE, random_answer_order = TRUE |
| 69 | + ), |
| 70 | + question("Définissez le programme RStudio", |
| 71 | + answer("une machine virtuelle dédiée à la recherche scientifique avec de nombreux programmes préconfigurés"), |
| 72 | + answer("un environnement de développement intégré", correct = TRUE), |
| 73 | + answer("un logiciel de gestion de versions"), |
| 74 | + answer("un service web d'hébergement de projet"), |
| 75 | + answer("un langage avec une syntaxe facile à lire et à écrire"), |
| 76 | + answer("aucune des réponses proposées n'est correcte"), |
| 77 | + allow_retry = TRUE, random_answer_order = TRUE), |
| 78 | + question("Définissez Git", |
| 79 | + answer("une machine virtuelle dédiée à la recherche scientifique avec de nombreux programmes préconfigurés"), |
| 80 | + answer("un environnement de développement intégré"), |
| 81 | + answer("un logiciel de gestion de versions", correct = TRUE), |
| 82 | + answer("un service web d'hébergement de projet"), |
| 83 | + answer("un langage avec une syntaxe facile à lire et à écrire"), |
| 84 | + answer("aucune des réponses proposées n'est correcte"), |
| 85 | + allow_retry = TRUE, random_answer_order = TRUE), |
| 86 | + question("Définissez GitHub", |
| 87 | + answer("une machine virtuelle dédiée à la recherche scientifique avec de nombreux programmes préconfigurés"), |
| 88 | + answer("un environnement de développement intégré"), |
| 89 | + answer("un logiciel de gestion de versions"), |
| 90 | + answer("un service web d'hébergement de projet", correct = TRUE), |
| 91 | + answer("un langage avec une syntaxe facile à lire et à écrire"), |
| 92 | + answer("aucune des réponses proposées n'est correcte"), |
| 93 | + allow_retry = TRUE, random_answer_order = TRUE), |
| 94 | + question("Définissez le Markdown", |
| 95 | + answer("une machine virtuelle dédiée à la recherche scientifique avec de nombreux programmes préconfigurés"), |
| 96 | + answer("un environnement de développement intégré"), |
| 97 | + answer("un logiciel de gestion de versions"), |
| 98 | + answer("un service web d'hébergement de projet"), |
| 99 | + answer("un langage avec une syntaxe facile à lire et à écrire", correct = TRUE), |
| 100 | + answer("aucune des réponses proposées n'est correcte"), |
| 101 | + allow_retry = TRUE, random_answer_order = TRUE) |
| 102 | + ) |
| 103 | +``` |
| 104 | + |
| 105 | + |
| 106 | +## Analyse de situation |
| 107 | + |
| 108 | +### Situation 1 |
| 109 | + |
| 110 | +Deux chercheurs distants de plusieurs centaines de kilomètres, collaborent sur un projet commun. Ils ont pour cela décidé d'employer un outil de gestion de version et d'héberger ce projet sur un système d'hébergement web dédié pour cela. |
| 111 | + |
| 112 | +Sur base de l'image ci-dessous et de la situation précisée précédemment, répondez aux questions suivantes. |
| 113 | + |
| 114 | + |
| 115 | + |
| 116 | +```{r qu_git1} |
| 117 | +quiz( |
| 118 | + question("Qualifiez la situation **A**", |
| 119 | + answer("commit", correct = TRUE), |
| 120 | + answer("clone"), |
| 121 | + answer("push"), |
| 122 | + answer("pull"), |
| 123 | + answer("fetch"), |
| 124 | + answer("fork"), |
| 125 | + answer("pull request"), |
| 126 | + allow_retry = TRUE, random_answer_order = TRUE |
| 127 | + ), |
| 128 | + question("Qualifiez la situation **B**", |
| 129 | + answer("commit"), |
| 130 | + answer("clone"), |
| 131 | + answer("push", correct = TRUE), |
| 132 | + answer("pull"), |
| 133 | + answer("fetch"), |
| 134 | + answer("fork"), |
| 135 | + answer("pull request"), |
| 136 | + allow_retry = TRUE, random_answer_order = TRUE |
| 137 | + ), |
| 138 | + question("Qualifiez la situation **C**", |
| 139 | + answer("commit"), |
| 140 | + answer("clone"), |
| 141 | + answer("push"), |
| 142 | + answer("pull", correct = TRUE), |
| 143 | + answer("fetch"), |
| 144 | + answer("fork"), |
| 145 | + answer("pull request"), |
| 146 | + allow_retry = TRUE, random_answer_order = TRUE |
| 147 | + ) |
| 148 | +) |
| 149 | +``` |
| 150 | + |
| 151 | +### Situation 2 |
| 152 | + |
| 153 | +Le chercheur 2 s'intéresse au projet du chercheur 1, travaille dessus et propose des modifications afin l'améliorer. |
| 154 | + |
| 155 | +Sur base de l'image ci-dessous et de la situation précisée précédemment, répondez aux questions suivantes. |
| 156 | + |
| 157 | + |
| 158 | + |
| 159 | +```{r qu_git2} |
| 160 | +quiz( |
| 161 | + question("Qualifiez la situation **A**", |
| 162 | + answer("commit"), |
| 163 | + answer("clone"), |
| 164 | + answer("push"), |
| 165 | + answer("pull"), |
| 166 | + answer("fetch"), |
| 167 | + answer("fork", correct = TRUE), |
| 168 | + answer("pull request"), |
| 169 | + allow_retry = TRUE, random_answer_order = TRUE |
| 170 | + ), |
| 171 | + question("Qualifiez la situation **B**", |
| 172 | + answer("commit", correct = TRUE), |
| 173 | + answer("clone"), |
| 174 | + answer("push"), |
| 175 | + answer("pull"), |
| 176 | + answer("fetch"), |
| 177 | + answer("fork"), |
| 178 | + answer("pull request"), |
| 179 | + allow_retry = TRUE, random_answer_order = TRUE |
| 180 | + ), |
| 181 | + question("Qualifiez la situation **C**", |
| 182 | + answer("commit"), |
| 183 | + answer("clone"), |
| 184 | + answer("push"), |
| 185 | + answer("pull"), |
| 186 | + answer("fetch"), |
| 187 | + answer("fork"), |
| 188 | + answer("pull request", correct = TRUE), |
| 189 | + allow_retry = TRUE, random_answer_order = TRUE |
| 190 | + ) |
| 191 | +) |
| 192 | +``` |
| 193 | + |
| 194 | + |
| 195 | +### Situation 3 |
| 196 | + |
| 197 | +Le chercheur 2 vient d'intégrer le projet que le chercheur 1 réalisait seul. Il doit donc acquérir le dépot pour la première fois sur sa machine avant de pouvoir contribuer à ce projet. |
| 198 | + |
| 199 | +Sur base de l'image ci-dessous et de la situation précisée précédemment, répondez aux questions suivantes. |
| 200 | + |
| 201 | + |
| 202 | + |
| 203 | + |
| 204 | +```{r qu_git3} |
| 205 | +quiz( |
| 206 | + question("Qualifiez la situation **A**", |
| 207 | + answer("commit"), |
| 208 | + answer("clone", correct = TRUE), |
| 209 | + answer("push"), |
| 210 | + answer("pull"), |
| 211 | + answer("fetch"), |
| 212 | + answer("fork"), |
| 213 | + answer("pull request"), |
| 214 | + allow_retry = TRUE, random_answer_order = TRUE |
| 215 | + ), |
| 216 | + question("Qualifiez la situation **B**", |
| 217 | + answer("commit", correct = TRUE), |
| 218 | + answer("clone"), |
| 219 | + answer("push"), |
| 220 | + answer("pull"), |
| 221 | + answer("fetch"), |
| 222 | + answer("fork"), |
| 223 | + answer("pull request"), |
| 224 | + allow_retry = TRUE, random_answer_order = TRUE |
| 225 | + ), |
| 226 | + question("Qualifiez la situation **C**", |
| 227 | + answer("commit"), |
| 228 | + answer("clone"), |
| 229 | + answer("push", correct = TRUE), |
| 230 | + answer("pull"), |
| 231 | + answer("fetch"), |
| 232 | + answer("fork"), |
| 233 | + answer("pull request"), |
| 234 | + allow_retry = TRUE, random_answer_order = TRUE |
| 235 | + ) |
| 236 | +) |
| 237 | +``` |
| 238 | + |
| 239 | + |
| 240 | +## Conclusion |
| 241 | + |
| 242 | +Laissez nous vos impressions sur cet outil pédagogique ou expérimentez encore dans la zone ci-dessous. Rappelez-vous que pour placer un commentaire dans une zone de code R, vous devez utiliser un dièse (`#`) devant vos phrases. |
| 243 | + |
| 244 | +```{r comm, exercise=TRUE, exercise.lines=8} |
| 245 | +# Ajout de commentaires |
| 246 | +# ... |
| 247 | +``` |
| 248 | + |
| 249 | +```{r comm-check} |
| 250 | +# Not yet... |
| 251 | +``` |
| 252 | + |
0 commit comments