Listen to the article
Depuis le début du second mandat d’Emmanuel Macron, en 2022, pas moins de cinq premiers ministres se sont succédé à Matignon (Elisabeth Borne, Gabriel Attal, Michel Barnier, François Bayrou et Sébastien Lecornu). Ils ont pris part à huit gouvernements, dont certains éphémères, voire très éphémères, composés de 130 femmes et hommes différents.
Cette instabilité est notable par rapport au premier mandat du président, qui s’était limité à deux premiers ministres (Edouard Philippe et Jean Castex). Elle s’est traduite par un important taux de renouvellement : 107 personnalités nouvelles sont ainsi entrées au gouvernement en trois ans et demi, contre 66 lors du premier quinquennat (2017-2022).
`;
//
Le gouvernement ${
// d.gouv
// } formé à partir du ${format_date(d.date_debut)} ${
// d.gouv === « Michel Barnier » ? « est » : « était »
// } composé de ${d[x1]} ministre${+d[x1] >= 2 ? « s » : « »} dont c’${
// d.gouv === « Michel Barnier » ? « est » : « était »
// } le premier portefeuille.
`;
});
svg
.selectAll(« .barreAnterieurMacron »)
.data(dataNouveauxGouv)
.enter()
.append(« rect »)
.attr(« class », « barre barreAnterieurMacron »)
.attr(« x », (d) => x(+d[x1]))
.attr(« height », y.bandwidth() * 0.7)
.attr(« y », (d) => y(d.gouv) + y.bandwidth() * 0.2)
.attr(« width », (d) => x(+d[x2]))
.attr(« data-tt », (d) => {
return `
${d[x2]} ministres reconduits
`;
//
Le gouvernement ${
// d.gouv
// } formé à partir du ${format_date(d.date_debut)} ${
// d.gouv === « Michel Barnier » ? « est » : « était »
// } composé de ${d[x2]} ministre${
// +d[x2] >= 2 ? « s » : « »
// } qui étaient déjà ministres dans un gouvernement Macron antérieur.
`;
});
svg
.selectAll(« .barreAnterieur »)
.data(dataNouveauxGouv)
.enter()
.append(« rect »)
.attr(« class », « barre barreAnterieur »)
.attr(« x », (d) => x(+d[x2]) + x(+d[x1]))
.attr(« height », y.bandwidth() * 0.7)
.attr(« y », (d) => y(d.gouv) + y.bandwidth() * 0.2)
.attr(« width », (d) => x(+d[x3]))
.attr(« data-tt », (d) => {
return `
${d[x3]} ${d[x3] > 1 ? « retours » : « retour » } de ${d[x3] > 1 ? « ministres » : « ministre » }
`;
//
Le gouvernement ${
// d.gouv
// } formé à partir du ${format_date(d.date_debut)} ${
// d.gouv === « Michel Barnier » ? « est » : « était »
// } composé de ${d[x3]} ministre${
// +d[x3] >= 2 ? « s » : « »
// } qui étaient déjà ministres dans un gouvernement antérieur à la présidence d’Emmanuel Macron.
`;
});
// svg
// .selectAll(« .barreNouveaux »)
// .data(dataNouveauxGouv)
// .enter()
// .append(« rect »)
// .attr(« class », « barre barreNouveaux »)
// .attr(« x », (d) => x(+d[x1]) + x(+d[x2]) + x(+d[x3]))
// .attr(« height », y.bandwidth() * 0.7)
// .attr(« y », (d) => y(d.gouv) + y.bandwidth() * 0.2)
// .attr(« width », (d) => x(+d[x4]))
// .attr(« data-tt », (d) => {
// return `
${x4}
Le gouvernement ${
// d.gouv
// } formé à partir du ${format_date(d.date_debut)} ${
// d.gouv === « Michel Barnier » ? « est » : « était »
// } composé de ${d[x4]} ministre${+d[x4] >= 2 ? « s » : « »} dont c’${
// d.gouv === « Michel Barnier » ? « est » : « était »
// } le premier portefeuille.
`;
// });
svg
.selectAll(« .nombre »)
.data(dataNouveauxGouv.filter((d) => +d[x1]))
.enter()
.append(« text »)
.attr(« class », « nombre »)
.attr(« x », (d) => x(+d[x1]) / 2)
.attr(« y », (d) => y(d.gouv) + y.bandwidth() * 0.55)
.text((d) => d[x1]);
svg
.selectAll(« .nombreAnterieurMacron »)
.data(dataNouveauxGouv.filter((d) => +d[x2]))
.enter()
.append(« text »)
.attr(« class », « nombre nombreAnterieurMacron »)
.attr(« x », (d) => x(+d[x1]) + x(+d[x2]) / 2)
.attr(« y », (d) => y(d.gouv) + y.bandwidth() * 0.55)
.text((d) => d[x2]);
svg
.selectAll(« .nombreAnterieur »)
.data(dataNouveauxGouv.filter((d) => +d[x3]))
.enter()
.append(« text »)
.attr(« class », « nombre nombreAnterieur »)
.attr(« x », (d) => x(+d[x1]) + x(+d[x2]) + x(+d[x3]) / 2)
.attr(« y », (d) => y(d.gouv) + y.bandwidth() * 0.55)
.text((d) => d[x3]);
// svg
// .selectAll(« .nombreNouveaux »)
// .data(dataNouveauxGouv.filter((d) => +d[x4]))
// .enter()
// .append(« text »)
// .attr(« class », « nombre nombreNouveaux »)
// .attr(« x », (d) => x(+d[x1]) + x(+d[x2]) + x(+d[x3]) + x(+d[x4]) / 2)
// .attr(« y », (d) => y(d.gouv) + y.bandwidth() * 0.55)
// .text((d) => +d[x4]);
make_tooltip_brt(« #NouveauxGouv rect.barre »);
function format_date(date) {
const parts = date.split(« https://www.lemonde.fr/ »);
return `${+parts[0]} ${mois_francais[+parts[1] – 1]} ${
parts[2]
}`;
}
function milliers(num) {
resultat = 0;
if (num < 1000) {
resultat = num;
} else if (num < 1000000) {
resultat = String((num / 1000).toFixed(3)).replace(« . », » « );
} else if (num >= 1000000 && num < 1000000000) {
resultat =
String((num / 1000000).toFixed(1))
.replace(« . », « , »)
.replace(« ,0 », « ») +
» million » +
(num >= 2000000 ? « s » : « »);
} else if (num >= 1000000000) {
resultat =
String((num / 1000000000).toFixed(1))
.replace(« . », « , »)
.replace(« ,0 », « ») +
» milliard » +
(num >= 2000000000 ? « s » : « »);
}
return String(resultat).replace(« . », « , »);
}
function make_tooltip_brt(selector, func) {
// Fonction pour générer un tt_barres à partir d’un sélecteur
// Chaque élément renvoyé par le selecteur doit avoir un attribut data-id qui contient
// – soit le html du tt_barres (auquel la fonction ajoute la croix pour la version mobile)
// – soit un argument à passer à une fonction (func) de formattage
// L’argument func est optionnel.
// Il renvoie à une fonction à utiliser pour formatter.
let tt_barres_elmts = getA(selector);
forEach(tt_barres_elmts, function (elmt) {
elmt.addEventListener(« mouseover », function () {
let tt_barres = document.createElement(« div »);
tt_barres.classList.add(« tooltipdecodeurs »);
tt_barres.innerHTML =
(typeof func === « undefined »
? this.getAttribute(« data-tt »)
: func(this.getAttribute(« data-tt »))) +
« ;
document.body.appendChild(tt_barres);
// le 14 c’est le décalage qui va bien
tt_barres.style.top =
this.getBoundingClientRect().top –
14 +
window.scrollY –
tt_barres.offsetHeight +
« px »;
tt_barres.style.left =
this.getBoundingClientRect().left +
this.getBoundingClientRect().width / 2 –
tt_barres.getBoundingClientRect().width / 2 +
« px »;
tt_barres.addEventListener(« click », () => this.remove());
});
elmt.addEventListener(« mouseout », function () {
let tt_barres = document.querySelector(« .tooltipdecodeurs »);
if (tt_barres != null) tt_barres.remove();
});
});
}
}
mongraphBArresNouveauxGouv();
Plus beaucoup de rescapés du premier mandat
Malgré une impression de recyclage incessant des mêmes figures, les piliers historiques du macronisme se font de plus en plus rares au sein de l’exécutif. L’équipe actuelle ne contient ainsi que quatre rescapés du premier quinquennat. Le premier ministre, Sébastien Lecornu, détient ainsi la palme de la longévité, avec une participation à tous les gouvernements du président, à l’exception du tout premier (mai-juin 2017). Le garde des sceaux, Gérald Darmanin, est également présent sans discontinuer depuis l’arrivée de M. Macron au pouvoir, à l’exception d’une parenthèse sous le gouvernement Barnier (septembre-décembre 2024).
Il vous reste 55.18% de cet article à lire. La suite est réservée aux abonnés.











4 commentaires
Production mix shifting toward Les décodeurs might help margins if metals stay firm.
Silver leverage is strong here; beta cuts both ways though.
Good point. Watching costs and grades closely.
The cost guidance is better than expected. If they deliver, the stock could rerate.