/* ══════════════════════════════════════════════════════════
ilx-marches — extension thématique pour l'article pilier
"Marchés de la province de Luxembourg"
══════════════════════════════════════════════════════════ */
/* Hero magazine */
.ilx-pp .marches-hero {
background: linear-gradient(135deg, #14532d 0%, #166534 45%, #f0a500 100%) !important;
color: #fff;
padding: 38px 36px;
border-radius: 16px;
margin: 0 0 1.8em;
box-shadow: 0 10px 30px rgba(20,83,45,0.18);
position: relative;
overflow: hidden;
}
.ilx-pp .marches-hero::after {
content: "";
position: absolute;
inset: 0;
background: radial-gradient(circle at 85% 20%, rgba(255,255,255,0.18), transparent 55%);
pointer-events: none;
}
.ilx-pp .marches-hero h1 { color: #fff !important; font-size: 1.9em !important; margin: 0 0 12px; line-height: 1.2 !important; font-weight: 800; }
.ilx-pp .marches-hero p { color: #f0fdf4 !important; font-size: 1.1em !important; margin: 0 0 18px; max-width: 720px; }
.ilx-pp .marches-hero .badges { display: flex; flex-wrap: wrap; gap: 10px; }
.ilx-pp .marches-hero .badge {
display: inline-flex;
align-items: center;
gap: 6px;
background: rgba(255,255,255,0.18);
backdrop-filter: blur(6px);
border: 1px solid rgba(255,255,255,0.25);
padding: 7px 14px;
border-radius: 20px;
font-size: 0.88em;
font-weight: 600;
}
/* ────── Carte interactive ────── */
.ilx-pp .ilx-marches-tool {
background: #fff;
border: 1px solid #e2e8f0;
border-radius: 16px;
padding: 24px;
margin: 2em 0;
box-shadow: 0 6px 20px rgba(15,23,42,0.06);
}
.ilx-pp .ilx-marches-tool h3 {
color: #14532d !important;
margin: 0 0 8px;
font-size: 1.25em !important;
border-bottom: none;
}
.ilx-pp .ilx-marches-tool .tool-sub {
color: #475569;
font-size: 0.95em !important;
margin: 0 0 18px !important;
}
/* Filtre par jour */
.ilx-pp .ilx-jours-filter {
display: flex;
flex-wrap: wrap;
gap: 8px;
margin: 0 0 18px;
}
.ilx-pp .ilx-jour-btn {
appearance: none;
border: 2px solid #e2e8f0;
background: #f8fafc;
color: #475569;
padding: 9px 16px;
border-radius: 10px;
font-size: 0.95em;
font-weight: 600;
cursor: pointer;
transition: all 0.18s ease;
font-family: inherit;
}
.ilx-pp .ilx-jour-btn:hover { border-color: #f0a500; color: #1a2744; transform: translateY(-1px); }
.ilx-pp .ilx-jour-btn.is-active {
background: linear-gradient(135deg, #14532d, #166534);
color: #fff !important;
border-color: #14532d;
box-shadow: 0 4px 12px rgba(20,83,45,0.25);
}
.ilx-pp .ilx-jour-btn .count {
display: inline-block;
background: rgba(255,255,255,0.25);
color: inherit;
margin-left: 6px;
padding: 1px 7px;
border-radius: 8px;
font-size: 0.78em;
}
.ilx-pp .ilx-jour-btn:not(.is-active) .count { background: #1a2744; color: #fff; }
/* Conteneur carte Leaflet */
.ilx-pp #ilx-marches-map {
width: 100%;
height: 520px;
border-radius: 12px;
border: 1px solid #cbd5e1;
margin: 0 0 18px;
background: #f1f5f9;
}
.ilx-pp #ilx-marches-map .leaflet-popup-content { font-family: 'Segoe UI', Calibri, Arial, sans-serif; font-size: 13.5px; line-height: 1.55; }
.ilx-pp #ilx-marches-map .leaflet-popup-content strong { color: #14532d; }
/* Légende */
.ilx-pp .ilx-map-legend {
display: flex;
flex-wrap: wrap;
gap: 14px;
padding: 12px 16px;
background: #f8fafc;
border: 1px solid #e2e8f0;
border-radius: 10px;
font-size: 0.88em;
color: #475569;
}
.ilx-pp .ilx-map-legend .legend-dot {
display: inline-block;
width: 14px;
height: 14px;
border-radius: 50%;
margin-right: 6px;
vertical-align: middle;
border: 2px solid #fff;
box-shadow: 0 0 0 1px rgba(0,0,0,0.15);
}
/* Liste filtrée des marchés du jour */
.ilx-pp .ilx-marches-results {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
gap: 14px;
margin: 18px 0 0;
min-height: 60px;
}
.ilx-pp .ilx-marche-card {
background: #f8fafc;
border: 1px solid #e2e8f0;
border-left: 4px solid #14532d;
border-radius: 10px;
padding: 14px 16px;
transition: transform 0.18s, box-shadow 0.18s;
}
.ilx-pp .ilx-marche-card:hover { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(20,83,45,0.10); }
.ilx-pp .ilx-marche-card .nom { font-weight: 700; color: #1a2744; font-size: 1.05em; margin: 0 0 4px; }
.ilx-pp .ilx-marche-card .lieu { font-size: 0.88em; color: #475569; margin: 0 0 6px; }
.ilx-pp .ilx-marche-card .horaire { font-size: 0.95em; color: #14532d; font-weight: 600; }
.ilx-pp .ilx-marche-card .type-pill {
display: inline-block;
font-size: 0.72em;
font-weight: 700;
padding: 2px 9px;
border-radius: 12px;
margin-top: 6px;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.ilx-pp .ilx-marche-card .type-hebdo { background: #14532d; color: #fff; }
.ilx-pp .ilx-marche-card .type-mensuel { background: #f0a500; color: #1a2744; }
.ilx-pp .ilx-marche-card .type-terroir { background: #8b5cf6; color: #fff; }
.ilx-pp .ilx-marche-card .type-saisonnier { background: #3b82f6; color: #fff; }
.ilx-pp .ilx-marche-card .type-annuel { background: #ef4444; color: #fff; }
.ilx-pp .ilx-marches-empty { grid-column: 1 / -1; text-align: center; color: #64748b; padding: 30px; font-style: italic; background: #f8fafc; border-radius: 10px; }
/* ────── Cards "marchés vedettes" (descriptions longues) ────── */
.ilx-pp .marche-vedette {
background: linear-gradient(135deg, #fff 0%, #f0fdf4 100%);
border: 1px solid #bbf7d0;
border-left: 6px solid #14532d;
border-radius: 14px;
padding: 26px 30px;
margin: 1.6em 0;
box-shadow: 0 4px 16px rgba(20,83,45,0.08);
}
.ilx-pp .marche-vedette .vedette-head {
display: flex;
align-items: center;
gap: 14px;
flex-wrap: wrap;
margin-bottom: 12px;
}
.ilx-pp .marche-vedette h3 {
color: #14532d !important;
margin: 0 !important;
font-size: 1.35em !important;
flex: 1;
}
.ilx-pp .marche-vedette .vedette-pill {
display: inline-block;
background: #14532d;
color: #fff;
font-size: 0.75em;
font-weight: 700;
padding: 4px 12px;
border-radius: 12px;
text-transform: uppercase;
letter-spacing: 0.5px;
}
.ilx-pp .marche-vedette .vedette-meta {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
gap: 10px;
margin: 14px 0;
padding: 12px;
background: #fff;
border-radius: 10px;
border: 1px solid #d1fae5;
}
.ilx-pp .marche-vedette .vm-item { font-size: 0.92em; }
.ilx-pp .marche-vedette .vm-item .vm-label { display: block; font-size: 0.78em; text-transform: uppercase; letter-spacing: 0.6px; color: #14532d; font-weight: 700; margin-bottom: 2px; }
.ilx-pp .marche-vedette .vm-item .vm-value { color: #1a2744; font-weight: 600; }
/* Verifier-commune (badge téléphone) */
.ilx-pp .verifier-commune {
display: inline-block;
background: #fef3c7;
color: #92400e;
border: 1px dashed #f59e0b;
padding: 4px 10px;
border-radius: 8px;
font-size: 0.85em;
font-weight: 600;
margin-left: 6px;
}
.ilx-pp .verifier-commune a { color: #92400e !important; text-decoration: none !important; }
.ilx-pp .verifier-commune a:hover { text-decoration: underline !important; }
/* Sous-régions : couleurs distinctives */
.ilx-pp .sousregion-arlon h2 { border-bottom-color: #f0a500 !important; }
.ilx-pp .sousregion-gaume h2 { border-bottom-color: #16a34a !important; }
.ilx-pp .sousregion-centre h2 { border-bottom-color: #8b5cf6 !important; }
.ilx-pp .sousregion-famenne h2 { border-bottom-color: #3b82f6 !important; }
.ilx-pp .sousregion-haute h2 { border-bottom-color: #ef4444 !important; }
.ilx-pp .sousregion-tag {
display: inline-block;
font-size: 0.78em;
font-weight: 700;
padding: 4px 12px;
border-radius: 12px;
margin-bottom: 10px;
text-transform: uppercase;
letter-spacing: 0.6px;
}
.ilx-pp .sousregion-arlon .sousregion-tag { background: #f0a500; color: #1a2744; }
.ilx-pp .sousregion-gaume .sousregion-tag { background: #16a34a; color: #fff; }
.ilx-pp .sousregion-centre .sousregion-tag { background: #8b5cf6; color: #fff; }
.ilx-pp .sousregion-famenne .sousregion-tag { background: #3b82f6; color: #fff; }
.ilx-pp .sousregion-haute .sousregion-tag { background: #ef4444; color: #fff; }
/* Tableau marchés : version optimisée */
.ilx-pp .table-marches td.col-jour { font-weight: 700; color: #14532d; white-space: nowrap; }
.ilx-pp .table-marches td.col-type { font-size: 0.88em; }
.ilx-pp .table-marches .pill {
display: inline-block;
font-size: 0.72em;
font-weight: 700;
padding: 2px 8px;
border-radius: 10px;
text-transform: uppercase;
letter-spacing: 0.4px;
}
.ilx-pp .table-marches .pill-hebdo { background: #14532d; color: #fff; }
.ilx-pp .table-marches .pill-mensuel { background: #f0a500; color: #1a2744; }
.ilx-pp .table-marches .pill-terroir { background: #8b5cf6; color: #fff; }
.ilx-pp .table-marches .pill-saisonnier { background: #3b82f6; color: #fff; }
.ilx-pp .table-marches .pill-annuel { background: #ef4444; color: #fff; }
/* Stats hero (chiffres clés en haut) */
.ilx-pp .stats-marches {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
gap: 14px;
margin: 1.5em 0;
}
.ilx-pp .stat-card {
background: #fff;
border: 1px solid #e2e8f0;
border-radius: 12px;
padding: 18px;
text-align: center;
box-shadow: 0 2px 8px rgba(15,23,42,0.05);
}
.ilx-pp .stat-card .stat-num { font-size: 2em; font-weight: 800; color: #14532d; line-height: 1; margin-bottom: 4px; }
.ilx-pp .stat-card .stat-label { font-size: 0.88em; color: #475569; text-transform: uppercase; letter-spacing: 0.5px; }
/* Sommaire ancres */
.ilx-pp .sommaire-marches {
background: #f0fdf4;
border: 1px solid #bbf7d0;
border-radius: 12px;
padding: 20px 24px;
margin: 1.8em 0;
}
.ilx-pp .sommaire-marches h3 { color: #14532d !important; margin: 0 0 12px !important; font-size: 1.1em !important; border-bottom: none; }
.ilx-pp .sommaire-marches ul { columns: 2; column-gap: 30px; padding-left: 1.2em; margin: 0; }
.ilx-pp .sommaire-marches li { margin-bottom: 6px; break-inside: avoid; font-size: 0.95em; }
.ilx-pp .sommaire-marches li a { color: #14532d; text-decoration: none; font-weight: 600; }
.ilx-pp .sommaire-marches li a:hover { color: #f0a500; text-decoration: underline; }
/* Responsive */
@media (max-width: 768px) {
.ilx-pp .marches-hero { padding: 24px 22px; }
.ilx-pp .marches-hero h1 { font-size: 1.5em !important; }
.ilx-pp #ilx-marches-map { height: 400px; }
.ilx-pp .ilx-jour-btn { padding: 7px 12px; font-size: 0.88em; }
.ilx-pp .marche-vedette { padding: 20px 18px; }
.ilx-pp .sommaire-marches ul { columns: 1; }
.ilx-pp .table-marches { font-size: 0.78em; }
.ilx-pp .table-marches th, .ilx-pp .table-marches td { padding: 8px 10px; }
}
<!-- ============================================================
SNIPPET WPCODE - Carte interactive marches Province Luxembourg
Type : HTML Snippet
Emplacement : everywhere (footer-like via WPCode v2.x)
Nom : "JS Marches Luxembourg Leaflet"
============================================================
- Leaflet est DEJA charge par le plugin Directories Pro sur info-lux.com
(URL : /wp-content/plugins/directories-pro/assets/vendor/js/leaflet.min.js)
- On retire le + qui etaient strippes par WP Rocket
- On retry tant que `L` ou `#ilx-marches-map` ne sont pas dispo
============================================================ -->
(function () {
var attempts = 0;
var MAX_ATTEMPTS = 60; // 60 * 250ms = 15s max
function init() {
attempts++;
var mapEl = document.getElementById('ilx-marches-map');
// La div carte n'est pas dans le DOM (autre page) -> stop
if (!mapEl && attempts > 4) return;
// Pas encore charge OU Leaflet pas encore disponible
if (!mapEl || typeof L === 'undefined') {
if (attempts < MAX_ATTEMPTS) setTimeout(init, 250);
return;
}
// Eviter double init si le script est inclus deux fois
if (mapEl._ilxInited) return;
mapEl._ilxInited = true;
// ────────────────────────────────────────────────
// Donnees marches (source unique pour la carte + le filtre)
// ────────────────────────────────────────────────
var MARCHES = [
// PAYS D'ARLON
{ nom: "Arlon - centre-ville", commune: "Arlon", lieu: "Place Léopold, Marché-aux-Légumes", lat: 49.6837, lng: 5.8163, jours: ["jeudi"], horaire: "Dès 8h", type: "hebdo", freq: "Tous les jeudis matin" },
{ nom: "Brocante du Vieil Arlon", commune: "Arlon", lieu: "Centre historique", lat: 49.6843, lng: 5.8175, jours: ["dimanche"], horaire: "8h-16h", type: "mensuel", freq: "1er dimanche du mois" },
{ nom: "Aubange - Athus", commune: "Aubange", lieu: "Rue des Jardins / rue du Commerce", lat: 49.5594, lng: 5.8336, jours: ["vendredi"], horaire: "6h-13h30", type: "hebdo", freq: "Tous les vendredis" },
{ nom: "Aubange - Halanzy", commune: "Aubange", lieu: "Place Communale, Halanzy", lat: 49.5556, lng: 5.7861, jours: ["samedi"], horaire: "7h30-13h", type: "hebdo", freq: "Tous les samedis" },
{ nom: "Habay-la-Neuve", commune: "Habay", lieu: "Place Pierre Nothomb", lat: 49.7236, lng: 5.6406, jours: ["mercredi"], horaire: "7h-13h", type: "hebdo", freq: "Tous les mercredis" },
{ nom: "Saveurs Locales (Habay)", commune: "Habay", lieu: "Place Pierre Nothomb / Espace Bologne", lat: 49.7236, lng: 5.6411, jours: ["samedi"], horaire: "9h-12h", type: "terroir", freq: "Tous les samedis" },
{ nom: "Marbehan", commune: "Habay", lieu: "Grand Rue, 6724 Marbehan", lat: 49.7019, lng: 5.5586, jours: ["mardi"], horaire: "Matin", type: "hebdo", freq: "Tous les mardis matin" },
// GAUME
{ nom: "Virton", commune: "Virton", lieu: "Place Nestor Outer", lat: 49.5681, lng: 5.5311, jours: ["vendredi"], horaire: "8h-12h", type: "hebdo", freq: "Tous les vendredis" },
{ nom: "Étalle", commune: "Étalle", lieu: "Rue Saint-Antoine", lat: 49.6739, lng: 5.6014, jours: ["samedi"], horaire: "7h-13h", type: "saisonnier", freq: "Samedis (saison)" },
{ nom: "Florenville (mensuel)", commune: "Florenville", lieu: "Place Albert 1er & Place des Trois Suzanne", lat: 49.6987, lng: 5.3072, jours: ["mercredi"], horaire: "Matin", type: "mensuel", freq: "1er mercredi du mois" },
{ nom: "Florenville (été)", commune: "Florenville", lieu: "Place Albert 1er", lat: 49.6989, lng: 5.3074, jours: ["mercredi"], horaire: "9h-18h", type: "saisonnier", freq: "Mercredis juillet-août" },
{ nom: "Chassepierre", commune: "Florenville", lieu: "Centre village, rue Antoine", lat: 49.7058, lng: 5.2675, jours: ["dimanche"], horaire: "8h-12h", type: "terroir", freq: "Tous les dimanches" },
{ nom: "Jamoigne", commune: "Chiny", lieu: "Place de Jamoigne", lat: 49.7219, lng: 5.3408, jours: ["mardi"], horaire: "15h-18h30", type: "saisonnier", freq: "Mardis (saison)" },
{ nom: "Halle de Han", commune: "Tintigny", lieu: "Halle de Han, Han 36, 6730 Tintigny", lat: 49.6917, lng: 5.5172, jours: ["vendredi"], horaire: "17h-20h", type: "terroir", freq: "Tous les vendredis" },
// CENTRE-ARDENNE
{ nom: "Bastogne - Foire aux camelots", commune: "Bastogne", lieu: "Rue des Récollets", lat: 50.0007, lng: 5.7167, jours: ["samedi"], horaire: "7h-13h", type: "hebdo", freq: "Samedi sur deux" },
{ nom: "Bertrix", commune: "Bertrix", lieu: "Pl. des Trois Fers / Pl. de la Gare", lat: 49.8517, lng: 5.2569, jours: ["jeudi"], horaire: "8h-13h", type: "hebdo", freq: "Tous les jeudis" },
{ nom: "Bertogne", commune: "Bertogne", lieu: "Place du Commerce", lat: 50.0167, lng: 5.6500, jours: ["mardi"], horaire: "14h-17h30", type: "saisonnier", freq: "Mardis (avril-octobre)" },
{ nom: "Marché des 3 communes (Tenneville)", commune: "Tenneville", lieu: "Salle Le Foyer, sous l'église", lat: 50.1000, lng: 5.5333, jours: ["vendredi"], horaire: "17h-20h", type: "terroir", freq: "1er vendredi (sf jan/jui/août)" },
{ nom: "Saint-Hubert", commune: "Saint-Hubert", lieu: "Place de l'Abbaye", lat: 50.0269, lng: 5.3717, jours: ["samedi"], horaire: "Matin", type: "mensuel", freq: "1er samedi du mois (à confirmer)" },
{ nom: "Marché du Terroir Libramont", commune: "Libramont", lieu: "Place Communale", lat: 49.9203, lng: 5.3756, jours: ["vendredi"], horaire: "16h-20h", type: "terroir", freq: "2e & 4e vendredis (mars-oct)" },
{ nom: "Marché du Terroir Neufchâteau", commune: "Neufchâteau", lieu: "Espace 29", lat: 49.8408, lng: 5.4358, jours: ["samedi"], horaire: "15h-19h", type: "terroir", freq: "Samedis (saisonnier)" },
{ nom: "Marché du Terroir de Léglise", commune: "Léglise", lieu: "Place du Marché", lat: 49.8053, lng: 5.5364, jours: ["samedi"], horaire: "15h-19h (bar 20h)", type: "terroir", freq: "1er samedi (avril-octobre)" },
{ nom: "Petits Marchés de Redu", commune: "Libin", lieu: "Place de l'Esro, Village du Livre", lat: 50.0064, lng: 5.1614, jours: ["samedi"], horaire: "13h30-18h30", type: "terroir", freq: "1er samedi (avril-octobre)" },
{ nom: "Marché des Bastions de Bouillon", commune: "Bouillon", lieu: "Boulevard Heynens", lat: 49.7942, lng: 5.0681, jours: ["dimanche"], horaire: "8h-13h", type: "saisonnier", freq: "Dimanches (29 mars - 25 oct)" },
// FAMENNE-ARDENNE
{ nom: "Marche-en-Famenne", commune: "Marche-en-Famenne", lieu: "Place aux Foires + Bd du Midi", lat: 50.2289, lng: 5.3431, jours: ["lundi"], horaire: "Matin", type: "mensuel", freq: "1er & 3e lundis du mois" },
{ nom: "Marché gourmand de Marche", commune: "Marche-en-Famenne", lieu: "Place du Roi Albert", lat: 50.2278, lng: 5.3422, jours: ["vendredi"], horaire: "15h-20h", type: "terroir", freq: "2e vendredi (juin-octobre)" },
{ nom: "Marché 1900", commune: "Marche-en-Famenne", lieu: "Centre-ville", lat: 50.2289, lng: 5.3439, jours: ["jeudi","vendredi","samedi","dimanche","lundi","mardi","mercredi"], horaire: "Toute la journée", type: "annuel", freq: "15 août (annuel)" },
{ nom: "Hotton", commune: "Hotton", lieu: "Rue Haute", lat: 50.2658, lng: 5.4467, jours: ["samedi"], horaire: "7h-13h", type: "hebdo", freq: "Samedi sur deux" },
{ nom: "Barvaux-sur-Ourthe", commune: "Durbuy", lieu: "Place du Marché, Barvaux", lat: 50.3458, lng: 5.5083, jours: ["mercredi"], horaire: "Matin", type: "hebdo", freq: "Tous les mercredis" },
{ nom: "Petite Batte de Bomal", commune: "Durbuy", lieu: "Bomal-sur-Ourthe", lat: 50.3800, lng: 5.5478, jours: ["dimanche"], horaire: "Matin", type: "hebdo", freq: "Tous les dimanches" },
{ nom: "March'Heyd", commune: "Durbuy", lieu: "Rowe di Veule 7, Heyd", lat: 50.3553, lng: 5.5739, jours: ["vendredi"], horaire: "15h30-18h", type: "terroir", freq: "Vendredis (mai-décembre)" },
{ nom: "Mini Marché de Jenneret", commune: "Durbuy", lieu: "Jenneret", lat: 50.3742, lng: 5.4906, jours: ["jeudi"], horaire: "Dès 17h", type: "saisonnier", freq: "Jeudis (belle saison)" },
{ nom: "Marché de Rendeux", commune: "Rendeux", lieu: "Salle Schérès, Rendeux-Haut", lat: 50.2403, lng: 5.5472, jours: ["jeudi"], horaire: "15h30-18h30", type: "terroir", freq: "Jeudis (mi-mars à novembre)" },
{ nom: "Forrières (Nassogne)", commune: "Nassogne", lieu: "Forrières", lat: 50.1264, lng: 5.2842, jours: ["samedi"], horaire: "Matin", type: "mensuel", freq: "2e & 4e samedis du mois" },
// HAUTE-ARDENNE
{ nom: "Petit Marché de Vielsalm", commune: "Vielsalm", lieu: "Place Bruyères-en-Vosges", lat: 50.2806, lng: 5.9117, jours: ["mardi"], horaire: "16h-18h30", type: "terroir", freq: "Tous les mardis" },
{ nom: "Saveurs d'Ardenne (Farnières)", commune: "Vielsalm", lieu: "Domaine de Farnières, Grand-Halleux", lat: 50.3206, lng: 5.9603, jours: ["mardi"], horaire: "17h-21h", type: "saisonnier", freq: "Mardis (27 juin - 29 août)" },
{ nom: "Houffalize", commune: "Houffalize", lieu: "Place Janvier 45", lat: 50.1300, lng: 5.7900, jours: ["samedi"], horaire: "7h30-13h30", type: "hebdo", freq: "Samedi sur deux" },
{ nom: "Marché du Terroir Houffalize", commune: "Houffalize", lieu: "Place Janvier 45", lat: 50.1303, lng: 5.7906, jours: ["jeudi"], horaire: "17h-20h", type: "saisonnier", freq: "Certains jeudis (juin-sept)" },
{ nom: "Gouvy", commune: "Gouvy", lieu: "Centre Gouvy", lat: 50.1903, lng: 5.9519, jours: ["jeudi"], horaire: "7h30-12h", type: "hebdo", freq: "Jeudi sur deux" }
];
var COULEURS_JOUR = {
lundi: '#ef4444', mardi: '#f0a500', mercredi: '#16a34a',
jeudi: '#3b82f6', vendredi: '#8b5cf6', samedi: '#14532d', dimanche: '#ec4899'
};
// ────────────────────────────────────────────────
// Init carte (centree sur la province)
// ────────────────────────────────────────────────
var map = L.map('ilx-marches-map', {
center: [49.95, 5.55],
zoom: 9,
scrollWheelZoom: false
});
map.on('click', function () { map.scrollWheelZoom.enable(); });
map.on('mouseout', function () { map.scrollWheelZoom.disable(); });
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
maxZoom: 18,
attribution: '© OpenStreetMap '
}).addTo(map);
function makeIcon(color) {
return L.divIcon({
className: 'ilx-marker',
html: '
',
iconSize: [22, 22], iconAnchor: [11, 22], popupAnchor: [0, -22]
});
}
var markers = [];
MARCHES.forEach(function (m) {
var jourPrincipal = m.jours[0];
var couleur = COULEURS_JOUR[jourPrincipal] || '#64748b';
var marker = L.marker([m.lat, m.lng], { icon: makeIcon(couleur) }).addTo(map);
var popupHtml =
'' +
'' + m.nom + ' ' +
'' + m.lieu + ' ' +
'' + m.freq + ' ' +
'' + m.horaire + ' ' +
'
';
marker.bindPopup(popupHtml);
marker._ilx = m;
markers.push(marker);
});
// Forcer un invalidate apres init pour eviter carte grise
setTimeout(function () { map.invalidateSize(); }, 200);
// ────────────────────────────────────────────────
// Filtre par jour
// ────────────────────────────────────────────────
var btns = document.querySelectorAll('.ilx-jour-btn');
var resultsContainer = document.getElementById('ilx-marches-results');
function renderResults(filtered) {
if (!resultsContainer) return;
if (filtered.length === 0) {
resultsContainer.innerHTML = 'Aucun marché ce jour-là dans la province. Essayez un autre jour.
';
return;
}
resultsContainer.innerHTML = filtered.map(function (m) {
return '' +
'' +
'
' + m.nom + '
' +
'
' + m.lieu + '
' +
'
' + m.freq + ' · ' + m.horaire + '
' +
'
' + m.type + ' ' +
'
';
}).join('');
}
function applyFilter(jour) {
var visible = [];
markers.forEach(function (mk) {
var m = mk._ilx;
var ok = (jour === 'tous') || (m.jours.indexOf(jour) !== -1);
if (ok) { mk.addTo(map); visible.push(m); }
else { map.removeLayer(mk); }
});
renderResults(visible);
}
btns.forEach(function (b) {
b.addEventListener('click', function () {
btns.forEach(function (x) { x.classList.remove('is-active'); });
b.classList.add('is-active');
applyFilter(b.getAttribute('data-jour'));
});
});
applyFilter('tous');
var compteurs = { lundi:0, mardi:0, mercredi:0, jeudi:0, vendredi:0, samedi:0, dimanche:0, tous: MARCHES.length };
MARCHES.forEach(function (m) {
m.jours.forEach(function (j) {
if (compteurs.hasOwnProperty(j)) compteurs[j]++;
});
});
btns.forEach(function (b) {
var j = b.getAttribute('data-jour');
var c = compteurs[j];
var span = b.querySelector('.count');
if (span && typeof c !== 'undefined') span.textContent = c;
});
}
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', init);
} else {
init();
}
})();
Fête de la Musique de Durbuy 2023 au Parc Juliénas
Fête de la Musique de Durbuy 2023 au Parc Juliénas: Un Festival Inoubliable Du 21 au 24 juin 2023, la Fête de la Musique de Durbuy s’est révélée être un événement mémorable pour les amateurs de musique de tous horizons. Organisée dans la plus petite ville du monde, Durbuy, la Fête de la Musique a su devenir un rendez-vous incontournable pour tous les passionnés de musique
Cette année, le cadre pittoresque et verdoyant du Parc Juliénas a accueilli ce festival qui a duré qu trois jours, en faisant un événement hors du commun.
L’une des principales caractéristiques de la Fête de la Musique cette année a été sa diversité et son inclusivité. Le festival a mis en avant des talents de tous genres, de la pop au rock,du métal du jazz à l’électro, offrant ainsi à tous quelque chose à apprécier. Le coup d’envoi a été donné par une performance émouvante d’un artiste local, qui a enchanté la foule avec sa voix captivante et ses mélodies entraînantes.
Les participants ont été activement encouragés à s’impliquer, avec des ateliers de musique, des séances de jam et des performances improvisées, qui ont permis à chacun de se sentir partie intégrante de l’énergie de la Fête de la Musique.
La combinaison de cette participation active et du cadre naturel du Parc Juliénas a créé une ambiance exceptionnelle qui a marqué les esprits de tous les participants. Un des moments forts du festival a été les concerts en plein air où des musiciens locaux et internationaux ont joué sous un ciel étoilé.
Durbuy > Fêtes de la Musique > Photos
Cette soirée magique a permis à la musique de se mélanger aux sons de la nature, créant une expérience immersive qui a touché le cœur de tous ceux qui étaient présents.
Durbuy > Fêtes de la Musique > Photos
Côté logistique, l’organisation du festival a été impeccable, avec des installations sanitaires bien entretenues. Les nombreux bénévoles qui ont contribué à la réussite de l’événement ont veillé à ce que chaque participant puisse profiter de la musique en toute sécurité et confort.
Durbuy > Fêtes de la Musique > Photos
Durbuy > Fêtes de la Musique > Photos
En plus de la musique, le festival a proposé une variété d’activités pour tous les âges des boissons locales dans les nombreux stands disposés dans le parc. La Fête de la Musique de Durbuy 2023 a démontré une fois de plus que la musique a le pouvoir de rassembler les gens.
Barvaux, Parc julienas les artistes >>
Jenlisisters (Concert Jeune public en intérieur) Second Souffle (World- jazz) DJ Set de la MJ de Durbuy (électro) Y.P.K. (Rap) One Hour (Metal) Aktarum (folk Metal) Calumny (életro)
Durbuy > Fêtes de la Musique > Photos
Elle a célébré la diversité musicale et la communauté, offrant une expérience qui restera gravée dans le cœur de tous les participants. Alors que les dernières notes de la Fête de la Musique de Durbuy 2023 résonnait dans le Parc Juliénas, il était clair que cette édition du festival serait mémorable.
Durbuy > Fêtes de la Musique > Photos
Durbuy > Fêtes de la Musique > Photos
Photos de Paty Evrard
Durbuy > Fêtes de la Musique > Photos
PARIS > FESTIVAL > WE LOVE GREEN > PROGRAMMATION COMPLETE We Love Green 2026 : le festival éco-responsable le plus ambitieux de France dévoile une édition mystique et majoritairement féminine
Libin > Festival > Less’tival 2026 À Libin, le festival Less’tival 2026 transforme le village de Lesse en auberge culturelle vivante au cœur de l’été ardennais
Berck > Festival > Cerfs-volants > Photos À Berck-sur-Mer, le festival des cerfs-volants illumine le ciel printanier
Bruxelles > Festival > FrancoFaune 2026 Dans la capitale belge, le festival FrancoFaune 2026 s’annonce comme un rendez-vous musical engagé, audacieux et profondément humain.
Tilloloy > Festival > Rétro C Trop 2026 À Tilloloy, le festival Rétro C Trop célèbre son édition anniversaire avec une programmation rock généreuse et une ambiance hors du temps
Bruxelles > Festival > Cinema > BIFFF > Photos Le BIFFF à Bruxelles : plongée au cœur du festival le plus déjanté du cinéma fantastique
Yutz > Festival du Soleil 2026 > Photos Les 20 et 21 mars 2026, la Salle Bestien de Yutz s’est transformée en véritable cocon lumineux au cœur de l’hiver.
Bruxelles > Festival > Les Nuits Botanique 2026 Les Nuits Botanique 2026 à Bruxelles : une plongée exceptionnelle dans la scène musicale actuelle
Bruxelles > Festival > Rave Rebels 2026 > Photos Bruxelles accueille le festival Rave Rebels 2026 dans une ambiance électrique et déjà inoubliable
Villers-la-Ville > Nuit des Chœurs 2026 Dans les ruines de Villers-la-Ville, la Nuit des Chœurs 2026 promet une expérience immersive unique mêlant patrimoine et musique vivante.
BRUXELLES > FESTIVAL > FCKNYE > 2026 FCKNYE. Un festival devenu un rendez vous majeur pour célébrer la nouvelle année à Bruxelles.
Esch-sur-Alzette > Festival > Francofolies 2026 > Programmation À Esch-sur-Alzette, le festival Francofolies 2026 dévoile enfin sa programmation complète et fait déjà vibrer toute la région
Article structuré et optimisé SEO avec l’aide d’un outil d’intelligence artificielle, sous supervision éditoriale.
Les infos de votre Région Gratuite
Souhaitez-vous recevoir des notifications sur les dernières mises à jour ?
Non
oui
0 Comments