Meilleures Actions

Plus de neuf communes sur dix ont déjà élu leur prochain maire. Mais, dans les 1 521 autres où un second tour sera organisé, dimanche 22 mars, les municipales continuent. Dès la fin du dépouillement des bulletins, le soir du premier tour, les tractations ont débuté afin de déposer les listes en préfecture, mardi 17 mars, avant 18 heures. Le ministère de l’intérieur a rendu publiques, mercredi en fin de journée, les listes qui participeront au second tour.

Premier enseignement : le front républicain donne de sévères signes de faiblesse. Dans de nombreuses villes où l’extrême droite est en passe de prendre la mairie, les opposants, de droite comme de gauche, se maintiennent. Le cas le plus emblématique, et le plus embarrassant pour la gauche, est Nice. La candidate d’union de la gauche, Juliette Chesnel-Le Roux, se maintient, plaçant l’actuel maire de la préfecture des Alpes-Maritimes, Christian Estrosi (Horizons), dans une situation délicate : il devra affronter son principal adversaire, Eric Ciotti, chantre de l’« Union des droites » et soutenu par le Rassemblement national (RN), dans le cadre d’une triangulaire.

Du duel à la quinquangulaire aux municipales 2026

Ces cartes représentent les configurations du second tour des élections municipales dans les principales villes de France. Pour les villes de plus de 30 000 habitants, la rédaction du Monde a fait le choix de préciser l’étiquette politique de la tête de liste lorsqu’elle était disponible. Pour les villes de moins de 30 000 habitants, nous avons repris l’étiquette du ministère de l’intérieur.

Sélectionnez une ville pour afficher les noms et la couleur des listes présentes au second tour.

Quinquangulaire Quadrangulaire Triangulaire Duel Maire sortant·e Candidat au second tour

Départements de la petite couronne parisienne

Départements méditerranéens

