Estagel Nouveau Souffle
🌙

📊 Analyse du fichier des électeurs d'Estagel

🧮 Répartition par tranches d'âge (2026)

Tranche d'âge Nombre
10–20 ans 26
20–30 ans 237
30–40 ans 225
40–50 ans 247
50–60 ans 265
60–70 ans 283
70–80 ans 241
80–90 ans 147
90–100 ans 60
100+ ans 2

Total analysé : 1733 personnes


📈 Analyse démographique d'Estagel

Ces chiffres sont très parlants et dessinent un profil de commune assez typique des zones rurales ou semi-rurales d'Occitanie, mais avec quelques particularités notables. Voici mon analyse :

1. Le "Creux" des 10-20 ans (26 personnes)

C'est le chiffre le plus frappant.

2. Une population active très stable (20-60 ans)

On observe un plateau remarquable :

3. Le "Sommet" des 60-70 ans (283 personnes)

C'est la tranche la plus représentée.

4. Une longévité remarquable (Plus de 70 ans)

Le bloc des seniors est très solide :


Résumé de la réflexion

Votre liste montre une commune mature.
L'équilibre entre les 20 et 60 ans est une force pour l'économie locale, mais le poids prédominant des plus de 60 ans suggère que les enjeux de santé, d'accessibilité et de services de proximité sont (ou seront) les thèmes prioritaires pour les habitants.

<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<title>Titre de la page par défaut</title>
<meta name="description" content="Estagel Nouveau Souffle : Programme complet pour les élections municipales 2026. Instaurer une vraie démocratie locale, soutenir l’agriculture et la planification écologique, améliorer l’aménagement urbain et le cadre de vie, renforcer la solidarité et l’action sociale, défendre les services publics et la paix, encourager la culture, le sport et la vie associative, sécuriser le village et dynamiser les commerces.">
<meta name="keywords" content="Estagel, élections municipales 2026, démocratie locale, référendum d’initiative citoyenne, transparence, communication publique, bulletin municipal, site internet, agriculture bio, AMAP, agriculture paysanne, récupération eaux usées, transports publics, gare multimodale, gestion écologique de l’eau, urbanisme, logements vacants, cadre de vie, rénovation mairie, promenade, végétation, jardins, toilettes publiques, solidarité, logement social, CCAS, services publics, paix, jumelage, culture, associations, sport, jeunesse, sécurité, prévention, citoyenneté, commerces, centre du village, taxe foncière, marché local, chèque solidarité">
<meta name="author" content="Michel Garnier">
<meta name="robots" content="index, follow">

<meta property="og:title" content="Estagel Nouveau Souffle - Élections municipales 2026">
<meta property="og:description" content="Programme municipal complet pour Estagel : démocratie, écologie, cadre de vie, solidarité, culture, sécurité et commerce local.">
<meta property="og:image" content="https://estagelnouveausouffle.fr/assets/images/fbShare.jpg">
<meta property="og:url" content="https://estagelnouveausouffle.fr">
<meta property="og:image:secure_url" content="https://estagelnouveausouffle.fr/assets/images/fbShare.jpg">
<meta property="og:type" content="website">
<meta property="og:image:width" content="1167">
<meta property="og:image:height" content="835">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Estagel Nouveau Souffle - Élections municipales 2026">
<meta name="twitter:description" content="Programme municipal complet pour Estagel : démocratie, écologie, cadre de vie, solidarité, culture, sécurité et commerce local.">
<meta name="twitter:image" content="https://estagelnouveausouffle.fr/assets/images/fbShare.jpg">
<link rel="canonical" href="https://wego.ovh/_Documents/demographie-estagel">


<link rel="icon" type="image/png" href="/assets/images/LogoCouleurENS2.webp">


<style>
/* ==================================================
   1. RESET & BASES (Supprime l'espace blanc en haut)
================================================== */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html, body {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden; /* Empêche le balancement gauche/droite sur mobile */
    -webkit-font-smoothing: antialiased;
}

body {
    margin: 0;
    padding: 0;
    font-family: system-ui, sans-serif;
    background: white;
    color: #111;
    font-size: 1.15rem;
}

