plot(1:10)
SAGEO, 2023 - Québec, Canada
07 Jun 2023
Logiciels payants, ruptures logicielles dans les chaines de traitements, stockage et partage des données et méthodes non optimisé, univers “clic-bouton”.
Solutions open source, gratuites, qui couvrent l’ensemble de la chaîne de traitement de l’information, univers de programmation.
Usage de langages de développement variés en fonction des usages désirés (performance de certaines libs, interactivité, …) et des échanges interdisciplinaires (dataviz).
Comment passer d’un langage à l’autre dans des mêmes chaînes de traitement ?
Ouverture des protocoles de recherche dans l’objectif de confirmer et rendre répétable des résultats de recherche :
Jon Claerbout (sismologue, Univ. Stanford). Il utilise avec son groupe pour la première fois le terme de “recherche reproductible” lors du congrès de la Society of Exploration Geophysics en 1992.
Paradigme de programmation qui consiste à associer code source (pour les ordinateurs) et documentation (pour les humains) :
Un gain général en reproductibilité de la démarche et en ouverture des méthodes scientifiques.
Donald Knuth (mathématicien, Univ. Stanford). Pose les bases de la programmation lettrée dans un premier environnement de literate programming : le WEB qui combine du Pascal et du TeX, appliqué aux nombres premiers (1984).
Le Notebook est une solution opérationnelle et adaptée pour arriver à ces fins
Restituer des analyses reproductibles menées lors d’un projet.
Exemple : Sortie (site Web) // Dépôt GitLab
Générer des présentations interactives (iframe, animations, slides interactifs) avec le format revealjs.
Exemple : Sortie (Présentation) // Dépôt GitHub // Code
Créer des raports interactifs combinant (éventuellement) plusieurs langages de programmation.
Exemple : Sortie (Rapport interactif) // Dépôt GitHub // Code (Quarto)
Produire des manuels ou des sections pédagogiques collaboratifs au format Book.
Soumettre des publications suivant les prérequis (modèle LaTeX) de plusieurs revues de référence (Public Library of Science, Elsevier, JSS, etc.)
Le YAML permet de définir :
Le format de document désiré : HTML, PDF (distribution TeX requise), docx (requiert Microsoft Office ou Libre/Open Office).
Le type de sortie souhaité : Document, Présentation (revealjs / beamer, PowerPoint)
Exemple d’un modèle suivant les consignes éditorales d’un projet européen…
Consulter la documentation Quarto
… Et son YAML associé :
---
title: "OpenStreetMap data and associated routing engine to produce novel data on rural areas in Europe"
subtitle: "Review data and methods"
author:
- name: "Ronan Ysebaert, Marianne Guérois\n, Timothée Giraud, Nicolas Lambert, Matthieu Viry"
affiliation: UAR RIATE (CNRS, Université Paris Cité)
affiliation-url: https://riate.cnrs.fr/
date: "2023-06-01"
description: "This review of the literature and data availability aims at providing an overview of possible solutions and limitations for creating accessibility indicators at European context. Whatever the solution retained, computing accessibility indicators requires relevant origins / destination pairs and routing engines for computing travel-time indicators. It is afterward possible to propose a large set of indicators derived from these measures. The first part of the document presents at European scale the policy context and the main initiatives developed so far for proposing harmonized indicators on accessibility. The second one reminds the main issues to be considered when calculating accessibility indicators (origin-destination pairs, routing engines, accessibility indicators computation). The third section makes an overview of existing databases and possibilities that could be considered in a European context for the selection of origins / destinations pairs. The fourth part highlights existing solutions for routing engines according to several transportation modes (road, cycle, transport-transit). Finally, the last section discusses on possibilities offered in term of indicator creation when the travel time matrix is calculated with a case-study on hospitals in France. This case-study could be extended in a cross-border context to test this framework within GRANULAR activities. At the end, this report aims at providing a general research framework on the activities that will be held on task 3.3.1 of the GRANULAR project: Crowd-sources data based on OpenStreetMap."
title-block-banner: "#27445C"
bibliography: bib.bib
format:
html:
theme: sandstone
embed-resources: true
smooth-scroll: true
fontsize: 0.9em
code-tools: true
code-fold: true
toc: true
toc-title: Summary
toc-depth: 2
toc-location: left
css: "styles.css"
linkcolor: "#d52420"
---
Un langage de balisage léger basé sur une syntaxe simple largement utilisé dans les blogs, forums et outils collaboratifs.
Permet de gérer le formatage du texte, des en-têtes, importer simplement des images ou des URL, gérer des énumérations, des tables, etc.
Se reporter au Markdown Guide ou à la synthèse proposée par Quarto pour en savoir plus.
Markdown Syntax | Output |
---|---|
|
Titre de niveau 3 |
|
italics and bold |
|
superscript2 / subscript2 |
|
|
|
verbatim code |
|
|
|
named hyperlinks |
Ceci :
::: columns
::: {.column width="40%"}
::: {.callout-tip}
## 5 types de callouts disponibles
`note`, `warning`, `important`, `tip`, and `caution`.
:::
::: {.callout-note appearance="simple"}
## Pay Attention
Using callouts is an effective way to highlight content that your reader give special consideration or attention.
:::
:::
::: {.column width="60%"}

