Chronologie Générale

Row

Chronologie

1787-1789 : La marche à la Révolution

Row

Chrono Plot

Row

Personnages Clés

Louis XVI

Charles-Alexandre de
Calonne

Étienne-Charles de
Loménie de Brienne

Jacques Necker

Roi de France Contrôleur général
des Finances,
Ministre d’Etat
Contrôleur général
des Finances,
Ministre d’Etat
Directeur général
des Finances,
Ministre d’État

Été 1789 : Le basculement

Row

Chrono Plot

Row

Personnages Clés

Louis XVI

Jacques Necker

Abbé Emmanuel-Joseph
Sieyès

Gilbert du Motier de
La Fayette

Roi de France Directeur général
des Finances,
Ministre d’État
Député du Tiers-Etat Commandant de la
Garde nationale

1789-1791 : Le travail de la Constituante

Row

Chrono Plot

Row

Personnages Clés

Abbé Jean-Sifrein
Maury

Jean-Joseph Mounier

Honoré-Gabriel
Riqueti de Mirabeau

Adrien Duport

Antoine Barnave

Alexandre de Lameth

Joseph Ignace
Guillotin

Pierre d'Allarde

Isaac Le Chapelier

Député du Clergé,
opposé à la
Révolution
Député du Tiers-
Etat, leader des
Monarchiens
Député du Tiers-
Etat, Président
de l’Assemblée
constituante
Député de la
Noblesse, puis du
Tiers-Etat ; Membre
du Triumvirat
Député du Tiers-
Etat ; Membre du
Triumvirat
Député de la
Noblesse, puis du
Tiers-Etat ; Membre
du Triumvirat
Député du Tiers-Etat Député de la
Noblesse
Député du Tiers-Etat

1791-1793 : La chute de la Monarchie

Row

Chrono Plot

Row

Personnages Clés

Louis XVI

Gilbert du Motier de
La Fayette

Jean Sylvain Bailly

Jacques Pierre
Brissot

Manon Roland

Jean-Paul Marat

Jérôme Pétion de
Villeneuve

Georges Jacques
Danton

Louis-Michel
Lepeletier de Saint-
Fargeau

Roi de France Commandant de la
Garde nationale
Député du Tiers-
Etat, Maire de Paris
Elu de l’Assemblée
Législative, leader
des brissotins
(futurs girondins)
Salonnière, égérie
des brissotins
Journaliste, élu
de l’Assemblée
Législative
Maire de Paris Ministre de la
Justice
Elu de la Convention

janvier-juin 1793 : La Convention entre Girondins et Montagnards

Row

Chrono Plot

Row

Personnages Clés

Charles-François
Dumouriez

Georges Jacques
Danton

Bertrand Barère

Jean-Paul Marat

Jacques-René Hébert

Général français Membre du Comité de
salut public
Membre du Comité de
salut public
Journaliste, élu
de l’Assemblée
Législative
Journaliste (Le Père
Duchesne)

juillet 1793 - janvier 1794 : La Terreur à l’ordre du jour ?

Row

Chrono Plot

Row

Personnages Clés

Jean-Paul Marat

Jacques Roux

Maximilien de
Robespierre

Bertrand Barère

Joseph Fouché

Jean-Marie Collot
d'Herbois

Paul Barras

Jean-Baptiste
Carrier

Louis-Marie Turreau

Journaliste Porte-parole des
Enragés
Membre du Comité de
salut public
Membre du Comité de
salut public
Député de la
Convention,
Représentant en
mission
Député de la
Convention,
Représentant en
mission
Député de la
Convention,
Représentant en
mission
Député de la
Convention,
Représentant en
mission
Général français

février - juillet 1794 : Luttes de factions et apogée de Robespierre

Row

Chrono Plot

Row

Personnages Clés

Léger-Félicité
Sonthonax

Jacques-René Hébert

Georges Jacques
Danton

Camille Desmoulins

Maximilien de
Robespierre

Georges Couthon