/* Titres fluides d'origine */
h1 { font-size: clamp(1.4rem, 5vw, 3rem); }
h2 { font-size: clamp(1.2rem, 4vw, 2.5rem); }
h3 { font-size: clamp(1rem, 3vw, 2rem); }

/* =========================
   CONTENU PRINCIPAL
========================= */
/* =========================
   CONTENU PRINCIPAL (Restauration)
========================= */
main {
    max-width: 1100px;
    margin: 0 auto; /* On garde le 0 en haut pour l'espace blanc */
    padding: 10px 30px;
    /*padding-top :0;*/
    margin-top :0;
    background-color: #FaFdfe;
    box-sizing: border-box;
    overflow-wrap: break-word;
}

main ul {
    list-style-type: none; 
    padding-left: 0;       
    margin-left: 0;        
}

/* Images d'origine */
main img {
    max-width: 100%;
    height: auto;
    margin: 0;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); 
    border-radius: 8px; 
    transition: transform 0.3s, box-shadow 0.3s;
}

main pre:first-child {
display: none;
}

/* Règle pour tous les titres du contenu */
main h1, main h2, main h3, main h4 {
    display: block;
    /* Marges standard du navigateur pour aérer le texte */
    margin-top: 1.33em;
    /*margin-bottom: 0.67em;*/
    margin-bottom: 1.2em;
    font-weight: bold;
    line-height: 1.2;
}

/* Cas particulier : si un titre est le tout premier élément du main,
   on réduit sa marge haute pour éviter un décalage inutile */
main h1:first-child, 
main h2:first-child {
    margin-top: 0.5em;
}

/* Espacement standard pour les paragraphes (pour être sûr) */
main p {
    margin-top: 0;
    margin-bottom: 1em; /* C'est la fameuse ligne blanche entre paragraphes */
}


/* Vos Alert Boxes d'origine */
.alert {
    box-sizing: border-box;
    margin: 20px 0;
    padding: 15px 20px;
    border-left-width: 6px;
    border-left-style: solid;
    border-radius: 6px;
    font-size: 1em;
    line-height: 1.5;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}


main {
/*	background: green;*/
}

/* ==================================================
   2. HEADER HERO (Image de fond)
================================================== */




.hero {
width: 100%;
line-height: 0;
margin: 0;
padding: 0;
}
.hero {
box-shadow: 0 10px 15px -5px rgba(0,0,0,0.4);
position: relative;
z-index: 10;
}


.hero img {
width: 100%;
height: auto;
display: block;
}



/* ==================================================
   4. INTERFACE (Burgers, Sidebar, Thèmes)
================================================== */
#burger {
    position: fixed;
    top: 12px;
    right: 15px;
    font-size: 26px;
    cursor: pointer;
    z-index: 1001;
    color: white;
    background: rgba(255, 0, 128, 0.8);
    padding: 5px 12px;
    border-radius: 5px;
}

#themeToggle {
    position: fixed;
    bottom: 12px;
    right: 15px;
    cursor: pointer;
    font-size: 22px;
    z-index: 1002;
}


/* ==================================================
   RESTAURATION STRICTE DU STYLE SIDEBAR D'ORIGINE
================================================== */

#sidebar {
  position: fixed;
  top: 0;
  left: -304px;
  width: 304px;
  height: 100%;
  padding: 0.8rem;
  font-family: system-ui, sans-serif;
  overflow-x: hidden;
  padding-top: 2rem;
  transition: left 0.3s ease;
  z-index: 1000;
  overflow-y: auto;
  box-sizing: border-box;
  color: white;
  background-image: linear-gradient(135deg, #D65A5A, #C27BA0, #7D6B91);
  box-shadow: 10px 0 20px -5px rgba(0, 0, 0, 0.2);
}

#sidebar .sidebar-logo {
  display: block;
  width: 90%;
  height: auto;
  margin: 0 auto 1rem auto;  
  border: 1px solid white;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
}

#sidebar.open {
  left: 0;
}

#sidebar > h2 {
  margin: 0 0 1rem 0;
  font-size: 1.4rem;
  text-align: center;
  color: #FFF8E1;
  margin-bottom: 2rem;
  font-weight: 400;
}

#sidebar ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

