/* ══════════════════════════════════════════════════════════ 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(); } })();
Accueil » ACTUALITES » Brussels > Made In Asia > Photos

La date était cochée depuis bien longtemps dans l’agenda pour les geeks et autres amateurs de pop culture de Belgique. Car oui, en effet, ce début du mois de mars et son premier week-end rimait avec le retour du salon Heroes Made In Asia pour son édition hivernale de 2024. 3 jours attendu avec impatiente par les festivaliers désireux de fouler à nouveau les allées du palais 5 du Brussels Expo car oui le Festival se tenait du vendredi 1er mars au Dimanche 3 Mars. 

Pour cette nouvelle édition, comme à son habitude, la Made In Asia n’avait pas investi que le Palais 5. 4 autres halls et la totalité du patio avaient été réquisitionnés pour l’occasion, témoignant de la taille du festival qui continue de croitre d’années en années. 

Brussels > Made In Asia > Photos
Brussels > Made In Asia > Photos

Le gigantesque Palais 5 a vu ses allées être envahies par des vendeurs de goodies en lien avec la culture Geek. Vous vouliez acheter des peluches, des jeux vidéos, des accessoires de cosplay, des posters sur Mercredi ou l’attaque des Titans, c’était l’endroit où il fallait être. C’est aussi dans ce hall que les festivaliers se sont amassés en nombre pour les plus courageux afin d’être les premiers à pouvoir se rendre dans les allées du festival, admirant d’abord un formidable spectacle de danse incarné par des danseurs bien connus de la MIA qui avait revêtu un costume de dragon oriental pour aider les visiteurs à patienter jusqu’au décompte de l’ouverture. A la fin du décompte, il y a toujours ce moment particulier où une fois libre, les visiteurs se mettent à courir dans l’allée centrale, en souvenir de ces années où les festivaliers, désireux de rencontrer les invités de leur choix, couraient de l’entrée jusqu’aux files de dédicace. Aujourd’hui, avec les entrées Fast Pass et VIP, cette méthode est devenue totalement inefficace mais les visiteurs courent encore par jeu et/ou nostaglie. 

Brussels > Made In Asia > Photos
Brussels > Made In Asia > Photos

Parlant des invités, la Made In Asia avait encore bien garni son line up pour cette édition 2024. Avaient été invité Tetsuro Haraki (Réalisateur sur les 3 premières saisons de l’animé de Shingeki No Kyojin, plus connu chez sous le nom de l’Attaque des Titans), Brigitte Lecordier, légendaire comédienne de doublage qui a prêté sa voix à Oui-oui, Songoku dans DragonBall et à tant d’autres personnages qui ont traversé les générations. Cab, scénariste du manga Oneira ou encore Yoann Vornière, auteur du manga Silence. La Made in Asia, c’est aussi le rdv des youtubeurs et étaient présents pour l’occasion Guss DX, Charline Cherry’s, JeanFils, Tokyo No Jo, Zoey Vidéos, Blandine ou encore A regarder après minuit. Présent pour les fans bien décidés à les rencontrer lors de ce salon. Les invités Cosplay n’étaient pas en reste non plus car le salon avait invité la talentueuse cosplayeuse polonaise Shappi Cosplay ainsi que les françaises qu’on ne présente plus NadCosplay et Nikita Cosplay. 

Cette transition nous permet de passer à l’autre point important du festival qui est le cosplay. Après un crochet par le patio lors de l’édition de Septembre 2023, le Village Cosplay était de retour dans son traditionnel hall donnant comme chaque année l’opportunité aux cosplayeurs présents de montrer leurs cosplay et de se montrer sur scène lors des traditionnels catwalk qui se sont tenus pendant la journée et les cosplayeurs voulant défiler sur scène étaient si nombreux que cela créait des embouteillages aux alentours de la scène. Sur la scène principale, un concours cosplay solo a eu lieu le samedi et un concours à plusieurs le dimanche. Et comme d’habitude, les cosplayers ont répondu présent pour mettre l’ambiance, montrer qu’ils sont bel et bien l’âme des conventions comme la MIA et mettre des étoiles dans les yeux des jeunes visiteurs et de leurs parents en posant avec eux pour une photo. 

La danse a eu également toute son importance au cours du salon, puisqu’une zone du salon était baptisée Korean Alley et était surtout axée sur la K-Pop, ce courant musical venu de Corée du Sud qui a proposé un énorme concours permettant à plusieurs groupes de s’affronter sur des concours de danse. Et le niveau était incroyablement relevé.

Brussels > Made In Asia > Photos
Brussels > Made In Asia > Photos

Le jeu vidéo a également une grande importance pour le salon. Il propose un immense côté nostalgique où les jeunes enfants des années 90 qui ont connu les premiers jeux vidéos grand public, aujourd’hui parents dans les années 2020 peuvent montrer à leurs enfants les jeux vidéos auxquels ils jouaient en étant enfant. La magie du retrogaming. 

Des autres activités Gaming du salon, nous retiendrons le Asylum Obscura qui était une sorte de labyrinthe de maison hantée avec des cosplayers déguisés en personnages iconiques du cinéma d’horreur pour la plus grand frayeur des festivaliers assez courageux pour tenter le parcours. Il y avait également des initiations au Mahjong, de combat à l’épée, un lasergame et même une exposition sur la mythologie du célèbre jeu vidéo de Nintendo : la Légende de Zelda. Qui a dit qu’il n’y avait rien à faire à la MIA? 

Brussels > Made In Asia > Photos

Au terme de 3 jours magiques qui ont filé trop rapidement, il était désormais pour le salon de refermer ses portes sur un bilan satisfaisant même s’il est impossible de satisfaire tout le monde, notamment sur les rencontres avec les invités comme Brigitte Lecordier qui sont sollicités non stop tout au long du salon. Pour ma part, j’étais satisfait de revoir le village cosplay à son endroit habituel mais qui est encore terriblement petit en taille quand les cosplayers se rassemblement pour les défilés. On espère que Made In Asia prendra cela en compte pour sa prochaine édition déjà annoncée. 

Alors notez la date, Made In Asia reviendra en Octobre 2024 les samedi 19 et dimanche 20 avec également la Heroes Comic Con Brussels qui vera des acteurs internationaux être en dédicace et la convention Game Force, convention de référence en Belgique sur les jeux vidéos. 

Brussels > Made In Asia > Photos
Brussels > Made In Asia > Photos




Brussels > Made In Asia > Photos

Photos et Texte de Jeremy Laurencin

infos Cosplay

  • Arlon > Nuit des Yôkaï
    Avec la Nuit des Yôkai, la magie japonaise s’invite à Arlon pour expérience immersive et poétique dédiée aux esprits du folklore nippon.
  • Charleroi > Cosplay > D-Con > Convention pop culture
    À Charleroi, la convention D-Con Geek rassemble fans et passionnés pour une cinquième édition immersive, entre cosplay, pop culture, rencontres et animations variées.
  • Charleroi > Gaming > Convention D-Con
    À Charleroi, la convention D-Con rassemble gaming, cosplay et culture geek dans une ambiance accessible et conviviale, portée par une dynamique locale en pleine évolution.
  • Luxembourg > Cosplay > Japan Day > Photos
    Le Festival Japan Day a posé ses valises à Luxembourg pour un week-end exceptionnel à LuxExpo The Box, marquant une nouvelle étape dans l’expansion de cet événement né en province du Luxembourg belge.
  • Charleroi > Cosplay > D-Con
    À Charleroi, le rendez-vous cosplay à la D-Con pour un week-end immersif dédié à la culture geek et aux univers fantastiques.
  • Bruxelles > Made in Asia > Photos
    La convention Made in Asia a animé Bruxelles et a rassemblé des milliers de passionnés de culture asiatique
  • Copslay > Made in Asia > Photos
    Made in Asia 2026 : un dimanche au cœur de la convention
  • EPINAL > SPINATORII > PHOTOS > 2026
    Spinatorii fait vibrer Épinal au rythme de la pop culture. Un rendez-vous incontournable pour les passionnés
  • Cosplay > Portrait > Mickey DTS
    De Huy à Aubel, le cosplay est au centre du portrait de Mickey DTS, un stormtrooper au grand coeur!
  • Luxembourg > LGX 2026
    À Luxembourg, le LGX 2026 s’annonce grandiose pour ses 10 ans à LuxExpo The Box
  • Arlon > Nuit > Yokaï > Inclusion
    À Arlon, la Nuit des Yokaï célèbre l’inclusion au cœur d’un événement culturel unique
  • Cosplay > Portrait 2 > Romain
    Dans l’univers du cosplay, Romain incarne la passion, la rigueur et l’immersion totale. À seulement 18 ans, ce jeune membre de la Légion du Sud impressionne par son incarnation de Boba Fett, figure emblématique de Star Wars.

Article structuré et optimisé SEO avec l’aide d’un outil d’intelligence artificielle, sous supervision éditoriale.

✍️ Un avis, une question ou une précision à ajouter ? Laissez un commentaire ci-dessous, nous vous lisons avec attention.

0 Comments

Florenville > Carnaval 2026 > Programme

À Florenville, le Carnaval 2026 animera la ville durant trois jours de folklore, de musique et de traditions populaires. Des milliers de visiteurs viendront admirer les célèbres chars fleuris.

Arlon > Carnaval 2026 > Photos

Ce weekend, le Carnaval 2026 d’Arlon a transformé la ville en grande fête populaire. Durant quatre jours, la cité arlonaise a vibré au rythme des groupes costumés et de la grande cavalcade.

Infos >> Partenaires

Recherche avec filtres

Nos sponsors

Les infos de votre Région Gratuite Souhaitez-vous recevoir des notifications sur les dernières mises à jour ? Non oui