Last data update: 11 Oct 2026, 11:01
Last compile: 11 Oct 2026, 11:22
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é.
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.
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))
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")| item | Favorable | Défavorable |
|---|---|---|
| Sébastien Lecornu | 22 | 69 |
| Emmanuel Macron | 15 | 82 |
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))
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 |