Principales infractions — séries mensuelles (France)

Données - Sécurité intérieure (SSMSI)

Auteur·rice
Code
source(here::here("_rinit.R"))
invisible(Sys.setlocale("LC_TIME", "fr_FR.UTF-8"))
# cd ~/iCloud/website/data/ssmsi; /usr/local/bin/R -e 'quarto::quarto_render("violences.qmd")'

knitr::opts_chunk$set(echo = TRUE, message = FALSE, warning = FALSE,
                      fig.width = 9, fig.height = 5.5, dpi = 150)

viol_path <- here::here("data", "ssmsi", "violences.parquet")
viol <- arrow::read_parquet(viol_path) |>
  dplyr::filter(!is.na(value)) |>
  dplyr::mutate(Variable = forcats::fct_inorder(Variable))

n_ind   <- dplyr::n_distinct(viol$Variable)
periode <- range(viol$date)

theme_barres <- theme_minimal(base_size = 12) +
  theme(plot.title = element_text(face = "bold"),
        plot.subtitle = element_text(colour = "grey35"),
        panel.grid.minor = element_blank())

14 indicateurs d’infractions enregistrées par la police et la gendarmerie, en séries mensuelles pour la France entière, de janvier 2016 à mai 2024. Chiffres bruts (non corrigés des variations saisonnières), diffusés par le SSMSI dans son fichier de séries Diffusion_series_internet.xlsx.

Code
viol |>
  dplyr::group_by(Indicateur = Variable) |>
  dplyr::summarise(
    `Depuis`       = format(min(date), "%b %Y"),
    `Jusqu'à`      = format(max(date), "%b %Y"),
    `Dernier mois` = dplyr::last(value[order(date)]),
    `Total période` = sum(value),
    .groups = "drop"
  ) |>
  gt::gt() |>
  gt::fmt_number(columns = c(`Dernier mois`, `Total période`), decimals = 0, sep_mark = " ") |>
  gt::tab_header(title = sprintf("%d séries mensuelles", n_ind)) |>
  gt::tab_options(table.width = "100%")
14 séries mensuelles
Indicateur Depuis Jusqu'à Dernier mois Total période
Homicides (y compris coups et blessures volontaires suivis de mort) janv. 2016 mai 2024 83 8 412
Coups et blessures volontaires (sur personnes de plus de 15 ans ou plus) janv. 2016 mai 2024 29 970 2 474 245
Violences sexuelles janv. 2016 mai 2024 7 724 538 922
Vols avec armes (armes à feu, armes blanches ou par destination) janv. 2016 mai 2024 700 79 111
Vols violents sans arme janv. 2016 mai 2024 4 079 619 032
Vols sans violence contre des personnes janv. 2016 mai 2024 50 545 5 601 572
Cambriolages de logement janv. 2016 mai 2024 18 270 1 900 692
Vols de véhicules janv. 2016 mai 2024 12 075 1 205 090
Vols dans les véhicules janv. 2016 mai 2024 21 640 2 146 568
Vols d’accessoires sur véhicules janv. 2016 mai 2024 7 481 774 246
Destructions et dégradations volontaires janv. 2016 mai 2024 42 266 4 777 552
Usage de stupéfiants janv. 2016 mai 2024 22 211 1 717 144
Trafic de stupéfiants janv. 2016 mai 2024 3 766 381 158
Escroqueries janv. 2016 mai 2024 41 459 3 301 780

Évolution de chaque indicateur

Code
viol |>
  ggplot(aes(date, value)) +
  geom_line(colour = "#c0392b", linewidth = 0.5) +
  geom_smooth(method = "loess", span = 0.3, se = FALSE, colour = "grey25", linewidth = 0.6) +
  facet_wrap(~ Variable, scales = "free_y", ncol = 3,
             labeller = labeller(Variable = label_wrap_gen(34))) +
  scale_y_continuous(labels = scales::label_number(big.mark = " "), limits = c(0, NA)) +
  labs(title = "Infractions enregistrées par mois, France entière",
       subtitle = "Données brutes ; courbe lissée (loess) en gris",
       x = NULL, y = NULL) +
  theme_barres +
  theme(strip.text = element_text(size = 8.5, face = "bold"),
        axis.text = element_text(size = 7))

