Corrida de Léglise – 4ème édition
|
|
|
|
|
|
|
|
/* ══════════════════════════════════════════════════════════ 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 + '
' + '' + m.type + '' + '
Corrida de Léglise – 4ème édition
|
|
|
|
|
|
|
|
Article structuré et optimisé SEO avec l’aide d’un outil d’intelligence artificielle, sous supervision éditoriale.
L'essentiel —...
Canon R6 III : le plein format ultime...
La Nikon ZR s’impose aujourd’hui comme...
Avec nos sites internet Professionnels...
À La Roche-en-Ardenne, le Carnaval célèbre sa 50e édition dans une ambiance festive et populaire qui a animé toute la ville durant trois jours.
La ville de Florenville a vécu l’un des moments...
À Florenville, le carnaval s’annonce royal avec l’arrivée du Prince Thomas II
À 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.
La défilé nocturne du carnaval de Koerich illumine le village et rassemble habitants et visiteurs dans une ambiance festive! C’est ça, la Nuetskavalkad!
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.
La salle de fitness ALS Fitwell à Habay-la-Neuve incarne une vision moderne du sport, centrée sur l’humain et le bien-être global.
Rocket League est un jeu compétitif dans lequel des équipes contrôlent des voitures et tentent de marquer des buts...
Avant même qu’un jeu ne soit accessible, quelque chose a déjà commencé. Pas une promesse, ni une attente abstraite,...
Entrer dans une salle du Comic-Con, ce n’est pas assister à une simple présentation. C’est ressentir un moment...
Pendant longtemps, découvrir un nouveau jeu passait par une suite d’étapes : téléchargement, installation, attente....
La Wallonie n’est pas seulement une région de paysages verdoyants et de villages pittoresques. C’est aussi un...
Les personnages mythologiques n’ont jamais vraiment disparu. Ils changent d’époque, de décor, de support, mais...
Le temps, dans une session de jeu, ne se mesure pas uniquement en secondes. Il se construit. Deux séquences identiques...
L’esthétique de l’anime ne se réduit pas à un style visuel reconnaissable. Elle repose sur une manière précise...
Dans un grand show, le moment le plus fort n’arrive presque jamais par hasard. Il est préparé, retardé, annoncé, puis...
Pendant longtemps, une franchise se limitait à ses films ou à ses séries. Aujourd’hui, ce modèle a profondément...
Après une soirée en ville, tout ne s’arrête pas en rentrant chez soi. Le rythme reste. Le bruit du concert, l’énergie...
0 Comments