#sidebar a {
  display: block;
  padding: 0.35rem 0.6rem;
  line-height: 1.35;
  text-decoration: none;
  white-space: normal;
  overflow-wrap: anywhere;
}

#sidebar a,
#sidebar summary {
  color: #ffffff;
  line-height: 0.8;  
}

#sidebar details {
  margin: 0.3rem 0;
}

#sidebar details > summary {
  padding: 0.4rem 0.6rem;
  font-size: 1.3rem;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}

#sidebar summary::-webkit-details-marker {
  display: none;
}

#sidebar details ul {
  padding-left: 1.0rem;
}

#sidebar a::first-letter,
#sidebar summary::first-letter {
  font-size: 1.4em;
  margin-right: 0.3rem;
}

#sidebar a:hover,
#sidebar summary:hover {
  background: rgba(0,0,0,0.08);
  border-radius: 3px;
}

#sidebar details {
  margin-top: 0.5rem;
  margin-bottom: 0.2rem;
}




/* ==================================================
   5. FOOTER & ALERTS
================================================= */
#pageFooter {
background:#c0d0e0;
padding:1rem;
text-align:center;
}

#pageFooter ul, #pageFooter ul ul, #pageFooter ul ul ul {
list-style:none;
line-height: 1.3;
}

#pageFooter a {
color: navy;
text-decoration:none;
font-size:1.2rem;
}

#pageFooter a:hover {
text-decoration:underline;
}

#pageFooter ul {
list-style:none;
font-size:1.2rem;
color: black;
}


#pageFooter .icon-row {
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
text-align: center;
}

#pageFooter .icon-block {
display: flex;
flex-direction: column;
align-items: center;
}

#pageFooter .icon {
font-size: 2rem;
text-decoration: none;
cursor: pointer;
}

#pageFooter .icon.red {
color: red;
}

#pageFooter .icon.black {
color: black;
}

#pageFooter .icon-text {
font-size: 1.2rem;
margin-top: 0.3rem;
}