Cambriolages, coups et blessures, violences sexuelles

Code
foc <- c("Cambriolages de logement",
         "Coups et blessures volontaires (sur personnes de plus de 15 ans ou plus)",
         "Violences sexuelles")

viol |>
  dplyr::filter(Variable %in% foc) |>
  dplyr::mutate(lab = dplyr::recode(as.character(Variable),
    "Coups et blessures volontaires (sur personnes de plus de 15 ans ou plus)" =
      "Coups et blessures volontaires (15 ans ou +)")) |>
  ggplot(aes(date, value, colour = lab)) +
  geom_line(linewidth = 0.8) +
  scale_colour_manual(values = c(
    "Cambriolages de logement" = "#3b6f8a",
    "Coups et blessures volontaires (15 ans ou +)" = "#c0392b",
    "Violences sexuelles" = "#d98c00"), name = NULL) +
  scale_y_continuous(labels = scales::label_number(big.mark = " "), limits = c(0, NA)) +
  labs(title = "Trois séries emblématiques", x = NULL, y = "Infractions / mois") +
  theme_barres +
  theme(legend.position = "bottom")

Le décrochage des cambriolages au printemps 2020 (confinements) est net, de même que la tendance haussière continue des violences sexuelles enregistrées sur toute la période.

Table complète

Code
viol |>
  dplyr::transmute(Indicateur = Variable, Mois = date, Infractions = value) |>
  dplyr::arrange(dplyr::desc(Mois), Indicateur) |>
  reactable::reactable(
    searchable = TRUE, filterable = TRUE, pagination = TRUE,
    defaultPageSize = 20, compact = TRUE, resizable = TRUE, highlight = TRUE, wrap = TRUE,
    defaultColDef = reactable::colDef(
      align = "left", headerStyle = list(fontWeight = "bold"),
      style = list(whiteSpace = "normal", wordBreak = "break-word")),
    columns = list(
      Indicateur  = reactable::colDef(minWidth = 220),
      Mois        = reactable::colDef(minWidth = 90, maxWidth = 120),
      Infractions = reactable::colDef(minWidth = 90, maxWidth = 130, align = "right",
                                      format = reactable::colFormat(separators = TRUE)))
  )

Source & données

Code
tibble::tibble(
  ` ` = c("Jeu de données", "Producteur", "Licence", "Fichier", "Mise à jour", "Observations"),
  `  ` = c(
    "[Séries chronologiques SSMSI](https://www.interieur.gouv.fr/Interstats) — `Diffusion_series_internet.xlsx`, feuille « Données TS FE »",
    "Service statistique ministériel de la sécurité intérieure (SSMSI) — ministère de l'Intérieur",
    "Licence Ouverte / Open Licence 2.0 (Etalab)",
    sprintf("`data/ssmsi/violences.parquet` (%s ko)", round(file.size(viol_path) / 1024)),
    format(as.Date(file.mtime(viol_path)), "%d %B %Y"),
    sprintf("%d indicateurs, séries mensuelles, %s–%s", n_ind,
            format(periode[1], "%Y"), format(periode[2], "%Y"))
  )
) |>
  gt::gt() |> gt::fmt_markdown(columns = `  `) |>
  gt::tab_options(table.width = "100%", column_labels.hidden = TRUE)
Jeu de données Séries chronologiques SSMSIDiffusion_series_internet.xlsx, feuille « Données TS FE »
Producteur Service statistique ministériel de la sécurité intérieure (SSMSI) — ministère de l’Intérieur
Licence Licence Ouverte / Open Licence 2.0 (Etalab)
Fichier data/ssmsi/violences.parquet (7 ko)
Mise à jour 01 août 2026
Observations 14 indicateurs, séries mensuelles, 2016–2024