Commissaire civil
pour Saint-Domingue
Journaliste (Le Père
Duchesne)
Député de la
Convention, leader
des « Indulgents »
Député de la
Convention,
journaliste
Membre du Comité de
salut public
Membre du Comité de
salut public

août 1794 - octobre 1795 : Changement de direction

Row

Chrono Plot

Row

Personnages Clés

Marc-Guillaume-
Alexis Vadier

Jean-Lambert Tallien

François-Antoine de
Boissy d'Anglas

Jean-Charles
Pichegru

Jacques-Nicolas
Billaud-Varenne

Jean-Marie Collot
d'Herbois

Charles-Philippe
de France comte
d'Artois (futur
Charles X)

Paul Barras

Napoléon Bonaparte

Membre du Comité de
sûreté générale
Membre du Comité de
salut public
Membre du Comité de
salut public
Général français Membre du Comité de
salut public
Membre du Comité de
salut public
Royaliste, frère de
Louis XVI
Membre du Comité
de sûreté générale,
Président de la
Convention
Général français

octobre 1795 - novembre 1799 : Le Directoire

Row

Chrono Plot

Row

Personnages Clés

Napoléon Bonaparte

Lazare Hoche

Gracchus Babeuf

Paul Barras

Louis-Marie de La
Révellière-Lépeaux

Jean-François
Reubell

Lazare Carnot

Abbé Emmanuel-Joseph
Sieyès

Général français Général français Journaliste Directeur Directeur Directeur Directeur Directeur
---
title: "Révolution Française"
output: 
  flexdashboard::flex_dashboard:
    orientation: rows
    vertical_layout: scroll
    source_code: embed
---


```{r setup, include=FALSE}
library(tidyverse)
library(lubridate)
library(flexdashboard)
library(plotly)
library(htmltools)
```



```{r}
# Chronologie et périodes associées
chrono <- read_csv("chronologie.csv", 
                   # convertir en format 'date'
                   col_types = cols(date_debut = col_date(format = "%d/%m/%Y"),
                                    date_fin = col_date(format = "%d/%m/%Y")))
periode <- read_csv("periode.csv",
                   # convertir en format 'date'
                   col_types = cols(date_debut = col_date(format = "%d/%m/%Y"),
                                    date_fin = col_date(format = "%d/%m/%Y")))

# Personnages clés de chaque période ; les données sont déjà formattées au format HTML pour affichage
personnage <- read_csv("perso_images/personnage_clean_html.csv")
```

```{r}
# Reformater et préparer les textes qui vont être affichés
chrono$event <- ifelse(chrono$date_debut == chrono$date_fin, 
                        paste0(format(chrono$date_debut, format = "%d-%b-%Y"), "\n", 
                               str_wrap(chrono$event, width = 30, exdent = 2)),
                        paste0(format(chrono$date_debut, format = "%d-%b-%Y"), " - ", 
                               format(chrono$date_fin, format = "%d-%b-%Y"), "\n", 
                               str_wrap(chrono$event, width = 30, exdent = 2)))
periode$periode <- str_replace_all(string = periode$periode, pattern = "\\s:\\s", replacement = "\n")
periode$periode[5] <- "janvier-juin 1793\nLa Convention entre\nGirondins et Montagnards"
periode$periode[7] <- "février - juillet 1794\nLuttes de factions et\napogée de Robespierre"
```

```{r}
# groupe par période
chrono2 <- chrono %>% 
  group_by(id)

# dataset uniquement périodes (date de début et de fin différentes)
chrono_period <- chrono2 %>% 
  filter(date_debut != date_fin) %>% 
  mutate(date_text = floor_date(date_debut + ((date_fin - date_debut) / 2), unit = "day"))

# dataset uniquement dates (date de début et de fin identiques)
chrono_date <- chrono2 %>% 
  filter(date_debut == date_fin) %>% 
  mutate(y_decal = rep_len(x = c(250, 300), length.out = max(row_number())))
```