.alert {
    margin: 20px 0;
    padding: 15px;
    border-left: 6px solid;
    border-radius: 6px;
    display: flex;
    gap: 10px;
}
.alert-info { background: #e7f3fe; border-left-color: #2196f3; color: #0b3d91; }
.alert-success { background: #e6f4ea; border-left-color: #4caf50; color: #2e6b2e; }

/* Thèmes dynamiques */
.theme1 { background:#f0f5f5; color:#2e5d7d; }
.theme2 { background:#f5f0f5; color:#7d2e5d; }
.theme3 { background:#f5f5f0; color:#5d7d2e; }
.theme4 { background:#eef5f5; color:#2e7d7d; }
.theme5 { background:#f5f2ee; color:#7d5d2e; }

.no-wrap {
    white-space: nowrap;        /* Empêche tout retour à la ligne automatique */
    overflow-wrap: normal;      /* Ne force pas le découpage de mots */
    word-break: normal;         /* Conserve les mots intacts */
    overflow-x: auto;           /* Permet le scroll horizontal si le texte dépasse */
}

.left {
  text-align: left;
}

.right {
  text-align: right;
}

.centered {
  text-align: center;
}

.colonnes2 {
  column-count: 2;
  column-gap: 40px;
  column-fill: balance;
 /* text-align: justify;*/
  text-align: center;
}

.image-centree {
    display: block;      /* nécessaire pour centrer avec margin auto */
    width: 96vw;         /* 90% de la largeur de l’écran */
    max-width: 96vw;     /* sécurité */
    height: auto;        /* conserve les proportions */
    margin: 0 auto;      /* centrage horizontal */
    box-shadow: none;
filter: none;
border: none;
}

</style>




</head>

<body>


<header class="hero">
<img src="/assets/images/header.webp" alt="Estagel Nouveau Souffle" width="100%" height="auto" fetchpriority="high">

</header>

<div id="burger" onclick="toggleMenu()">☰</div>




<div id="sidebar">
<img src="/assets/images/LogoCouleurENS2.webp" alt="Logo" class="sidebar-logo">
<h2>Estagel ancien Souffle</h2>
<ul>
  <li><a href="/accueil">🏠 <span>Accueil</span></a></li>
  <li><a href="/sommaire">📋 <span>Sommaire</span></a></li>
  <li><a href="/actualites">📄 <span>Actualites</span></a></li>
  <li><a href="/adresses-utiles">⚙️ <span>Adresses utiles</span></a></li>
  <li><a href="/associations">📝 <span>Associations</span></a></li>
  <li><a href="/calendrier-electoral">🖼️ <span>Calendrier electoral</span></a></li>
  <li><a href="/candidat">📜 <span>Candidat</span></a></li>
  <li><a href="/commentaires">📄 <span>Commentaires</span></a></li>
  <li><a href="/contact">📄 <span>Contact</span></a></li>
  <li><a href="/equipe">🖼️ <span>Equipe</span></a></li>
  <li><a href="/liste">📘 <span>Liste</span></a></li>
  <li><a href="/mentions-legales">📝 <span>Mentions legales</span></a></li>
  <li><a href="/participer">📄 <span>Participer</span></a></li>
  <li><a href="/presentation-du-site">📝 <span>Presentation du site</span></a></li>
  <li><a href="/programme">🖼️ <span>Programme</span></a></li>
  <li><a href="/questions-reponses">📖 <span>Questions reponses</span></a></li>
  <li><a href="/synchronisation">🖼️ <span>Synchronisation</span></a></li>
  <li>
<details>
<summary>📁 <span>Documents</span></summary>
<ul>
  <li><a href="/Documents/charte-graphique">📜 <span>Charte graphique</span></a></li>
  <li><a href="/Documents/compta-estagel-2525">📝 <span>Compta estagel 2525</span></a></li>
</ul>
</details>
</li>
  <li>
<details>
<summary>📁 <span>Programme</span></summary>
<ul>
  <li><a href="/Programme/programme">📘 <span>Programme</span></a></li>
  <li><a href="/Programme/programme-axe1">📝 <span>Programme axe1</span></a></li>
  <li><a href="/Programme/programme-axe4">📘 <span>Programme axe4</span></a></li>
  <li><a href="/Programme/programme-axe5">📜 <span>Programme axe5</span></a></li>
</ul>
</details>
</li>
</ul>

</div>

<div id="themeToggle" onclick="toggleTheme()">🌙</div>




<main>
<!-- Contenu principal de la page -->
<h1>📊 Analyse du fichier des électeurs d'Estagel</h1>
<h2>🧮 Répartition par tranches d'âge (2026)</h2>
<table>
<thead>
<tr>
<th>Tranche d'âge</th>
<th>Nombre</th>
</tr>
</thead>
<tbody>
<tr>
<td>10–20 ans</td>
<td>26</td>
</tr>
<tr>
<td>20–30 ans</td>
<td>237</td>
</tr>
<tr>
<td>30–40 ans</td>
<td>225</td>
</tr>
<tr>
<td>40–50 ans</td>
<td>247</td>
</tr>
<tr>
<td>50–60 ans</td>
<td>265</td>
</tr>
<tr>
<td>60–70 ans</td>
<td>283</td>
</tr>
<tr>
<td>70–80 ans</td>
<td>241</td>
</tr>
<tr>
<td>80–90 ans</td>
<td>147</td>
</tr>
<tr>
<td>90–100 ans</td>
<td>60</td>
</tr>
<tr>
<td>100+ ans</td>
<td>2</td>
</tr>
</tbody>
</table>
<p><strong>Total analysé : 1733 personnes</strong></p>
<hr >
<h2>📈 Analyse démographique d'Estagel</h2>
<p>Ces chiffres sont très parlants et dessinent un profil de commune assez typique des zones rurales ou semi-rurales d'Occitanie, mais avec quelques particularités notables. Voici mon analyse :</p>
<h3>1. Le "Creux" des 10-20 ans (26 personnes)</h3>
<p>C'est le chiffre le plus frappant. </p>
<ul>
<li><strong>L'explication technique :</strong> Comme il s'agit d'une <strong>liste électorale</strong>, ce chiffre est "faussé" car il ne compte que les jeunes de 18 et 19 ans (les seuls majeurs de la tranche). Les 10-17 ans ne figurent pas dans votre fichier.</li>
<li><strong>La réalité politique :</strong> Cela signifie que vous avez un très faible renouvellement immédiat de jeunes électeurs. Les "primo-votants" sont peu nombreux par rapport au reste de la population.</li>
</ul>
<h3>2. Une population active très stable (20-60 ans)</h3>
<p>On observe un plateau remarquable :</p>
<ul>
<li>Les tranches <strong>20-30</strong>, <strong>30-40</strong>, <strong>40-50</strong> et <strong>50-60</strong> ans sont presque à égalité (entre 225 et 265 personnes).</li>
<li>Cela indique une commune qui n'est pas une "ville dortoir" mais un lieu où les gens s'installent et restent durant toute leur vie active. Il y a une belle mixité entre jeunes actifs et actifs confirmés.</li>
</ul>
<h3>3. Le "Sommet" des 60-70 ans (283 personnes)</h3>
<p>C'est la tranche la plus représentée. </p>
<ul>
<li>Nous sommes en plein dans la génération du <strong>Baby-boom</strong>. </li>
<li>Ce groupe constitue le cœur de l'électorat à Estagel. Ce sont souvent des personnes très impliquées dans la vie associative et locale.</li>
</ul>
<h3>4. Une longévité remarquable (Plus de 70 ans)</h3>
<p>Le bloc des seniors est très solide :</p>
<ul>
<li><strong>450 personnes</strong> ont plus de 70 ans.</li>
<li>Le fait d'avoir <strong>60 personnes</strong> de plus de 90 ans et même <strong>2 centenaires</strong> montre que la qualité de vie ou l'encadrement des aînés est important à Estagel. </li>
<li>Sur un total d'environ 1700 personnes (selon vos chiffres), les plus de 60 ans représentent plus de <strong>40% de la liste</strong>.</li>
</ul>
<hr >
<h3>Résumé de la réflexion</h3>
<p>Votre liste montre une <strong>commune mature</strong>.<br >
L'équilibre entre les 20 et 60 ans est une force pour l'économie locale, mais le poids prédominant des plus de 60 ans suggère que les enjeux de santé, d'accessibilité et de services de proximité sont (ou seront) les thèmes prioritaires pour les habitants.</p>
</main>






<!-- Footer avec copyright et icône changement de thème -->

<footer id="pageFooter" style="">
    <div class="icon-row">
        <!-- Flèche retour -->
        <div class="icon-block">
<a href="#" id="backButton" class="icon red">⬅️</a>  
            <div class="icon-text">Retour</div>
        </div>
        <!-- Page d'accueil -->
        <div class="icon-block">
            <a href="/" class="icon black">🏠</a>
            <div class="icon-text">Accueil</div>
        </div>
        <!-- Changement de thème -->
        <div class="icon-block">
            <span id="themeIcon" class="icon">🎨</span>
            <div class="icon-text">Thèmes</div>
        </div>
    </div>

<!-- Ligne 2 et 3 : espacement -->
<div style="height:2rem;"></div>

<div class="colonnes2">
  <p>
    <ul>
  <li><a href="/accueil">🏠 <span>Accueil</span></a></li>
  <li><a href="/sommaire">📋 <span>Sommaire</span></a></li>
  <li><a href="/actualites">📄 <span>Actualites</span></a></li>
  <li><a href="/adresses-utiles">⚙️ <span>Adresses utiles</span></a></li>
  <li><a href="/associations">📝 <span>Associations</span></a></li>
  <li><a href="/calendrier-electoral">🖼️ <span>Calendrier electoral</span></a></li>
  <li><a href="/candidat">📜 <span>Candidat</span></a></li>
  <li><a href="/commentaires">📄 <span>Commentaires</span></a></li>
  <li><a href="/contact">📄 <span>Contact</span></a></li>
  <li><a href="/equipe">🖼️ <span>Equipe</span></a></li>
  <li><a href="/liste">📘 <span>Liste</span></a></li>
  <li><a href="/mentions-legales">📝 <span>Mentions legales</span></a></li>
  <li><a href="/participer">📄 <span>Participer</span></a></li>
  <li><a href="/presentation-du-site">📝 <span>Presentation du site</span></a></li>
  <li><a href="/programme">🖼️ <span>Programme</span></a></li>
  <li><a href="/questions-reponses">📖 <span>Questions reponses</span></a></li>
  <li><a href="/synchronisation">🖼️ <span>Synchronisation</span></a></li>
  <li>
<details>
<summary>📁 <span>Documents</span></summary>
<ul>
  <li><a href="/Documents/charte-graphique">📜 <span>Charte graphique</span></a></li>
  <li><a href="/Documents/compta-estagel-2525">📝 <span>Compta estagel 2525</span></a></li>
</ul>
</details>
</li>
  <li>
<details>
<summary>📁 <span>Programme</span></summary>
<ul>
  <li><a href="/Programme/programme">📘 <span>Programme</span></a></li>
  <li><a href="/Programme/programme-axe1">📝 <span>Programme axe1</span></a></li>
  <li><a href="/Programme/programme-axe4">📘 <span>Programme axe4</span></a></li>
  <li><a href="/Programme/programme-axe5">📜 <span>Programme axe5</span></a></li>
</ul>
</details>
</li>
</ul>

  </p>
</div>

<div style="height:2rem;"></div>

<a href="https://www.facebook.com/sharer/sharer.php?u=https://estagelnouveausouffle.fr/_Documents/demographie-estagel?update=1"
   target="_blank" rel="noopener noreferrer"
   style="display:inline-flex;
          align-items:center;
          gap:8px;
          padding:10px 15px;
          
          color:black;
          text-decoration:none;
          border-radius:5px;
          font-weight:bold;">
   <img src="https://upload.wikimedia.org/wikipedia/commons/0/05/Facebook_Logo_%282019%29.png" 
        alt="Facebook" width="36" height="36">
   Partager sur Facebook
</a>

<div style="height:1rem;"></div>

<img src="../assets/images/5logos.webp" alt="5logos" class="image-centree">



<!--
-->
	
<div style="height:1rem;"></div>

    <!-- Ligne 4 : copyright centré -->
    <div style="text-align:center; font-size:0.9rem; color:#555;">
        &copy; 2026 Estagel Nouveau Souffle
    </div>
  <div style="height:2rem;"></div>
</footer>






<script>

// ===== Éléments =====
var backBtn = document.getElementById('backButton');
var themeIcon = document.getElementById('themeIcon');
var themes = ['theme1', 'theme2', 'theme3', 'theme4', 'theme5'];

// ===== Gestion des thèmes =====
function loadTheme() {
    var currentTheme = parseInt(localStorage.getItem('themeIndex')) || 0;
    document.body.classList.add(themes[currentTheme]);
}

function changeTheme() {
    var currentTheme = parseInt(localStorage.getItem('themeIndex')) || 0;
    document.body.classList.remove(...themes); // Syntaxe moderne pour retirer toutes les classes
    currentTheme = (currentTheme + 1) % themes.length;
    document.body.classList.add(themes[currentTheme]);
    localStorage.setItem('themeIndex', currentTheme);
}

function setupTheme() {
    if (themeIcon) {
        themeIcon.addEventListener('click', function(e) {
            e.stopPropagation();
            changeTheme();
        });
    }
}

// ===== Bouton retour =====
function setupBackButton() {
    if (backBtn) {
        backBtn.addEventListener('click', function(e) {
            e.preventDefault();
            // Ferme le menu si ouvert avant de reculer
            var sidebar = document.getElementById('sidebar');
            if (sidebar && sidebar.classList.contains('open')) {
                sidebar.classList.remove('open');
            }
            // Retour page précédente avec un léger délai pour l'animation
            setTimeout(function() {
                if (window.history.length > 1) {
                    window.history.back();
                } else {
                    window.location.href = '/'; // Repli vers l'accueil si pas d'historique
                }
            }, 100);
        });
    }
}

// ===== Menu hamburger =====
function toggleMenu() {
    var sidebar = document.getElementById('sidebar');
    if (sidebar) {
        sidebar.classList.toggle('open');
    }
}

// ===== Fermeture du panneau latéral si clic en dehors =====
document.addEventListener('click', function(e) {
    var sidebar = document.getElementById('sidebar');
    var burger = document.getElementById('burger');
    if (sidebar && sidebar.classList.contains('open')) {
        if (e.target !== burger && !sidebar.contains(e.target)) {
            sidebar.classList.remove('open');
        }
    }
});



// ===== Disqus =====
   var disqus_config = function () {
    this.page.url = window.location.href;  // Replace PAGE_URL with your page's canonical URL variable
    this.page.identifier = "page-_Documents/demographie-estagel";; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
    };
    
    (function() { // DON'T EDIT BELOW THIS LINE
    var d = document, s = d.createElement('script');
    s.src = 'https://estagel-nouveau-souffle.disqus.com/embed.js';
    s.setAttribute('data-timestamp', +new Date());
    (d.head || d.body).appendChild(s);
    })();








// ===== Initialisation sécurisée =====
function init() {
    loadTheme();
    setupTheme();
    setupBackButton();
    // Les fonctions inexistantes ont été retirées pour éviter les erreurs
}

// Lancement au chargement du DOM
document.addEventListener('DOMContentLoaded', init);

</script>

<noscript>Veuillez activer JavaScript pour voir les commentaires.</noscript>




</body>
</html>

Variables globales :
$homeIcon = 🏠
$folderIcon = 📁
$site_name = Estagel  ancien Souffle ....
$default_page = accueil
$pages_dir = pages/
$siteName = Estagel ancien Souffle
$subSite = Élections municipales 2026
$title = Titre de la page par défaut
$SITE_URL = https://estagelnouveausouffle.fr
$DISQUS_SHORTNAME = estagel-nouveau-souffle
$copyright = 2026 Estagel Nouveau Souffle
$mentions-legales = Mentions légales
$date = 2020-12-25
$license = default
$hero = 
$hero_image = hero.jpg
$headerImage = /assets/images/header.webp
$comments = 
$disqus = 
$view_source = 1
$view_metadata = 1
$edition = 

Sections / tableaux :
$pages = Array
(
    [accueil] => Accueil
    [actualites] => Actualités
    [candidat] => Le candidat
    [equipe] => L’équipe
    [programme] => Programme
    [participer] => Participer
    [contact] => Contact
)

$metadata = Array
(
    [lang] => fr
    [title] => Estagel Nouveau Souffle - Élections municipales 2026
    [description] => Estagel Nouveau Souffle : Programme complet pour les élections municipales 2026. Instaurer une vraie démocratie locale, soutenir l’agriculture et la planification écologique, améliorer l’aménagement urbain et le cadre de vie, renforcer la solidarité et l’action sociale, défendre les services publics et la paix, encourager la culture, le sport et la vie associative, sécuriser le village et dynamiser les commerces.
    [keywords] => Estagel, élections municipales 2026, démocratie locale, référendum d’initiative citoyenne, transparence, communication publique, bulletin municipal, site internet, agriculture bio, AMAP, agriculture paysanne, récupération eaux usées, transports publics, gare multimodale, gestion écologique de l’eau, urbanisme, logements vacants, cadre de vie, rénovation mairie, promenade, végétation, jardins, toilettes publiques, solidarité, logement social, CCAS, services publics, paix, jumelage, culture, associations, sport, jeunesse, sécurité, prévention, citoyenneté, commerces, centre du village, taxe foncière, marché local, chèque solidarité
    [author] => Michel Garnier
    [viewport] => width=device-width, initial-scale=1.0
    [robots] => index, follow
)

$opengraph = Array
(
    [og:title] => Estagel Nouveau Souffle - Élections municipales 2026
    [og:description] => Programme municipal complet pour Estagel : démocratie, écologie, cadre de vie, solidarité, culture, sécurité et commerce local.
    [og:image] => https://estagelnouveausouffle.fr/assets/images/fbShare.jpg
    [og:url] => https://estagelnouveausouffle.fr
    [og:image:secure_url] => https://estagelnouveausouffle.fr/assets/images/fbShare.jpg
    [og:type] => website
    [og:image:width] => 1167
    [og:image:height] => 835
)

$twitter = Array
(
    [twitter:card] => summary_large_image
    [twitter:title] => Estagel Nouveau Souffle - Élections municipales 2026
    [twitter:description] => Programme municipal complet pour Estagel : démocratie, écologie, cadre de vie, solidarité, culture, sécurité et commerce local.
    [twitter:image] => https://estagelnouveausouffle.fr/assets/images/fbShare.jpg
)



Array
(
)