:::
:::
Rend cela :
5 types de callouts disponibles
note
, warning
, important
, tip
, and caution
.
Pay Attention
Using callouts is an effective way to highlight content that your reader give special consideration or attention.
Le code est à placer dans des chunks (tronçons), délimités par des triples backticks (Code > Insert Chunk dans RStudio).
Un même document Quarto peut combiner plusieurs langages de programmation :
Le code est à placer dans des chunks (tronçons), délimités par des triples backticks (Code > Insert Chunk dans RStudio).
Un même document Quarto peut combiner plusieurs langages de programmation :
Le code est à placer dans des chunks (tronçons), délimités par des triples backticks (Code > Insert Chunk dans RStudio).
Un même document Quarto peut combiner plusieurs langages de programmation :
Soyons fous ! Initions un joli graphique interactif en Observable JavaScript !
```{ojs}
pdata = FileAttachment("palmer-penguins.csv").csv({typed: true})
Plot.plot({
facet: {
data: pdata,
x: "sex",
y: "species",
marginRight: 80
},
marks: [
Plot.frame(),
Plot.rectY(pdata,
Plot.binX(
{y: "count"},
{x: "body_mass_g", thresholds: 20, fill: "species"}
)
),
Plot.tickX(pdata,
Plot.groupZ(
{x: "median"},
{x: "body_mass_g",
z: d => d.sex + d.species,
stroke: "#333",
strokeWidth: 2
}
)
)
]
})
```
En initiant le chunk par un hash pipe #|
on peut paramétrer son exécution / affichage. Les arguments les plus usuels sont :
label: toto
: nommer le chunkeval: true/false
: le bloc de code est joué ou non.echo: true/false
: le bloc de code s’affiche ou non dans le document de sortie.cache: true/false
: les résultats sont mis en cache et ne sont pas rejoués tant que le bloc de code reste inchangé.warning: true/false
: affiche les messages d’alerte ou non.fig-height: 4
/ fig-width: 6
: hauteur / largeur du plot de sortie, en pouces.dpi: 150
: densité de pixels par pouce.A noter…
render
) le document fréquemment pour veiller à la cohérence / bonne exécution de vos blocs de code.A noter…
render
) le document fréquemment pour veiller à la cohérence / bonne exécution de vos blocs de code.Un système gestion de version (Torvald, 2005) distribué pour :
Des services Web d’hébergement et de gestion de développement de logiciels basés sur Git (2008, 2011). Ils proposent :
= Projets collaboratifs + outils pour déployer des ressources sur le Web + visibilité extérieure.
Supports utiles
Enjeux de la reproductibilité
[To do] : Initier un document Quarto
Ctrl + espace pour activer l’autocomplétion et envisager les possibilités