```{r}
# Graphe statique, fonction de la période envisagée : frise globale, périodes et dates ponctuelles
chrono_plot <- function(period) {
  ggplot() +
    # ajouter frise globale
    geom_rect(data = chrono2 %>% filter(id == period),
              aes(xmin = min(date_debut) - days(30), xmax = max(date_fin) + days(30),
                  ymin = 25, ymax = 200,
                  text = periode$periode[period]),
              fill = RColorBrewer::brewer.pal(n = 9, name = "Paired")[period]) +
    scale_x_date(date_breaks = "3 months", date_labels = "%b-%Y") +
    scale_y_continuous(limits = c(0, 450)) +
    
    # ajouter les périodes (rectangle) si elles sont présentes dans la frise considérée
    {if(nrow(chrono_period %>% filter(id == period)) != 0) 
    geom_rect(data = chrono_period %>% filter(id == period),
              aes(xmin = date_debut, xmax = date_fin,
                  ymin = 45, ymax = 180,
                  text = event, fill = event_type))} + 
    
    # ajouter les dates (segment + point)
    geom_segment(data = chrono_date %>% filter(id == period),
                 aes(x = date_debut, xend = date_debut, y = 0, yend = y_decal,
                     color = event_type), 
                 linetype = "dotted", size = 0.3) +
    geom_point(data = chrono_date %>% filter(id == period),
               aes(x = date_debut, y = y_decal,
                   text = event, shape = event_type, color = event_type, fill = event_type),
               size = 5) +
    scale_shape_manual(values = c(13, 23)) +
    scale_fill_brewer(palette = "Dark2") +
    scale_color_brewer(palette = "Dark2") +
    
    # modifier theme et titres
    labs(title = periode$periode[period], x = "", y = "") +
    theme(legend.position = "none"
          , axis.text.y = element_blank()
          , axis.ticks.y = element_blank()
          , panel.grid = element_blank()
          , panel.background = element_blank()
          , plot.title = element_text(hjust = 0.5)
    )
}

# Graphe dynamique
chrono_plotly <- function(period) {
  ggplotly(chrono_plot(period), tooltip = "text") %>% 
    # Ajouter un axe fléché pour les dates
    layout(annotations = list(
      list(
        x = 1,
        y = 0.045,
        showarrow = TRUE,
        xref = "paper",
        yref = "paper",
        arrowhead = 2,
        arrowsize = 1.5,
        ax = -5000,
        ay = 0
      )))
}
```


```{r}
# tableau des personnages clés
perso_cle <- function(periode) {
  personnage %>%
    filter(id == periode) %>%
    select(image_link, personnage, fonction) %>%
    t() %>%
    htmlTable::htmlTable(rnames = FALSE, css.cell = "padding:2px")
}
```



Chronologie Générale
=======================================================================

Row 
-----------------------------------------------------------------------

### Chronologie {.no-title}

```{r fig.width=15, fig.height=10}
periode %>%
  mutate(date_mid = floor_date(date_debut + ((date_fin - date_debut) / 2), unit = "day"),
         y_decal = c(600, 1000, 1400, 600, 1000, 1400, 1800, 600, 1000)
         ) %>%
  ggplot() +
  geom_rect(aes(xmin = date_debut, xmax = date_fin,
                ymin = 25, ymax = 400,
                fill = as.factor(id))) +
  geom_segment(aes(x = min(date_debut) - days(120), xend = max(date_fin) + days(120),
                   y = 25, yend = 25),
               size = 0.5,
               arrow = arrow(length = unit(0.02, "npc"), type = "closed")) +
  scale_x_date(date_breaks = "1 year", date_labels = "%Y") +
  coord_fixed() +
  geom_segment(aes(x = date_mid, xend = date_mid, y = 400, yend = y_decal, color = as.factor(id)),
               linetype = "longdash", size = 0.2) +
  geom_label(aes(x = date_mid, y = y_decal, label = periode, fill = as.factor(id)), size = 4) +
  scale_y_continuous(limits = c(0, 2000), expand = c(0, 0)) +
  scale_fill_brewer(palette = "Paired") +
  scale_color_brewer(palette = "Paired") +
  labs(x = "", y = "",
       title = "Révolution Française - Chronologie des évènements",
       caption = "Source : https://venividisensivvs.wordpress.com/les-articles-en-pdf/la-revolution-francaise/chronologie-de-la-revolution-francaise/") +
  theme(legend.position = "none"
        , axis.text.y = element_blank()
        , axis.ticks.y = element_blank()
        , panel.grid = element_blank()
        , panel.background = element_blank()
        , plot.title = element_text(hjust = 0.5)
        , plot.caption = element_text(face = "italic")
  )
```


