Baromètre politique Ipsos bva / CESI pour La Tribune Dimanche - barometre-politique

Données - Ipsos

Source

Baromètre mensuel (≈ 1 000 personnes, 18 ans et plus) publié par Ipsos bva / CESI École d’ingénieurs pour La Tribune Dimanche : https://www.ipsos.com/fr-fr/barometre-politique-ipsos-bva-la-tribune-dimanche

Les données ne sont publiées que sous forme de rapports PDF. barometre-politique.R télécharge les PDF listés sur la page, en extrait quatre séries et écrit barometre-politique.parquet (format long : date, indicateur, item, modalite, valeur, valeur_precedente).

indicateur contenu
president, premier_ministre jugement sur l’action : très/plutôt favorable, très/plutôt défavorable, ne se prononce pas (%)
preoccupation % citant l’enjeu parmi les trois qui préoccupent le plus (valeur_precedente = rappel vague précédente)
meilleur_ministre % citant le ministre parmi les deux meilleurs

Limites. Plusieurs liens de la page sont morts (déc. 2024, oct. 2025, nov. 2025, janv. 2026) et les vagues d’août n’existent pas. Les jugements sur l’exécutif sont extraits à partir de février 2024 (seuls les totaux favorable / défavorable pour février-mars 2024 pour le président et février-mai 2024 pour le Premier ministre ; pas de janvier 2024), donc seuls Attal, Barnier, Bayrou et Lecornu apparaissent. Les séries longues du PDF (depuis 2007) ne sont que des graphiques et ne sont pas reprises ; la série depuis mai 2017 vient des données Flourish de la page (barometre-politique-executif.R). Les chiffres du camembert sont arrondis : favorable = très + plutôt favorable peut différer de 1 point du chiffre publié.

Popularité du président et de ses Premiers ministres

Source : graphique « Exécutif » intégré à la page Ipsos (données Flourish), récupéré par barometre-politique-executif.R ; avant 2024, baromètre de l’action politique Ipsos pour Le Point. Les bandes colorées indiquent le Premier ministre en fonction.

Code
exec <- read_parquet("barometre-politique-executif.parquet")
pm   <- read_parquet("barometre-politique-executif-pm.parquet") |>
  mutate(fin = replace(fin, fin == max(fin), max(exec$date)))

exec |>
  pivot_longer(c(president, premier_ministre), names_to = "serie", values_to = "pct") |>
  mutate(serie = recode(serie, president = "Président de la République",
                        premier_ministre = "Premier ministre")) |>
  ggplot() +
  geom_rect(data = pm, aes(xmin = debut, xmax = fin, ymin = -Inf, ymax = Inf, fill = pm_nom),
            alpha = 0.12, show.legend = FALSE) +
  geom_text(data = pm, aes(x = debut + 20, y = Inf, label = pm_nom),
            angle = 90, hjust = 1.05, vjust = 0, size = 3, colour = "grey30") +
  scale_fill_manual(values = setNames(pm$couleur, pm$pm_nom)) +
  geom_line(aes(date, pct, colour = serie), linewidth = 1) +
  geom_point(aes(date, pct, colour = serie), size = 1.3) +
  scale_colour_manual(values = c("Président de la République" = "#5BA4A4",
                                 "Premier ministre" = "#ED7D31")) +
  scale_x_date(date_breaks = "1 year", labels = date_format("%Y"),
               expand = expansion(mult = c(0.01, 0.01))) +
  scale_y_continuous(labels = function(x) paste0(x, " %"), limits = c(10, 50),
                     expand = expansion(mult = c(0, 0))) +
  labs(x = NULL, y = "Jugement favorable sur l'action", colour = NULL) +
  theme_minimal() + theme(legend.position = "top", legend.text = element_text(size = 12))

Code
pop <- d |>
  filter(indicateur %in% c("president", "premier_ministre")) |>
  select(date, indicateur, item, modalite, valeur) |>
  pivot_wider(names_from = modalite, values_from = valeur) |>
  mutate(Favorable = coalesce(favorable, tres_favorable + plutot_favorable),
         `Défavorable` = coalesce(defavorable, plutot_defavorable + tres_defavorable))
pop |>
  filter(date == max(date)) |>
  select(item, Favorable, `Défavorable`) |>
  knitr::kable(caption = "Dernière vague")
Dernière vague
item Favorable Défavorable
Sébastien Lecornu 22 69
Emmanuel Macron 15 82

Préoccupations des Français

Code
pre <- d |> filter(indicateur == "preoccupation") |>
  mutate(item = stringr::str_trunc(stringr::str_remove(item, " \\(.*"), 40))
ggplot(pre, aes(date, valeur, colour = item)) +
  geom_line() +
  labs(x = NULL, y = "% (3 réponses possibles)", colour = NULL) +
  theme_minimal() + theme(legend.position = "bottom") +
  guides(colour = guide_legend(ncol = 2))

Meilleurs ministres

Code
d |> filter(indicateur == "meilleur_ministre", date == max(date)) |>
  arrange(desc(valeur)) |> select(item, valeur, valeur_precedente) |>
  knitr::kable(col.names = c("Ministre", "% (dernière vague)", "% (vague précédente)"))
Ministre % (dernière vague) % (vague précédente)
Gérald Darmanin 34 38
Laurent Nunez 22 25
Aurore Bergé 13 11
Jean-Noël Barrot 12 12
Catherine Vautrin 11 9
Roland Lescure 10 11
Serge Papin 10 8
Maud Bregeon 9 7
Catherine Pégard 8 6
Edouard Geffray 7 8
Jean-Pierre Farandou 7 7
Vincent Jeanbrun 7 7
Annie Genevard 6 6
David Amiel 6 6
Monique Barbut 6 7
Jean-Didier Berger 4 4