1<!DOCTYPE html> 2<html lang="fr-FR"> 3<head> 4 <title>Annuaire | Mairie de Nointel</title> 5 <meta charset="UTF-8" /> 6 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0-beta3/css/all.min.css"> 7 8 <meta name="viewport" content="width=device-width, initial-scale=1"> 9<title>Annuaire – Mairie de Nointel</title> 10<meta name='robots' content='max-image-preview:large' /> 11<link rel="manifest" href="https://www.commune-nointel.fr/koba-manifest.json"> 12<meta name="google-site-verification" content="U8uRURktPbCR9kub5b9kaY7QYc06K9mNaIEndU-uaVk" /> 13<meta name="description" content="Voici le site internet qui regroupe l'ensemble des informations nécessaires au bien être dans la commune de Nointel."> 14 <!-- Favicon standard --> 15 <link rel="icon" type="image/png" sizes="32x32" href="https://www.commune-nointel.fr/wp-content/uploads/sites/52/favicons/favicon-32x32.png"> 16 <link rel="icon" type="image/png" sizes="16x16" href="https://www.commune-nointel.fr/wp-content/uploads/sites/52/favicons/favicon-16x16.png"> 17 18 <!-- Apple Touch Icon (iOS) --> 19 <link rel="apple-touch-icon" sizes="180x180" href="https://www.commune-nointel.fr/wp-content/uploads/sites/52/favicons/apple-touch-icon.png"> 20 21 <!-- Android Chrome --> 22 <link rel="icon" type="image/png" sizes="192x192" href="https://www.commune-nointel.fr/wp-content/uploads/sites/52/favicons/android-chrome-192x192.png"> 23 <link rel="icon" type="image/png" sizes="512x512" href="https://www.commune-nointel.fr/wp-content/uploads/sites/52/favicons/android-chrome-512x512.png"> 24 25 <!-- Safari Pinned Tab (SVG ou PNG) --> 26 <link rel="mask-icon" href="https://www.commune-nointel.fr/wp-content/uploads/sites/52/favicons/favicon-32x32.png" color="#127ec2"> 27 28 <!-- Microsoft --> 29 <meta name="msapplication-TileColor" content="#127ec2"> 30 <meta name="msapplication-TileImage" content="https://www.commune-nointel.fr/wp-content/uploads/sites/52/favicons/mstile-144x144.png"> 31 32 <!-- Theme color pour navigateurs mobiles --> 33 <meta name="theme-color" content="#127ec2"> 34 35 <link rel='dns-prefetch' href='//cdnjs.cloudflare.com' /> 36<link rel='dns-prefetch' href='//unpkg.com' /> 37<link rel='dns-prefetch' href='//cdn.jsdelivr.net' /> 38<style id="koba-colors"> 39:root { 40 --koba-primary: #127ec2; 41 --koba-secondary: #7fb1d8; 42 --koba-primary-rgb: 18, 126, 194; 43 --koba-secondary-rgb: 127, 177, 216; 44} 45</style><style id="wp-img-auto-sizes-contain-inline-css"> 46img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px} 47/*# sourceURL=wp-img-auto-sizes-contain-inline-css */ 48</style> 49<link rel='stylesheet' id='acy_front_messages_css-css' href='https://www.commune-nointel.fr/wp-content/plugins/acymailing/media/css/front/messages.min.css?v=1790752554&ver=11.1.0' media='all' /> 50<style id="wp-emoji-styles-inline-css"> 51 52 img.wp-smiley, img.emoji { 53 display: inline !important; 54 border: none !important; 55 box-shadow: none !important; 56 height: 1em !important; 57 width: 1em !important; 58 margin: 0 0.07em !important; 59 vertical-align: -0.1em !important; 60 background: none !important; 61 padding: 0 !important; 62 } 63/*# sourceURL=wp-emoji-styles-inline-css */ 64</style> 65<style id="wp-block-library-inline-css"> 66:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
66--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}} 67 68/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */ 69</style> 70<style id="wp-block-library-inline-css-extra"> 71.meteo-widget { background: linear-gradient(135deg, #f4a900 0%, #e67e22 100%); color: #fff; padding: 25px; border-radius: 15px; text-align: center; max-width: 350px; margin: 20px auto; box-shadow: 0 10px 30px rgba(0,0,0,0.2); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; } 72 .meteo-widget.meteo-error { background: #e74c3c; } 73 .meteo-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,0.3); } 74 .meteo-header h3 { margin: 0; font-size: 1.3em; } 75 .meteo-main { display: flex; align-items: center; justify-content: center; gap: 10px; } 76 .meteo-icon { width: 80px; height: 80px; } 77 .meteo-temp { font-size: 3em; font-weight: bold; } 78 .meteo-description { font-size: 1.1em; margin: 10px 0; text-transform: capitalize; } 79 .meteo-minmax { display: flex; justify-content: center; gap: 30px; margin: 15px 0; } 80 .meteo-min { background: #20b7d9; padding: 8px 15px; border-radius: 20px; font-weight: bold; } 81 .meteo-max { background: #c0392b; padding: 8px 15px; border-radius: 20px; font-weight: bold; } 82 .meteo-humidity { margin-top: 10px; font-size: 0.95em; opacity: 0.9; } 83.koba-opening-status{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;border-radius:4px;font-size:14px;line-height:1}.koba-opening-status.koba-status-open{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.koba-opening-status.koba-status-closed{background-color:rgba(241, 185, 185, .5);color:#721c24;}.koba-status-icon{font-size:3rem}.koba-status-open .koba-status-icon{color:#28a745}.koba-status-closed .koba-status-icon{color:#721c24}.koba-status-next{display:none;font-weight:400;font-size:13px;opacity:0.8;margin-left:5px}.koba-status-next::before{content:"â¢";margin-right:8px}.koba-style-alert{width:100%;border-radius:4px;padding:12px 20px}.koba-style-minimal{background:transparent !important;border:none !important;padding:0;font-size:13px}.koba-horaires-table{width:100%;border-collapse:collapse;font-size:14px}.koba-horaires-table th,.koba-horaires-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #e9ecef; font-size: 14.56px; font-weight: 700;}.koba-horaires-table td:nth-child(2){font-weight: 400;}.koba-horaires-table th{background:#f8f9fa;font-weight:600;color:#495057}.koba-horaires-table tr:hover{background-color:#f8f9fa}.koba-horaires-table tr.koba-today{}.koba-horaires-table tr.koba-today:hover{}.koba-jour{font-weight:500}.koba-badge-today{display:none;background:var(--koba-primary,#209bbc);color:#fff;font-size:10px;padding:2px 6px;border-radius:3px;margin-left:8px;font-weight:600;text-transform:uppercase}.koba-info-supplementaire{background:#eafbf8;border:1px solid #0087ca;padding:12px 15px;margin-top:10px;border-radius:4px;font-size:14px;color:#0087ca}.koba-info-supplementaire i{margin-right:8px;color:#0087ca}.koba-fermetures-exceptionnelles{margin-top:20px;padding:15px;background:#eafbf8;border-radius:8px;border-left:4px solid #0087c}.koba-fermetures-exceptionnelles h4{margin:0 0 10px 0;color:#0087ca;font-size:14px}.koba-fermetures-exceptionnelles ul{margin:0;padding:0 0 0 20px}.koba-fermetures-exceptionnelles li{margin-bottom:5px;font-size:13px;color:#0087ca}.koba-social-links{display:flex;justify-content:center;align-items:center;gap:15px;flex-wrap:nowrap}.koba-social-links a{color:#fff;transition:opacity 0.2s}.koba-social-links a:hover{opacity:0.7}.koba-menu-list{list-style:none;margin:0;padding:0}.koba-menu-list li{margin-bottom:8px}.koba-menu-list a{color:inherit;text-decoration:none;transition:opacity 0.2s}.koba-menu-list a:hover{opacity:0.7} 84 85 /* ========================================== 86 VARIABLES CSS 87 ========================================== */ 88 :root { 89 --koba-topbar-height: 40px; 90 --koba-navbar-height: 70px; 91 --koba-header-height: calc(var(--koba-topbar-height) + var(--koba-navbar-height)); 92 --koba-logo-width: 193px; 93 } 94 95 /* ========================================== 96 HEADER PRINCIPAL 97 ========================================== */ 98 99 .koba-header { 100 position: fixed; 101 top: 0; 102 left: 0; 103 right: 0; 104 z-index: 10000; 105 width: 100%; 106 } 107 108 .koba-header-wrapper { 109 position: relative; 110 width: 100%; 111 z-index: 222222; 112 } 113 114 /* Spacer pour compenser le header fixe */ 115 .koba-header-spacer { 116 height: var(--koba-header-height); 117 } 118 119 /* ========================================== 120 LOGO - COUVRE LES DEUX BARRES 121 ========================================== */ 122 123 .koba-logo { 124 position: absolute; 125 top: 0; 126 left: 0; 127 width: var(--koba-logo-width); 128 height: var(--koba-header-height); 129 background-color: #fff; 130 display: flex; 131 align-items: center; 132 justify-content: center; 133 padding: 10px 20px; 134 box-sizing: border-box; 135 z-index: 110; 136 } 137 138 .koba-logo img { 139 max-height: 100%; 140 max-width: 100%; 141 width: auto; 142 height: auto; 143 display: block; 144 object-fit: contain; 145 } 146 .koba-icon-search{ 147 width: 30px; 148 height: 30px; 149 } 150 151 .koba-logo-text { 152 color: #333; 153 font-size: 20px; 154 font-weight: 700; 155 text-decoration: none; 156 } 157 158 /* ========================================== 159 BARRE SUPERIEURE (ORANGE) 160 ========================================== */ 161 162 .koba-topbar { 163 background-color: #7fb1d8; 164 height: var(--koba-topbar-height); 165 width: 100%; 166 } 167 168 .koba-topbar-inner { 169 height: 100%; 170 display: flex; 171 justify-content: space-between; 172 align-items: center; 173 padding: 0 20px 0 calc(var(--koba-logo-width) + 20px); 174 } 175 176 .koba-topbar-menu { 177 flex: 1; 178 } 179 180 .koba-topbar-list { 181 list-style: none; 182 margin: 0; 183 padding: 0; 184 display: flex; 185 gap: 25px; 186 } 187 188 .koba-topbar-list li a { 189 color: #fff; 190 text-decoration: none; 191 font-size: 11.2px; 192 font-weight: 600; 193 text-transform: uppercase; 194 letter-spacing: 0.5px; 195 transition: opacity 0.2s; 196 } 197 198 .koba-topbar-list li a:hover { 199 opacity: 0.8; 200 } 201 202 .koba-topbar-cta { 203 display: flex; 204 align-items: center; 205 gap: 8px; 206 color: #fff; 207 text-decoration: none; 208 font-size: 12.2px; 209 font-weight: 600; 210 text-transform: uppercase; 211 letter-spacing: 0.5px; 212 transition: opacity 0.2s; 213 } 214 215 .koba-topbar-cta:hover { 216 opacity: 0.8; 217 } 218 219 /* Hamburger (mobile) - dans la topbar */ 220 .koba-hamburger { 221 display: none; 222 flex-direction: column; 223 justify-content: center; 224 gap: 5px; 225 background: none; 226 border: none; 227 cursor: pointer; 228 padding: 10px; 229 width: 44px; 230 height: 44px; 231 margin-left: -10px; 232 } 233 234 .koba-hamburger span { 235 display: block; 236 width: 24px; 237 height: 2px; 238 background-color: #fff; 239 transition: all 0.3s; 240 } 241 242 .koba-hamburger.active span:nth-child(1) { 243 transform: rotate(45deg) translate(5px, 5px); 244 } 245 246 .koba-hamburger.active span:nth-child(2) { 247 opacity: 0; 248 } 249 250 .koba-hamburger.active span:nth-child(3) { 251 transform: rotate(-45deg) translate(5px, -5px); 252 } 253 254 /* ========================================== 255 BARRE PRINCIPALE (BLEU) 256 ========================================== */ 257 258 .koba-navbar { 259 background-color: #127ec2; 260 height: var(--koba-navbar-height); 261 width: 100%; 262 position: relative; 263 } 264 265 .koba-navbar-inner { 266 height: 100%; 267 display: flex; 268 align-items: stretch; 269 padding: 0 0 0 var(--koba-logo-width); 270 } 271 272 /* Navigation principale */ 273 .koba-main-nav { 274 flex: 1; 275 display: flex; 276 align-items: stretch; 277 } 278 279 .koba-nav-list { 280 list-style: none; 281 margin: 0; 282 padding: 0; 283 display: flex; 284 align-items: stretch; 285 width: 100%; 286 } 287 288 .koba-nav-item { 289 position: static; 290 display: flex; 291 align-items: stretch; 292 flex: 1; 293 margin: 8px; 294 border-bottom: 1px solid transparent; 295 } 296 297 .koba-nav-item:hover { 298 border-bottom: 1px solid hsla(0,0%,100%,.72); 299 } 300 301 .koba-nav-link { 302 display: flex; 303 align-items: center; 304 justify-content: center; 305 gap: 6px; 306 color: #fff; 307 text-decoration: none; 308 font-size: 14px; 309 font-weight: 400; 310 text-transform: uppercase; 311 letter-spacing: 0.3px; 312 padding: 0 15px; 313 width: 100%; 314 transition: background-color 0.2s; 315 cursor: pointer; 316 } 317 318 .koba-nav-arrow { 319 color: #fb0; 320 width: 14px; 321 height: 14px; 322 transform: rotate(270deg); 323 transition: transform 0.2s; 324 } 325 326 /* ========================================== 327 BOUTON RECHERCHE (CARRE) 328 ========================================== */ 329 330 .koba-search-toggle { 331 flex-shrink: 0; 332 width: var(--koba-navbar-height); 333 height: var(--koba-navbar-height); 334 background: #fff; 335 border: none; 336 color: #fb0; 337 cursor: pointer; 338 display: flex; 339 align-items: center; 340 justify-content: center; 341 transition: opacity 0.2s; 342 } 343 344 .koba-search-toggle:hover { 345 opacity: 0.9; 346 } 347 348 .koba-search-toggle.hidden { 349 display: none; 350 } 351 352 /* ========================================== 353 MEGA MENU 354 ========================================== */ 355 356 .koba-megamenu { 357 position: absolute; 358 top: 100%; 359 left: 0; 360 right: 0; 361 width: 100%; 362 background-color: #127ec2; 363 opacity: 0; 364 visibility: hidden; 365 transform: translateY(-10px); 366 transition: all 0.3s ease; 367 z-index: 100; 368 pointer-events: none; 369 } 370 371 .koba-nav-item.active .koba-megamenu { 372 opacity: 1; 373 visibility: visible; 374 transform: translateY(0); 375 pointer-events: auto; 376 } 377 378 .koba-megamenu-inner { 379 width: 100%; 380 display: flex; 381 position: relative; 382 } 383 384 .koba-megamenu-col1 { 385 flex-shrink: 0; 386 width: var(--koba-logo-width); 387 background-color: #fff; 388 } 389 390 .koba-megamenu-col2 { 391 flex: 1; 392 padding: 30px 20px; 393 display: flex; 394 align-items: flex-start; 395 justify-content: flex-end; 396 } 397 398 .koba-megamenu-title { 399 color: #fff; 400 font-size: 22px; 401 font-weight: 600; 402 line-height: 1.4; 403 } 404 405 .koba-megamenu-col3 { 406 flex: 1; 407 padding: 25px 30px; 408 min-width: 0; 409 max-height: 731px; 410 overflow: overlay; 411 } 412 413 .koba-megamenu-list { 414 list-style: none; 415 margin: 0; 416 padding: 0; 417 border-left: 1px solid #fff; 418 } 419 420 .koba-megamenu-item { 421 position: static; 422 } 423 424 .koba-megamenu-link { 425 display: flex; 426 align-items: center; 427 gap: 8px; 428 color: #fff; 429 text-decoration: none; 430 padding: 16px 0; 431 font-size: 14px; 432 transition: padding-left 0.2s; 433 cursor: pointer; 434 padding-left: 30px; 435 } 436 437 .koba-megamenu-link:hover { 438 border-bottom: 1px solid #fff; 439 } 440 441 .koba-megamenu-link svg { 442 margin-left: auto; 443 flex-shrink: 0; 444 transition: transform 0.2s; 445 color: #faaf00; 446 } 447 448 .koba-megamenu-item.active > .koba-megamenu-link svg { 449 transform: rotate(90deg); 450 } 451 452 .koba-megamenu-col4 { 453 flex: 1; 454 position: relative; 455 } 456 457 .koba-megamenu-sublist { 458 position: absolute; 459 top: 0; 460 right: 0; 461 bottom: 0; 462 width: calc((100% - var(--koba-logo-width)) / 3); 463 list-style: none; 464 margin: 0; 465 padding: 25px 20px; 466 opacity: 0; 467 visibility: hidden; 468 transition: all 0.3s ease; 469 z-index: 110; 470 } 471 472 .koba-megamenu-item.active > .koba-megamenu-sublist { 473 opacity: 1; 474 visibility: visible; 475 } 476 .koba-megamenu-item > .koba-megamenu-sublist li{ 477 border-left: 1px solid #fff; 478 } 479 .koba-megamenu-item > .koba-megamenu-sublist li a{ 480 padding-left: 30px; 481 } 482 483 .koba-megamenu-sublist li a { 484 display: block; 485 color: #fff; 486 text-decoration: none; 487 padding: 8px 0; 488 font-size: 13px; 489 opacity: 0.9; 490 transition: opacity 0.2s, padding-left 0.2s; 491 border-bottom: 1px solid rgba(255, 255, 255, 0.1); 492 } 493 494 .koba-megamenu-sublist li a:hover { 495 border-bottom: 1px solid #fff; 496 } 497 498 499 /* ========================================== 500 BARRE DE RECHERCHE 501 ========================================== */ 502 503 .koba-search-bar { 504 position: absolute; 505 top: 0; 506 right: 0; 507 bottom: 0; 508 width: 0; 509 background-color: #127ec2; 510 overflow: hidden; 511
511 transition: width 0.4s ease; 512 display: flex; 513 align-items: center; 514 z-index: 105; 515 } 516 517 .koba-search-bar.active { 518 width: calc(100% - var(--koba-logo-width)); 519 } 520 521 .koba-search-bar-inner { 522 display: flex; 523 align-items: center; 524 gap: 15px; 525 padding: 0 20px; 526 width: 100%; 527 min-width: 300px; 528 } 529 530 .koba-search-form { 531 flex: 1; 532 display: flex; 533 align-items: center; 534 position: relative; 535 } 536 537 .koba-search-input { 538 width: 100%; 539 background: transparent; 540 border: none; 541 border-bottom: 2px solid rgba(255, 255, 255, 0.5); 542 color: #fff; 543 font-size: 18px; 544 padding: 10px 40px 10px 0; 545 outline: none; 546 transition: border-color 0.2s; 547 } 548 549 .koba-search-input::placeholder { 550 color: rgba(255, 255, 255, 0.7); 551 } 552 553 .koba-search-input:focus { 554 border-color: #fff; 555 } 556 557 .koba-search-submit { 558 position: absolute; 559 right: 0; 560 background: none; 561 border: none; 562 color: #fff; 563 cursor: pointer; 564 padding: 10px; 565 opacity: 0.7; 566 transition: opacity 0.2s; 567 } 568 569 .koba-search-submit:hover { 570 opacity: 1; 571 } 572 573 .koba-search-close { 574 flex-shrink: 0; 575 background: none; 576 border: none; 577 color: #7fb1d8; 578 cursor: pointer; 579 padding: 10px; 580 transition: opacity 0.2s; 581 } 582 583 .koba-search-close:hover { 584 opacity: 0.8; 585 } 586 587 /* ========================================== 588 MENU MOBILE 589 ========================================== */ 590 591 .koba-mobile-menu { 592 display: none; 593 position: fixed; 594 top: 0; 595 left: 0; 596 width: 100%; 597 height: 100vh; 598 background-color: #127ec2; 599 z-index: 999; 600 overflow-y: auto; 601 transform: translateX(-100%); 602 transition: transform 0.3s ease; 603 } 604 605 .koba-mobile-menu.active { 606 transform: translateX(0); 607 } 608 609 .koba-mobile-menu-inner { 610 padding: 20px; 611 padding-top: 120px; 612 } 613 614 .koba-mobile-list { 615 list-style: none; 616 margin: 0; 617 padding: 0; 618 } 619 620 .koba-mobile-item { 621 border-bottom: 1px solid rgba(255, 255, 255, 0.1); 622 } 623 624 .koba-mobile-item-inner { 625 display: flex; 626 align-items: center; 627 } 628 629 .koba-mobile-link { 630 flex: 1; 631 display: block; 632 color: #fff; 633 text-decoration: none; 634 padding: 18px 0; 635 font-size: 16px; 636 font-weight: 500; 637 } 638 639 .koba-mobile-toggle { 640 background: none; 641 border: none; 642 color: #fff; 643 cursor: pointer; 644 padding: 18px 15px; 645 transition: transform 0.2s; 646 } 647 648 .koba-mobile-toggle.active { 649 transform: rotate(180deg); 650 } 651 652 .koba-mobile-submenu { 653 list-style: none; 654 margin: 0; 655 padding: 0 0 0 20px; 656 display: none; 657 background-color: rgba(0, 0, 0, 0.1); 658 } 659 660 .koba-mobile-submenu.active { 661 display: block; 662 } 663 664 .koba-mobile-submenu .koba-mobile-link { 665 font-size: 15px; 666 font-weight: 400; 667 padding: 14px 0; 668 } 669 670 .koba-mobile-secondary { 671 margin-top: 30px; 672 padding-top: 30px; 673 border-top: 1px solid rgba(255, 255, 255, 0.2); 674 } 675 676 .koba-mobile-secondary-list { 677 list-style: none; 678 margin: 0; 679 padding: 0; 680 } 681 682 .koba-mobile-secondary-list li a { 683 display: block; 684 color: #fff; 685 text-decoration: none; 686 padding: 12px 0; 687 font-size: 14px; 688 opacity: 0.8; 689 } 690 691 /* Overlay */ 692 .koba-overlay { 693 position: fixed; 694 top: 0; 695 left: 0; 696 width: 100%; 697 height: 100%; 698 background-color: rgba(0, 0, 0, 0.5); 699 z-index: 998; 700 opacity: 0; 701 visibility: hidden; 702 transition: all 0.3s; 703 } 704 705 .koba-overlay.active { 706 opacity: 1; 707 visibility: visible; 708 } 709 710 /* ========================================== 711 RESPONSIVE 712 ========================================== */ 713 714 @media (max-width: 1400px) { 715 :root { 716 --koba-logo-width: 140px; 717 } 718 719 .koba-nav-link { 720 font-size: 12px; 721 padding: 0 5px; 722 } 723 724 .koba-megamenu-col2, 725 .koba-megamenu-col3 { 726 padding: 20px 15px; 727 } 728 } 729 730 @media (max-width: 1200px) { 731 :root { 732 --koba-logo-width: 120px; 733 } 734 735 .koba-nav-link { 736 font-size: 11px; 737 padding: 0 8px; 738 } 739 740 .koba-megamenu-title { 741 font-size: 16px; 742 } 743 744 .koba-megamenu-link { 745 font-size: 13px; 746 padding: 8px 8px; 747 } 748 } 749 750 @media (max-width: 992px) { 751 :root { 752 --koba-topbar-height: 50px; 753 --koba-navbar-height: 0px; 754 --koba-logo-width: 100px; 755 } 756 757 .koba-topbar-inner { 758 padding: 0 15px; 759 justify-content: flex-start; 760 } 761 762 .koba-topbar-menu { 763 display: none; 764 } 765 766 .koba-topbar-cta { 767 display: none; 768 } 769 770 .koba-hamburger { 771 display: flex; 772 } 773 774 .koba-logo { 775 position: relative; 776 width: auto; 777 max-width: 120px; 778 height: var(--koba-topbar-height); 779 margin: 0 auto; 780 } 781 782 .koba-navbar { 783 display: none; 784 } 785 786 .koba-mobile-menu { 787 display: block; 788 } 789 790 .koba-megamenu { 791 display: none; 792 } 793 } 794 795 @media (max-width: 576px) { 796 :root { 797 --koba-topbar-height: 50px; 798 --koba-logo-width: 80px; 799 } 800 801 .koba-logo img { 802 max-height: 35px; 803 } 804 805 .koba-search-input { 806 font-size: 16px; 807 } 808 } 809 810 811 /* ========================================== 812 FOOTER 813 ========================================== */ 814 815 .koba-footer { 816 background-color: #1a1a2e; 817 color: #fff; 818 margin-top: 60px; 819 } 820 821 .koba-footer-main { 822 padding: 60px 0 40px; 823 } 824 825 .koba-footer-container { 826 max-width: 1400px; 827 margin: 0 auto;
828 padding: 0 30px; 829 display: grid; 830 grid-template-columns: repeat(4, 1fr); 831 gap: 40px; 832 } 833 834 /* Colonnes */ 835 .koba-footer-col { 836 min-width: 0; 837 } 838 839 .koba-footer-title { 840 color: #fff; 841 font-size: 18px; 842 font-weight: 600; 843 margin: 0 0 20px 0; 844 padding-bottom: 12px; 845 border-bottom: 2px solid #7fb1d8; 846 display: inline-block; 847 } 848 849 /* Colonne About */ 850 .koba-footer-logo { 851 display: inline-block; 852 margin-bottom: 20px; 853 } 854 855 .koba-footer-logo img { 856 max-height: 70px; 857 width: auto; 858 } 859 860 .koba-footer-logo-text { 861 display: inline-block; 862 color: #fff; 863 font-size: 24px; 864 font-weight: 700; 865 text-decoration: none; 866 margin-bottom: 20px; 867 } 868 869 .koba-footer-description { 870 color: #b0b0b0; 871 font-size: 14px; 872 line-height: 1.7; 873 margin: 0 0 20px 0; 874 } 875 876 /* Réseaux sociaux */ 877 .koba-footer-social { 878 display: flex; 879 gap: 12px; 880 flex-wrap: wrap; 881 } 882 883 .koba-footer-social a { 884 display: flex; 885 align-items: center; 886 justify-content: center; 887 width: 40px; 888 height: 40px; 889 background-color: rgba(255, 255, 255, 0.1); 890 border-radius: 50%; 891 color: #fff; 892 transition: all 0.3s ease; 893 } 894 895 .koba-footer-social a:hover { 896 background-color: #7fb1d8; 897 transform: translateY(-3px); 898 } 899 900 /* Liste de contact */ 901 .koba-footer-info-list { 902 list-style: none; 903 margin: 0; 904 padding: 0; 905 } 906 907 .koba-footer-info-item { 908 display: flex; 909 align-items: flex-start; 910 gap: 12px; 911 margin-bottom: 18px; 912 color: #b0b0b0; 913 font-size: 14px; 914 line-height: 1.6; 915 } 916 917 .koba-footer-info-item svg { 918 flex-shrink: 0; 919 margin-top: 2px; 920 color: #7fb1d8; 921 } 922 923 .koba-footer-info-item a { 924 color: #b0b0b0; 925 text-decoration: none; 926 transition: color 0.2s; 927 } 928 929 .koba-footer-info-item a:hover { 930 color: #7fb1d8; 931 } 932 933 /* Statut dans le footer */ 934 .koba-footer-status { 935 margin-top: 20px; 936 } 937 938 .koba-footer-status .koba-opening-status { 939 background: transparent; 940 padding: 0; 941 border: none; 942 font-size: 13px; 943 } 944 945 .koba-footer-status .koba-status-open { 946 color: #28a745; 947 } 948 949 .koba-footer-status .koba-status-closed { 950 color: #dc3545; 951 } 952 953 /* Menu footer */ 954 .koba-footer-menu { 955 list-style: none; 956 margin: 0; 957 padding: 0; 958 } 959 960 .koba-footer-menu li { 961 margin-bottom: 12px; 962 } 963 964 .koba-footer-menu a { 965 color: #b0b0b0; 966 text-decoration: none; 967 font-size: 14px; 968 transition: all 0.2s; 969 display: inline-block; 970 } 971 972 .koba-footer-menu a:hover { 973 color: #7fb1d8; 974 padding-left: 5px; 975 } 976 977 /* Horaires dans footer */ 978 .koba-footer-hours .koba-horaires-table { 979 font-size: 13px; 980 background: transparent; 981 } 982 983 .koba-footer-hours .koba-horaires-table th, 984 .koba-footer-hours .koba-horaires-table td { 985 padding: 8px 10px; 986 border-color: rgba(255, 255, 255, 0.1); 987 color: #b0b0b0; 988 } 989 990 .koba-footer-hours .koba-horaires-table th { 991 background: rgba(255, 255, 255, 0.05); 992 color: #fff; 993 } 994 995 .koba-footer-hours .koba-horaires-table tr:hover { 996 background-color: rgba(255, 255, 255, 0.03); 997 } 998 999 .koba-footer-hours .koba-horaires-table tr.koba-today { 1000 background-color: rgba(18, 126, 194, 0.2); 1001 } 1002 1003 .koba-footer-hours .koba-horaires-table .koba-badge-today { 1004 background: #7fb1d8; 1005 font-size: 9px; 1006 } 1007 1008 /* Barre de copyright */ 1009 .koba-footer-bottom { 1010 background-color: rgba(0, 0, 0, 0.3); 1011 padding: 20px 0; 1012 } 1013 1014 .koba-footer-bottom .koba-footer-container { 1015 display: flex; 1016 justify-content: space-between; 1017 align-items: center; 1018 gap: 20px; 1019 } 1020 1021 .koba-footer-copyright { 1022 margin: 0; 1023 color: #808080; 1024 font-size: 13px; 1025 } 1026 1027 .koba-footer-legal { 1028 display: flex; 1029 gap: 25px; 1030 } 1031 1032 .koba-footer-legal a { 1033 color: #808080; 1034 text-decoration: none; 1035 font-size: 13px; 1036 transition: color 0.2s; 1037 } 1038 1039 .koba-footer-legal a:hover { 1040 color: #7fb1d8; 1041 } 1042 1043 /* Responsive */ 1044 @media (max-width: 1200px) { 1045 .koba-footer-container { 1046 grid-template-columns: repeat(2, 1fr); 1047 } 1048 } 1049 1050 @media (max-width: 768px) { 1051 .koba-footer-main { 1052 padding: 40px 0 30px; 1053 } 1054 1055 .koba-footer-container { 1056 grid-template-columns: 1fr; 1057 gap: 30px; 1058 padding: 0 20px; 1059 } 1060 1061 .koba-footer-col { 1062 text-align: center; 1063 } 1064 1065 .koba-footer-title { 1066 display: block; 1067 } 1068 1069 .koba-footer-social { 1070 justify-content: center; 1071 } 1072 1073 .koba-footer-info-list { 1074 display: inline-block; 1075 text-align: left; 1076 } 1077 1078 .koba-footer-menu { 1079 display: inline-block; 1080 text-align: left; 1081 } 1082 1083 .koba-footer-hours .koba-horaires-table { 1084 display: inline-block; 1085 } 1086 1087 .koba-footer-bottom .koba-footer-container { 1088 flex-direction: column; 1089 text-align: center; 1090 } 1091 1092 .koba-footer-legal { 1093 flex-wrap: wrap; 1094 justify-content: center; 1095 } 1096 } 1097 1098/*# sourceURL=wp-block-library-inline-css */ 1099</style> 1100 1101<style id="classic-theme-styles-inline-css"> 1102/*! This file is auto-generated */ 1103.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;
1103padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} 1104/*# sourceURL=/wp-includes/css/classic-themes.min.css */ 1105</style> 1106 1107<style id="global-styles-inline-css"> 1108:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
1108--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
1108.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} 1109/*# sourceURL=global-styles-inline-css */ 1110</style> 1111 1112<link rel='stylesheet' id='front-css-css' href='https://www.commune-nointel.fr/wp-content/plugins/WP_hob_publicite//asset/css/front.css?ver=7.1.2' media='all' /> 1113<link rel='stylesheet' id='hcb-frontend-css' href='https://www.commune-nointel.fr/wp-content/plugins/hob-cityhall-booking/assets/css/frontend.css?ver=1.2.0' media='all' /> 1114<style id="hcb-frontend-inline-css"> 1115 1116 :root { --hcb-primary: #2271b1; } 1117 .hcb-btn-primary, .hcb-booking-form button[type=submit] { background-color: #2271b1; border-color: #2271b1; } 1118 .hcb-btn-primary:hover { background-color: #2271b1cc; } 1119 1120/*# sourceURL=hcb-frontend-inline-css */ 1121</style> 1122<link rel='stylesheet' id='fullcalendar-css' href='https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.10.2/fullcalendar.min.css?ver=7.1.2' media='all' /> 1123<link rel='stylesheet' id='hob-fc-public-forms-css' href='https://www.commune-nointel.fr/wp-content/plugins/hob-formchat-pro/assets/css/public-forms.css?ver=1.29' media='all' /> 1124<link rel='stylesheet' id='leaflet-css' href='https://unpkg.com/[email protected]/dist/leaflet.css?ver=1.9.4' media='all' /> 1125<link rel='stylesheet' id='bootstrap-css-css' href='https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css?ver=5.3.2' media='all' /> 1126<link rel='stylesheet' id='theme-style-css' href='https://www.commune-nointel.fr/wp-content/themes/hob-koba-civique/style.css?ver=7.1.2' media='all' /> 1127<link rel='stylesheet' id='hobrgpd-front-css' href='https://www.commune-nointel.fr/wp-content/plugins/hob-rgpd/assets/css/front.css?ver=1781167963' media='all' />
1128<script id="acy_front_messages_js-js-before"> 1129var ACYM_AJAX_START = "https://www.commune-nointel.fr/wp-admin/admin-ajax.php"; 1130 var ACYM_AJAX_PARAMS = "?action=acymailing_router&noheader=1&nocache=1790995572"; 1131 var ACYM_AJAX = ACYM_AJAX_START + ACYM_AJAX_PARAMS; 1132//# sourceURL=acy_front_messages_js-js-before 1133</script>
vendor: 1 bytes, line 1133
1133
1134<script id="acy_front_messages_js-js" src="https://www.commune-nointel.fr/wp-content/plugins/acymailing/media/js/front/messages.min.js?v=1790752554&ver=11.1.0"></script>
vendor: 1 bytes, line 1134
1134
1135<script id="jquery-core-js" src="https://www.commune-nointel.fr/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 1135
1135
1136<script id="jquery-migrate-js" src="https://www.commune-nointel.fr/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
1136 1137<link rel="https://api.w.org/" href="https://www.commune-nointel.fr/wp-json/" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.commune-nointel.fr/xmlrpc.php?rsd" /> 1138<!-- Analytics by WP Statistics - https://wp-statistics.com --> 1139 <style> 1140 /* Overlay résultats */ 1141 .koba-search-overlay { 1142 position: fixed; 1143 top: 0; 1144 left: 0; 1145 right: 0; 1146 bottom: 0; 1147 background: var(--koba-primary, #2271b1); 1148 z-index: 9998; 1149 overflow-y: auto; 1150 padding-top: 120px; 1151 display: none; 1152 } 1153 1154 .koba-search-overlay.active { 1155 display: block; 1156 } 1157 1158 .koba-search-overlay-inner { 1159 max-width: 1140px; 1160 margin: 0 auto; 1161 padding: 10px; 1162 } 1163 1164 /* Catégorie */ 1165 .koba-search-category { 1166 margin-bottom: 40px; 1167 } 1168 1169 .koba-search-category-title { 1170 color: var(--koba-secondary, #faaf00); 1171 font-size: 1.8rem; 1172 font-weight: 600; 1173 margin: 0 0 15px 0; 1174 padding-bottom: 10px; 1175 border-bottom: 1px solid rgba(255,255,255,0.2); 1176 } 1177 1178 /* Liste */ 1179 .koba-search-list { 1180 list-style: none; 1181 margin: 0; 1182 padding: 0; 1183 } 1184 1185 .koba-search-item { 1186 border-bottom: 1px solid rgba(255,255,255,0.1); 1187 } 1188 1189 .koba-search-link { 1190 display: block; 1191 padding: 14px 0; 1192 color: #fff; 1193 text-decoration: none; 1194 font-size: 1.05rem; 1195 transition: padding-left 0.2s, color 0.2s; 1196 } 1197 1198 .koba-search-link:hover { 1199 padding-left: 15px; 1200 color: var(--koba-secondary, #faaf00); 1201 } 1202 1203 .koba-search-link mark { 1204 background: var(--koba-secondary, #faaf00); 1205 color: #1a1a2e; 1206 padding: 2px 4px; 1207 border-radius: 3px; 1208 } 1209 1210 .koba-search-date { 1211 color: rgba(255,255,255,0.5); 1212 font-size: 0.9rem; 1213 margin-left: 10px; 1214 } 1215 1216 /* Loading */ 1217 .koba-search-loading { 1218 text-align: center; 1219 padding: 60px; 1220 color: rgba(255,255,255,0.7); 1221 } 1222 1223 .koba-search-spinner { 1224 width: 40px; 1225 height: 40px; 1226 border: 3px solid rgba(255,255,255,0.2); 1227 border-top-color: #fff; 1228 border-radius: 50%; 1229 animation: koba-spin 0.8s linear infinite; 1230 margin: 0 auto 15px; 1231 } 1232 1233 @keyframes koba-spin { 1234 to { transform: rotate(360deg); } 1235 } 1236 1237 /* No results */ 1238 .koba-search-no-results { 1239 text-align: center; 1240 padding: 60px; 1241 color: rgba(255,255,255,0.6); 1242 } 1243 1244 .koba-search-no-results svg { 1245 width: 60px; 1246 height: 60px; 1247 margin-bottom: 20px; 1248 opacity: 0.4; 1249 } 1250 1251 @media (max-width: 768px) { 1252 .koba-search-overlay { 1253 padding-top: 100px; 1254 } 1255 .koba-search-overlay-inner { 1256 padding: 20px; 1257 } 1258 .koba-search-category-title { 1259 font-size: 1.4rem; 1260 } 1261 } 1262 </style> 1263 <style> 1264 /* Menu adaptatif */ 1265 .koba-nav-list { 1266 display: flex; 1267 flex-wrap: wrap; 1268 align-items: center; 1269 } 1270 1271 /* Mode compact (9-10 éléments) */ 1272 .koba-nav-list.koba-nav-compact .koba-nav-link { 1273 font-size: 12px; 1274 padding-left: 12px; 1275 padding-right: 12px; 1276 } 1277 1278 /* Mode très compact (11+ éléments) */ 1279 .koba-nav-list.koba-nav-very-compact .koba-nav-link { 1280 font-size: 10px; 1281 padding-left: 4px; 1282 padding-right: 4px; 1283 } 1284 @media (max-width: 1599px) { 1285 .koba-nav-list.koba-nav-compact .koba-nav-link { 1286 font-size: 12px; 1287 padding-left: 8px; 1288 padding-right: 8px; 1289 } 1290 .koba-nav-list.koba-nav-very-compact .koba-nav-link { 1291 font-size: 9px; 1292 padding-left: 0px; 1293 padding-right: 0px; 1294 } 1295 } 1296 @media (max-width: 1299px) { 1297 .koba-nav-list.koba-nav-compact .koba-nav-link { 1298 font-size: 10px; 1299 padding-left: 8px; 1300 padding-right: 8px; 1301 } 1302 .koba-nav-list.koba-nav-very-compact .koba-nav-link { 1303 font-size: 8px; 1304 padding-left: 4px; 1305 padding-right: 4px; 1306 } 1307 } 1308 @media (max-width: 1199px) { 1309 .koba-nav-list.koba-nav-compact .koba-nav-link { 1310 font-size: 9px; 1311 padding-left: 3px; 1312 padding-right: 3px; 1313 } 1314 .koba-nav-list.koba-nav-very-compact .koba-nav-link { 1315 font-size: 8px; 1316 padding-left: 2px; 1317 padding-right: 2px; 1318 } 1319 } 1320 </style> 1321 <meta name="generator" content="Koba Civique By Hob" /> 1322<style id="koba-category-colors"> 1323.color-vie-citoyenne { background-color: #d635b6 !important; } 1324.agenda-color-communaute-de-communes { background-color: #1046ce !important; } 1325.agenda-color-communaut-de-communes { background-color: #1046ce !important; } 1326</style> 1327<style id='koba-options-css'> 1328.koba-newsletter, .koba-option-newsletter, [data-koba-option="newsletter"] { display: none !important; } 1329.koba-rss, .koba-option-rss, [data-koba-option="rss"] { display: none !important; }
1330.koba-video_slider, .koba-option-video_slider, [data-koba-option="video_slider"] { display: none !important; } 1331.koba-payfip, .koba-option-payfip, [data-koba-option="payfip"] { display: none !important; } 1332.koba-fichiers, .koba-option-fichiers, [data-koba-option="fichiers"] { display: none !important; } 1333.koba-municipal, .koba-option-municipal, [data-koba-option="municipal"] { display: none !important; } 1334.koba-app_citoyen, .koba-option-app_citoyen, [data-koba-option="app_citoyen"] { display: none !important; } 1335.koba-alertes, .koba-option-alertes, [data-koba-option="alertes"] { display: none !important; } 1336.koba-franceconnect, .koba-option-franceconnect, [data-koba-option="franceconnect"] { display: none !important; } 1337.koba-voisinvigilant, .koba-option-voisinvigilant, [data-koba-option="voisinvigilant"] { display: none !important; } 1338.koba-actes, .koba-option-actes, [data-koba-option="actes"] { display: none !important; } 1339.koba-affichage_dynamique, .koba-option-affichage_dynamique, [data-koba-option="affichage_dynamique"] { display: none !important; } 1340.koba-rgpd_avance, .koba-option-rgpd_avance, [data-koba-option="rgpd_avance"] { display: none !important; } 1341.koba-multi_langues, .koba-option-multi_langues, [data-koba-option="multi_langues"] { display: none !important; } 1342.koba-carte_dynamique, .koba-option-carte_dynamique, [data-koba-option="carte_dynamique"] { display: none !important; } 1343.koba-reservation_salles, .koba-option-reservation_salles, [data-koba-option="reservation_salles"] { display: none !important; } 1344.koba-locaux_pro, .koba-option-locaux_pro, [data-koba-option="locaux_pro"] { display: none !important; } 1345.koba-statistiques, .koba-option-statistiques, [data-koba-option="statistiques"] { display: none !important; } 1346.koba-courrier, .koba-option-courrier, [data-koba-option="courrier"] { display: none !important; } 1347.koba-panneaupocket_iframe, .koba-option-panneaupocket_iframe, [data-koba-option="panneaupocket_iframe"] { display: none !important; } 1348.koba-panneaupocket_api, .koba-option-panneaupocket_api, [data-koba-option="panneaupocket_api"] { display: none !important; } 1349.koba-espace_collaboratif, .koba-option-espace_collaboratif, [data-koba-option="espace_collaboratif"] { display: none !important; } 1350.koba-actu_association, .koba-option-actu_association, [data-koba-option="actu_association"] { display: none !important; } 1351.koba-billetterie, .koba-option-billetterie, [data-koba-option="billetterie"] { display: none !important; } 1352.koba-accessibilite, .koba-option-accessibilite, [data-koba-option="accessibilite"] { display: none !important; } 1353.koba-espace_citoyen, .koba-option-espace_citoyen, [data-koba-option="espace_citoyen"] { display: none !important; } 1354.koba-visio_conference, .koba-option-visio_conference, [data-koba-option="visio_conference"] { display: none !important; } 1355.koba-apidae, .koba-option-apidae, [data-koba-option="apidae"] { display: none !important; } 1356.koba-prise_rdv, .koba-option-prise_rdv, [data-koba-option="prise_rdv"] { display: none !important; } 1357.koba-marche_public, .koba-option-marche_public, [data-koba-option="marche_public"] { display: none !important; } 1358.koba-portail_famille, .koba-option-portail_famille, [data-koba-option="portail_famille"] { display: none !important; } 1359.koba-webcam, .koba-option-webcam, [data-koba-option="webcam"] { display: none !important; } 1360.koba-reseaux_sociaux, .koba-option-reseaux_sociaux, [data-koba-option="reseaux_sociaux"] { display: none !important; } 1361.koba-archives_opendata, .koba-option-archives_opendata, [data-koba-option="archives_opendata"] { display: none !important; } 1362.koba-encombrants_dechets, .koba-option-encombrants_dechets, [data-koba-option="encombrants_dechets"] { display: none !important; } 1363.koba-zapette, .koba-option-zapette, [data-koba-option="zapette"] { display: none !important; } 1364.koba-flipbook, .koba-option-flipbook, [data-koba-option="flipbook"] { display: none !important; } 1365.koba-extranet_commissions, .koba-option-extranet_commissions, [data-koba-option="extranet_commissions"] { display: none !important; } 1366.koba-sms_alerte, .koba-option-sms_alerte, [data-koba-option="sms_alerte"] { display: none !important; } 1367.koba-recherche_avancee, .koba-option-recherche_avancee, [data-koba-option="recherche_avancee"] { display: none !important; } 1368</style> 1369</head> 1370 1371<body class="archive post-type-archive post-type-archive-annuaire wp-theme-hob-koba-civique site-id-52 koba-has-campaign koba-has-chat koba-has-survey"> 1372 <style> 1373 #koba-upsell-banner { 1374 display: none; /* révélé par JS uniquement en mode PWA standalone */ 1375 align-items: flex-start; 1376 gap: 10px; 1377 background: #127ec2; 1378 color: #fff; 1379 padding: calc(10px + env(safe-area-inset-top)) 14px 10px; 1380 font-family: inherit; 1381 font-size: .82rem; 1382 line-height: 1.4; 1383 } 1384 #koba-upsell-banner.koba-upsell-visible { display: flex; 1385 z-index: 2147483647; 1386 position: relative; } 1387 #koba-upsell-banner .kub-text { flex: 1; min-width: 0; } 1388 #koba-upsell-banner .kub-close { 1389 background: rgba(255,255,255,.18); 1390 border: none; 1391 color: #fff; 1392 font-size: .95rem; 1393 line-height: 1; 1394 cursor: pointer; 1395 padding: 6px 9px; 1396 border-radius: 6px; 1397 flex-shrink: 0; 1398 } 1399 #koba-upsell-banner .kub-close:hover { background: rgba(255,255,255,.3); } 1400 </style> 1401 1402 <div id="koba-upsell-banner" role="alert">
1403 <span class="kub-text">Dommage! Votre Mairie n'a pas encore souscrit à l'Application Citoyenne afin de vous proposer une interface optimisée pour mobile, nous les contactons!</span> 1404 <button class="kub-close" id="koba-upsell-close" aria-label="Fermer">✕</button> 1405 </div> 1406 1407
1407<script> 1408 (function() { 1409 var isPwa = window.matchMedia('(display-mode: standalone)').matches 1410 || window.navigator.standalone === true; 1411 if (!isPwa) return; // â retirer cette ligne pour afficher aussi dans le navigateur 1412 1413 var KEY = 'koba_upsell_closed'; 1414 if (localStorage.getItem(KEY) === '1') return; 1415 1416 function show() { 1417 var b = document.getElementById('koba-upsell-banner'); 1418 if (!b) return; 1419 b.classList.add('koba-upsell-visible'); 1420 1421 // Comptage : 1 vue par session (ouverture de l'app) 1422 if (!sessionStorage.getItem('koba_upsell_counted')) { 1423 sessionStorage.setItem('koba_upsell_counted', '1'); 1424 var fd = new FormData(); 1425 fd.append('action', 'koba_upsell_view'); 1426 fetch('https://www.commune-nointel.fr/wp-admin/admin-ajax.php', { 1427 method: 'POST', body: fd, credentials: 'include' 1428 }).catch(function(){}); 1429 } 1430 1431 var c = document.getElementById('koba-upsell-close'); 1432 if (c) c.addEventListener('click', function() { 1433 b.classList.remove('koba-upsell-visible'); 1434 localStorage.setItem(KEY, '1'); 1435 }); 1436 } 1437 if (document.readyState !== 'loading') show(); 1438 else document.addEventListener('DOMContentLoaded', show); 1439 })(); 1440 </script>
1440 1441 1442<a class="skip-link visually-hidden-focusable" href="#main-content">Aller au contenu principal</a> 1443 1444<header class="koba-header" role="banner"> 1445 <!-- Container principal avec position relative --> 1446 <div class="koba-header-wrapper"> 1447 1448 <!-- Logo - couvre les deux barres --> 1449 <a href="https://www.commune-nointel.fr/" class="koba-logo"> 1450 <img src="https://www.commune-nointel.fr/wp-content/uploads/sites/52/2026/08/LOGO-1.jpg" alt="MAIRIE DE NOINTEL - Accueil"> 1451 </a> 1452 1453 <!-- Barre supérieure (orange) --> 1454 <div class="koba-topbar"> 1455 <div class="koba-topbar-inner"> 1456 <!-- Hamburger (mobile uniquement) --> 1457 <button class="koba-hamburger" id="koba-hamburger" aria-label="Menu"> 1458 <span></span> 1459 <span></span> 1460 <span></span> 1461 </button> 1462 1463 <!-- Menu secondaire gauche (desktop) --> 1464 <nav class="koba-topbar-menu"> 1465 <ul class="koba-topbar-list"> 1466 <li class="menu-item menu-item-type-post_type menu-item-object-page"> 1467 <a href="https://www.commune-nointel.fr/">ACCUEIL</a> 1468 </li> 1469 <li class="menu-item menu-item-type-post_type menu-item-object-page"> 1470 <a href="https://www.commune-nointel.fr/annuaire/">ANNUAIRE</a> 1471 </li> 1472 <li class="menu-item menu-item-type-post_type menu-item-object-page"> 1473 <a href="https://www.commune-nointel.fr/contact/">NOUS CONTACTER</a> 1474 </li> 1475 <li class="menu-item menu-item-type-post_type menu-item-object-page"> 1476 <a href="https://www.commune-nointel.fr/emploi/">EMPLOI</a> 1477 </li> 1478 <li class="menu-item menu-item-type-post_type menu-item-object-page"> 1479 <a href="https://www.commune-nointel.fr/sondages/">SONDAGES</a> 1480 </li> 1481 </ul> 1482 </nav> 1483 1484 <!-- Lien droite (desktop) --> 1485 1486 1487 </div> 1488 </div> 1489 1490 <!-- Barre principale (bleu) --> 1491 <div class="koba-navbar"> 1492 <div class="koba-navbar-inner"> 1493 1494 <!-- Menu principal (desktop) --> 1495 <nav class="koba-main-nav" id="koba-main-nav"> 1496 1497 <ul class="koba-nav-list"> 1498 <li class="koba-nav-item has-megamenu"> 1499 <a href="#" class="koba-nav-link" data-megamenu="1238"> 1500 NOINTEL <svg class="koba-nav-arrow" width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false"> 1501 <path d="M6 9l6 6 6-6"/> 1502 </svg> 1503 </a> 1504 1505 <div class="koba-megamenu" id="megamenu-1238"> 1506 <div class="koba-megamenu-inner"> 1507 <div class="koba-megamenu-col1"></div> 1508 1509 <div class="koba-megamenu-col2"> 1510 <span class="koba-megamenu-title">NOINTEL</span> 1511 </div> 1512 1513 <div class="koba-megamenu-col3"> 1514 <ul class="koba-megamenu-list"> 1515 <li class="koba-megamenu-item "> 1516 <a href="https://www.commune-nointel.fr/articles/situation-chiffres-cles/" class="koba-megamenu-link"> 1517 Situation et Chiffres clés </a> 1518 1519 </li> 1520 <li class="koba-megamenu-item has-submenu"> 1521 <a href="#" class="koba-megamenu-link"> 1522 Histoire <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false"> 1523 <path d="M9 18l6-6-6-6"/> 1524 </svg> 1525 </a> 1526 1527 <ul class="koba-megamenu-sublist"> 1528 <li class=""> 1529 <a href="https://www.commune-nointel.fr/articles/nointel-a-travers-le-temps/"> 1530 Nointel à travers le temps </a> 1531 </li> 1532 <li class=""> 1533 <a href="https://www.commune-nointel.fr/articles/notre-patrimoine/"> 1534 Notre patrimoine </a> 1535 </li> 1536 </ul> 1537 </li> 1538 </ul> 1539 </div> 1540 1541 <div class="koba-megamenu-col4"></div> 1542 </div> 1543 </div> 1544 </li> 1545 <li class="koba-nav-item has-megamenu"> 1546 <a href="#" class="koba-nav-link" data-megamenu="1243"> 1547 LA MAIRIE <svg class="koba-nav-arrow" width="10" height="10" viewB
1547ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false"> 1548 <path d="M6 9l6 6 6-6"/> 1549 </svg> 1550 </a> 1551 1552 <div class="koba-megamenu" id="megamenu-1243"> 1553 <div class="koba-megamenu-inner"> 1554 <div class="koba-megamenu-col1"></div> 1555 1556 <div class="koba-megamenu-col2"> 1557 <span class="koba-megamenu-title">LA MAIRIE</span> 1558 </div> 1559 1560 <div class="koba-megamenu-col3"> 1561 <ul class="koba-megamenu-list"> 1562 <li class="koba-megamenu-item "> 1563 <a href="https://www.commune-nointel.fr/articles/vos-elus/" class="koba-megamenu-link"> 1564 Vos élus </a> 1565 1566 </li> 1567 <li class="koba-megamenu-item "> 1568 <a href="https://www.commune-nointel.fr/articles/le-conseil-municipal/" class="koba-megamenu-link"> 1569 Le conseil municipal </a> 1570 1571 </li> 1572 <li class="koba-megamenu-item "> 1573 <a href="https://www.commune-nointel.fr/articles/les-equipements-municipaux/" class="koba-megamenu-link"> 1574 Les équipements municipaux </a> 1575 1576 </li> 1577 <li class="koba-megamenu-item "> 1578 <a href="https://www.commune-nointel.fr/kiosks" class="koba-megamenu-link"> 1579 Bulletins municipaux </a> 1580 1581 </li> 1582 </ul> 1583 </div> 1584 1585 <div class="koba-megamenu-col4"></div> 1586 </div> 1587 </div> 1588 </li> 1589 <li class="koba-nav-item has-megamenu"> 1590 <a href="#" class="koba-nav-link" data-megamenu="1248"> 1591 VIVRE à NOINTEL <svg class="koba-nav-arrow" width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false"> 1592 <path d="M6 9l6 6 6-6"/> 1593 </svg> 1594 </a> 1595 1596 <div class="koba-megamenu" id="megamenu-1248"> 1597 <div class="koba-megamenu-inner"> 1598 <div class="koba-megamenu-col1"></div> 1599 1600 <div class="koba-megamenu-col2">
1601 <span class="koba-megamenu-title">VIVRE à NOINTEL</span> 1602 </div> 1603 1604 <div class="koba-megamenu-col3"> 1605 <ul class="koba-megamenu-list"> 1606 <li class="koba-megamenu-item has-submenu"> 1607 <a href="#" class="koba-megamenu-link"> 1608 Démarches administratives <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false"> 1609 <path d="M9 18l6-6-6-6"/> 1610 </svg> 1611 </a> 1612 1613 <ul class="koba-megamenu-sublist"> 1614 <li class="has-sub-submenu"> 1615 <a href="#"> 1616 Etat Civil <svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false"> 1617 <path d="M9 18l6-6-6-6"/> 1618 </svg> 1619 </a> 1620 <ul class="koba-megamenu-sub-sublist"> 1621 <li> 1622 <a href="https://www.commune-nointel.fr/articles/vous-souhaitez-vous-marier/"> 1623 Mariage </a> 1624 </li> 1625 <li> 1626 <a href="https://www.commune-nointel.fr/articles/vous-souhaitez-vous-pacser/"> 1627 PACS </a> 1628 </li> 1629 <li> 1630 <a href="https://www.commune-nointel.fr/articles/reconnaissance-d-un-enfant-couple-non-marie/"> 1631 Reconnaissance dâun enfant (couple non marié) </a> 1632 </li> 1633 <li> 1634 <a href="https://www.commune-nointel.fr/articles/livret-de-famille/"> 1635 Livret de Famille </a> 1636 </li> 1637 </ul> 1638 </li> 1639 <li class="has-sub-submenu"> 1640 <a href="#"> 1641 Elections <svg width="10" height="10" viewB
1641ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false"> 1642 <path d="M9 18l6-6-6-6"/> 1643 </svg> 1644 </a> 1645 <ul class="koba-megamenu-sub-sublist"> 1646 <li> 1647 <a href="https://www.commune-nointel.fr/articles/listes-electorales-demenagement-dans-la-commune-ou-hors-commune/"> 1648 Inscription sur les listes électorales </a> 1649 </li> 1650 <li> 1651 <a href="https://www.commune-nointel.fr/articles/listes-electorales-changement-d-adresse/"> 1652 Changement d'adresse </a> 1653 </li> 1654 <li> 1655 <a href="https://www.commune-nointel.fr/articles/interrogez-en-ligne-votre-situation-electorale/"> 1656 Interroger sa situation électorale </a> 1657 </li> 1658 <li> 1659 <a href="https://www.commune-nointel.fr/articles/voter-par-procuration/"> 1660 Voter par procuration </a> 1661 </li> 1662 </ul> 1663 </li> 1664 <li class="has-sub-submenu"> 1665 <a href="#"> 1666 Affaires Générales <svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false"> 1667 <path d="M9 18l6-6-6-6"/> 1668 </svg> 1669 </a> 1670 <ul class="koba-megamenu-sub-sublist"> 1671 <li> 1672 <a href="https://www.commune-nointel.fr/articles/carte-nationale-d-identite-passeport/"> 1673 Carte Nationale dâIdentité / Passeport </a> 1674 </li> 1675 <li> 1676 <a href="https://www.commune-nointel.fr/articles/recensement-citoyen-et-militaire/"> 1677 Recensement Citoyen et Militaire </a> 1678 </li> 1679 <li> 1680 <a href="https://www.commune-nointel.fr/articles/certificat-d-heredite/"> 1681 Certificat dâhérédité </a> 1682 </li> 1683 <li> 1684 <a href="https://www.commune-nointel.fr/articles/certificat-d-immatriculation-permis-de-conduire/"> 1685 Certificat dâimmatriculation / Permis de conduire </a> 1686 </li> 1687 </ul> 1688 </li> 1689 <li class="has-sub-submenu"> 1690 <a href="#"> 1691 Cimetière <svg width="10" height="10" viewB
1691ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false"> 1692 <path d="M9 18l6-6-6-6"/> 1693 </svg> 1694 </a> 1695 <ul class="koba-megamenu-sub-sublist"> 1696 <li> 1697 <a href="https://www.commune-nointel.fr/articles/tarifs-des-concessions-cimetiere-et-columbarium/"> 1698 Tarifs des concessions cimetière et columbarium </a> 1699 </li> 1700 </ul> 1701 </li> 1702 </ul> 1703 </li> 1704 <li class="koba-megamenu-item has-submenu"> 1705 <a href="#" class="koba-megamenu-link"> 1706 Enfance & éducation <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false"> 1707 <path d="M9 18l6-6-6-6"/> 1708 </svg> 1709 </a> 1710 1711 <ul class="koba-megamenu-sublist"> 1712 <li class=""> 1713 <a href="https://www.commune-nointel.fr/articles/ecole/"> 1714 Ãcole Christian Koehler </a> 1715 </li> 1716 <li class=""> 1717 <a href="https://www.commune-nointel.fr/articles/restaurant-scolaire/"> 1718 Restaurant scolaire </a> 1719 </li> 1720 <li class=""> 1721 <a href="https://www.commune-nointel.fr/articles/periscolaire/"> 1722 Périscolaire </a> 1723 </li> 1724 <li class=""> 1725 <a href="https://www.commune-nointel.fr/articles/portail-famille/"> 1726 Portail Famille </a> 1727 </li> 1728 </ul> 1729 </li> 1730 <li class="koba-megamenu-item has-submenu"> 1731 <a href="#" class="koba-megamenu-link"> 1732 Environnement <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false"> 1733 <path d="M9 18l6-6-6-6"/> 1734 </svg> 1735 </a> 1736 1737 <ul class="koba-megamenu-sublist"> 1738 <li class=""> 1739 <a href="https://www.commune-nointel.fr/articles/l-intercommunalite/"> 1740 L'intercommunalité </a> 1741 </li> 1742 <li class=""> 1743 <a href="https://www.commune-nointel.fr/articles/le-smdo/"> 1744 Le SMDO </a> 1745 </li> 1746 <li class=""> 1747 <a href="https://www.commune-nointel.fr/articles/dechets/"> 1748 Les déchets </a> 1749 </li> 1750 <li class=""> 1751 <a href="https://www.commune-nointel.fr/articles/voisinage-et-bruits/"> 1752 Voisinage et bruit </a> 1753 </li> 1754 <li class=""> 1755 <a href="https://www.commune-nointel.fr/articles/urbanisme/"> 1756 Urbanisme </a> 1757 </li> 1758 <li class=""> 1759 <a href="https://www.commune-nointel.fr/articles/securite/"> 1760 Sécurité </a> 1761 </li> 1762 <li class=""> 1763 <a href="https://www.commune-nointel.fr/articles/tres-haut-debit/"> 1764 Très Haut Débit </a> 1765 </li> 1766 </ul> 1767 </li> 1768 <li class="koba-megamenu-item has-submenu"> 1769 <a href="#" class="koba-megamenu-link"> 1770 Transports <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false"> 1771 <path d="M9 18l6-6-6-6"/> 1772 </svg> 1773 </a> 1774 1775 <ul class="koba-megamenu-sublist"> 1776 <li class=""> 1777 <a href="https://www.commune-nointel.fr/articles/permis-de-conduire/"> 1778 Permis de conduire </a> 1779 </li> 1780 <li class=""> 1781 <a href="https://www.commune-nointel.fr/articles/trains/"> 1782 Trains </a> 1783 </li> 1784 <li class=""> 1785 <a href="https://www.commune-nointel.fr/articles/bus/"> 1786 Cars </a> 1787 </li> 1788 <li class=""> 1789 <a href="https://www.commune-nointel.fr/articles/transport-a-la-demande/"> 1790 Le Bus du Clermontois </a> 1791 </li> 1792 <li class=""> 1793 <a href="https://www.commune-nointel.fr/articles/taxi/"> 1794 Taxis </a> 1795 </li> 1796 </ul> 1797 </li> 1798 </ul> 1799 </div> 1800 1801 <div class="koba-megamenu-col4"></div> 1802 </div> 1803 </div> 1804 </li> 1805 <li class="koba-nav-item has-megamenu"> 1806 <a href="#" class="koba-nav-link" data-megamenu="1286"> 1807 VIE ÃCONOMIQUE & ASSOCIATIVE <svg class="koba-nav-arrow" width="10" height="10" viewB
1807ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false"> 1808 <path d="M6 9l6 6 6-6"/> 1809 </svg> 1810 </a> 1811 1812 <div class="koba-megamenu" id="megamenu-1286"> 1813 <div class="koba-megamenu-inner"> 1814 <div class="koba-megamenu-col1"></div> 1815 1816 <div class="koba-megamenu-col2"> 1817 <span class="koba-megamenu-title">VIE ÃCONOMIQUE & ASSOCIATIVE</span> 1818 </div> 1819 1820 <div class="koba-megamenu-col3"> 1821 <ul class="koba-megamenu-list"> 1822 <li class="koba-megamenu-item "> 1823 <a href="https://www.commune-nointel.fr/articles/marches-publics/" class="koba-megamenu-link"> 1824 Marchés publics </a> 1825 1826 </li> 1827 <li class="koba-megamenu-item "> 1828 <a href="https://www.commune-nointel.fr/articles/les-artisans-de-nointel/" class="koba-megamenu-link"> 1829 Les artisans de Nointel </a> 1830 1831 </li> 1832 <li class="koba-megamenu-item "> 1833 <a href="https://www.commune-nointel.fr/articles/les-commercants/" class="koba-megamenu-link"> 1834 Les commerçants </a> 1835 1836 </li> 1837 <li class="koba-megamenu-item "> 1838 <a href="https://www.commune-nointel.fr/articles/les-associations-de-nointel/" class="koba-megamenu-link"> 1839 Les associations de Nointel </a> 1840 1841 </li> 1842 <li class="koba-megamenu-item "> 1843 <a href="https://www.commune-nointel.fr/articles/bibliotheque/" class="koba-megamenu-link"> 1844 La bibliothèque </a> 1845 1846 </li> 1847 </ul> 1848 </div> 1849 1850 <div class="koba-megamenu-col4"></div> 1851 </div> 1852 </div> 1853 </li> 1854 </ul> 1855 </nav> 1856 1857 <!-- Bouton recherche (carré) --> 1858 <button class="koba-search-toggle" id="koba-search-toggle" aria-label="Ouvrir la recherche" aria-expanded="false" aria-controls="koba-search-bar"> 1859 <svg class="koba-icon-search" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false"> 1860 <circle cx="11" cy="11" r="8"/> 1861 <path d="M21 21l-4.35-4.35"/> 1862 </svg> 1863 </button> 1864 1865 <!-- Barre de recherche --> 1866<div class="koba-search-bar" id="koba-search-bar"> 1867 <div class="koba-search-bar-inner"> 1868 <form role="search" method="get" action="https://www.commune-nointel.fr/" class="koba-search-form"> 1869 <label for="koba-search-input" class="visually-hidden">Rechercher sur le site</label> 1870 <input type="search" name="s" placeholder="Rechercher" class="koba-search-input" id="koba-search-input" value="" autocomplete="off"> 1871 <button type="submit" class="koba-search-submit" aria-label="Lancer la recherche"> 1872 <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false"> 1873 <circle cx="11" cy="11" r="8"/> 1874 <path d="M21 21l-4.35-4.35"/> 1875 </svg> 1876 </button> 1877 </form> 1878 <button class="koba-search-close" id="koba-search-close" aria-label="Fermer la recherche"> 1879 <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false"> 1880 <path d="M18 6L6 18M6 6l12 12"/> 1881 </svg> 1882 </button> 1883 </div> 1884</div> 1885 </div> 1886 </div> 1887 </div> 1888 1889 <!-- Menu mobile --> 1890 <div class="koba-mobile-menu" id="koba-mobile-menu"> 1891 <div class="koba-mobile-menu-inner"> 1892 <!-- Recherche mobile --> 1893 <div class="koba-mobile-search"> 1894 <form role="search" method="get" action="https://www.commune-nointel.fr/" class="koba-mobile-search-form"> 1895 <label for="koba-mobile-search-input" class="visually-hidden">Rechercher sur le site</label> 1896 <input type="search" name="s" id="koba-mobile-search-input" placeholder="Rechercher..." class="koba-mobile-search-input" value=""> 1897 <button type="submit" class="koba-mobile-search-submit" aria-label="Lancer la recherche"> 1898 <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false"> 1899 <circle cx="11" cy="11" r="8"/> 1900 <path d="M21 21l-4.35-4.35"/> 1901 </svg> 1902 </button> 1903 </form> 1904 </div> 1905 <nav class="koba-mobile-nav"><ul id="menu-menu-principal" class="koba-mobile-list"><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">NOINTEL</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu">
1905<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg></button></div><ul class="koba-mobile-submenu" data-depth="0"><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/situation-chiffres-cles/" class="koba-mobile-link">Situation et Chiffres clés</a></div></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">Histoire</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg></button></div><ul class="koba-mobile-submenu" data-depth="1"><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/nointel-a-travers-le-temps/" class="koba-mobile-link">Nointel à travers le temps</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/notre-patrimoine/" class="koba-mobile-link">Notre patrimoine</a></div></li></ul></li></ul></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">LA MAIRIE</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg></button></div><ul class="koba-mobile-submenu" data-depth="0"><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/vos-elus/" class="koba-mobile-link">Vos élus</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/le-conseil-municipal/" class="koba-mobile-link">Le conseil municipal</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/les-equipements-municipaux/" class="koba-mobile-link">Les équipements municipaux</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/kiosks" class="koba-mobile-link">Bulletins municipaux</a></div></li></ul></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">VIVRE à NOINTEL</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg></button></div><ul class="koba-mobile-submenu" data-depth="0"><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">Démarches administratives</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg></button></div><ul class="koba-mobile-submenu" data-depth="1"><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">Etat Civil</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg></button></div><ul class="koba-mobile-submenu" data-depth="2"><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/vous-souhaitez-vous-marier/" class="koba-mobile-link">Mariage</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/vous-souhaitez-vous-pacser/" class="koba-mobile-link">PACS</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/reconnaissance-d-un-enfant-couple-non-marie/" class="koba-mobile-link">Reconnaissance dâun enfant (couple non marié)</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner">
1905<a href="https://www.commune-nointel.fr/articles/livret-de-famille/" class="koba-mobile-link">Livret de Famille</a></div></li></ul></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">Elections</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg></button></div><ul class="koba-mobile-submenu" data-depth="2"><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/listes-electorales-demenagement-dans-la-commune-ou-hors-commune/" class="koba-mobile-link">Inscription sur les listes électorales</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/listes-electorales-changement-d-adresse/" class="koba-mobile-link">Changement d'adresse</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/interrogez-en-ligne-votre-situation-electorale/" class="koba-mobile-link">Interroger sa situation électorale</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/voter-par-procuration/" class="koba-mobile-link">Voter par procuration</a></div></li></ul></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">Affaires Générales</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg></button></div><ul class="koba-mobile-submenu" data-depth="2"><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/carte-nationale-d-identite-passeport/" class="koba-mobile-link">Carte Nationale dâIdentité / Passeport</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/recensement-citoyen-et-militaire/" class="koba-mobile-link">Recensement Citoyen et Militaire</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/certificat-d-heredite/" class="koba-mobile-link">Certificat dâhérédité</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/certificat-d-immatriculation-permis-de-conduire/" class="koba-mobile-link">Certificat dâimmatriculation / Permis de conduire</a></div></li></ul></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">Cimetière</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg></button></div><ul class="koba-mobile-submenu" data-depth="2"><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/tarifs-des-concessions-cimetiere-et-columbarium/" class="koba-mobile-link">Tarifs des concessions cimetière et columbarium</a></div></li></ul></li></ul></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">Enfance & éducation</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg></button></div><ul class="koba-mobile-submenu" data-depth="1"><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/ecole/" class="koba-mobile-link">Ãcole Christian Koehler</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/restaurant-scolaire/" class="koba-mobile-link">Restaurant scolaire</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/periscolaire/" class="koba-mobile-link">Périscolaire</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/portail-famille/" class="koba-mobile-link">Portail Famille</a></div></li></ul></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">Environnement</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu">
1905<svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg></button></div><ul class="koba-mobile-submenu" data-depth="1"><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/l-intercommunalite/" class="koba-mobile-link">L'intercommunalité</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/le-smdo/" class="koba-mobile-link">Le SMDO</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/dechets/" class="koba-mobile-link">Les déchets</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/voisinage-et-bruits/" class="koba-mobile-link">Voisinage et bruit</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/urbanisme/" class="koba-mobile-link">Urbanisme</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/securite/" class="koba-mobile-link">Sécurité</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/tres-haut-debit/" class="koba-mobile-link">Très Haut Débit</a></div></li></ul></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">Transports</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg></button></div><ul class="koba-mobile-submenu" data-depth="1"><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/permis-de-conduire/" class="koba-mobile-link">Permis de conduire</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/trains/" class="koba-mobile-link">Trains</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/bus/" class="koba-mobile-link">Cars</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/transport-a-la-demande/" class="koba-mobile-link">Le Bus du Clermontois</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/taxi/" class="koba-mobile-link">Taxis</a></div></li></ul></li></ul></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">VIE ÃCONOMIQUE & ASSOCIATIVE</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M6 9l6 6 6-6"/></svg></button></div><ul class="koba-mobile-submenu" data-depth="0"><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/marches-publics/" class="koba-mobile-link">Marchés publics</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/les-artisans-de-nointel/" class="koba-mobile-link">Les artisans de Nointel</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/les-commercants/" class="koba-mobile-link">Les commerçants</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/les-associations-de-nointel/" class="koba-mobile-link">Les associations de Nointel</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.commune-nointel.fr/articles/bibliotheque/" class="koba-mobile-link">La bibliothèque</a></div></li></ul></li></ul></nav> 1906 <nav class="koba-mobile-secondary"> 1907 <ul class="koba-topbar-list"> 1908 <li class="menu-item menu-item-type-post_type menu-item-object-page"> 1909 <a href="https://www.commune-nointel.fr/">ACCUEIL</a> 1910 </li> 1911 <li class="menu-item menu-item-type-post_type menu-item-object-page"> 1912 <a href="https://www.commune-nointel.fr/annuaire/">ANNUAIRE</a> 1913 </li> 1914 <li class="menu-item menu-item-type-post_type menu-item-object-page"> 1915 <a href="https://www.commune-nointel.fr/contact/">NOUS CONTACTER</a> 1916 </li> 1917 <li class="menu-item menu-item-type-post_type menu-item-object-page"> 1918 <a href="https://www.commune-nointel.fr/emploi/">EMPLOI</a> 1919 </li> 1920 <li class="menu-item menu-item-type-post_type menu-item-object-page"> 1921 <a href="https://www.commune-nointel.fr/sondages/">SONDAGES</a> 1922 </li> 1923 </ul> 1924 </nav> 1925 </div> 1926 </div><!-- Overlay résultats recherche --> 1927<div class="koba-search-overlay" id="koba-search-overlay"></div> 1928</header> 1929 1930<!-- Spacer pour compenser le header fixe --> 1931<div class="koba-header-spacer"></div> 1932 1933<!-- Overlay --> 1934<div class="koba-overlay" id="koba-overlay"></div> 1935 <div class="modal fade" id="exampleModal" tabindex="-1" aria-hidden="true" aria-labelledby="exampleModalTitle" role="dialog"> 1936 <div class="modal-dialog"> 1937 <div class="modal-content"> 1938 1939 <div class="modal-header"> 1940 <h5 class="modal-title" id="exampleModalTitle">SUIVEZ L'ACTU</h5> 1941 <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Fermer"></button> 1942 </div> 1943 1944 <div class="modal-body"> 1945 <p>* Champs obligatoires</p> 1946 <style> 1947 .koba-form-inscription { 1948 background: #fff; 1949 padding: 30px; 1950 border-radius: 12px; 1951 box-shadow: 0 4px 20px rgba(0,0,0,0.08); 1952 max-width: 700px; 1953 margin: 0 auto; 1954 } 1955 .koba-form-inscription h3 { 1956 margin: 0 0 25px; 1957 padding-bottom: 15px; 1958 border-bottom: 3px solid var(--koba-primary, #209bbc); 1959 color: #1a1a2e; 1960 font-size: 1.5em; 1961 } 1962 .koba-form-section { 1963 margin-bottom: 25px; 1964 padding-bottom: 20px; 1965 border-bottom: 1px solid #eee; 1966 } 1967 .koba-form-section:last-of-type { 1968 border-bottom: none; 1969 margin-bottom: 15px; 1970 } 1971 .koba-form-section-title { 1972 font-weight: 600; 1973 color: var(--koba-primary, #209bbc); 1974 margin-bottom: 15px; 1975 font-size: 14px; 1976 text-transform: uppercase; 1977 letter-spacing: 0.5px; 1978 } 1979 .koba-form-row { 1980 display: flex; 1981 gap: 15px; 1982 margin-bottom: 15px; 1983 } 1984 .koba-form-field { 1985 flex: 1; 1986 } 1987 .koba-form-field.full { 1988 flex: 0 0 100%; 1989 } 1990 .koba-form-field label { 1991 display: block; 1992 font-weight: 500; 1993 margin-bottom: 6px; 1994 color: #333; 1995 font-size: 14px; 1996 } 1997 .koba-form-field label .req { 1998 color: #d63638; 1999 } 2000 .koba-form-field input, 2001 .koba-form-field select, 2002 .koba-form-field textarea { 2003 width: 100%; 2004 padding: 12px 15px; 2005 border: 1px solid #ddd; 2006 border-radius: 6px; 2007 font-size: 14px; 2008 transition: border-color 0.2s, box-shadow 0.2s; 2009 box-sizing: border-box; 2010 } 2011 .koba-form-field input:focus, 2012 .koba-form-field select:focus, 2013 .koba-form-field textarea:focus { 2014 outline: none; 2015 border-color: var(--koba-primary, #209bbc);
2016 box-shadow: 0 0 0 3px rgba(32, 155, 188, 0.1); 2017 } 2018 .koba-form-field textarea { 2019 min-height: 80px; 2020 resize: vertical; 2021 } 2022 .koba-form-checkbox { 2023 display: flex; 2024 align-items: flex-start; 2025 gap: 10px; 2026 padding: 12px 15px; 2027 background: #f8f9fa; 2028 border-radius: 6px; 2029 margin-bottom: 10px; 2030 cursor: pointer; 2031 transition: background 0.2s; 2032 } 2033 .koba-form-checkbox:hover { 2034 background: #e9ecef; 2035 } 2036 .koba-form-checkbox input[type="checkbox"] { 2037 width: 20px; 2038 height: 20px; 2039 margin-top: 2px; 2040 cursor: pointer; 2041 accent-color: var(--koba-primary, #209bbc); 2042 } 2043 .koba-form-checkbox span { 2044 font-size: 14px; 2045 color: #333; 2046 line-height: 1.5; 2047 } 2048 .koba-form-submit { 2049 text-align: center; 2050 margin-top: 25px; 2051 } 2052 .koba-form-submit button { 2053 background: var(--koba-primary, #209bbc); 2054 color: #fff; 2055 border: none; 2056 padding: 15px 50px; 2057 font-size: 16px; 2058 font-weight: 600; 2059 border-radius: 8px; 2060 cursor: pointer; 2061 transition: all 0.3s; 2062 text-transform: uppercase; 2063 letter-spacing: 0.5px; 2064 } 2065 .koba-form-submit button:hover { 2066 background: var(--koba-secondary, #faaf00); 2067 transform: translateY(-2px); 2068 box-shadow: 0 4px 15px rgba(0,0,0,0.15); 2069 } 2070 .koba-form-submit button:disabled { 2071 background: #ccc; 2072 cursor: not-allowed; 2073 transform: none; 2074 box-shadow: none; 2075 } 2076 .koba-form-message { 2077 padding: 15px 20px; 2078 border-radius: 8px; 2079 margin-bottom: 20px; 2080 display: none; 2081 } 2082 .koba-form-message.success { 2083 background: #d4edda; 2084 color: #155724; 2085 border: 1px solid #c3e6cb; 2086 display: block; 2087 } 2088 .koba-form-message.error { 2089 background: #f8d7da; 2090 color: #721c24; 2091 border: 1px solid #f5c6cb; 2092 display: block; 2093 } 2094 .koba-form-loading { 2095 display: none; 2096 text-align: center; 2097 padding: 40px; 2098 } 2099 .koba-form-loading.active { 2100 display: block; 2101 } 2102 .koba-spinner { 2103 width: 40px; 2104 height: 40px; 2105 border: 4px solid #f3f3f3;
2106 border-top: 4px solid var(--koba-primary, #209bbc); 2107 border-radius: 50%; 2108 animation: koba-spin 1s linear infinite; 2109 margin: 0 auto 15px; 2110 } 2111 @keyframes koba-spin { 2112 0% { transform: rotate(0deg); } 2113 100% { transform: rotate(360deg); } 2114 } 2115 .koba-form-success { 2116 display: none; 2117 text-align: center; 2118 padding: 40px 20px; 2119 } 2120 .koba-form-success.active { 2121 display: block; 2122 } 2123 .koba-form-success .success-icon { 2124 width: 80px; 2125 height: 80px; 2126 background: #d4edda; 2127 border-radius: 50%; 2128 display: flex; 2129 align-items: center; 2130 justify-content: center; 2131 margin: 0 auto 20px; 2132 } 2133 .koba-form-success .success-icon svg { 2134 width: 40px; 2135 height: 40px; 2136 color: #28a745; 2137 } 2138 .koba-form-success h4 { 2139 color: #28a745; 2140 margin: 0 0 10px; 2141 font-size: 1.5em; 2142 } 2143 .koba-form-success p { 2144 color: #666; 2145 margin: 0; 2146 } 2147 .koba-recaptcha-badge { 2148 font-size: 11px; 2149 color: #999; 2150 text-align: center; 2151 margin-top: 15px; 2152 } 2153 .koba-recaptcha-badge a { 2154 color: #999; 2155 } 2156 /* Masquer le badge reCAPTCHA flottant de Google */ 2157 .grecaptcha-badge { 2158 visibility: hidden !important; 2159 } 2160 @media (max-width: 600px) { 2161 .koba-form-inscription { 2162 padding: 20px; 2163 } 2164 .koba-form-row { 2165 flex-direction: column; 2166 gap: 0; 2167 } 2168 .koba-form-field { 2169 margin-bottom: 15px; 2170 } 2171 } 2172 2173 /* RGAA 11.10 / 11.11 - etat d'erreur (visible uniquement si erreur) */ 2174 .koba-form-inscription .koba-field-error { 2175 display: none; 2176 color: #b3261e; 2177 font-size: 13px; 2178 line-height: 1.4; 2179 margin-top: 6px; 2180 } 2181 .koba-form-inscription .koba-field-error.show { 2182 display: block; 2183 } 2184 .koba-form-inscription [aria-invalid="true"] { 2185 border-color: #b3261e !important; 2186 box-shadow: 0 0 0 1px #b3261e; 2187 } 2188 </style>
vendor: 130 bytes, lines 2188-2190
2188 2189 2190 <script type="text/plain" data-hob-service="recaptcha" data-hob-src="https://www.google.com/recaptcha/api.js?render=
21906LfpWE8sAAAAAMNvA5IHMVC9s8ybd0iZdpyOu28l
vendor: 25 bytes, lines 2190-2192
2190"></script> 2191 2192
2192<div class="koba-form-inscription" id="koba-inscription-form"> 2193 <div class="koba-form-message" id="koba-form-message" role="status" aria-live="polite" aria-atomic="true"></div> 2194 2195 <div class="koba-form-loading" id="koba-form-loading"> 2196 <div class="koba-spinner"></div> 2197 <p>Envoi en cours...</p> 2198 </div> 2199 2200 <div class="koba-form-success" id="koba-form-success" role="status" aria-live="polite" tabindex="-1"> 2201 <div class="success-icon"> 2202 <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> 2203 <polyline points="20 6 9 17 4 12"></polyline> 2204 </svg> 2205 </div> 2206 <h4>Inscription réussie !</h4> 2207 <p id="koba-success-text">Merci pour votre inscription.</p> 2208 </div> 2209 2210 <form id="koba-citizen-form" style="display:block;"> 2211 <input type="hidden" id="koba_inscription_nonce" name="koba_inscription_nonce" value="37d8c00c3c" /><input type="hidden" name="_wp_http_referer" value="/annuaire/" /> <input type="hidden" name="recaptcha_token" id="recaptcha_token" value=""> 2212 2213 <!-- IDENTITà --> 2214 <div class="koba-form-section"> 2215 <div class="koba-form-section-title">Identité</div> 2216 2217 <div class="koba-form-row"> 2218 <div class="koba-form-field"> 2219 <label for="koba-ins-gender">Civilité</label> 2220 <select id="koba-ins-gender" name="gender"> 2221 <option value="0">Monsieur</option> 2222 <option value="1">Madame</option> 2223 </select> 2224 </div> 2225 <div class="koba-form-field"> 2226 <label for="koba-ins-birthdate">Date de naissance</label> 2227 <input type="date" id="koba-ins-birthdate" name="birthdate"> 2228 </div> 2229 </div> 2230 2231 <div class="koba-form-row"> 2232 <div class="koba-form-field"> 2233 <label for="koba-ins-lastname">Nom</label> 2234 <input type="text" id="koba-ins-lastname" name="lastname" autocomplete="family-name" placeholder="Votre nom"> 2235 </div> 2236 <div class="koba-form-field"> 2237 <label for="koba-ins-firstname">Prénom</label> 2238 <input type="text" id="koba-ins-firstname" name="firstname" autocomplete="given-name" placeholder="Votre prénom"> 2239 </div> 2240 </div> 2241 </div> 2242 2243 <!-- ADRESSE --> 2244 <div class="koba-form-section"> 2245 <div class="koba-form-section-title">Adresse</div> 2246 2247 <div class="koba-form-row"> 2248 <div class="koba-form-field full"> 2249 <label for="koba-ins-address">Adresse</label> 2250 <textarea id="koba-ins-address" name="address" rows="2" autocomplete="street-address" placeholder="Numéro et nom de rue"></textarea> 2251 </div> 2252 </div> 2253 2254 <div class="koba-form-row"> 2255 <div class="koba-form-field"> 2256 <label for="koba-ins-zipcode">Code postal</label> 2257 <input type="text" id="koba-ins-zipcode" name="zipcode" autocomplete="postal-code" placeholder="38000"> 2258 </div> 2259 <div class="koba-form-field"> 2260 <label for="koba-ins-city">Ville</label> 2261 <input type="text" id="koba-ins-city" name="city" autocomplete="address-level2" placeholder="Votre ville"> 2262 </div> 2263 <div class="koba-form-field"> 2264 <label for="koba-ins-country">Pays</label> 2265 <input type="text" id="koba-ins-country" name="country" autocomplete="country-name" placeholder="France" value="France"> 2266 </div> 2267 </div> 2268 </div> 2269 2270 <!-- CONTACT --> 2271 <div class="koba-form-section"> 2272 <div class="koba-form-section-title">Contact</div> 2273 2274 <div class="koba-form-row"> 2275 <div class="koba-form-field"> 2276 <label for="koba-ins-phone">Téléphone</label> 2277 <input type="tel" id="koba-ins-phone" name="phone" autocomplete="tel" placeholder="06 00 00 00 00"> 2278 </div> 2279 <div class="koba-form-field"> 2280 <label for="koba-ins-fax">Fax</label> 2281 <input type="tel" id="koba-ins-fax" name="fax" placeholder="04 00 00 00 00"> 2282 </div> 2283 </div> 2284 2285 <div class="koba-form-row"> 2286 <div class="koba-form-field full"> 2287 <label for="koba-ins-email">Email <span class="req">*</span></label> 2288 <input type="email" id="koba-ins-email" name="email" autocomplete="email" placeholder="[email protected]" required aria-required="true" aria-describedby="koba-ins-email-error">
2289 <span class="koba-field-error" id="koba-ins-email-error"></span> 2290 </div> 2291 </div> 2292 </div> 2293 2294 <!-- PRÃFÃRENCES --> 2295 <div class="koba-form-section"> 2296 <div class="koba-form-section-title">Préférences de communication</div> 2297 2298 <label class="koba-form-checkbox"> 2299 <input type="checkbox" name="sms_newsletter" value="1"> 2300 <span>Je souhaite recevoir des informations par SMS</span> 2301 </label> 2302 2303 <label class="koba-form-checkbox"> 2304 <input type="checkbox" name="email_newsletter" value="1" checked> 2305 <span>Je souhaite recevoir la newsletter par email</span> 2306 </label> 2307 </div> 2308 2309 <div class="koba-form-submit"> 2310 <button type="submit" id="koba-submit-btn">S'inscrire</button> 2311 </div> 2312 2313 <div class="koba-recaptcha-badge"> 2314 Ce site est protégé par reCAPTCHA. 2315 <a href="https://policies.google.com/privacy" target="_blank">Politique de confidentialité</a> et 2316 <a href="https://policies.google.com/terms" target="_blank">Conditions d'utilisation</a> de Google. 2317 </div> 2318 </form> 2319 </div> 2320 2321
2321<script> 2322 (function() { 2323 var form = document.getElementById('koba-citizen-form'); 2324 var message = document.getElementById('koba-form-message'); 2325 var loading = document.getElementById('koba-form-loading'); 2326 var success = document.getElementById('koba-form-success'); 2327 var submitBtn = document.getElementById('koba-submit-btn'); 2328 var recaptchaActive = true; 2329 var siteKey = '6LfpWE8sAAAAAMNvA5IHMVC9s8ybd0iZdpyOu28l'; 2330 2331 if (!form) return; 2332 2333 // --- RGAA 11.10 / 11.11 : validation accessible --- 2334 function clearInsError(fieldId, errorId) { 2335 var f = document.getElementById(fieldId); 2336 var er = document.getElementById(errorId); 2337 if (er) { er.textContent = ''; er.classList.remove('show'); } 2338 if (f) { f.removeAttribute('aria-invalid'); } 2339 } 2340 ['koba-ins-email','koba-ins-rgpd'].forEach(function(id){ 2341 var el = document.getElementById(id); 2342 if (el) { 2343 el.addEventListener('input', function(){ clearInsError(id, id + '-error'); }); 2344 el.addEventListener('change', function(){ clearInsError(id, id + '-error'); }); 2345 } 2346 }); 2347 2348 form.addEventListener('submit', function(e) { 2349 e.preventDefault(); 2350 2351 // Reset 2352 message.className = 'koba-form-message'; 2353 message.style.display = 'none'; 2354 clearInsError('koba-ins-email', 'koba-ins-email-error'); 2355 clearInsError('koba-ins-rgpd', 'koba-ins-rgpd-error'); 2356 2357 // Validation accessible (messages par champ + suggestions) 2358 var firstInvalid = null; 2359 function fail(focusEl, errorId, msg) { 2360 var er = document.getElementById(errorId); 2361 if (er) { er.textContent = msg; er.classList.add('show'); } 2362 if (focusEl) { focusEl.setAttribute('aria-invalid', 'true'); if (!firstInvalid) firstInvalid = focusEl; } 2363 } 2364 2365 var emailEl = document.getElementById('koba-ins-email'); 2366 if (!emailEl.value.trim()) { 2367 fail(emailEl, 'koba-ins-email-error', 'Veuillez saisir votre adresse e-mail.'); 2368 } else if (!emailEl.checkValidity()) { 2369 fail(emailEl, 'koba-ins-email-error', "L'adresse e-mail n'est pas valide. Exemple attendu : [email protected]"); 2370 } 2371 2372 var rgpdEl = document.getElementById('koba-ins-rgpd'); 2373 if (rgpdEl && rgpdEl.required && !rgpdEl.checked) { 2374 fail(rgpdEl, 'koba-ins-rgpd-error', 'Vous devez accepter de recevoir la newsletter pour valider votre inscription.'); 2375 } 2376 2377 if (firstInvalid) { 2378 message.className = 'koba-form-message error'; 2379 message.textContent = 'Le formulaire contient des erreurs. Veuillez corriger les champs signales.'; 2380 message.style.display = 'block'; 2381 firstInvalid.focus(); 2382 return; 2383 } 2384 2385 // Disable button 2386 submitBtn.disabled = true; 2387 submitBtn.textContent = 'Vérification...'; 2388 2389 // reCAPTCHA v3 2390 if (recaptchaActive && siteKey && typeof grecaptcha !== 'undefined') { 2391 grecaptcha.ready(function() { 2392 grecaptcha.execute(siteKey, {action: 'inscription'}).then(function(token) { 2393 document.getElementById('recaptcha_token').value = token; 2394 submitForm(); 2395 }).catch(function(error) { 2396 console.error('reCAPTCHA error:', error); 2397 submitForm(); // Soumettre quand même si erreur reCAPTCHA 2398 }); 2399 }); 2400 } else { 2401 submitForm(); 2402 } 2403 }); 2404 2405 function submitForm() { 2406 // Show loading 2407 form.style.display = 'none'; 2408 loading.className = 'koba-form-loading active'; 2409 2410 // Prepare data 2411 var formData = new FormData(form); 2412 formData.append('action', 'koba_inscription_submit'); 2413 2414 // Send 2415 fetch('https://www.commune-nointel.fr/wp-admin/admin-ajax.php', { 2416 method: 'POST', 2417 body: formData 2418 }) 2419 .then(function(response) { return response.json(); }) 2420 .then(function(data) { 2421 loading.className = 'koba-form-loading'; 2422 2423 if (data.success) { 2424 success.className = 'koba-form-success active'; 2425 if (data.data && data.data.message) { 2426 document.getElementById('koba-success-text').textContent = data.data.message; 2427 } 2428 try { success.focus(); } catch(e) {} 2429 } else { 2430 form.style.display = 'block'; 2431 submitBtn.disabled = false;
2432 submitBtn.textContent = 'S\'inscrire'; 2433 message.className = 'koba-form-message error'; 2434 message.textContent = data.data || 'Une erreur est survenue.'; 2435 message.style.display = 'block'; 2436 } 2437 }) 2438 .catch(function(error) { 2439 loading.className = 'koba-form-loading'; 2440 form.style.display = 'block'; 2441 submitBtn.disabled = false; 2442 submitBtn.textContent = 'S\'inscrire'; 2443 message.className = 'koba-form-message error'; 2444 message.textContent = 'Erreur de connexion. Veuillez réessayer.'; 2445 message.style.display = 'block'; 2446 }); 2447 } 2448 })(); 2449 </script>
2449 2450 </div> 2451 2452 <div class="modal-footer"> 2453 <button type="button" class="btn btn-secondary" data-bs-dismiss="modal"> 2454 exit 2455 </button> 2456 </div> 2457 2458 </div> 2459 </div> 2460 </div> 2461 2462<main id="main-content" tabindex="-1"> 2463 2464<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css" /> 2465<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet.markercluster/1.5.3/MarkerCluster.min.css" /> 2466<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/leaflet.markercluster/1.5.3/MarkerCluster.Default.min.css" /> 2467 2468<style> 2469.annuaire-section { padding: 30px 0 60px; background: #fff; min-height: 70vh; } 2470 2471.alphabet-bar { display: flex; flex-wrap: wrap; padding: 12px 15px; background: #e8f4f6; border-radius: 8px; margin-bottom: 25px; } 2472.alphabet-bar a { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; font-size: 0.95rem; font-weight: 500; color: #666; text-decoration: none; border-radius: 5px; margin: 2px; } 2473.alphabet-bar a:hover { color: #127ec2; background: rgba(255,255,255,0.7); } 2474.alphabet-bar a.active { background: #127ec2; color: #fff; } 2475.alphabet-bar a.disabled { color: #ccc; pointer-events: none; } 2476 2477.cat-sidebar { max-height: 700px; overflow-y: auto; padding-right: 10px; } 2478.cat-group { margin-bottom: 15px; } 2479.cat-group.hide { display: none; } 2480.cat-letter { font-size: 2.2rem; font-weight: 300; color: #bbb; border-bottom: 2px solid #eee; padding-bottom: 5px; margin-bottom: 8px; } 2481.cat-list { list-style: none; margin: 0; padding: 0 0 0 5px; } 2482.cat-list li { margin-bottom: 2px; display: flex; align-items: center; } 2483.cat-list a { display: block; padding: 6px 10px; font-size: 0.88rem; color: #555; text-decoration: none; border-radius: 4px; flex: 1; } 2484.cat-list a:hover { background: #f0f0f0; } 2485.cat-list a.active { background: #127ec2; color: #fff; } 2486.cat-copy-link { display: none; align-items: center; justify-content: center; width: 28px; height: 28px; border: none; background: transparent; color: #aaa; cursor: pointer; border-radius: 4px; flex-shrink: 0; font-size: 13px; padding: 0; margin-left: 2px; transition: all 0.2s; } 2487.cat-list li:hover .cat-copy-link { display: inline-flex; } 2488.cat-copy-link:hover { color: #127ec2; background: #e8f4f6; } 2489.cat-copy-link.copied { color: #00a32a; } 2490.cat-copy-toast { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%) translateY(20px); background: #333; color: #fff; padding: 10px 20px; border-radius: 6px; font-size: 0.85rem; z-index: 100000; opacity: 0; transition: opacity 0.3s, transform 0.3s; pointer-events: none; } 2491.cat-copy-toast.show { opacity: 1; transform: translateX(-50%) translateY(0); } 2492 2493.section-heading { font-size: 1.1rem; font-weight: 700; text-transform: uppercase; color: #127ec2; margin: 0 0 15px; display: flex; align-items: center; gap: 8px; } 2494.section-heading i { color: #7fb1d8; } 2495 2496.map-box { margin-bottom: 20px; border-radius: 8px; overflow: hidden; border: 1px solid #ddd; } 2497#the-map { height: 340px; } 2498 2499.entry-row { display: flex; align-items: center; padding: 14px 8px; border-bottom: 1px solid #eee; text-decoration: none; color: inherit; gap: 12px; cursor: pointer; } 2500.entry-row:hover { background: #fafafa; } 2501.entry-num { width: 32px; height: 32px; background: #7fb1d8; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.85rem; flex-shrink: 0; } 2502.entry-name { flex: 1; font-size: 0.95rem; font-weight: 600; color: #127ec2; } 2503.entry-tel { font-size: 0.88rem; color: #888; white-space: nowrap; } 2504.entry-tel b { color: #127ec2; } 2505 2506.no-results { text-align: center; padding: 40px; color: #999; } 2507 2508.marker-icon { background: #7fb1d8; color: #fff; width: 28px; height: 28px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 700; border: 2px solid #fff; box-shadow: 0 2px 5px rgba(0,0,0,0.3); } 2509 2510/* MODALE */ 2511.modal-overlay { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.6); z-index: 99999; overflow-y: auto; padding: 10px; } 2512.modal-overlay.open { display: flex; align-items: flex-start; justify-content: center; } 2513.modal-container { background: #fff; max-width: 500px; width: 100%; margin: 30px auto; position: relative; box-shadow: 0 10px 50px rgba(0,0,0,0.3); } 2514.modal-header { padding: 25px 25px 15px; border-bottom: 1px solid #eee; } 2515.modal-title { font-size: 1.4rem; font-weight: 700; color: #127ec2; margin: 0 0 10px 0; } 2516.modal-categories { display: flex; flex-wrap: wrap; gap: 6px; } 2517.modal-categories span { background: #127ec2; color: #fff; padding: 4px 10px; border-radius: 4px; font-size: 0.75rem; font-weight: 600; } 2518.modal-body { padding: 25px; } 2519.modal-field { margin-bottom:10px; width: 100%; } 2520.modal-field-label { font-weight: 600; color: #333; display: flex; align-items: center; gap: 8px; margin-bottom: 6px; font-size: 0.85rem; text-transform: uppercase; float:left; } 2521.modal-field-label i { color: #127ec2; width: 18px; margin-top: 7px; margin-right: 5px;} 2522.modal-field-value { color: #555; font-size: 1rem; line-height: 1.5; } 2523.modal-description { margin-bottom: 20px; padding-bottom: 15px; border-bottom: 1px solid #eee; } 2524.modal-description .content { color: #555; line-height: 1.6; } 2525.modal-btn {padding: 4px 10px; text-decoration: none; font-weight: 400; font-size: 13px; border: none; cursor: pointer; margin-bottom: 10px; } 2526.modal-btn-directions { background: transparent; color: #212529; border: 1px solid #212529; margin-bottom: 10px; display: table;} 2527.modal-btn-directions:hover { background: #212529; color: #fff; } 2528.modal-btn-close { background: #7fb1d8; color: #111; font-size: 16px; font-weight: 700; margin-top: 10px; float: right; margin-bottom: 20px; } 2529.modal-btn-close:hover { color: #fff; } 2530.modal-close-x { position: absolute; top: 15px; right: 15px; background: none; border: none; font-size: 28px; color: #666; cursor: pointer; padding: 5px 10px; line-height: 1; } 2531.modal-close-x:hover { color: #333; } 2532@media (max-width: 768px) { 2533 .cat-sidebar { max-height: 250px; margin-bottom: 20px; } 2534 .entry-row { flex-wrap: wrap; } 2535 .entry-tel { width: 100%; padding-left: 44px; margin-top: 5px; }
2536 .modal-container { margin: 10px; } 2537} 2538</style> 2539 2540<section class="annuaire-section"> 2541 <div class="container"> 2542 2543 <div class="row mb-3"> 2544 <div class="col-12"> 2545 <nav class="breadcrumbs"><a href="https://www.commune-nointel.fr/">Accueil</a> / <span>Annuaire</span></nav> <h1 class="visually-hidden">Annuaire</h1> 2546 </div> 2547 </div> 2548 2549 <!-- Barre A-Z --> 2550 <div class="alphabet-bar" id="alphabetBar"> 2551 <a href="#" data-letter="all" class="active">A-Z</a> 2552 <a href="#" data-letter="A" class="">A</a> 2553 <a href="#" data-letter="B" class="disabled">B</a> 2554 <a href="#" data-letter="C" class="">C</a> 2555 <a href="#" data-letter="D" class="disabled">D</a> 2556 <a href="#" data-letter="E" class="disabled">E</a> 2557 <a href="#" data-letter="F" class="disabled">F</a> 2558 <a href="#" data-letter="G" class="disabled">G</a> 2559 <a href="#" data-letter="H" class="disabled">H</a> 2560 <a href="#" data-letter="I" class="disabled">I</a> 2561 <a href="#" data-letter="J" class="disabled">J</a> 2562 <a href="#" data-letter="K" class="disabled">K</a> 2563 <a href="#" data-letter="L" class="disabled">L</a> 2564 <a href="#" data-letter="M" class="disabled">M</a> 2565 <a href="#" data-letter="N" class="disabled">N</a> 2566 <a href="#" data-letter="O" class="disabled">O</a> 2567 <a href="#" data-letter="P" class="disabled">P</a> 2568 <a href="#" data-letter="Q" class="disabled">Q</a> 2569 <a href="#" data-letter="R" class="disabled">R</a> 2570 <a href="#" data-letter="S" class="disabled">S</a> 2571 <a href="#" data-letter="T" class="">T</a> 2572 <a href="#" data-letter="U" class="disabled">U</a> 2573 <a href="#" data-letter="V" class="disabled">V</a> 2574 <a href="#" data-letter="W" class="disabled">W</a> 2575 <a href="#" data-letter="X" class="disabled">X</a> 2576 <a href="#" data-letter="Y" class="disabled">Y</a> 2577 <a href="#" data-letter="Z" class="disabled">Z</a> 2578 </div> 2579 2580 <div class="row"> 2581 <!-- Colonne gauche : Catégories --> 2582 <div class="col-md-4 col-lg-3"> 2583 <div class="cat-sidebar" id="catSidebar"> 2584 <div class="cat-group" data-letter="A"> 2585 <div class="cat-letter">A</div> 2586 <ul class="cat-list"> 2587 <li> 2588 <a href="/annuaire/agroalimentaire" data-slug="agroalimentaire" data-name="Agroalimentaire">Agroalimentaire</a> 2589 <button type="button" class="cat-copy-link" title="Copier le lien vers cette catégorie" data-slug="agroalimentaire"><i class="fas fa-link"></i></button> 2590 </li> 2591 <li> 2592 <a href="/annuaire/artisanat" data-slug="artisanat" data-name="Artisanat">Artisanat</a> 2593 <button type="button" class="cat-copy-link" title="Copier le lien vers cette catégorie" data-slug="artisanat"><i class="fas fa-link"></i></button> 2594 </li> 2595 <li> 2596 <a href="/annuaire/associations" data-slug="associations" data-name="Associations">Associations</a> 2597 <button type="button" class="cat-copy-link" title="Copier le lien vers cette catégorie" data-slug="associations"><i class="fas fa-link"></i></button> 2598 </li> 2599 </ul> 2600 </div> 2601 <div class="cat-group" data-letter="C"> 2602 <div class="cat-letter">C</div> 2603 <ul class="cat-list"> 2604 <li> 2605 <a href="/annuaire/culture" data-slug="culture" data-name="Culture">Culture</a> 2606 <button type="button" class="cat-copy-link" title="Copier le lien vers cette catégorie" data-slug="culture"><i class="fas fa-link"></i></button> 2607 </li> 2608 </ul> 2609 </div> 2610 <div class="cat-group" data-letter="T"> 2611 <div class="cat-letter">T</div> 2612 <ul class="cat-list"> 2613 <li> 2614 <a href="/annuaire/trans
2614ports" data-slug="transports" data-name="Transports">Transports</a> 2615 <button type="button" class="cat-copy-link" title="Copier le lien vers cette catégorie" data-slug="transports"><i class="fas fa-link"></i></button> 2616 </li> 2617 </ul> 2618 </div> 2619 </div> 2620 </div> 2621 2622 <!-- Colonne droite : Carte + Liste --> 2623 <div class="col-md-8 col-lg-9"> 2624 <h2 class="section-heading"> 2625 <i class="fas fa-plus-circle"></i> 2626 <span id="titleText">Toutes les catégories</span> 2627 </h2> 2628 2629 <div class="map-box"> 2630 <div id="the-map"></div> 2631 </div> 2632 2633 <div id="entriesContainer"></div> 2634 <div class="no-results" id="noResults" style="display:none;">Aucun résultat trouvé.</div> 2635 </div> 2636 </div> 2637 2638 </div> 2639</section> 2640 2641<!-- Toast copie lien --> 2642<div class="cat-copy-toast" id="catCopyToast">Lien copié !</div> 2643 2644<!-- MODALE --> 2645<div class="modal-overlay" id="modalOverlay"> 2646 <div class="modal-container"> 2647 <div class="modal-header"> 2648 <button type="button" class="modal-close-x" onclick="closeModal()">×</button> 2649 <h2 class="modal-title" id="modalTitle"></h2> 2650 </div> 2651 <div class="modal-body" id="modalBody"></div> 2652 </div> 2653</div> 2654
2655<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/leaflet.min.js"></script>
vendor: 1 bytes, line 2655
2655
2656<script src="https://cdnjs.cloudflare.com/ajax/libs/leaflet.markercluster/1.5.3/leaflet.markercluster.min.js"></script>
2656 2657
2658<script> 2659(function(){ 2660 var entries = [{"id":1293,"title":"ADAM G\u00e9rald - Plomberie - Chauffage","description":"","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"ADAM G\u00e9rald - Plomberie - Chauffage","prenom":"G\u00e9rald","nom":"ADAM","gender":"2","phone":"0677793533","email":"","website":"","fax":"","address":"6 Impasse d'en Haut","city":"Nointel","zipcode":"60840","lat":49.372722400000001,"lng":2.4835178999999998,"image":false},{"id":1309,"title":"ASCT","description":"<p>Atelier m\u00e9moire le lundi apr\u00e8s-midi \u00e0 la salle des associations (toutes les deux semaines), sorties th\u00e9\u00e2tres ou touristiques<\/p>\n","category":"Associations","category_slug":"associations","categories":["Associations"],"nom_asso":"ASCT","prenom":"Roselyne","nom":"GROBON","gender":"2","phone":"0344505410","email":"","website":"","fax":"","address":"","city":"null","zipcode":"null","lat":null,"lng":null,"image":false},{"id":1311,"title":"AUM EVEIL","description":"<p>Yoga<\/p>\n","category":"Associations","category_slug":"associations","categories":["Associations"],"nom_asso":"AUM EVEIL","prenom":"","nom":"","gender":"2","phone":"","email":"[email protected]","website":"","fax":"","address":"","city":"null","zipcode":"null","lat":null,"lng":null,"image":false},{"id":1315,"title":"Biblioth\u00e8que municipale","description":"<p>Attention, la biblioth\u00e8que municipale n’est joignable par t\u00e9l\u00e9phone uniquement durant ses heures d’ouverture, soit le mardi de 16h30 \u00e0 18h30<\/p>\n","category":"Culture","category_slug":"culture","categories":["Culture"],"nom_asso":"Biblioth\u00e8que municipale","prenom":"","nom":"Biblioth\u00e8que municipale","gender":"2","phone":"0344510904","email":"[email protected]","website":"","fax":"","address":"Place de la Mairie","city":"Nointel","zipcode":"60840","lat":49.374527,"lng":2.486742,"image":false},{"id":1295,"title":"BORCELLE Jean-Pierre - Tailleur - Graveur","description":"","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"BORCELLE Jean-Pierre - Tailleur - Graveur","prenom":"Jean-Pierre","nom":"BORCELLE","gender":"2","phone":"0961342549","email":"","website":"","fax":"","address":"Route de la Jacquerie","city":"Nointel","zipcode":"60840","lat":49.375771499999999,"lng":2.4902397000000001,"image":false},{"id":1296,"title":"BOUDOUX Bernard - Antiquit\u00e9s - Brocante","description":"","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"BOUDOUX Bernard - Antiquit\u00e9s - Brocante","prenom":"Bernard","nom":"BOUDOUX","gender":"2","phone":"0344504110","email":"","website":"","fax":"","address":"5 Place de la Mairie","city":"Nointel","zipcode":"60840","lat":49.374780000000001,"lng":2.4855379000001001,"image":false},{"id":1297,"title":"C.V. ELEC","description":"<p>Electricit\u00e9 g\u00e9n\u00e9rale (entretien, motorisation, alarme, cabl\u00e2ge r\u00e9seau)<\/p>\n","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"C.V. ELEC","prenom":"C\u00e9dric","nom":"VANDEN-ECKHOUDT","gender":"0","phone":"0623586047","email":"","website":"","fax":"","address":"","city":"","zipcode":"","lat":null,"lng":null,"image":false},{"id":1310,"title":"Comit\u00e9 des F\u00eates de Nointel","description":"<p>Brocante, soir\u00e9es dansantes, festivit\u00e9s de la Pentec\u00f4te, sorties th\u00e9\u00e2tres, sorties dans des parcs d’attractions, jeux intervillages …<\/p>\n","category":"Associations","category_slug":"associations","categories":["Associations"],"nom_asso":"Comit\u00e9 des F\u00eates de Nointel","prenom":"Marie-Fran\u00e7oise","nom":"JOURDAIN","gender":"2","phone":"0602361568","email":"[email protected]","website":"","fax":"","address":"","city":"null","zipcode":"null","lat":null,"lng":null,"image":false},{"id":1298,"title":"Exquiz'Orchid\u00e9e","description":"<p>Organisation et d\u00e9coration d’\u00e9v\u00e8nements priv\u00e9s (mariage, anniversaire, communion, baby-shower, etc.) et professionnels (d\u00e9c
2660oration de stand, f\u00eates de fin d’ann\u00e9e, comit\u00e9 d’entreprise, etc.)<\/p>\n","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"Exquiz'Orchid\u00e9e","prenom":"Anne-Pascale","nom":"EDWIGE","gender":"2","phone":"0665772949","email":"","website":"https:\/\/www.exquizorchidee.fr\/","fax":"","address":"9 Rue du Saulon","city":"Nointel","zipcode":"60840","lat":49.374723099999997,"lng":2.4773722,"image":false},{"id":1299,"title":"FECAMP David - Plomberie - Chauffagiste","description":"","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"FECAMP David - Plomberie - Chauffagiste","prenom":"David","nom":"FECAMP","gender":"2","phone":"0344786896","email":"","website":"","fax":"","address":"Route de la Jacquerie","city":"Nointel","zipcode":"60840","lat":49.375771499999999,"lng":2.4902397000000001,"image":false},{"id":1300,"title":"FF COUVERTURE","description":"<p>Tout type de travaux couverture – R\u00e9novation – Nettoyage – Entretien<\/p>\n","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"FF COUVERTURE","prenom":"FREDERIC","nom":"FECAMP","gender":"0","phone":"0673492199","email":"[email protected]","website":"","fax":"","address":"","city":"","zipcode":"","lat":null,"lng":null,"image":false},{"id":1465,"title":"FLEURS DE BACH","description":"","category":"","category_slug":"","categories":[],"nom_asso":"Conseill\u00e8re agr\u00e9\u00e9e en Fleurs de Bach","prenom":"Isabelle","nom":"DELARUE","gender":"1","phone":"06.48.76.55.41","email":"","website":"","fax":"","address":"","city":"","zipcode":"","lat":null,"lng":null,"image":false},{"id":1312,"title":"Football Club de Nointel","description":"<p>Club de football, des plus petits aux v\u00e9t\u00e9rans<\/p>\n","category":"Associations","category_slug":"associations","categories":["Associations"],"nom_asso":"Football Club de Nointel","prenom":"Christophe","nom":"FLOURY","gender":"2","phone":"0663461955","email":"[email protected]","website":"","fax":"","address":"","city":"null","zipcode":"null","lat":null,"lng":null,"image":false},{"id":1301,"title":"L'AMOUR DE SOI, NATURELLEMENT","description":"<p><strong>Soins – Beaut\u00e9 – Bien-\u00eatre – Minceur : 100 % naturel – V\u00e9gan – Sans AGM – Non test\u00e9 sur les animaux.<\/strong><\/p>\n<p><\/p>\n<p>– Perte de poids<\/p>\n<p>– Detox<\/p>\n<p>– Beaut\u00e9 des ongles<\/p>\n<p>– Soins de la peau<\/p>\n<p>– Bien-\u00eatre interne<\/p>\n<p>– Solutions pour Psoriasis, Eczema, Fybromialgie, Polyarthrite, Arthrose<\/p>\n","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"L'AMOUR DE SOI, NATURELLEMENT","prenom":"Christelle","nom":"PAYET","gender":"1","phone":"\"\"","email":"[email protected]","website":"www.facebook\/groups\/796587544290395","fax":"","address":"","city":"","zipcode":"","lat":null,"lng":null,"image":false},{"id":1292,"title":"L'ATELIER DES PAINS - Boulangerie - P\u00e2tisserie","description":"","category":"Agroalimentaire","category_slug":"agroalimentaire","categories":["Agroalimentaire"],"nom_asso":"L'Atelier des Pains - Boulangerie - P\u00e2tisserie","prenom":"","nom":"","gender":"2","phone":"03 44 19 12 65","email":"","website":"","fax":"","address":"281 Route de la Jacquerie","city":"Nointel","zipcode":"60840","lat":49.375771499999999,"lng":2.4902397000000001,"image":false},{"id":1302,"title":"L'ATELIER FLORAL - Fleuriste","description":"","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"L'ATELIER FLORAL - Fleuriste","prenom":"","nom":"FLORAL ATELIER","gender":"2","phone":"0344190529","email":"","website":"","fax":"","address":"38 Route de la Jacquerie","city":"Nointel","zipcode":"60840","lat":49.377102299999997,"lng":2.4850101000000002,"image":false},{"id":1303,"title":"LE FLOHIC Philippe - G\u00e9om\u00e8tre","description":"","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"LE FLOHIC Philippe - G\u00e9om\u00e8tre","prenom":"Philippe","nom":"LE FLOHIC","gender":"2","phone":"0344680076","email":"","website":"","fax":"","address":"26 Impasse Bellevue","city":"Nointel","zipcode":"60840","lat":49.370289399999997,"lng":2.4890891000000002,"image":false},{"id":1304,"title":"LILA DES BOIS - Cr\u00e9ation Textile - D\u00e9corations","description":"","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"LILA DES BOIS - Cr\u00e9ation Textile - D\u00e9corations","prenom":"Patricia","nom":"BAILLEUL","gender":"2","phone":"0360375161","email":"","website":"","fax":"","address":"5 Rue du Saulon","city":"Nointel","zipcode":"60840","lat":49.374633600000003,"lng":2.4780084000000002,"image":false},{"id":1294,"title":"MOREL Sylvain - Architecte","description":"","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"MOREL Sylvain - Architecte","prenom":"Sylvain","nom":"MOREL","gender":"2","phone":"0671652676","email":"","website":"","fax":"","address":"20 Rue du Ch\u00e2teau","city":"Nointel","zipcode":"60840","lat":49.369110599999999,"lng":2.4847747,"image":false},{"id":1305,"title":"NICO PLOMBERIE CHAUFFAGE","description":"<p>
2660Plomberie, chauffage et salle de bain<\/p>\n","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"NICO PLOMBERIE CHAUFFAGE","prenom":"Nicolas","nom":"ROGER","gender":"0","phone":"0633580011","email":"[email protected]","website":"","fax":"","address":"10 Rue de la Gare","city":"Nointel","zipcode":"60840","lat":49.375570500000002,"lng":2.4807204999999999,"image":false},{"id":1318,"title":"OISE MOBILITE","description":"<p>Oise Mobilit\u00e9 g\u00e8re les transports en autocar dans le D\u00e9partement de l’Oise (transports scolaires et autres)<\/p>\n","category":"Transports","category_slug":"transports","categories":["Transports"],"nom_asso":"OISE MOBILITE","prenom":"","nom":"","gender":"2","phone":"0970150150","email":"","website":"https:\/\/www.oise-mobilite.fr\/","fax":"","address":"","city":"null","zipcode":"null","lat":null,"lng":null,"image":false},{"id":1306,"title":"Peggy Bertrand","description":"<p><strong>Mon r\u00f4le consiste \u00e0 vous apprendre \u00e0 utiliser votre cr\u00e9ativit\u00e9, partager des id\u00e9es de projets amusants avec vous ainsi que des offres sp\u00e9ciales et, bien s\u00fbr, vous en apprendre plus au sujet de nos merveilleux produits cr\u00e9atifs. Envoyez-moi un courriel ou appelez-moi et il me fera plaisir de vous aider \u00e0 explorer votre cr\u00e9ativit\u00e9 !<\/strong><\/p>\n","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"Peggy Bertrand","prenom":"PEGGY","nom":"BERTRAND","gender":"1","phone":"0689332346","email":"[email protected]","website":"https:\/\/peggybertrand.stampinup.net\/","fax":"","address":"3 Rue du Saulon","city":"Nointel","zipcode":"60840","lat":49.374525800000001,"lng":2.4781911000000001,"image":false},{"id":1319,"title":"RS TRANSPORT","description":"<p>Rudy & Tiffany \u00e0 votre service.<\/p>\n<p>Taxis conventionn\u00e9s toutes caisses maladies (conventionn\u00e9 CPAM).<\/p>\n<p>RS TRANSPORT est \u00e0 votre disposition pour tous types de transferts, toutes distances, 24h\/24 & 7j\/7.<\/p>\n","category":"Transports","category_slug":"transports","categories":["Transports"],"nom_asso":"RS TRANSPORT","prenom":"","nom":"","gender":"2","phone":"0750275097","email":"[email protected]","website":"","fax":"","address":"Impasse Bellevue","city":"Nointel","zipcode":"60840","lat":49.370876000000003,"lng":2.4878770000000001,"image":false},{"id":1307,"title":"Soci\u00e9t\u00e9 Petit Courant Electricit\u00e9","description":"","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"Soci\u00e9t\u00e9 Petit Courant Electricit\u00e9","prenom":"","nom":"SPCE SARL","gender":"2","phone":"0433749069","email":"","website":"","fax":"","address":"Route de la Jacquerie","city":"Nointel","zipcode":"60840","lat":49.375771499999999,"lng":2.4902397000000001,"image":false},{"id":1313,"title":"Sport & bien-\u00eatre","description":"<p>Gym d’entretien, baby-gym, marche nordique<\/p>\n","category":"Associations","category_slug":"associations","categories":["Associations"],"nom_asso":"Sport & bien-\u00eatre","prenom":"La\u00ebtitia","nom":"JOURDAIN","gender":"2","phone":"0650787207","email":"[email protected]","website":"","fax":"","address":"","city":"null","zipcode":"null","lat":null,"lng":null,"image":false},{"id":1314,"title":"Step N'Jazz","description":"<p>Danse moderne alliant le contemporain et le street. Cours de step et de lia. D\u00e8s 6 ans.<\/p>\n","category":"Associations","category_slug":"associations","categories":["Associations"],"nom_asso":"Step N'Jazz","prenom":"C\u00e9line","nom":"FIAUDRIN","gender":"2","phone":"0613623216","email":"","website":"https:\/\/www.facebook.com\/Association-StepN-Jazz-341528949907423\/","fax":"","address":"","city":"null","zipcode":"null","lat":null,"lng":null,"image":false},{"id":1308,"title":"TIOTE BEAUTE","description":"<p>Salon de coiffure<\/p>\n","category":"Artisanat","category_slug":"artisanat","categories":["Artisanat"],"nom_asso":"TIOTE BEAUTE","prenom":"","nom":"","gender":"2","phone":"06.65.44.83.05","email":"","website":"","fax":"","address":"672 Route de la Jacquerie","city":"Nointel","zipcode":"60840","lat":49.377102299999997,"lng":2.4850101000000002,"image":false}]; 2661 var cats = [{"name":"Agroalimentaire","slug":"agroalimentaire","letter":"A"},{"name":"Artisanat","slug":"artisanat","letter":"A"},{"name":"Associations","slug":"associations","letter":"A"},{"name":"Culture","slug":"culture","letter":"C"},{"name":"Transports","slug":"transports","letter":"T"}]; 2662 var annuaireBasePath = "\/annuaire"; 2663 2664 var map, markers; 2665 var currentLetter = 'all'; 2666 var currentCat = null; 2667 2668 function getGenderLabel(gender) { 2669 if (gender === '0' || gender === 0) return 'Monsieur'; 2670 if (gender === '1' || gender === 1) return 'Madame'; 2671 return ''; 2672 } 2673
2674 function init() { 2675 // Init map 2676 map = L.map('the-map').setView([46.6, 2.0], 6); 2677 L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { 2678 attribution: '© OpenStreetMap' 2679 }).addTo(map); 2680 2681 // Fallback si markercluster n'est pas chargé 2682 if (typeof L.markerClusterGroup === 'function') { 2683 markers = L.markerClusterGroup(); 2684 } else { 2685 console.warn('Leaflet.markercluster non chargé, utilisation d\'un LayerGroup standard'); 2686 markers = L.layerGroup(); 2687 } 2688 map.addLayer(markers); 2689 2690 // Barre A-Z 2691 var alphaBtns = document.querySelectorAll('#alphabetBar a'); 2692 alphaBtns.forEach(function(btn) { 2693 btn.addEventListener('click', function(e) { 2694 e.preventDefault(); 2695 var letter = this.getAttribute('data-letter'); 2696 2697 alphaBtns.forEach(function(b) { b.classList.remove('active'); }); 2698 this.classList.add('active'); 2699 2700 currentLetter = letter; 2701 2702 // Filtrer catégories affichées 2703 document.querySelectorAll('.cat-group').forEach(function(g) { 2704 if (letter === 'all' || g.getAttribute('data-letter') === letter) { 2705 g.classList.remove('hide'); 2706 } else { 2707 g.classList.add('hide'); 2708 } 2709 }); 2710 2711 // Désélectionner catégorie 2712 document.querySelectorAll('.cat-list a').forEach(function(a) { a.classList.remove('active'); }); 2713 currentCat = null; 2714 document.getElementById('titleText').textContent = 'Toutes les catégories'; 2715 2716 // Réinitialiser l'URL 2717 if (history.replaceState) { 2718 history.replaceState(null, null, annuaireBasePath + '/'); 2719 } 2720 2721 // Filtrer entrées 2722 var filtered = entries; 2723 if (letter !== 'all') { 2724 var visibleCats = []; 2725 cats.forEach(function(c) { 2726 if (c.letter === letter) visibleCats.push(c.name); 2727 }); 2728 filtered = entries.filter(function(e) { 2729 return e.categories && e.categories.some(function(cat) { 2730 return visibleCats.indexOf(cat) !== -1; 2731 }); 2732 }); 2733 } 2734 renderEntries(filtered); 2735 }); 2736 }); 2737 2738 // Clic catégorie 2739 document.querySelectorAll('.cat-list a').forEach(function(link) { 2740 link.addEventListener('click', function(e) { 2741 e.preventDefault(); 2742 var catName = this.getAttribute('data-name'); 2743 var catSlug = this.getAttribute('data-slug'); 2744 2745 document.querySelectorAll('.cat-list a').forEach(function(a) { a.classList.remove('active'); }); 2746 this.classList.add('active'); 2747 2748 currentCat = catName; 2749 document.getElementById('titleText').textContent = catName; 2750 2751 // Mettre à jour l'URL (sans recharger) 2752 if (history.pushState) { 2753 history.pushState(null, null, annuaireBasePath + '/' + catSlug); 2754 } 2755 2756 var filtered = entries.filter(function(e) { 2757 return e.categories && e.categories.indexOf(catName) !== -1; 2758 }); 2759 renderEntries(filtered); 2760 }); 2761 }); 2762 2763 // Boutons copier le lien 2764 document.querySelectorAll('.cat-copy-link').forEach(function(btn) { 2765 btn.addEventListener('click', function(e) { 2766 e.preventDefault(); 2767 e.stopPropagation(); 2768 var slug = this.getAttribute('data-slug'); 2769 var url = window.location.origin + annuaireBasePath + '/' + slug; 2770 var self = this; 2771 2772 if (navigator.clipboard && navigator.clipboard.writeText) { 2773 navigator.clipboard.writeText(url).then(function() { 2774 showCopyToast(); 2775 self.classList.add('copied'); 2776 setTimeout(function() { self.classList.remove('copied'); }, 2000); 2777 }); 2778 } else { 2779 var tmp = document.createElement('textarea'); 2780 tmp.value = url; 2781 tmp.style.position = 'fixed'; 2782 tmp.style.left = '-9999px'; 2783 document.body.appendChild(tmp); 2784 tmp.select(); 2785 document.execCommand('copy'); 2786 document.body.removeChild(tmp); 2787 showCopyToast(); 2788 self.classList.add('copied'); 2789 setTimeout(function() { self.classList.remove('copied'); }, 2000); 2790 } 2791 }); 2792 }); 2793 2794 // Afficher toutes les entrées puis ouvrir catégorie depuis l'URL 2795 renderEntries(entries); 2796 openCategoryFromUrl(); 2797 window.addEventListener('popstate', openCategoryFromUrl); 2798 } 2799 2800 function renderEntries(data) { 2801 var container = document.getElementById('entriesContainer'); 2802 var noResults = document.getElementById('noResults'); 2803 container.innerHTML = ''; 2804 markers.clearLayers(); 2805 2806 if (!data || data.length === 0) { 2807 container.style.display = 'none'; 2808 noResults.style.display = 'block'; 2809 return; 2810 } 2811 2812 container.style.display = 'block'; 2813 noResults.style.display = 'none'; 2814 2815 var bounds = []; 2816 2817 for (var i = 0; i < data.length; i++) { 2818 var e = data[i]; 2819 var num = i + 1; 2820 2821 var row = document.createElement('div'); 2822 row.className = 'entry-row'; 2823 row.setAttribute('data-id', e.id); 2824 2825 var tel = ''; 2826 if (e.phone) { 2827 var phoneClean = e.phone.replace(/"/g, ''); 2828 var phones = phoneClean.split(',').map(function(p) { return p.trim(); }).filter(function(p) { return p; }); 2829 tel = '<div class="entry-tel">Tél: <b>' + phones.map(esc).join(', ') + '</b></div>'; 2830 } 2831 row.innerHTML = '<div class="entry-num">' + num + '</div><div class="entry-name">' + esc(e.title) + '</div>' + tel; 2832 2833 (function(entry) { 2834 row.addEventListener('click', function() { 2835 openModal(entry); 2836 }); 2837 })(e); 2838 2839 container.appendChild(row); 2840 2841 if (e.lat && e.lng) { 2842 var icon = L.divIcon({ 2843 className: '', 2844 html: '<div class="marker-icon">' + num + '</div>', 2845 iconSize: [28, 28], 2846 iconAnchor: [14, 14] 2847 }); 2848 var m = L.marker([e.lat, e.lng], {icon: icon}); 2849 2850 (function(entry) { 2851 m.on('click', function() { 2852 openModal(entry); 2853 }); 2854 })(e); 2855 2856 markers.addLayer(m); 2857 bounds.push([e.lat, e.lng]); 2858 } 2859 } 2860 2861 if (bounds.length > 0) { 2862 map.fitBounds(bounds, {padding: [30, 30]}); 2863 } 2864 } 2865 2866 function openModal(entry) {
2867 var overlay = document.getElementById('modalOverlay'); 2868 var title = document.getElementById('modalTitle'); 2869 var body = document.getElementById('modalBody'); 2870 2871 // Titre 2872 title.textContent = entry.title; 2873 2874 // Contenu - ordre: Description, Adresse, Itinéraire, Téléphone, Fax, Courriel, Site web, Fermer 2875 var html = ''; 2876 2877 // Description 2878 if (entry.description) { 2879 html += '<div class="modal-description"><div class="content">' + entry.description + '</div></div>'; 2880 } 2881 2882 // Adresse complète (rue, code postal ville) 2883 var fullAddress = ''; 2884 if (entry.address) { 2885 fullAddress = entry.address; 2886 if (entry.zipcode || entry.city) { 2887 fullAddress += ', ' + ((entry.zipcode || '') + ' ' + (entry.city || '')).trim(); 2888 } 2889 } else if (entry.zipcode || entry.city) { 2890 fullAddress = ((entry.zipcode || '') + ' ' + (entry.city || '')).trim(); 2891 } 2892 2893 if (fullAddress) { 2894 html += '<div class="modal-field"><div class="modal-field-label"><i class="fas fa-map-marker-alt"></i></div><div class="modal-field-value">' + esc(fullAddress) + '</div></div>'; 2895 } 2896 2897 // Bouton Itinéraire 2898 if (entry.lat && entry.lng) { 2899 html += '<a href="https://www.google.com/maps/dir/?api=1&destination=' + entry.lat + ',' + entry.lng + '" target="_blank" class="modal-btn modal-btn-directions"><i class="fas fa-directions"></i> Itinéraire</a>'; 2900 } 2901 2902 // Civilité + Prénom + Nom (si différent du titre) 2903 var fullName = ''; 2904 var gender = entry.gender; 2905 if (gender === '0' || gender === 0) fullName += 'Monsieur '; 2906 else if (gender === '1' || gender === 1) fullName += 'Madame '; 2907 2908 if (entry.prenom) fullName += entry.prenom + ' '; 2909 if (entry.nom) fullName += entry.nom; 2910 fullName = fullName.trim(); 2911 2912 if (fullName && fullName !== entry.title) { 2913 html += '<div class="modal-field"><div class="modal-field-label"><i class="fas fa-user"></i></div><div class="modal-field-value">' + esc(fullName) + '</div></div>'; 2914 } 2915 2916 // Téléphone (texte brut, non cliquable) 2917 if (entry.phone) { 2918 var phoneClean = entry.phone.replace(/"/g, ''); 2919 var phones = phoneClean.split(',').map(function(p) { return p.trim(); }).filter(function(p) { return p; }); 2920 var phonesHtml = phones.map(function(p) { return esc(p); }).join('<br>'); 2921 html += '<div class="modal-field"><div class="modal-field-label"><i class="fas fa-phone"></i></div><div class="modal-field-value">' + phonesHtml + '</div></div>'; 2922 } 2923 2924 // Fax 2925 if (entry.fax) { 2926 html += '<div class="modal-field"><div class="modal-field-label"><i class="fas fa-fax"></i></div><div class="modal-field-value">' + esc(entry.fax) + '</div></div>'; 2927 } 2928 2929 // Courriel (texte brut, non cliquable) 2930 if (entry.email) { 2931 html += '<div class="modal-field"><div class="modal-field-label"><i class="fas fa-envelope"></i></div><div class="modal-field-value">' + esc(entry.email) + '</div></div>'; 2932 } 2933 2934 // Site web (texte brut, non cliquable) 2935 if (entry.website) { 2936 var url = entry.website; 2937 if (url.indexOf('http') !== 0) { url = 'https://' + url; } 2938 html += '<div class="modal-field"><div class="modal-field-label"><i class="fas fa-globe"></i></div><div class="modal-field-value"><a href="' + esc(url) + '" target="_blank" rel="noopener noreferrer">' + esc(entry.website) + '</a></div></div>'; 2939 } 2940 2941 // Bouton Fermer 2942 html += '<button type="button" class="modal-btn modal-btn-close" onclick="closeModal()">Fermer</button>'; 2943 2944 body.innerHTML = html; 2945 2946 // Ouvrir la modale 2947 overlay.classList.add('open'); 2948 document.body.style.overflow = 'hidden'; 2949 } 2950 2951 function openCategoryFromUrl() { 2952 // Lire le slug depuis le path : /vermelles/annuaire/slug 2953 var path = window.location.pathname.replace(/\/+$/, ''); 2954 var base = annuaireBasePath.replace(/\/+$/, ''); 2955 var slug = ''; 2956 if (path.length > base.length && path.indexOf(base) === 0) { 2957 slug = path.substring(base.length + 1); 2958 } 2959 if (slug) { 2960 var link = document.querySelector('.cat-list a[data-slug="' + slug + '"]'); 2961 if (link) { 2962 link.click(); 2963 setTimeout(function() { 2964 link.scrollIntoView({ behavior: 'smooth', block: 'center' }); 2965 }, 100); 2966 } 2967 } 2968 } 2969 2970 function showCopyToast() { 2971 var t = document.getElementById('catCopyToast'); 2972 t.classList.add('show'); 2973 setTimeout(function() { t.classList.remove('show'); }, 2000); 2974 } 2975 2976 function closeModal() { 2977 document.getElementById('modalOverlay').classList.remove('open'); 2978 document.body.style.overflow = ''; 2979 } 2980 2981 function esc(s) { 2982 if (!s) return ''; 2983 var d = document.createElement('div'); 2984 d.textContent = s; 2985 return d.innerHTML; 2986 } 2987 2988 // Exposer closeModal globalement pour le bouton 2989 window.closeModal = closeModal; 2990 2991 // Fermer en cliquant sur l'overlay 2992 document.getElementById('modalOverlay').addEventListener('click', function(e) { 2993 if (e.target === this) { 2994 closeModal(); 2995 } 2996 }); 2997 2998 if (document.readyState === 'loading') { 2999 document.addEventListener('DOMContentLoaded', init); 3000 } else { 3001 init(); 3002 } 3003})(); 3004</script>
3004 3005 3006</main> 3007 3008<footer class="" role="contentinfo"> 3009 <div class="container px-3 pt-3 px-md-5 pt-md-5 pb-5"> 3010 <div class="row mb-3 mb-md-4"> 3011 3012 <!-- LOGO --> 3013 <div class="col-4 col-md-3 mb-3 mb-md-0"> 3014 <a href="https://www.commune-nointel.fr/" class="d-inline-flex align-items-center text-light text-decoration-none"> 3015 <img src="https://www.commune-nointel.fr/wp-content/uploads/sites/52/2026/08/LOGO-1.jpg" alt="MAIRIE DE NOINTEL - Accueil" class="footer-logo"> 3016 </a> 3017 </div> 3018 <div class="col-md-8"> 3019 <div class="koba-social-links"><a href="https://www.facebook.com/mairiedenointeloise" target="_blank" rel="noopener" aria-label="Facebook"><svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/></svg></a></div> </div> 3020 <div class="col-12 col-md-3 mb-3"> 3021 <div class="footer-address"> 3022 <p></p> 3023 <p> 3024 19, Place de la Mairie<br> 3025 60840 NOINTEL<br> 3026 Tél : <a href="tel:0344783425">0344783425</a> </p> 3027 </div> 3028 </div> 3029 3030 <div class="col-12 col-md-9"> 3031 <ul id="menu-menu-principal-1" class="footer-menu"><li><a href="#">NOINTEL</a> 3032<ul> 3033<li><a href="https://www.commune-nointel.fr/articles/situation-chiffres-cles/">Situation et Chiffres clés</a></li> 3034<li><a href="#">Histoire</a> 3035<ul> 3036<li><a href="https://www.commune-nointel.fr/articles/nointel-a-travers-le-temps/">Nointel à travers le temps</a></li> 3037<li><a href="https://www.commune-nointel.fr/articles/notre-patrimoine/">Notre patrimoine</a></li> 3038</ul> 3039</li> 3040</ul> 3041</li> 3042<li><a href="#">LA MAIRIE</a> 3043<ul> 3044<li><a href="https://www.commune-nointel.fr/articles/vos-elus/">Vos élus</a></li> 3045<li><a href="https://www.commune-nointel.fr/articles/le-conseil-municipal/">Le conseil municipal</a></li> 3046<li><a href="https://www.commune-nointel.fr/articles/les-equipements-municipaux/">Les équipements municipaux</a></li> 3047<li><a href="https://www.commune-nointel.fr/kiosks">Bulletins municipaux</a></li> 3048</ul> 3049</li> 3050<li><a href="#">VIVRE à NOINTEL</a> 3051<ul> 3052<li><a href="#">Démarches administratives</a> 3053<ul> 3054<li><a href="#">Etat Civil</a></li> 3055<li><a href="#">Elections</a></li> 3056<li><a href="#">Affaires Générales</a></li> 3057<li><a href="#">Cimetière</a></li> 3058</ul> 3059</li> 3060<li><a href="#">Enfance & éducation</a> 3061<ul> 3062<li><a href="https://www.commune-nointel.fr/articles/ecole/">Ãcole Christian Koehler</a></li> 3063<li><a href="https://www.commune-nointel.fr/articles/restaurant-scolaire/">Restaurant scolaire</a></li> 3064<li><a href="https://www.commune-nointel.fr/articles/periscolaire/">Périscolaire</a></li> 3065<li><a href="https://www.commune-nointel.fr/articles/portail-famille/">Portail Famille</a></li> 3066</ul> 3067</li> 3068<li><a href="#">Environnement</a> 3069<ul> 3070<li><a href="https://www.commune-nointel.fr/articles/l-intercommunalite/">L'intercommunalité</a></li> 3071<li><a href="https://www.commune-nointel.fr/articles/le-smdo/">Le SMDO</a></li> 3072<li><a href="https://www.commune-nointel.fr/articles/dechets/">Les déchets</a></li> 3073<li><a href="https://www.commune-nointel.fr/articles/voisinage-et-bruits/">Voisinage et bruit</a></li> 3074<li><a href="https://www.commune-nointel.fr/articles/urbanisme/">Urbanisme</a></li> 3075<li><a href="https://www.commune-nointel.fr/articles/securite/">Sécurité</a></li> 3076<li><a href="https://www.commune-nointel.fr/articles/tres-haut-debit/">Très Haut Débit</a></li> 3077</ul> 3078</li> 3079<li><a href="#">Transports</a> 3080<ul> 3081<li><a href="https://www.commune-nointel.fr/articles/permis-de-conduire/">Permis de conduire</a></li> 3082<li><a href="https://www.commune-nointel.fr/articles/trains/">Trains</a></li> 3083<li><a href="https://www.commune-nointel.fr/articles/bus/">Cars</a></li> 3084<li><a href="https://www.commune-nointel.fr/articles/transport-a-la-demande/">Le Bus du Clermontois</a></li> 3085<li><a href="https://www.commune-nointel.fr/articles/taxi/">Taxis</a></li> 3086</ul> 3087</li> 3088</ul> 3089</li> 3090<li><a href="#">VIE ÃCONOMIQUE & ASSOCIATIVE</a> 3091<ul> 3092<li><a href="https://www.commune-nointel.fr/articles/marches-publics/">Marchés publics</a></li> 3093<li><a href="https://www.commune-nointel.fr/articles/les-artisans-de-nointel/">Les artisans de Nointel</a></li> 3094<li><a href="https://www.commune-nointel.fr/articles/les-commercants/">Les commerçants</a></li> 3095<li><a href="https://www.commune-nointel.fr/articles/les-associations-de-nointel/">Les associations de Nointel</a></li> 3096<li><a href="https://www.commune-nointel.fr/articles/bibliotheque/">La bibliothèque</a></li> 3097</ul> 3098</li> 3099</ul> </div> 3100 </div> 3101 </div> 3102</footer> 3103<div class="footer-bottom"> 3104 <div class="container-fluid"> 3105 <div class="row"> 3106 <div class="col-12 col-md-6 mb-3 mb-md-0 footer-bottom-left"> 3107 <ul class="koba-menu-list"> 3108 <li class=""> 3109 <a href="https://www.commune-nointel.fr/mentions-legales/">Mentions légales</a> 3110 </li> 3111 <li class=""> 3112 <a href="https://www.commune-nointel.fr/accessibilite/">Accessibilité</a> 3113 </li> 3114 <li class=""> 3115 <a href="https://www.commune-nointel.fr/plan-du-site/">Plan du site</a> 3116 </li> 3117 <li class=""> 3118 <a href="https://www.commune-nointel.fr/contact/">NOUS CONTACTER</a> 3119 </li> 3120 <li class="">
3121 <span>© 2026 </span> 3122 </li> 3123 </ul> 3124 </div> 3125 <div class="col-12 col-md-6 mb-3 mb-md-0 justify-content-end footer-bottom-right"> 3126 <div class="text-white" bis_skin_checked="1"> 3127 <p><a href="https://www.site-internet-mairie.com/" target="_blank" rel="noopener" title="Création site internet mairie partenaire de Koba Civique pour la numérisation des mairies et collectivités territoriales. Un service du groupe KobaciviqueByHob, experts Wordpress, Joomla et PrestaShop. Numéro un des sites internet pour les communes et villes.">Création Site Mairie</a> par <a href="https://www.koba-civique.com/" target="_blank" rel="noopener" title="Création site internet mairie. Koba civique solution numéro un du marché pour les sites internet des communes et villes en France">KobaciviqueByHob</a></p> 3128 </div> 3129 </div> 3130 </div> 3131 </div> 3132</div> 3133
3133<script> 3134 if ('serviceWorker' in navigator) { 3135 navigator.serviceWorker.register('https://www.commune-nointel.fr/koba-sw.js', { scope: '/' }) 3136 .catch(function(err) { console.log('SW error:', err); }); 3137 } 3138 if (window.matchMedia('(display-mode: standalone)').matches || window.navigator.standalone === true) { 3139 document.cookie = 'koba_pwa=1; path=/; max-age=2592000; SameSite=Lax'; 3140 } 3141 </script>
3141 3142
3142<script type="speculationrules"> 3143{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/sites/52/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/hob-koba-civique/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 3144</script>
3144 3145 <style> 3146 #koba-chat-widget { 3147 position: fixed; 3148 bottom: 20px; 3149 right: 20px; left: auto; z-index: 99999; 3150 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; 3151 } 3152 #koba-chat-button { 3153 width: 60px; 3154 height: 60px; 3155 border-radius: 50%; 3156 background: #667eea; 3157 border: none; 3158 cursor: pointer; 3159 box-shadow: 0 4px 20px rgba(0,0,0,0.25); 3160 display: flex; 3161 align-items: center; 3162 justify-content: center; 3163 transition: all 0.3s ease; 3164 position: relative; 3165 } 3166 #koba-chat-button:hover { 3167 transform: scale(1.1); 3168 box-shadow: 0 6px 25px rgba(0,0,0,0.3); 3169 } 3170 #koba-chat-button svg { 3171 width: 28px; 3172 height: 28px; 3173 fill: #fff; 3174 } 3175 #koba-chat-button .close-icon { display: none; } 3176 #koba-chat-widget.open #koba-chat-button .chat-icon { display: none; } 3177 #koba-chat-widget.open #koba-chat-button .close-icon { display: block; } 3178 3179 /* Indicateur de statut sur le bouton */ 3180 #koba-chat-button::after { 3181 content: ''; 3182 position: absolute; 3183 top: 5px; 3184 right: 5px; 3185 width: 14px; 3186 height: 14px; 3187 border-radius: 50%; 3188 border: 2px solid #fff; 3189 background: #dc3545; 3190 } 3191 3192 #koba-chat-box { 3193 position: absolute; 3194 bottom: 75px; 3195 right: 0; width: 350px; 3196 height: 450px; 3197 background: #fff; 3198 border-radius: 16px; 3199 box-shadow: 0 10px 40px rgba(0,0,0,0.2); 3200 display: none; 3201 flex-direction: column; 3202 overflow: hidden; 3203 } 3204 #koba-chat-widget.open #koba-chat-box { 3205 display: flex; 3206 } 3207 3208 .koba-chat-header { 3209 background: #667eea; 3210 color: #fff; 3211 padding: 18px 20px; 3212 display: flex; 3213 align-items: center; 3214 gap: 12px; 3215 } 3216 .koba-chat-header-avatar { 3217 width: 40px; 3218 height: 40px; 3219 background: rgba(255,255,255,0.2); 3220 border-radius: 50%; 3221 display: flex; 3222 align-items: center; 3223 justify-content: center; 3224 position: relative; 3225 } 3226 .koba-chat-header-avatar svg { width: 22px; height: 22px; fill: #fff; } 3227 .koba-chat-header-avatar::after { 3228 content: ''; 3229 position: absolute; 3230 bottom: 0; 3231 right: 0; 3232 width: 12px; 3233 height: 12px; 3234 border-radius: 50%; 3235 border: 2px solid #667eea; 3236 background: #dc3545; 3237 } 3238 .koba-chat-header-info h4 { margin: 0; font-size: 15px; } 3239 .koba-chat-header-info span { font-size: 12px; opacity: 0.9; } 3240 .koba-chat-header-status { display: flex; align-items: center; gap: 5px; font-size: 11px; margin-top: 2px; } 3241 .koba-chat-header-status-dot { width: 8px; height: 8px; border-radius: 50%; background: #ff6b6b; } 3242 3243 .koba-chat-messages { 3244 flex: 1; 3245 overflow-y: auto; 3246 padding: 15px; 3247 background: #f8f9fa; 3248 } 3249 .koba-chat-msg { 3250 margin-bottom: 12px; 3251 display: flex; 3252 } 3253 .koba-chat-msg.user { justify-content: flex-end; } 3254 .koba-chat-msg.admin { justify-content: flex-start; } 3255 .koba-chat-msg-bubble { 3256 max-width: 80%; 3257 padding: 10px 14px; 3258 border-radius: 16px; 3259 font-size: 14px; 3260 line-height: 1.4; 3261 } 3262 .koba-chat-msg.user .koba-chat-msg-bubble { 3263 background: #667eea; 3264 color: #fff; 3265 border-bottom-right-radius: 4px; 3266 } 3267 .koba-chat-msg.admin .koba-chat-msg-bubble { 3268 background: #fff; 3269 border: 1px solid #e0e0e0; 3270 border-bottom-left-radius: 4px; 3271 } 3272 .koba-chat-msg-time { 3273 font-size: 10px; 3274 opacity: 0.7; 3275 margin-top: 4px; 3276 } 3277 3278 .koba-chat-welcome { 3279 background: #e8f4fd; 3280 padding: 12px 15px; 3281 border-radius: 12px; 3282 margin-bottom: 15px; 3283 font-size: 13px; 3284 color: #1a5a7a; 3285 border-left: 3px solid #667eea; 3286 } 3287 3288 /* Message hors ligne */ 3289 .koba-chat-offline { 3290 flex: 1; 3291 display: flex; 3292 flex-direction: column; 3293 align-items: center; 3294 justify-content: center; 3295 padding: 30px; 3296 text-align: center; 3297 background: #f8f9fa; 3298 } 3299 .koba-chat-offline-icon { 3300 width: 60px; 3301 height: 60px; 3302 background: #fee2e2; 3303 border-radius: 50%; 3304 display: flex; 3305 align-items: center; 3306 justify-content: center; 3307 margin-bottom: 15px; 3308 } 3309 .koba-chat-offline-icon svg { 3310 width: 30px; 3311 height: 30px; 3312 fill: #dc3545; 3313 } 3314 .koba-chat-offline h4 { 3315 margin: 0 0 10px; 3316 color: #333; 3317 font-size: 16px; 3318 } 3319 .koba-chat-offline p { 3320 margin: 0 0 15px; 3321 color: #666; 3322 font-size: 14px; 3323 line-height: 1.5; 3324 } 3325 .koba-chat-offline-next { 3326 background: #fff; 3327 padding: 12px 20px; 3328 border-radius: 8px; 3329 border: 1px solid #e0e0e0; 3330 font-size: 13px; 3331 } 3332 .koba-chat-offline-next strong { 3333 color: #667eea; 3334 display: block; 3335 margin-top: 5px; 3336 font-size: 15px; 3337 } 3338 3339 .koba-chat-form { 3340 padding: 15px; 3341 border-top: 1px solid #eee; 3342 background: #fff; 3343 } 3344 .koba-chat-form input, .koba-chat-form textarea { 3345 width: 100%; 3346 padding: 10px 12px; 3347 border: 1px solid #ddd; 3348 border-radius: 8px; 3349 font-size: 14px; 3350 margin-bottom: 10px; 3351 font-family: inherit; 3352 } 3353 .koba-chat-form input:focus, .koba-chat-form textarea:focus { 3354 outline: none; 3355 border-color: #667eea; 3356 } 3357 .koba-chat-form button { 3358 width: 100%; 3359 padding: 12px; 3360 background: #667eea; 3361 color: #fff; 3362 border: none; 3363 border-radius: 8px; 3364 font-size: 14px; 3365 font-weight: 600; 3366 cursor: pointer; 3367 transition: all 0.2s; 3368 } 3369 .koba-chat-form button:hover { 3370 opacity: 0.9; 3371 } 3372 3373 .koba-chat-input-area { 3374 display: flex; 3375 gap: 10px; 3376 padding: 15px; 3377 border-top: 1px solid #eee; 3378 background: #fff; 3379 }
3380 .koba-chat-input-area input { 3381 flex: 1; 3382 padding: 12px 15px; 3383 border: 1px solid #ddd; 3384 border-radius: 25px; 3385 font-size: 14px; 3386 } 3387 .koba-chat-input-area input:focus { 3388 outline: none; 3389 border-color: #667eea; 3390 } 3391 .koba-chat-input-area button { 3392 width: 45px; 3393 height: 45px; 3394 border-radius: 50%; 3395 background: #667eea; 3396 border: none; 3397 cursor: pointer; 3398 display: flex; 3399 align-items: center; 3400 justify-content: center; 3401 } 3402 .koba-chat-input-area button svg { 3403 width: 20px; 3404 height: 20px; 3405 fill: #fff; 3406 } 3407 3408 @media (max-width: 480px) { 3409 #koba-chat-box { 3410 width: calc(100vw - 40px); 3411 height: 70vh; 3412 } 3413 } 3414 </style> 3415 3416 <div id="koba-chat-widget"> 3417 <div id="koba-chat-box"> 3418 <div class="koba-chat-header"> 3419 <div class="koba-chat-header-avatar"> 3420 <svg viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 3c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3zm0 14.2c-2.5 0-4.71-1.28-6-3.22.03-1.99 4-3.08 6-3.08 1.99 0 5.97 1.09 6 3.08-1.29 1.94-3.5 3.22-6 3.22z"/></svg> 3421 </div> 3422 <div class="koba-chat-header-info"> 3423 <h4>MAIRIE DE NOINTEL</h4> 3424 <div class="koba-chat-header-status"> 3425 <span class="koba-chat-header-status-dot"></span> 3426 <span>Hors ligne</span> 3427 </div> 3428 </div> 3429 </div> 3430 3431 <!-- Chat fermé --> 3432 <div class="koba-chat-offline"> 3433 <div class="koba-chat-offline-icon"> 3434 <svg viewBox="0 0 24 24"><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"/></svg> 3435 </div> 3436 <h4>Chat indisponible</h4> 3437 <p>Nous ne sommes pas disponibles pour le moment. Laissez-nous un message, nous vous répondrons dès que possible.</p> 3438 <div class="koba-chat-offline-next"> 3439 Prochaine disponibilité : 3440 <strong>Lundi à 10:00</strong> 3441 </div> 3442 </div> 3443 </div> 3444 3445 <button id="koba-chat-button"> 3446 <svg class="chat-icon" viewBox="0 0 24 24"><path d="M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H6l-2 2V4h16v12z"/></svg> 3447 <svg class="close-icon" viewBox="0 0 24 24"><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg> 3448 </button> 3449 </div> 3450 3451
3451<script> 3452 (function() { 3453 var widget = document.getElementById('koba-chat-widget'); 3454 var button = document.getElementById('koba-chat-button'); 3455 3456 button.addEventListener('click', function() { 3457 widget.classList.toggle('open'); 3458 }); 3459 })(); 3460 </script>
3460 3461
3461<script> 3462 (function() { 3463 var searchInput = document.getElementById('koba-search-input'); 3464 var searchOverlay = document.getElementById('koba-search-overlay'); 3465 var searchClose = document.getElementById('koba-search-close'); 3466 var searchTimeout = null; 3467 var ajaxurl = 'https://www.commune-nointel.fr/wp-admin/admin-ajax.php'; 3468 3469 if (!searchInput || !searchOverlay) return; 3470 3471 // Saisie dans le champ 3472 searchInput.addEventListener('input', function() { 3473 var query = this.value.trim(); 3474 3475 if (searchTimeout) clearTimeout(searchTimeout); 3476 3477 // Masquer si vide 3478 if (query.length < 1) { 3479 searchOverlay.classList.remove('active'); 3480 searchOverlay.innerHTML = ''; 3481 return; 3482 } 3483 3484 // Afficher overlay avec loading 3485 searchOverlay.classList.add('active'); 3486 searchOverlay.innerHTML = '<div class="koba-search-overlay-inner">' + 3487 '<div class="koba-search-loading">' + 3488 '<div class="koba-search-spinner"></div>' + 3489 '<p>Recherche...</p></div></div>'; 3490 3491 // Recherche après court délai 3492 searchTimeout = setTimeout(function() { 3493 performSearch(query); 3494 }, 250); 3495 }); 3496 3497 // Fermer l'overlay 3498 if (searchClose) { 3499 searchClose.addEventListener('click', function() { 3500 searchOverlay.classList.remove('active'); 3501 searchOverlay.innerHTML = ''; 3502 }); 3503 } 3504 3505 // Fermer avec Escape 3506 document.addEventListener('keydown', function(e) { 3507 if (e.key === 'Escape') { 3508 searchOverlay.classList.remove('active'); 3509 searchOverlay.innerHTML = ''; 3510 } 3511 }); 3512 3513 // Recherche AJAX 3514 function performSearch(query) { 3515 var formData = new FormData(); 3516 formData.append('action', 'koba_live_search'); 3517 formData.append('search', query); 3518 3519 fetch(ajaxurl, { 3520 method: 'POST', 3521 body: formData 3522 }) 3523 .then(function(r) { return r.json(); }) 3524 .then(function(data) { 3525 if (data.success) { 3526 renderResults(data.data.results, data.data.search); 3527 } 3528 }) 3529 .catch(function() { 3530 searchOverlay.innerHTML = '<div class="koba-search-overlay-inner">' + 3531 '<div class="koba-search-no-results"><p>Erreur de connexion</p></div></div>'; 3532 }); 3533 } 3534 3535 // Afficher résultats 3536 function renderResults(results, searchTerm) { 3537 if (!results || results.length === 0) { 3538 searchOverlay.innerHTML = '<div class="koba-search-overlay-inner">' + 3539 '<div class="koba-search-no-results">' + 3540 '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">' + 3541 '<circle cx="11" cy="11" r="8"/><path d="M21 21l-4.35-4.35"/>' + 3542 '</svg>' + 3543 '<p>Aucun résultat pour "<strong>' + esc(searchTerm) + '</strong>"</p>' + 3544 '</div></div>'; 3545 return; 3546 } 3547 3548 var html = '<div class="koba-search-overlay-inner">'; 3549 3550 results.forEach(function(cat) { 3551 html += '<div class="koba-search-category">'; 3552 html += '<h3 class="koba-search-category-title">' + esc(cat.label) + '</h3>'; 3553 html += '<ul class="koba-search-list">'; 3554 3555 cat.items.forEach(function(item) { 3556 var title = highlight(item.title, searchTerm); 3557 var date = (cat.type === 'evenement') ? '<span class="koba-search-date">- ' + item.date + '</span>' : ''; 3558 html += '<li class="koba-search-item">'; 3559 html += '<a href="' + item.url + '" class="koba-search-link">' + title + date + '</a>'; 3560 html += '</li>'; 3561 }); 3562 3563 html += '</ul></div>'; 3564 }); 3565 3566 html += '</div>'; 3567 searchOverlay.innerHTML = html; 3568 } 3569 3570 function highlight(text, search) { 3571 var regex = new RegExp('(' + search.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + ')', 'gi'); 3572 return esc(text).replace(regex, '<mark>$1</mark>'); 3573 } 3574 3575 function esc(text) { 3576 var d = document.createElement('div'); 3577 d.textContent = text; 3578 return d.innerHTML; 3579 } 3580 })(); 3581 </script>
3581 3582
3582<script> 3583 document.addEventListener('DOMContentLoaded', function() { 3584 const hamburger = document.getElementById('koba-hamburger'); 3585 const mobileMenu = document.getElementById('koba-mobile-menu'); 3586 const searchToggle = document.getElementById('koba-search-toggle'); 3587 const searchBar = document.getElementById('koba-search-bar'); 3588 const searchClose = document.getElementById('koba-search-close'); 3589 const searchInput = document.getElementById('koba-search-input'); 3590 const overlay = document.getElementById('koba-overlay'); 3591 const navItems = document.querySelectorAll('.koba-nav-item.has-megamenu'); 3592 const mobileToggles = document.querySelectorAll('.koba-mobile-toggle'); 3593 3594 function closeAllMenus() { 3595 navItems.forEach(item => item.classList.remove('active')); 3596 document.querySelectorAll('.koba-megamenu-item.active').forEach(item => { 3597 item.classList.remove('active'); 3598 }); 3599 overlay.classList.remove('active'); 3600 } 3601 3602 if (hamburger) { 3603 hamburger.addEventListener('click', function() { 3604 this.classList.toggle('active'); 3605 mobileMenu.classList.toggle('active'); 3606 document.body.style.overflow = mobileMenu.classList.contains('active') ? 'hidden' : ''; 3607 }); 3608 } 3609 3610 if (searchToggle) { 3611 searchToggle.addEventListener('click', function() { 3612 closeAllMenus(); 3613 searchBar.classList.add('active'); 3614 searchToggle.classList.add('hidden'); 3615 setTimeout(() => searchInput.focus(), 400); 3616 }); 3617 } 3618 3619 if (searchClose) { 3620 searchClose.addEventListener('click', function() { 3621 searchBar.classList.remove('active'); 3622 searchToggle.classList.remove('hidden'); 3623 }); 3624 } 3625 3626 navItems.forEach(item => { 3627 const link = item.querySelector('.koba-nav-link'); 3628 3629 link.addEventListener('click', function(e) { 3630 if (window.innerWidth > 992) { 3631 e.preventDefault(); 3632 const isActive = item.classList.contains('active'); 3633 closeAllMenus(); 3634 if (!isActive) { 3635 item.classList.add('active'); 3636 overlay.classList.add('active'); 3637 } 3638 } 3639 }); 3640 }); 3641 3642 document.querySelectorAll('.koba-megamenu-item.has-submenu').forEach(item => { 3643 const link = item.querySelector('.koba-megamenu-link'); 3644 3645 link.addEventListener('click', function(e) { 3646 e.preventDefault(); 3647 const parent = item.closest('.koba-megamenu-col3'); 3648 parent.querySelectorAll('.koba-megamenu-item.active').forEach(other => { 3649 if (other !== item) { 3650 other.classList.remove('active'); 3651 } 3652 }); 3653 item.classList.toggle('active'); 3654 }); 3655 }); 3656 3657 mobileToggles.forEach(toggle => { 3658 toggle.addEventListener('click', function() { 3659 this.classList.toggle('active'); 3660 const submenu = this.closest('.koba-mobile-item').querySelector(':scope > .koba-mobile-submenu'); 3661 if (submenu) { 3662 submenu.classList.toggle('active'); 3663 } 3664 }); 3665 }); 3666 3667 if (overlay) { 3668 overlay.addEventListener('click', function() { 3669 closeAllMenus(); 3670 searchBar.classList.remove('active'); 3671 searchToggle.classList.remove('hidden'); 3672 }); 3673 } 3674 3675 document.addEventListener('click', function(e) { 3676 if (window.innerWidth > 992) { 3677 const isInNav = e.target.closest('.koba-nav-item.has-megamenu'); 3678 const isInMegamenu = e.target.closest('.koba-megamenu'); 3679 3680 if (!isInNav && !isInMegamenu) { 3681 closeAllMenus(); 3682 } 3683 } 3684 }); 3685 3686 document.addEventListener('keydown', function(e) { 3687 if (e.key === 'Escape') { 3688 closeAllMenus(); 3689 searchBar.classList.remove('active'); 3690 searchToggle.classList.remove('hidden'); 3691 mobileMenu.classList.remove('active'); 3692 hamburger.classList.remove('active'); 3693 document.body.style.overflow = ''; 3694 } 3695 }); 3696 3697 window.addEventListener('resize', function() { 3698 if (window.innerWidth > 992) { 3699 mobileMenu.classList.remove('active'); 3700 hamburger.classList.remove('active'); 3701 document.body.style.overflow = ''; 3702 } 3703 }); 3704 }); 3705 </script>
3705 3706 <div id="hob-rgpd-banner" class="hob-rgpd-banner" role="region" 3707 aria-label="Consentement aux cookies" 3708 style="background-color:#222222;color:#ffffff;bottom:0;"> 3709 <div class="hob-rgpd-message"> 3710 Notre site utilise des cookies pour réaliser des statistiques de visites, partager des contenus sur les réseaux sociaux et améliorer votre expérience. En refusant les cookies, certains services seront amenés à ne pas fonctionner correctement. Nous conservons votre choix pendant 30 jours. Vous pouvez changer d'avis en cliquant sur le bouton 'Cookies' en bas à gauche de chaque page de notre site. </div> 3711 <div class="hob-rgpd-buttons"> 3712 <button type="button" class="hob-btn hob-accept-all" style="background-color:#00aaff;color:#ffffff;"> 3713 Tout accepter </button> 3714 <button type="button" class="hob-btn hob-reject-all" style="background-color:#00aaff;color:#ffffff;"> 3715 Tout refuser </button> 3716 <button type="button" class="hob-btn hob-manage" style="background-color:#00aaff;color:#ffffff;"> 3717 Gérer mes préférences </button> 3718 </div> 3719</div> 3720 3721<div id="hob-rgpd-popup" class="hob-rgpd-popup" role="dialog" aria-modal="true" 3722 aria-labelledby="hob-rgpd-popup-title" 3723 style="--hob-accent:#00aaff;--hob-accent-text:#ffffff;" 3724 hidden> 3725 <div class="hob-rgpd-popup-content"> 3726 <button type="button" class="hob-rgpd-popup-close" aria-label="Fermer">×</button> 3727 <h2 id="hob-rgpd-popup-title">Gérer mes préférences</h2> 3728 3729 <div class="hob-rgpd-tabs" role="tablist"> 3730 <button type="button" class="hob-rgpd-tab is-active" 3731 role="tab" 3732 aria-selected="true" 3733 data-tab="hob-rgpd-panel-1"> 3734 Contenus interactifs </button> 3735 </div> 3736 3737 <div id="hob-rgpd-panel-1" 3738 class="hob-rgpd-panel is-active" 3739 role="tabpanel"> 3740 <div class="hob-rgpd-service"> 3741 <div class="hob-rgpd-service-icon"> 3742 <img src="https://www.commune-nointel.fr/wp-content/plugins/hob-rgpd/assets/img/services/recaptcha.svg" 3743 alt="Google reCAPTCHA" /> 3744 </div> 3745 <div class="hob-rgpd-service-info"> 3746 <div class="hob-rgpd-service-title">Google reCAPTCHA</div> 3747 <div class="hob-rgpd-service-desc">Anti-spam Google reCAPTCHA.</div> 3748 </div> 3749 <div class="hob-rgpd-service-toggle"> 3750 <label class="hob-rgpd-switch"> 3751 <input type="checkbox" class="hob-rgpd-toggle" 3752 data-service-key="recaptcha" /> 3753 <span class="hob-rgpd-slider"></span> 3754 </label> 3755 </div> 3756 </div> 3757 </div> 3758 3759 <div class="hob-rgpd-popup-actions"> 3760 <button type="button" class="hob-btn hob-accept-all" style="background-color:#00aaff;color:#ffffff;"> 3761 Tout accepter </button> 3762 <button type="button" class="hob-btn hob-reject-all" style="background-color:#00aaff;color:#ffffff;"> 3763 Tout refuser </button> 3764 <button type="button" class="hob-btn hob-save" style="background-color:#00aaff;color:#ffffff;"> 3765 Enregistrer mes préférences </button> 3766 </div> 3767 3768 <div class="hob-rgpd-credit"> 3769 © <a href="https://www.hob-france.com/" target="_blank" rel="noopener">HOB France Services</a> 3770 </div> 3771 </div> 3772</div> 3773 3774<button type="button" id="hob-rgpd-settings-icon" class="hob-rgpd-settings-icon" 3775 title="Cookies" 3776 aria-label="Cookies" hidden> 3777 <span class="hob-rgpd-cookie-emoji" aria-hidden="true">ðª</span> 3778 <span class="hob-rgpd-cookie-label">Cookies</span> 3779</button>
3780<script id="moment-js" src="https://www.commune-nointel.fr/wp-includes/js/dist/vendor/moment.min.js?ver=2.30.1"></script>
vendor: 1 bytes, line 3780
3780
3781<script id="moment-js-after"> 3782moment.updateLocale( 'fr_FR', {"months":["janvier","f\u00e9vrier","mars","avril","mai","juin","juillet","ao\u00fbt","septembre","octobre","novembre","d\u00e9cembre"],"monthsShort":["Jan","F\u00e9v","Mar","Avr","Mai","Juin","Juil","Ao\u00fbt","Sep","Oct","Nov","D\u00e9c"],"weekdays":["dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"],"weekdaysShort":["dim","lun","mar","mer","jeu","ven","sam"],"week":{"dow":1},"longDateFormat":{"LT":"G\\hi","LTS":null,"L":null,"LL":"j F Y","LLL":"d F Y G\\hi","LLLL":null}} ); 3783//# sourceURL=moment-js-after 3784</script>
vendor: 1 bytes, line 3784
3784
3785<script id="moment-fr-js" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.4/locale/fr.js"></script>
vendor: 1 bytes, line 3785
3785
3786<script id="fullcalendar-js" src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.10.2/fullcalendar.min.js"></script>
vendor: 1 bytes, line 3786
3786
3787<script id="fullcalendar-fr-js" src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.10.2/locale/fr.js"></script>
vendor: 1 bytes, line 3787
3787
3788<script id="hcb-frontend-js-extra"> 3789var hcb_front = {"ajax_url":"https://www.commune-nointel.fr/wp-admin/admin-ajax.php","nonce":"60543b3cf2","primary_color":"#2271b1","user":[],"strings":{"loading":"Chargement...","success":"Votre demande de r\u00e9servation a \u00e9t\u00e9 envoy\u00e9e avec succ\u00e8s ! Vous recevrez un email de confirmation.","error":"Une erreur est survenue. Veuillez r\u00e9essayer.","fill_required":"Veuillez remplir tous les champs obligatoires.","accepted":"Accept\u00e9","studying":"En cours d'\u00e9tude","pending":"En attente","slot_busy":"Ce cr\u00e9neau est d\u00e9j\u00e0 r\u00e9serv\u00e9.","click_to_book":"Cliquer pour r\u00e9server","file_too_large":"Le fichier \"%s\" d\u00e9passe la taille maximum autoris\u00e9e (5 Mo).","file_type_invalid":"Le type de fichier \"%s\" n'est pas autoris\u00e9.","docs_required":"Veuillez joindre tous les documents requis."},"max_file_size_mb":"5"}; 3790//# sourceURL=hcb-frontend-js-extra 3791</script>
vendor: 1 bytes, line 3791
3791
3792<script id="hcb-frontend-js" src="https://www.commune-nointel.fr/wp-content/plugins/hob-cityhall-booking/assets/js/frontend.js?ver=1.2.0"></script>
vendor: 1 bytes, line 3792
3792
3793<script id="hob-fc-form-js-extra"> 3794var hobFcFormConfig = {"ajax_url":"https://www.commune-nointel.fr/wp-admin/admin-ajax.php"}; 3795var hobFcPublic = {"ajaxurl":"https://www.commune-nointel.fr/wp-admin/admin-ajax.php","nonce":"73849d0d80","page_token":"67b9c5cd07c1ccfaeff43c517497610d17d6aa404d3700ccf086bd147d00a696","page_ts":"497498"}; 3796var hobFcI18n = {"required":"Veuillez remplir ce champ correctement.","invalidEmail":"Adresse e-mail invalide.","invalidPhone":"Num\u00e9ro de t\u00e9l\u00e9phone invalide.","minLength":"Minimum %d caract\u00e8res.","networkError":"Erreur r\u00e9seau. Veuillez r\u00e9essayer.","serverError":"Le serveur a renvoy\u00e9 une r\u00e9ponse inattendue","genericError":"Une erreur est survenue.","defaultSuccess":"Merci, votre message a bien \u00e9t\u00e9 envoy\u00e9.","resubmit":"Soumettre \u00e0 nouveau","fileTooLarge":"\u00ab %1$s \u00bb d\u00e9passe la taille maximale (%2$s Mo).","fileBadType":"\u00ab %1$s \u00bb n'est pas un format autoris\u00e9 (%2$s).","tooManyFiles":"%d fichier(s) maximum."}; 3797//# sourceURL=hob-fc-form-js-extra 3798</script>
vendor: 1 bytes, line 3798
3798
3799<script id="hob-fc-form-js" src="https://www.commune-nointel.fr/wp-content/plugins/hob-formchat-pro/assets/js/form.js?ver=1.29"></script>
vendor: 1 bytes, line 3799
3799
3800<script id="hob-fc-conditional-js" src="https://www.commune-nointel.fr/wp-content/plugins/hob-formchat-pro/assets/js/hob-conditional.js?ver=1.29"></script>
vendor: 1 bytes, line 3800
3800
3801<script id="hob-fc-calculator-js" src="https://www.commune-nointel.fr/wp-content/plugins/hob-formchat-pro/assets/js/hob-calculator.js?ver=1.29"></script>
vendor: 1 bytes, line 3801
3801
3802<script id="hob-fc-rgaa-js" src="https://www.commune-nointel.fr/wp-content/plugins/hob-formchat-pro/assets/js/hob-rgaa.js?ver=1.29"></script>
vendor: 1 bytes, line 3802
3802
3803<script id="leaflet-js" src="https://unpkg.com/[email protected]/dist/leaflet.js?ver=1.9.4"></script>
vendor: 1 bytes, line 3803
3803
3804<script id="hob-fc-map-picker-js" src="https://www.commune-nointel.fr/wp-content/plugins/hob-formchat-pro/assets/js/hob-map-picker.js?ver=1.29"></script>
vendor: 1 bytes, line 3804
3804
3805<script id="hob-fc-address-js-extra"> 3806var hobFcAddress = {"provider":"auto","effectiveProvider":"ban","googleKey":"","nominatimContact":"[email protected]","defaultCountry":"fr","debounceMs":"280","minChars":"3","banUrl":"https://api-adresse.data.gouv.fr/search/","photonUrl":"https://photon.komoot.io/api/"}; 3807//# sourceURL=hob-fc-address-js-extra 3808</script>
vendor: 1 bytes, line 3808
3808
3809<script id="hob-fc-address-js" src="https://www.commune-nointel.fr/wp-content/plugins/hob-formchat-pro/assets/js/hob-address.js?ver=1.29"></script>
vendor: 1 bytes, line 3809
3809
3810<script id="bootstrap-js-js" src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js?ver=5.3.2"></script>
vendor: 1 bytes, line 3810
3810
3811<script id="hobrgpd-front-js-extra"> 3812var hobRgpdConfig = {"cookieName":"hobConsentPrefs","cookieMaxAge":"2592000"}; 3813//# sourceURL=hobrgpd-front-js-extra 3814</script>
vendor: 1 bytes, line 3814
3814
3815<script id="hobrgpd-front-js" src="https://www.commune-nointel.fr/wp-content/plugins/hob-rgpd/assets/js/front.js?ver=1781167964"></script>
vendor: 1 bytes, line 3815
3815
3816<script id="wp-statistics-tracker-js-extra"> 3817var WP_Statistics_Tracker_Object = {"requestUrl":"https://www.commune-nointel.fr/wp-json/wp-statistics/v2","ajaxUrl":"https://www.commune-nointel.fr/wp-admin/admin-ajax.php","hitParams":{"wp_statistics_hit":1,"source_type":"archive","source_id":0,"search_query":"","signature":"baa47aa666c3b0424109c5094ac262b3","endpoint":"hit"},"option":{"dntEnabled":false,"bypassAdBlockers":false,"consentIntegration":{"name":null,"status":[]},"isPreview":false,"userOnline":false,"isWpConsentApiActive":false},"isLegacyEventLoaded":"","customEventAjaxUrl":"https://www.commune-nointel.fr/wp-admin/admin-ajax.php?action=wp_statistics_custom_event&nonce=65134a752c","onlineParams":{"wp_statistics_hit":1,"source_type":"archive","source_id":0,"search_query":"","signature":"baa47aa666c3b0424109c5094ac262b3","action":"wp_statistics_online_check"},"jsCheckTime":"60000"}; 3818//# sourceURL=wp-statistics-tracker-js-extra 3819</script>
vendor: 1 bytes, line 3819
3819
3820<script id="wp-statistics-tracker-js" src="https://www.commune-nointel.fr/wp-content/plugins/wp-statistics/assets/js/tracker.js?ver=14.16.15"></script>
vendor: 1 bytes, line 3820
3820
3821<script id="wp-emoji-settings" type="application/json"> 3822{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://www.commune-nointel.fr/wp-includes/js/wp-emoji-release.min.js?ver=7.1.2"}} 3823</script>
vendor: 1 bytes, line 3823
3823
3824<script type="module"> 3825/*! This file is auto-generated */ 3826var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))}); 3827//# sourceURL=https://www.commune-nointel.fr/wp-includes/js/wp-emoji-loader.min.js 3828</script>
3828 3829 <style> 3830 #koba-pwa-banner { 3831 display: none; /* affiché par JS uniquement sur mobile */ 3832 position: fixed; 3833 top: 0; left: 0; right: 0; 3834 z-index: 99999; 3835 background: #1e293b; 3836 color: #fff; 3837 padding: 12px 16px; 3838 flex-direction: column; 3839 gap: 10px; 3840 box-shadow: 0 2px 12px rgba(0,0,0,.35); 3841 font-family: inherit; 3842 } 3843 #koba-pwa-banner.koba-pwa-banner-visible { 3844 display: flex; 3845 } 3846 /* Ligne 1 : icône + texte */ 3847 #koba-pwa-banner .kpb-row1 { 3848 display: flex; 3849 align-items: flex-start; 3850 gap: 12px; 3851 } 3852 #koba-pwa-banner .kpb-icon { 3853 font-size: 24px; 3854 flex-shrink: 0; 3855 line-height: 1.2; 3856 } 3857 #koba-pwa-banner .kpb-body { 3858 flex: 1; 3859 min-width: 0; 3860 } 3861 #koba-pwa-banner .kpb-title { 3862 font-weight: 700; 3863 font-size: .9rem; 3864 line-height: 1.3; 3865 } 3866 #koba-pwa-banner .kpb-desc { 3867 font-size: .8rem; 3868 opacity: .8; 3869 line-height: 1.4; 3870 margin-top: 3px; 3871 } 3872 /* Ligne 2 : bouton + fermer */ 3873 #koba-pwa-banner .kpb-row2 { 3874 display: flex; 3875 align-items: center; 3876 gap: 10px; 3877 } 3878 #koba-pwa-banner .kpb-btn { 3879 background: #127ec2; 3880 color: #fff; 3881 border: none; 3882 padding: 8px 16px; 3883 border-radius: 6px; 3884 font-size: .82rem; 3885 font-weight: 600; 3886 cursor: pointer; 3887 white-space: nowrap; 3888 text-decoration: none; 3889 display: inline-block; 3890 } 3891 #koba-pwa-banner .kpb-close { 3892 background: rgba(255,255,255,.12); 3893 border: 1px solid rgba(255,255,255,.2); 3894 color: rgba(255,255,255,.75); 3895 font-size: .82rem; 3896 font-weight: 600; 3897 line-height: 1; 3898 cursor: pointer; 3899 padding: 7px 12px; 3900 border-radius: 6px; 3901 white-space: nowrap; 3902 } 3903 #koba-pwa-banner .kpb-close:hover { 3904 background: rgba(255,255,255,.2); 3905 color: #fff; 3906 } 3907 /* Décaler le contenu sous la bannière quand elle est visible */ 3908 body.koba-pwa-banner-open { 3909 padding-top: 100px; 3910 } 3911 </style> 3912 3913 <div id="koba-pwa-banner" role="banner" aria-label="Installer l'application"> 3914 <div class="kpb-row1"> 3915 <span class="kpb-icon">ð²</span> 3916 <div class="kpb-body"> 3917 <div class="kpb-title">Installez notre application !</div> 3918 <div class="kpb-desc">Accédez rapidement à notre site depuis votre écran d'accueil.</div> 3919 </div> 3920 </div> 3921 <div class="kpb-row2"> 3922 <a href="https://www.commune-nointel.fr/installapp/" class="kpb-btn">Voir comment installer</a> 3923 <button class="kpb-close" id="koba-pwa-close" aria-label="Fermer">â Fermer</button> 3924 </div> 3925 </div>
3926<script> 3927// Capturer beforeinstallprompt le plus tôt possible (avant tout) 3928var _kobaPwaInstallPrompt = null; 3929window.addEventListener('beforeinstallprompt', function(e) { 3930 e.preventDefault(); 3931 _kobaPwaInstallPrompt = e; 3932 // Si la bannière est déjà affichée, transformer le bouton 3933 var btn = document.querySelector('#koba-pwa-banner .kpb-btn'); 3934 if (btn && document.getElementById('koba-pwa-banner').classList.contains('koba-pwa-banner-visible')) { 3935 _kobaActivateInstallBtn(btn); 3936 } 3937}); 3938 3939function _kobaActivateInstallBtn(btn) { 3940 if (!_kobaPwaInstallPrompt) return; 3941 btn.textContent = 'ð² Installer l\'application'; 3942 btn.removeAttribute('href'); 3943 btn.onclick = function(e) { 3944 e.preventDefault(); 3945 if (!_kobaPwaInstallPrompt) return; 3946 _kobaPwaInstallPrompt.prompt(); 3947 _kobaPwaInstallPrompt.userChoice.then(function(result) { 3948 if (result.outcome === 'accepted') { 3949 _kobaHidePwaBanner(); 3950 } 3951 _kobaPwaInstallPrompt = null; 3952 }); 3953 }; 3954} 3955 3956function _kobaHidePwaBanner() { 3957 var banner = document.getElementById('koba-pwa-banner'); 3958 if (!banner) return; 3959 banner.classList.remove('koba-pwa-banner-visible'); 3960 document.body.classList.remove('koba-pwa-banner-open'); 3961 localStorage.setItem('koba_pwa_banner_closed', Date.now().toString()); 3962} 3963 3964(function() { 3965 // Ne jamais afficher en mode PWA standalone 3966 if (window.matchMedia('(display-mode: standalone)').matches 3967 || window.navigator.standalone === true 3968 || sessionStorage.getItem('koba_pwa') === '1') { 3969 return; 3970 } 3971 3972 var STORAGE_KEY = 'koba_pwa_banner_closed'; 3973 var FREQUENCY_MS = 604800000; 3974 3975 function isMobile() { 3976 return (window.innerWidth < 1024) || 3977 /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|Mobile|mobile|CriOS/i.test(navigator.userAgent); 3978 } 3979 3980 if (!isMobile()) return; 3981 3982 var lastClosed = localStorage.getItem(STORAGE_KEY); 3983 if (lastClosed && (Date.now() - parseInt(lastClosed, 10)) < FREQUENCY_MS) return; 3984 3985 var ua = navigator.userAgent; 3986 var isIos = /iPhone|iPad|iPod/i.test(ua); 3987 var isAndroid = /Android/i.test(ua); 3988 // Sur iOS, seul Safari peut installer une PWA. 3989 // Chrome iOS (CriOS), Firefox iOS (FxiOS), Edge iOS (EdgiOS) utilisent WebKit 3990 // mais n'exposent pas la fonctionnalité d'ajout à l'écran d'accueil. 3991 var isIosNonSafari = isIos && /CriOS|FxiOS|EdgiOS|OPiOS|YaBrowser|DuckDuckGo/i.test(ua); 3992 var isIosSafari = isIos && !isIosNonSafari; 3993 3994 function showBanner() { 3995 var banner = document.getElementById('koba-pwa-banner'); 3996 if (!banner) return; 3997 3998 // Cas spécial : iOS hors Safari â bannière informative "ouvrez dans Safari" 3999 if (isIosNonSafari) { 4000 var iconEl = banner.querySelector('.kpb-icon'); 4001 var titleEl = banner.querySelector('.kpb-title'); 4002 var descEl = banner.querySelector('.kpb-desc'); 4003 var btnEl = banner.querySelector('.kpb-btn'); 4004 var row2El = banner.querySelector('.kpb-row2'); 4005 4006 if (iconEl) iconEl.textContent = 'ð§'; 4007 if (titleEl) titleEl.textContent = 'Application disponible dans Safari'; 4008 if (descEl) descEl.textContent = 'Sur iPhone et iPad, l\'application ne peut être installée qu\'avec le navigateur Safari. Ouvrez cette page dans Safari pour l\'installer.'; 4009 // Le bouton "Voir comment installer" n'a aucun sens ici â on le retire, 4010 // on conserve uniquement le bouton Fermer. 4011 if (btnEl && btnEl.parentNode) { 4012 btnEl.parentNode.removeChild(btnEl); 4013 } 4014 if (row2El) { 4015 row2El.style.justifyContent = 'flex-end'; 4016 } 4017 } else if (_kobaPwaInstallPrompt) { 4018 // Si le prompt natif est déjà disponible (Android/Chrome), transformer le bouton 4019 var btn = banner.querySelector('.kpb-btn'); 4020 if (btn) _kobaActivateInstallBtn(btn); 4021 } 4022 4023 banner.classList.add('koba-pwa-banner-visible'); 4024 document.body.classList.add('koba-pwa-banner-open'); 4025 4026 var closeBtn = document.getElementById('koba-pwa-close'); 4027 if (closeBtn) { 4028 closeBtn.addEventListener('click', _kobaHidePwaBanner); 4029 } 4030 } 4031 4032 if (isIosSafari && !window.navigator.standalone) { 4033 // iOS Safari : afficher immédiatement avec lien vers /installapp/ 4034 document.addEventListener('DOMContentLoaded', showBanner); 4035 } else if (isIosNonSafari) { 4036 // iOS Chrome/Firefox/Edge : afficher la bannière informative "ouvrez dans Safari" 4037 document.addEventListener('DOMContentLoaded', showBanner); 4038 } else if (isAndroid || (!isIos && isMobile())) { 4039 // Android/Chrome : attendre que le prompt soit disponible 4040 document.addEventListener('DOMContentLoaded', function() { 4041 if (_kobaPwaInstallPrompt) { 4042 showBanner(); 4043 } else { 4044 var t = setTimeout(function() { 4045 if (_kobaPwaInstallPrompt) showBanner(); 4046 // sinon : déjà installé ou navigateur non supporté â rien 4047 }, 1000); 4048 } 4049 }); 4050 } 4051})(); 4052</script>
4052 4053 4054 <style> 4055 #koba-desktop-alert { 4056 display: none; /* affiché par JS uniquement sur desktop */ 4057 position: fixed; 4058 top: 50%; 4059 right: 0; 4060 transform: translateY(-50%); 4061 width: 300px; 4062 z-index: 99998; 4063 background: #fff; 4064 color: #333; 4065 border-radius: 0; 4066 box-shadow: 0 6px 30px rgba(0,0,0,.25); 4067 padding: 20px; 4068 box-sizing: border-box; 4069 font-family: inherit; 4070 } 4071 #koba-desktop-alert.kda-visible { 4072 display: block; 4073 animation: kda-slide-in .4s ease; 4074 } 4075 @keyframes kda-slide-in { 4076 from { opacity: 0; transform: translateY(-50%) translateX(30px); } 4077 to { opacity: 1; transform: translateY(-50%) translateX(0); } 4078 } 4079 #koba-desktop-alert .kda-close { 4080 position: absolute; 4081 top: 10px; 4082 right: 10px; 4083 background: none; 4084 border: none; 4085 font-size: 16px; 4086 line-height: 1; 4087 color: #999; 4088 cursor: pointer; 4089 padding: 4px; 4090 } 4091 #koba-desktop-alert .kda-close:hover { color: #333; } 4092 #koba-desktop-alert .kda-icon { 4093 font-size: 28px; 4094 margin-bottom: 8px; 4095 } 4096 #koba-desktop-alert .kda-title { 4097 font-weight: 700; 4098 font-size: 1rem; 4099 margin-bottom: 8px; 4100 color: #1e293b; 4101 } 4102 #koba-desktop-alert .kda-content { 4103 font-size: .85rem; 4104 line-height: 1.55; 4105 color: #555; 4106 margin-bottom: 14px; 4107 } 4108 #koba-desktop-alert .kda-btn { 4109 display: inline-block; 4110 background: #127ec2; 4111 color: #fff; 4112 text-decoration: none; 4113 font-size: .85rem; 4114 font-weight: 600; 4115 padding: 9px 18px; 4116 border-radius: 8px; 4117 transition: opacity .2s; 4118 } 4119 #koba-desktop-alert .kda-btn:hover { 4120 opacity: .85; 4121 color: #fff; 4122 } 4123 </style> 4124 4125 <div id="koba-desktop-alert" role="dialog" aria-label="Application disponible"> 4126 <button class="kda-close" id="koba-desktop-alert-close" aria-label="Fermer">â</button> 4127 <div class="kda-title">ð² Application disponible</div> 4128 <div class="kda-content"> 4129 Allez sur votre smartphone, affichez le site de votre mairie dans le navigateur 4130 de votre choix et vous serez invité à installer l'application sur votre mobile. 4131 Laissez-vous guider, c'est simple ! Si votre mairie a souscrit à l'abonnement, 4132 tout fonctionnera immédiatement. 4133 </div> 4134 <a href="https://www.commune-nointel.fr/installapp/" class="kda-btn">Plus de détails</a> 4135 </div> 4136 4137
4137<script> 4138 (function() { 4139 'use strict'; 4140 4141 var STORAGE_KEY = 'koba_desktop_alert_shown'; 4142 var WEEK_MS = 7 * 86400 * 1000; 4143 4144 // --- Détection desktop Windows / Mac uniquement --- 4145 var ua = navigator.userAgent; 4146 var isMobileUA = /Android|iPhone|iPad|iPod|Mobile|Tablet/i.test(ua); 4147 // iPadOS se fait passer pour un Mac : on l'exclut via le tactile 4148 var isIpadOs = (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1); 4149 var isWinMac = /Windows NT|Macintosh/i.test(ua); 4150 4151 if (isMobileUA || isIpadOs || !isWinMac) return; 4152 4153 // --- Mode standalone (PWA installée) : on n'affiche pas --- 4154 if (window.matchMedia && window.matchMedia('(display-mode: standalone)').matches) return; 4155 4156 // --- Fréquence : 1 fois par semaine --- 4157 var last = 0; 4158 try { last = parseInt(localStorage.getItem(STORAGE_KEY) || '0', 10); } catch (e) {} 4159 if (last && (Date.now() - last) < WEEK_MS) return; 4160 4161 function showAlert() { 4162 var box = document.getElementById('koba-desktop-alert'); 4163 if (!box) return; 4164 4165 box.classList.add('kda-visible'); 4166 4167 // On marque comme "vue" dès l'affichage â max 1 fois / semaine 4168 try { localStorage.setItem(STORAGE_KEY, Date.now().toString()); } catch (e) {} 4169 4170 var closeBtn = document.getElementById('koba-desktop-alert-close'); 4171 if (closeBtn) { 4172 closeBtn.addEventListener('click', function() { 4173 box.classList.remove('kda-visible'); 4174 }); 4175 } 4176 } 4177 4178 if (document.readyState === 'loading') { 4179 document.addEventListener('DOMContentLoaded', showAlert); 4180 } else { 4181 showAlert(); 4182 } 4183 })(); 4184 </script>
4184 4185 </body> 4186</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.