`;
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 + 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();
});
});
}

// une méthode pour arrondir proprement à N chiffres, s’utilise :
// (chiffre).arrondir([N chiffres après la virgule])
Number.prototype.arrondir = function (pouissance) {
if (pouissance == 0) {
return +this.toFixed(0);
} else {
if (!pouissance) {
pouissance = 1;
}
nombreDeZero = « 1 »;
for (let i = 0; i < pouissance; i++) {
nombreDeZero += « 0 »;
}
return Math.round(this * +nombreDeZero) / +nombreDeZero;
}
};

// une fonction pour convertir en chiffres lisibles
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 transformCode(code_circo) {
// Convertir le code en chaîne de caractères
let code_str = code_circo.toString();

// Supprimer les trois derniers chiffres
let modified_code = code_str.slice(0, -3);

// Vérifier la longueur du code modifié
if (modified_code.length === 1) {
modified_code = « 0 » + modified_code; // Ajouter un zéro si c’est un seul chiffre
}

return modified_code;
}

Promise.all([d3.csv(« //assets-decodeurs.lemonde.fr/sheets/wAn2GJcj3n7zw3Ivl7sP8tBTw6KHCg_3917.csv »), d3.csv(« //assets-decodeurs.lemonde.fr/sheets/wAn2GJcj3n7zw3Ivl7sP8tBTw6KHCg_3918.csv »), d3.csv(« //assets-decodeurs.lemonde.fr/sheets/wAn2GJcj3n7zw3Ivl7sP8tBTw6KHCg_3985.csv »)]).then(function ([nuancesMin, nuancesLM, blocsData]) {
resultData = donneesDesistements.filter(function (d) {
d.code_circo = d.code_circo.length === 4 ? « 0 » + d.code_circo : d.code_circo;
return d.decision_officielle_regroupement == « Maintien »;
});

const dicoMin = nuancesMin.reduce((acc, e) => {
e.n = +e.n;
acc[e.code] = e;
return acc;
}, {}),
dicoLM = nuancesLM.reduce((acc, e) => {
e.n = +e.n;
acc[e.code] = e;
return acc;
}, {});

// je stocke le radius
d3.selectAll(« #VILLES-FRANCE g circle, #VILLES-MEDITERRANEE g circle, #VILLES-IDF g circle »).attr(« data-radius », function () {
return d3.select(this).attr(« r »);
});

// la boucle sur tous les G
d3.selectAll(« #VILLES-FRANCE g, #VILLES-MEDITERRANEE g, #VILLES-IDF g »)
.attr(« data-tt », function () {
html = «  »;
code = d3.select(this).attr(« data-name »);
dataCommune = resultData.filter((d) => d.code_circo == code);
if (dataCommune.length > 0) {
html += ‘

‘ + dataCommune[0].lib +  » ( » + transformCode(dataCommune[0].code_circo) + « )

« ;
html +=  »;
html += listerLesListes(dataCommune, 6);
} else {
html += « 

Pas de données

« ;
}
return html;
})
.on(« mouseover », function (event, d) {
const paths = d3.select(this).selectAll(« path »);
const circles = d3.select(this).selectAll(« circle »);
d3.select(this).style(« cursor », « pointer »);

circles
.transition()
.duration(dureeTransition)
.ease(d3.easeElastic)
.attr(« r », function () {
return Number(d3.select(this).attr(« data-radius »)) * 2;
});

paths.style(« stroke-width », 1.5);
})
.on(« mouseout », function (event, d) {
const paths = d3.select(this).selectAll(« path »);
const circles = d3.select(this).selectAll(« circle »);
d3.select(this).style(« cursor », « default »);

circles
.transition()
.duration(dureeTransition)
.ease(d3.easeElastic)
.attr(« r », function () {
return d3.select(this).attr(« data-radius »);
});

paths.style(« stroke-width », null);
});

function listerLesListes(circonscription, maxListes) {
if (!maxListes) {
maxListes = 10;
}
var html= »

    « ;

    // la nouvelle boucle
    for (const [i, d] of circonscription.entries()) {
    // les nuances intérieur
    var couleur = dicoMin[d.nuance] ? dicoMin[d.nuance].couleur : «  »,
    couleur_dark = dicoMin[d.nuance]?.couleur_dark ?? «  »;
    // la couleur de la nuance LM d’abord
    if (dicoLM[d.nuance_lemonde]) {
    var couleur = dicoLM[d.nuance_lemonde] ? dicoLM[d.nuance_lemonde].couleur : «  »,
    couleur_dark = dicoLM[d.nuance_lemonde]?.couleur_dark ?? «  »;
    }
    // Couleur par défaut si nuance est nulle
    const nomLong = dicoMin[d.nuance] ? dicoMin[d.nuance].nom_long : « Liste inconnue »,
    nomCourt = dicoMin[d.nuance] ? dicoMin[d.nuance].nom_court : « DIV »,
    tetedeliste = d.tete_prenom +  »  » + d.tete_nom;

    rabe_nuance_lm = «  »;

    if (d.nuance_lemonde) {
    if (d.nuance_lemonde != d.nuance) {
    rabe_nuance_lm = « , tête de liste  » + dicoLM[d.nuance_lemonde].nom_court;
    }
    }

    html += ‘

  1. ‘;
    html +=  »;
    // la liste
    html += ‘

    ‘;
    html += ‘

    ‘;
    html += ‘

    ‘ + tetedeliste;
    html += « 

    « ;
    html += ‘

    ‘ + nomLong + rabe_nuance_lm + « 

    « ;
    html += « 

    « ;
    html += « 

    « ;
    html += « 

  2. « ;
    }

    html += « 

« ;
return html;
}

make_tooltip_brt(« #VILLES-FRANCE g, #VILLES-MEDITERRANEE g, #VILLES-IDF g »);
});

Les exemples analogues sont nombreux. A Nîmes, la plus grande ville dirigée par Les Républicains (LR), c’est l’eurodéputé RN Julien Sanchez qui est arrivé en tête du premier tour. Ses deux adversaires de droite ont préféré se rassembler plutôt que de se désister en faveur du deuxième, le communiste Vincent Bouget. A Carpentras (Vaucluse), les trois listes d’extrême droite ont fusionné, mais le maire actuel, Serge Andrieu (divers gauche), et son prédécesseur, Francis Adolphe (divers gauche), se maintiennent. A Cavaillon (Vaucluse), le candidat de gauche, Patrick Blanes, arrivé en troisième position, et le maire sortant de droite, Gérard Daudet, affronteront, en ordre dispersé, la candidate du RN, Bénédicte Auzanot, largement en tête. La même désunion républicaine donne un avantage à l’extrême droite à Carcassonne, Menton (Alpes-Maritimes), La Seyne-sur-Mer (Var), Montauban, Tarbes, Montargis (Loiret), Vierzon (Cher) ou Saint-Avold (Moselle).

Il vous reste 68.85% de cet article à lire. La suite est réservée aux abonnés.

Share.