1787-1789 : La marche à la Révolution {data-navmenu="Chronologie Détaillée"}
=======================================================================

Row {data-height=700}
-----------------------------------------------------------------------

### Chrono Plot {.no-title}

```{r}
chrono_plotly(period = 1)
```


Row
-----------------------------------------------------------------------

### Personnages Clés

```{r}
perso_cle(period = 1)
```


Été 1789 : Le basculement {data-navmenu="Chronologie Détaillée"}
=======================================================================

Row {data-height=700}
-----------------------------------------------------------------------

### Chrono Plot {.no-title}

```{r}
chrono_plotly(period = 2)
```


Row
-----------------------------------------------------------------------

### Personnages Clés

```{r}
perso_cle(period = 2)
```


1789-1791 : Le travail de la Constituante {data-navmenu="Chronologie Détaillée"}
=======================================================================

Row {data-height=700}
-----------------------------------------------------------------------

### Chrono Plot {.no-title}

```{r}
chrono_plotly(period = 3)
```


Row
-----------------------------------------------------------------------

### Personnages Clés

```{r}
perso_cle(period = 3)
```


1791-1793 : La chute de la Monarchie {data-navmenu="Chronologie Détaillée"}
=======================================================================

Row {data-height=700}
-----------------------------------------------------------------------

### Chrono Plot {.no-title}

```{r}
chrono_plotly(period = 4)
```


Row
-----------------------------------------------------------------------

### Personnages Clés

```{r}
perso_cle(period = 4)
```


janvier-juin 1793 : La Convention entre Girondins et Montagnards {data-navmenu="Chronologie Détaillée"}
=======================================================================

Row {data-height=700}
-----------------------------------------------------------------------

### Chrono Plot {.no-title}

```{r}
chrono_plotly(period = 5)
```


Row
-----------------------------------------------------------------------

### Personnages Clés

```{r}
perso_cle(period = 5)
```


juillet 1793 - janvier 1794 : La Terreur à l’ordre du jour ? {data-navmenu="Chronologie Détaillée"}
=======================================================================

Row {data-height=700}
-----------------------------------------------------------------------

### Chrono Plot {.no-title}

```{r}
chrono_plotly(period = 6)
```


Row
-----------------------------------------------------------------------

### Personnages Clés

```{r}
perso_cle(period = 6)
```


février - juillet 1794 : Luttes de factions et apogée de Robespierre {data-navmenu="Chronologie Détaillée"}
=======================================================================

Row {data-height=700}
-----------------------------------------------------------------------

### Chrono Plot {.no-title}

```{r}
chrono_plotly(period = 7)
```


Row
-----------------------------------------------------------------------

### Personnages Clés

```{r}
perso_cle(period = 7)
```


août 1794 - octobre 1795 : Changement de direction {data-navmenu="Chronologie Détaillée"}
=======================================================================

Row {data-height=700}
-----------------------------------------------------------------------

### Chrono Plot {.no-title}

```{r}
chrono_plotly(period = 8)
```


Row
-----------------------------------------------------------------------

### Personnages Clés

```{r}
perso_cle(period = 8)
```


octobre 1795 - novembre 1799 : Le Directoire {data-navmenu="Chronologie Détaillée"}
=======================================================================

Row {data-height=700}
-----------------------------------------------------------------------

### Chrono Plot {.no-title}

```{r}
chrono_plotly(period = 9)
```


Row
-----------------------------------------------------------------------

### Personnages Clés

```{r}
perso_cle(period = 9)
```