1<!DOCTYPE html> 2<html dir="ltr" lang="fr"> 3<head> 4 <title> 5 Contacts - Ville d'Amplepuis 6 </title> 7 8
8<script src="/lib/tarteaucitron/tarteaucitron.js"></script>
8 9
9<script> 10 var tarteaucitronExpireInDay = true, tarteaucitronForceExpire = 183; 11 12 tarteaucitron.init({ 13 "privacyUrl": "", /* Privacy policy url */ 14 15 "hashtag": "#tarteaucitron", /* Open the panel with this hashtag */ 16 "cookieName": "tarteaucitron", /* Cookie name */ 17 18 "orientation": "bottom", /* Banner position (top - bottom) */ 19 20 "showAlertSmall": false, /* Show the small banner on bottom right */ 21 "cookieslist": true, /* Show the cookie list */ 22 23 "showIcon": false, /* Show cookie icon to manage cookies */ 24 // "iconSrc": "", /* Optionnal: URL or base64 encoded image */ 25 "iconPosition": "BottomRight", /* Position of the icon between BottomRight, BottomLeft, TopRight and TopLeft */ 26 27 "adblocker": false, /* Show a Warning if an adblocker is detected */ 28 29 "DenyAllCta": true, /* Show the deny all button */ 30 "AcceptAllCta": true, /* Show the accept all button when highPrivacy on */ 31 "highPrivacy": true, /* HIGHLY RECOMMANDED Disable auto consent */ 32 33 "handleBrowserDNTRequest": false, /* If Do Not Track == 1, disallow all */ 34 35 "removeCredit": false, /* Remove credit link */ 36 "moreInfoLink": true, /* Show more info link */ 37 "useExternalCss": false, /* If false, the tarteaucitron.css file will be loaded */ 38 39 //"cookieDomain": ".my-multisite-domaine.fr", /* Shared cookie for subdomain website */ 40 41 "readmoreLink": "", /* Change the default readmore link pointing to tarteaucitron.io */ 42 43 "mandatory": true, /* Show a message about mandatory cookies */ 44 45 "listCookieByService": false, /* Show a message about list cookie by service */ 46 "tarteaucitronForceLanguage" : 'fr', 47 48 }); 49 </script>
49 50 51 52<meta name="Description" content=""> 53<meta name="Keywords" content=""> 54<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 55<meta charset="UTF-8"> 56 57 <!-- Matomo -->
58<script> 59 var _paq = window._paq = window._paq || []; 60 /* tracker methods like "setCustomDimension" should be called before "trackPageView" */ 61 _paq.push(['trackPageView']); 62 _paq.push(['enableLinkTracking']); 63 (function() { 64 var u="//matomo-client.neopse.com/"; 65 _paq.push(['setTrackerUrl', u+'matomo.php']); 66 _paq.push(['setSiteId', '145']); 67 var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; 68 g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s); 69 })(); 70</script>
70 71<!-- End Matomo Code --> 72 73 <link rel="apple-touch-icon" href="https://static.neopse.com/thumbs/p/2877/site/b4/50/0b/b4500bf2c323d44c9be3f3468d5875ca335a2401.png?v=v1"> 74 <link rel="icon" href="https://static.neopse.com/thumbs/p/2877/site/b4/50/0b/b4500bf2c323d44c9be3f3468d5875ca335a2401.png?v=v1"> 75 <link rel="preconnect" href="https://fonts.googleapis.com"> 76 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 77 <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,700|Material+Icons" rel="stylesheet"> 78 <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;700&family=Jost:wght@400;700&family=Lato:wght@400;700&family=Lora:wght@400;700&family=Merriweather:wght@400;700&family=Montserrat:wght@400;700&family=Nunito:wght@400;700&family=Open+Sans:wght@400;700&family=Outfit:wght@400;700&family=Roboto:wght@400;700&family=Roboto+Condensed:wght@400;700&family=Roboto+Slab:wght@400;700&display=swap" rel="stylesheet"> 79 80 <link href='/dist/owlcarousel/css/owl.carousel.min.css' rel='stylesheet' type='text/css'> 81 <link href='/dist/owlcarousel/css/owl.theme.default.min.css' rel='stylesheet' type='text/css'> 82 <link href='/dist/slick/slick.css' rel='stylesheet' type='text/css'> 83 <link href='/dist/slick/slick-theme.css' rel='stylesheet' type='text/css'> 84 <link href='/dist/fullcalendar/fullcalendar.min.css' rel='stylesheet' type='text/css'> 85 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.13.2/css/bootstrap-select.min.css"> 86 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.13/css/bootstrap-multiselect.css" /> 87 <link href="/tpl/2/css/style.css" rel="stylesheet" type='text/css'> 88 89 <link href="/lib/splide-4.0.1/css/splide.min.css" rel="stylesheet" type="text/css"/> 90 <link href="/lib/splide-4.0.1/css/splide-custom.css" rel="stylesheet" type="text/css"/> 91 92 <style class="notranslate">.bg_bloc { background-color: #004AAD !important; } .table td, .table, .table thead th { border-color: #004AAD !important; } .bg_bloc .dropdown-toggle, .bg_bloc .dropdown-menu { background-color: #004AAD !important; border-color: #004AAD !important;} .fc-unthemed th, .fc-unthemed td, .fc-unthemed thead, .fc-unthemed tbody, .fc-unthemed .fc-divider, .fc-unthemed .fc-row, .fc-unthemed .fc-content, .fc-unthemed .fc-popover, .fc-unthemed .fc-list-view, .fc-unthemed .fc-list-heading td{ border-color: #004AAD !important;} .fc-unthemed thead.fc-head, .fc-unthemed .fc-popover .fc-header{ 93 background-color: #004AAD !important; 94} .fc-unthemed td.fc-today{background: #004AAD !important;} .cookies .btn{ color: #004AAD !important; }header.intro { background-image: url(https://static.neopse.com/medias/p/2877/site/23/22/a0/2322a0f81adf50af8572d66283e63e73762bf834.jpeg?v=v1); background-position: center; background-repeat: repeat; }body { background-color: #FFFFFF; }.c_btn { color: #83BC45; border-color: #83BC45; } .c_btn:hover { background-color: #83BC45; } .owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span, .carousel-indicators .active, .slick-dots li.slick-active button {background: #83BC45;opacity: 1;} .carousel-indicators li, .owl-theme .owl-dots .owl-dot span, .slick-dots li button{background-color: #83BC45;opacity: 0.5;} .fc-event .fc-title, .fc-event-container{ color: #83BC45 !important; } .fc-event{ color: #83BC45;}.h_btn:hover {color: #FFFFFF;} .searchbar .bg_btn { background-color: #FFFFFF; } .fc-event{ background-color: #FFFFFF !important; border-color: #FFFFFF !important; }.text_bloc {color:#FFFFFF !important;} .bg_bloc .c_text {color:#FFFFFF !important;} .bg_bloc .dropdown-toggle, .bg_bloc .dropdown-menu, .bg_bloc.bootstrap-select .dropdown-toggle::after {color:#FFFFFF !important;} .fc-unthemed thead.fc-head{ color: #FFFFFF !important; } .fc-unthemed td.fc-today{color: #FFFFFF !important;} .cookies .btn{ background-color: #FFFFFF !important; }body, .lead, .heading { font-family: !important; }#footer .footer-links.bg { background-color: #FFFFFF; }nav.navbar.bg { background-color: #EC9C58; }body, .c_title, .c_text { color: #004AAD; } .navbar-toggler.c_text{ border-color: #004AAD; } .intern-page .en-tete{ border-left-color: #004AAD;} .bootstrap-select .dropdown-menu li a{color: #004AAD;} .c_text .dropdown-toggle { color: #004AAD !important; }.searchbar .c_btn { color: #FFFFFF !important; }.navbar .dropdown-menu { background-color: #004AAD; }#footer .footer-links .c_text { color: #004AAD!important; }.searchbar .c_text { color: #004AAD; } .searchbar ::placeholder { color: #004AAD; }#footer .footer-links .c_title { color: #004AAD; } #footer .footer-links .c_title:before { background-color: #004AAD; }nav.navbar .c_text { color: #004AAD; } .navbar-toggler.c_text{ border-color: #004AAD !important; }nav.navbar .h_text:hover { color: #EC9C58; }#footer .footer.bg { background-color: #004AAD; }.breadcrumb.bg { background-color: #8FD842; }.navbar .dropdown-menu .c_text { color: #FFFFFF; }nav.navbar .dropdown-menu .h_text:hover { color: #004AAD; }#footer .c_btn { color: #FFFFFF !important; border-color: #FFFFFF !important; } #footer .c_btn:hover { background-color: #FFFFFF !important; }#footer .h_btn:hover {color: #EC9C58 !important;}#w_headline { background-color: #004AAD; }nav.navbar .h_text:hover { background-color: #FFFFFF; }#footer .footer .c_text { color: #FFFFFF; }#w_5ujbm4cn3 .bg { background-color: #FFFFFF; }#w_7kk2l7p61 .bg { background-color: #FFFFFF; }#w_ccyhb3jp6 .bg { background-color: #004AAD; }#w_dc1lm95lx .bg { background-color: #EC9C58; }#w_h9r3iv7kt .bg { background-color: #FFFFFF; }#w_headline .c_btn { color: #FFFFFF; border-color: #FFFFFF; } #w_headline .c_btn:hover { background-color: #FFFFFF; } #w_headline .carousel-indicators li { background-color: #FFFFFF;opacity:0.5; } #w_headline .carousel-indicators .active { background-color: #FFFFFF;opacity: 1; }#w_ryg5xthu1 .bg { background-color: #FFFFFF; }.breadcrumb.bg .c_text { color: #FFFFFF; }.searchbar .bg_btn { background-color: #004AAD !important; }.navbar .dropdown-menu .h_text:hover { background-color: #EC9C58; }#footer .footer .c_title { color: #FFFFFF; } #footer .footer .c_title:before { background-color: #FFFFFF; }#w_5ujbm4cn3 .c_btn { color: #004AAD; border-color: #004AAD; } #w_5ujbm4cn3 .c_btn:hover { background-color: #004AAD; } #w_5ujbm4cn3 .slick-dots li button { background-color: #004AAD;opacity:0.5; } #w_5ujbm4cn3 .slick-dots li.slick-active button { background-color: #004AAD; opacity: 1 !important;}#w_5ujbm4cn3 .h_btn:hover { color: #FFFFFF; }#w_ccyhb3jp6 .c_btn, #w_ccyhb3jp6 .card-icon-date .day { color: #709D3F; border-color: #709D3F; } #w_ccyhb3jp6 .slick-dots li button { background-color: #709D3F;opacity:0.5; } #w_ccyhb3jp6 .c_btn:hover, #w_ccyhb3jp6 .owl-theme .owl-dots .owl-dot.active span, #w_ccyhb3jp6 .owl-theme .owl-dots .owl-dot:hover span, #w_ccyhb3jp6 .card-icon-date .month, #w_ccyhb3jp6 .slick-dots li.slick-active button { background-color: #709D3F; opacity: 1 !important;}#w_ccyhb3jp6 .h_btn:hover { color: #004AAD; }#w_h9r3iv7kt .c_btn { color: #709D3F; border-color: #709D3F; } #w_h9r3iv7kt .c_btn:hover { background-color: #709D3F; } #w_h9r3iv7kt .slick-dots li button { background-color: #709D3F;opacity:0.5; } #w_h9r3iv7kt .slick-dots li.slick-active button { background-color: #709D3F; opacity: 1 !important;}#w_h9r3iv7kt .h_btn:hover { color: #FFFFFF; }#w_headline .c_text { color: #FFFFFF; }#w_oneclick .c_text { color: #FFFFFF; } #w_oneclick .c_text:before { background-color: #FFFFFF; }#w_ryg5xthu1 .c_btn { color: #709D3F; border-color: #709D3F; } #w_ryg5xthu1 .c_btn:hover { background-color: #709D3F; }#w_ryg5xthu1 .h_btn:hover { color: #FFFFFF; }.breadcrumb.bg .c_title { color: #FFFFFF; } .breadcrumb.bg .c_title:before { background-color: #FFFFFF; }#w_7kk2l7p61 .c_text { color: #000000; } #w_7kk2l7p61 .c_text:before { background-color: #000000; }#w_ccyhb3jp6 .c_text { color: #004AAD; }#w_h9r3iv7kt .c_text { color: #FFFFFF; }#w_headline .c_title { color: #EC9C58 !important; }#w_oneclick .c_title { color: #FFFFFF; } #w_oneclick .c_title:before { background-color: #FFFFFF; }#w_ryg5xthu1 .c_text { color: #000000; }#w_5ujbm4cn3 .c_title { color: #EC9C58; } #w_5ujbm4cn3 .c_title:before { background-color: #EC9C58; }#w_7kk2l7p61 .c_title { color: #709D3F; } #w_7kk2l7p61 .c_title:before { background-color: #709D3F !important; }#w_ccyhb3jp6 .c_title { color: #FFFFFF; } #w_ccyhb3jp6 .c_title:before { background-color: #FFFFFF; }#w_dc1lm95lx .c_title { color: #000000; }#w_h9r3iv7kt .c_title { color: #83BC45; } #w_h9r3iv7kt .c_title.dark:before { background-color: #83BC45; }#w_ryg5xthu1 .c_title { color: #004AAD; }#w_headline .c_title { display: inline-block; }#w_oneclick .c_title { display: none; }#w_oneclick .bg_text { background-color: #004AAD; }#w_7kk2l7p61 .card { background-color: #8FD842; }#w_ccyhb3jp6 .bg_text { background-color: #FFFFFF; }#w_h9r3iv7kt .bg_text { background-color: #83BC45; }/*np-dropdowns*/.bootstrap-select{background-color:#004AAD!important;}.bootstrap-select .dropdown-menu{background-color:#004AAD!important;border-color:#004AAD!important;}.bootstrap-select .dropdown-menu .dropdown-item,.bootstrap-select .dropdown-menu li a,.bootstrap-select .dropdown-menu .dropdown-item:hover,.bootstrap-select .dropdown-menu .dropdown-item:focus,.bootstrap-select .dropdown-menu .dropdown-item.active,.bootstrap-select .dropdown-menu .dropdown-item.selected{background-color:#004AAD!important;}.bootstrap-select,.bootstrap-select .dropdown-toggle,.bootstrap-select .dropdown-toggle::after,.bootstrap-select .dropdown-menu,.bootstrap-select .dropdown-menu .c_text,.bootstrap-select .dropdown-menu .dropdown-item,.bootstrap-select .dropdown-menu .dropdown-item:hover,.bootstrap-select .dropdown-menu .dropdown-item:focus,.bootstrap-select .dropdown-menu .dropdown-item.active,.bootstrap-select .dropdown-menu .dropdown-item.selected,.bootstrap-select .dropdown-menu li a,.bootstrap-select .dropdown-menu .text{color:#FFFFFF!important;}</style> 95 96 97
97<script src="/js/vendor/jquery-3.2.1.min.js"></script>
97 98 99 100 <!-- Matomo --> 101
101<script>tarteaucitron.user.matomoHost = '//matomo.neopse.com/';</script>
101 102 <!-- End Matomo Code --> 103</head> 104<body class="bg_body"> 105 106<header role="banner"><nav role="navigation" class="navbar navbar-fixed-left bg"> 107 <div class="ov"></div> 108 109 <div class="container"> 110 111 <!-- Logo --> 112 <div class="navbar-header"> 113 <a class="navbar-brand c_text" aria-label="Accueil" href="/fr/"> 114 <h1 class="img"> 115 <picture> 116 <source media="(max-width: 991.98px)" srcset="https://static.neopse.com/medias/p/2877/site/08/97/90/089790e1a2fe798a5ec178bc377ba8948537239a.png"> 117 <img role="img" src="https://static.neopse.com/medias/p/2877/site/08/97/90/089790e1a2fe798a5ec178bc377ba8948537239a.png" alt="Logo Ville d'Amplepuis" loading="eager"> 118 </picture> 119 <span>Ville d'Amplepuis</span> 120 </h1> 121 </a> 122 </div> 123 124 <!-- Mobile button --> 125 <button class="navbar-toggler c_text" 126 type="button" 127 data-toggle="collapse" 128 data-target="#navbar" 129 aria-controls="navbar" 130 aria-expanded="false" 131 aria-label="Toggle navigation"> 132 <span class="navbar-toggler-icon"> 133 <i class="material-icons notranslate">menu</i> 134 </span> 135 </button> 136 137 <div class="collapse navbar-collapse" id="navbar"> 138 <ul class="nav navbar-nav"> 139 140 <li class="nav-item dropdown"> 141 <a class="nav-link c_text h_text" href="/" role="button"> 142 <i class="material-icons">home</i> 143 </a> 144 </li> 145 146 147 <li class="nav-item dropdown"> 148 <a class="nav-link dropdown-toggle c_text h_text" href="#" id="menuDropdown1" role="button" 149 data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 150 Bienvenue 151 </a> 152 <div class="dropdown-menu mega-dropdown-menu row bg_text" aria-labelledby="menuDropdown1"> 153 154 <div class="divider"> 155 156 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 157 href="/fr/rb/1793066/histoire-90"> 158 Histoire 159 </a> 160 161 162 163 164 165 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 166 href="/fr/ap/1786683/plan-de-la-ville-20"> 167 Plan de la ville 168 </a> 169 170 171 172 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 173 href="/fr/rb/1793105/jumelage-45"> 174 Jumelage 175 </a> 176 177 178 179 180 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 181 href="/fr/rb/2121875/tourisme-91"> 182 Tourisme 183 </a> 184 185 186 187 188 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 189 href="/fr/rb/1827880/intercommunalite-cor"> 190 Intercommunalité - COR 191 </a> 192 193 194 195 196 197 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 198 href="/fr/pc/1786176/amplepuis-en-images"> 199 Amplepuis en images 200 </a> 201 202 203 </div> 204 205 </div> 206 </li> 207 208 209 <li class="nav-item dropdown"> 210 <a class="nav-link dropdown-toggle c_text h_text" href="#" id="menuDropdown2" role="button" 211 data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 212 Ma Mairie 213 </a> 214 <div class="dropdown-menu mega-dropdown-menu row bg_text" aria-labelledby="menuDropdown2"> 215 216 <div class="divider"> 217 218 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 219 href="/fr/rb/1824734/nos-elus-municipaux"> 220 Nos Ãlus Municipaux 221 </a> 222 223 224 225 226 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 227 href="/fr/rb/1793248/nos-agents-municipaux"> 228 Nos Agents Municipaux 229 </a> 230 231 232 233 234 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 235 href="/fr/rb/1793378/conseil-municipal-des-jeunes-43"> 236 Conseil Municipal des Jeunes 237 </a> 238 239 240 241 242 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 243 href="/fr/rb/1793274/conseil-municipal-233"> 244 Conseil Municipal 245 </a> 246 247 248 249 250 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 251 href="/fr/rb/1793391/nos-bulletins"> 252 Nos Bulletins 253 </a> 254 255 256 257 258 259 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 260 href="/fr/rr/1786761/salles-municipales-55"> 261 Salles Municipales 262 </a> 263 264 265 266 267 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 268 href="/fr/pm/1786332/marches-publics-1032"> 269 Marchés Publics 270 </a> 271 272 273 274 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 275 href="/fr/rb/2085592/finances-49"> 276 Finances 277 </a> 278 279 280 281 282 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 283 href="/fr/rb/1813528/urbanisme-travaux-7"> 284 Urbanisme - Travaux 285 </a> 286 287 288 289 290 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 291 href="/fr/rb/1824955/travaux-occupation-du-domaine-public"> 292 Travaux - Occupation du domaine public 293 </a> 294 295 296 297 298 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 299 href="/fr/rb/1813606/reglementation-21"> 300 Règlementation 301 </a> 302 303 304 305 306 307 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 308 href="/fr/ct/1785630/contacts-919"> 309 Contacts 310 </a> 311 312 313 </div> 314 315 </div> 316 </li> 317 318 319 <li class="nav-item dropdown"> 320 <a class="nav-link dropdown-toggle c_text h_text" href="#" id="menuDropdown3" role="button" 321 data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 322 Vie Pratique 323 </a> 324 <div class="dropdown-menu mega-dropdown-menu row bg_text" aria-labelledby="menuDropdown3"> 325 326 <div class="divider"> 327 328 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 329 href="/fr/rb/1793599/informations-pratiques-31"> 330 Informations Pratiques 331 </a> 332 333 334 335 336 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 337 href="/fr/rb/2404521/carte-d-identite-passeport-3"> 338 Carte d'Identité / Passeport 339 </a> 340 341 342 343 344 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 345 href="/fr/rb/2257387/fleurissement-27"> 346 Fleurissement 347 </a> 348 349 350 351
351 352 353 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 354 href="/fr/as/1786410/associations-129"> 355 Associations 356 </a> 357 358 359 360 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 361 href="/fr/rb/1793157/enfance-jeunesse-scolaire"> 362 Enfance, Jeunesse & Scolaire 363 </a> 364 365 366 367 368 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 369 href="/fr/rb/2085891/mediatheque-champollion"> 370 Médiathèque Champollion 371 </a> 372 373 374 375 376 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 377 href="/fr/rb/2087009/musee-barthelemy-thimonnier"> 378 Musée Barthélémy Thimonnier 379 </a> 380 381 382 383 384 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 385 href="/fr/rb/1793560/emploi-carriere"> 386 Emploi & Carrière 387 </a> 388 389 390 391 392 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 393 href="/fr/rb/1793703/citoyennete-et-vie-locale"> 394 Citoyenneté et Vie Locale 395 </a> 396 397 398 399 400 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 401 href="/fr/rb/1793482/maison-des-jeunes-et-de-la-culture-2"> 402 Maison des Jeunes et de la Culture 403 </a> 404 405 406 407 408 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 409 href="/fr/rb/1793521/centre-social-
409du-parc"> 410 Centre Social du Parc 411 </a> 412 413 414 415 416 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 417 href="/fr/rb/2087347/sante-8"> 418 Santé 419 </a> 420 421 422 423 424 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 425 href="/fr/rb/1827269/gestion-des-dechets-41"> 426 Gestion des Déchets 427 </a> 428 429 430 431 </div> 432 433 </div> 434 </li> 435 436 437 <li class="nav-item dropdown"> 438 <a class="nav-link dropdown-toggle c_text h_text" href="#" id="menuDropdown4" role="button" 439 data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 440 Vie Ãconomique 441 </a> 442 <div class="dropdown-menu mega-dropdown-menu row bg_text" aria-labelledby="menuDropdown4"> 443 444 <div class="divider"> 445 446 447 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 448 href="/fr/bu/1786449/nos-commerces-entreprises-et-agriculteurs"> 449 Nos commerces, entreprises et agriculteurs 450 </a> 451 452 453 454 455 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 456 href="/fr/tr/1786488/nos-gites-et-hebergements"> 457 Nos gîtes et hébergements 458 </a> 459 460 461 462 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 463 href="/fr/rb/1827204/nos-marches-1"> 464 Nos marchés 465 </a> 466 467 468 469 </div> 470 471 </div> 472 </li> 473 474 475 <li class="nav-item dropdown"> 476 <a class="nav-link dropdown-toggle c_text h_text" href="#" id="menuDropdown5" role="button" 477 data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 478 Vie Sociale 479 </a> 480 <div class="dropdown-menu mega-dropdown-menu row bg_text" aria-labelledby="menuDropdown5"> 481 482 <div class="divider"> 483 484 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 485 href="/fr/rb/1793170/c-c-a-s-25"> 486 C.C.A.S 487 </a> 488 489 490 491 492 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 493 href="/fr/rb/1813476/seniors-68"> 494 Séniors 495 </a> 496 497 498 499 500 <a class="dropdown-item c_text h_text bg_h_text" role="menuitem" 501 href="/fr/rb/1813489/action-sociale-solidarite-1"> 502 Action sociale - Solidarité 503 </a> 504 505 506 507 </div> 508 509 </div> 510 </li> 511 512 513 514 <li class="nav-item position-relative"> 515 <div role="button" class="cursor-pointer nav-link c_text" data-toggle="collapse" 516 data-target="#google_translate_element" aria-expanded="false" aria-label="Choisir la langue du site" 517 aria-controls="google_translate_element"><i class="material-icons notranslate">language</i> 518 </div> 519 <div id="google_translate_element" class="collapse"> 520 <div id="google_translate"></div> 521 <div class="google_translate_consent" style="width: 200px; height: 60px;"></div> 522 </div> 523 </li> 524 </ul> 525 </div> 526 </div> 527</nav> 528</header> 529 530<main role="main"> 531 <div class="main intern-page"> 532 <header class="d-flex align-items-center breadcrumb bg"> 533 <div class="ov"></div> 534 <div class="container text-center"> 535 <h1 class="title c_title">Contacts</h1> 536 537 <nav class="ariane c_text"> 538 <span><a href="/fr/" class="font-weight-bold">Accueil</a></span> 539 / <a href="/fr/">Ma Mairie</a> 540 / <a href="/fr/ct/1785630/contacts-919">Contacts</a> 541 </nav> 542 543 </div> 544</header> 545 <!-- Contenu --> 546 <section class="container wrapper bg_wrapper c_wrapper"> 547 <div class="ov bgw"></div> 548 549 <div class="main-content dynamicContent"> 550 551 <div class="row"> 552 <div class="col col-lg contenu"> 553 <div class="en-tete col-12 ckeditor_info"> 554 <h2 class="heading c_title">Contacts</h2> </div> 555 <div> 556 <div class="mb-3"> 557 <h2 class="title dark h3">Commune d'Amplepuis</h2> 558 <p></p> 559 </div> 560 561 <div class="mb-3"> 562 <p class="mb-0">9 place de l'Hôtel de Ville</p> 563 <p class="mb-0">69550 Amplepuis</p> 564 <p class="mb-0 text-uppercase">France</p> 565 </div> 566 567 <div class="mb-3"> 568 <p class="mb-0"><a 569 href="tel:+33474893024">+33 4 74 89 30 24</a> 570 </p> </div> 571 572 <div class="mb-3"><p class="mb-0"><a class="btn c_btn bg_btn h_btn py-2 px-4" href="#" data-toggle="modal" 573 data-target="#contactFormContact">Contact par formulaire</a></p></div> 574 575 576 <div class="mb-3"> 577 <ul class="d-flex social-media"> 578 579 <li><a href="https://www.facebook.com/mairieamplepuis" class="icon-facebook" 580 title="facebook" target="_blank"></a></li> 581 <li><a href="https://www.instagram.com/villeamplepuis/" class="icon-instagram" 582 title="instagram" target="_blank"></a></li> 583 <li><a href="https://www.linkedin.com/in/ville-d-amplepuis-85106a353/" class="icon-linkedin" 584 title="linkedin" target="_blank"></a></li> 585 </ul> 586 </div> 587 588 589 </div> 590 591 </div> 592 593 594 </div> 595 596 </div> 597 </section> 598 599 <div class="modal fade" id="contactFormContact" tabindex="-1" role="dialog" aria-labelledby="modalContact-label" aria-hidden="true" 600 style="color:initial;-webkit-transform: translateZ(0);transform: translateZ(0);"> 601 <div class="modal-dialog" role="document"> 602 <div class="modal-content"> 603 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
604 <span aria-hidden="true">×</span> 605 </button> 606 607 <div class="modal-header bg_bloc text_bloc"> 608 <h5 id="modalContact-label" class="modal-title font-weight-bold dark text_bloc">Contact</h5> 609 </div> 610 <form id="contactForm" action="/formMdContact" method="post" 611 novalidate enctype="multipart/form-data"> 612 <div class="modal-body c_text"> 613 614 <p class="title field-wrapper">Contactez-nous</p> 615<hr> 616 <div class="form-group position-relative"> 617 <div><label for="2_input">Nom</label><span>*</span></div> 618 <input type="text" name="2_input" class="form-control" id="2_input" aria-describedby="2_inputHelp"> 619 <span class="form-error requirements" id="2_input-error" role="alert">Ce champ est obligatoire</span> 620</div> 621 <div class="form-group position-relative"> 622 <div><label for="3_input">Prénom</label><span>*</span></div> 623 <input type="text" name="3_input" class="form-control" id="3_input" aria-describedby="3_inputHelp"> 624 <span class="form-error requirements" id="3_input-error" role="alert">Ce champ est obligatoire</span> 625</div> 626 <div class="form-group position-relative"> 627 <div><label for="4_input">Objet de votre demande</label><span>*</span></div> 628 <input type="text" name="4_input" class="form-control" id="4_input" aria-describedby="4_inputHelp"> 629 <span class="form-error requirements" id="4_input-error" role="alert">Ce champ est obligatoire</span> 630</div> 631 <div class="form-group position-relative"> 632 <div><label for="5_textarea">Votre message</label><span>*</span> 633 </div> 634 <textarea name="5_textarea" class="form-control pl-0" id="5_textarea" rows="3"></textarea> 635 <span class="form-error requirements" id="5_textarea-error" role="alert">Ce champ est obligatoire</span> 636</div> 637 <div class="form-group"> 638 <div><label for="6_email">Votre adresse mail</label><span>*</span></div> 639 <input type="email" name="6_email" class="form-control" id="6_email" 640 aria-describedby="Votre adresse mail"> 641 <span class="form-error requirements" id="6_email-error" role="alert">Ce champ est obligatoire</span> 642</div> 643 644 <div class="form-group"> 645 <div class="h-recaptcha m-auto d-inline-block"></div> 646 <div class="form-error requirements" id="h-captcha-response-error" role="alert">Ce champ est obligatoire 647 </div> 648</div> </div> 649 <div class="modal-footer"> 650 <button id="formContactForm" type="submit" class="btn-outline btn-right c_btn h_btn">ENVOYER</button> 651 </div> 652 <div class="m-3"> 653 Les informations recueillies à partir de ce formulaire sont nécessaires à la gestion de votre demande par notre Structure qui est responsable du traitement de vos données personnelles collectées.<br /> 654Vos donn<span style="color:null"><span style="background-color:null">ées personnelles reçues sont conservées par notre Structure pendant toute la durée nécessaire au traitement de votre demande ou bien pour une durée de […….] mois maximum à compter du dernier contact. Dans la limite de leurs attributions respectives, sont destinataires de tout ou partie des données les services et représentants de notre Structure en charge des réponses aux demandes émises via ce formulaire. Aucun transfert de vos données hors de l'Union européenne n'est réalisé. </span><br /> 655<span style="background-color:null">Vous pouvez à tout moment demander l’accès, la rectification, l’effacement, la portabilité ou la limitation de vos données, ou bien vous opposer à leur traitement, en contactant le Délégué à la Protection des Données de notre structure : </span><br /> 656<span style="background-color:null">- Par voie électronique à l’adresse : […….] ; </span><br /> 657<span style="background-color:null">- Par voie postale à l’attention du Délégué à la Protection des Données et à l’adresse suivante : […….]. </span><br /> 658<span style="background-color:null">Si vous estimez, après nous avoir contactés, que vos droits sur vos données personnelles ne sont pas respectés, vous pou</span></span>vez adresser une réclamation à la CNIL. 659 </div> 660 </form> 661 662 <div id="messageSendedForm" class="form-message-sent" style="display: none"> 663 <p>Votre message a bie été transmis à nos équipes. Merci.</p> 664 </div> 665 </div> 666 </div> 667</div> 668 669 </div> 670 671</main> 672 673<div class="main"> 674 675 676 <div id="footer"> 677 <footer role="contentinfo" class="footer footer1 bg"> 678 <div class="ov"></div> 679 <div class="container d-flex flex-wrap"> 680 <div class="footer-container"> 681 <h2 class="title light c_title d_title btn-line"><a 682 href="/fr/ct/1785630/contacts-919">Contacts</a></h2> 683<div class="footer-box"> 684 <div class="contact c_text"> 685 <p class="font-weight-bold mb-0">Commune d'Amplepuis</p> 686 <p class="mb-0">9 place de l'Hôtel de Ville</p> 687 <p class="mb-0">69550 Amplepuis - FRANCE</p> 688 <p class="mb-0"><a href="tel:+33474893024">+33 4 74 89 30 24</a> 689 </p> 690 <p class="mb-0"><a href="#" data-toggle="modal" data-target="#contactFormContactFooter" class="btn-outline c_btn h_btn">Contact par formulaire</a> 691 </p> 692 693 </div> 694</div> 695 696 697 <div class="social-media"> 698 <ul class="c_text"> 699 <li><a href="https://www.facebook.com/mairieamplepuis" class="icon-facebook" title="facebook" target="_blank"></a></li> 700 <li><a href="https://www.instagram.com/villeamplepuis/" class="icon-instagram" title="instagram" target="_blank"></a></li> 701 <li><a href="https://www.linkedin.com/in/ville-d-amplepuis-85106a353/" class="icon-linkedin" title="linkedin" target="_blank"></a></li> 702 </ul> 703</div> 704 705 706 </div> 707 </div> 708 </footer> 709 710 <section class="bg footer-links footer2"> 711 <div class="ov"></div> 712 <div class="container d-flex flex-wrap"> 713 <div class="footer-container"> 714 <h2 class="title-container clearfix mb-3"> 715 <div class="title c_title d_title">Liens</div> 716 </h2> 717 <div class="links c_text row linksCustom"> 718 <p class="col-8 col-md-8"> 719 <a href="https://www.facebook.com/mairieamplepuis?locale=fr_FR" target="_blank">FACEBOOK</a> 720 </p> 721 <p class="col-8 col-md-8"> 722 <a href="https://www.instagram.com/villeamplepuis/" target="_blank">INSTAGRAM</a> 723 </p> 724 <p class="col-8 col-md-8"> 725 <a href="https://www.linkedin.com/feed/" target="_blank">LINKEDIN</a> 726 </p> 727 </div> 728</div> 729 730 731 732 733 734 </div> 735 <div class="container d-flex flex-wrap" style="justify-content:center;"> 736 <p class="mt-0 mb-0 c_text"><a href="/fr/li/1785669/mentions-legales-1285">Mentions légales</a> 737</p>
738 <span class="c_text" style="margin: 0 8px;">-</span> 739 <p class="mt-0 mb-0 c_text"><a href="/fr/1785669/politique-confidentialite">Politique de confidentialité</a> 740</p> 741 <span class="c_text" style="margin: 0 8px;">-</span> 742 <p class="mt-0 mb-0 c_text"><a href="/fr/accessibilite">Accessibilité</a> 743</p> 744 <span class="c_text" style="margin: 0 8px;">-</span> 745 746 <p class="mt-0 mb-0 c_text"><a href="/fr/sm/74794/plan-du-site-1" >Plan du site</a></p> 747 <span class="c_text" style="margin: 0 8px;">-</span> 748 <p class="mt-0 mb-0 c_text"><a href="#tarteaucitron">Gestion des cookies</a></p> 749 </div> 750 </section> 751</div> 752 753<div class="modal fade" id="contactFormContactFooter" tabindex="-1" role="dialog" aria-labelledby="modalFooter-label" aria-hidden="true" 754 style="color:initial;-webkit-transform: translateZ(0);transform: translateZ(0);"> 755 <div class="modal-dialog" role="document"> 756 <div class="modal-content"> 757 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 758 <span aria-hidden="true">×</span> 759 </button> 760 761 <div class="modal-header bg_bloc text_bloc"> 762 <h4 id="modalFooter-label" class="modal-title font-weight-bold dark text_bloc">Contact</h4> 763 </div> 764 <form id="contactFormFooter" action="/formMdContact" method="post" 765 novalidate enctype="multipart/form-data"> 766 <div class="modal-body pb-0"> 767 768 <p class="title field-wrapper">Contactez-nous</p> 769<hr> <div class="form-group position-relative"> 770 <div><label for="2_input">Nom</label><span>*</span></div> 771 <input type="text" name="2_input" class="form-control" id="2_input" aria-describedby="2_inputHelp"> 772 <span class="form-error requirements" id="2_input-error" role="alert">Ce champ est obligatoire</span> 773</div> <div class="form-group position-relative"> 774 <div><label for="3_input">Prénom</label><span>*</span></div> 775 <input type="text" name="3_input" class="form-control" id="3_input" aria-describedby="3_inputHelp"> 776 <span class="form-error requirements" id="3_input-error" role="alert">Ce champ est obligatoire</span> 777</div> <div class="form-group position-relative"> 778 <div><label for="4_input">Objet de votre demande</label><span>*</span></div> 779 <input type="text" name="4_input" class="form-control" id="4_input" aria-describedby="4_inputHelp"> 780 <span class="form-error requirements" id="4_input-error" role="alert">Ce champ est obligatoire</span> 781</div> <div class="form-group position-relative"> 782 <div><label for="5_textarea">Votre message</label><span>*</span> 783 </div> 784 <textarea name="5_textarea" class="form-control pl-0" id="5_textarea" rows="3"></textarea> 785 <span class="form-error requirements" id="5_textarea-error" role="alert">Ce champ est obligatoire</span> 786</div> <div class="form-group"> 787 <div><label for="6_email">Votre adresse mail</label><span>*</span></div> 788 <input type="email" name="6_email" class="form-control" id="6_email" 789 aria-describedby="Votre adresse mail"> 790 <span class="form-error requirements" id="6_email-error" role="alert">Ce champ est obligatoire</span> 791</div> 792 <div class="form-group"> 793 <div class="h-recaptcha m-auto d-inline-block"></div> 794 <div class="form-error requirements" id="h-captcha-response-error" role="alert">Ce champ est obligatoire 795 </div> 796</div> </div> 797 <div class="modal-footer"> 798 <button id="formContactForm" type="submit" class="btn-outline btn-right c_btn h_btn formContactForm">ENVOYER</button> 799 </div> 800 <div class="m-3"> 801 Les informations recueillies à partir de ce formulaire sont nécessaires à la gestion de votre demande par notre Structure qui est responsable du traitement de vos données personnelles collectées.<br /> 802Vos donn<span style="color:null"><span style="background-color:null">ées personnelles reçues sont conservées par notre Structure pendant toute la durée nécessaire au traitement de votre demande ou bien pour une durée de […….] mois maximum à compter du dernier contact. Dans la limite de leurs attributions respectives, sont destinataires de tout ou partie des données les services et représentants de notre Structure en charge des réponses aux demandes émises via ce formulaire. Aucun transfert de vos données hors de l'Union européenne n'est réalisé. </span><br /> 803<span style="background-color:null">Vous pouvez à tout moment demander l’accès, la rectification, l’effacement, la portabilité ou la limitation de vos données, ou bien vous opposer à leur traitement, en contactant le Délégué à la Protection des Données de notre structure : </span><br /> 804<span style="background-color:null">- Par voie électronique à l’adresse : […….] ; </span><br /> 805<span style="background-color:null">- Par voie postale à l’attention du Délégué à la Protection des Données et à l’adresse suivante : […….]. </span><br /> 806<span style="background-color:null">Si vous estimez, après nous avoir contactés, que vos droits sur vos données personnelles ne sont pas respectés, vous pou</span></span>vez adresser une réclamation à la CNIL. 807 </div> 808 </form> 809 810 <div id="messageSendedFormContactFooter" class="form-message-sent" style="display: none"> 811 <p role="status">Votre message a bie été transmis à nos équipes. Merci.</p> 812 </div> 813 </div> 814 </div> 815</div> 816 817 <div class="footer-bottom" style="position: relative;"> 818 <div class="container"> 819 <p> 820 821 <a href="https://reseaudescommunes.fr/?utm_source=rdcclients&utm_medium=footerlink" target="_blank"> 822 <img role="img" src="/images/rdc-logo-footer-2.png" alt="Logo Réseau des Communes" class="img-fluid">
823 Site créé en partenariat avec Réseau des Communes 824 </a> 825 </p> 826 </div> 827</div> 828 <div class="modal fade pdfModal" id="pdfModal" tabindex="-1" role="dialog" aria-label="Prévisualisation du PDF" aria-hidden="true"> 829 <div class="modal-dialog" role="document"> 830 <div class="modal-content"> 831 <button type="button" class="close" data-dismiss="modal" aria-label="Close"> 832 <span aria-hidden="true">×</span> 833 </button> 834 835 <embed type="application/pdf"> 836 </div> 837 </div> 838</div> 839 840 841</div> 842 843 <div id="previewModalImage" class="modal"> 844 845 <!-- The Close Button --> 846 <span id="closePreviewImage" class="close">×</span> 847 848 <!-- Navigation Buttons --> 849 <a id="prevImage" class="modal-nav prev" href="javascript:void(0)">❮</a> 850 <a id="nextImage" class="modal-nav next" href="javascript:void(0)">❯</a> 851 852 <!-- Image Counter --> 853 <div id="imageCounter" class="image-counter"></div> 854 855 <!-- Modal Content (The Image) --> 856 <div id="containerPreviewImage"><img role="img" class="modal-content" alt=""></div> 857 858 <!-- Modal Caption (Image Text) --> 859 <div id="captionPreviewImage"></div> 860 </div> 861 862
862<script> 863 (function() { 864 // Get the modal elements 865 const modal = document.getElementById('previewModalImage'); 866 const modalImg = modal.querySelector('img'); 867 const captionText = document.getElementById('captionPreviewImage'); 868 const closePreviewImage = document.getElementById('closePreviewImage'); 869 const prevBtn = document.getElementById('prevImage'); 870 const nextBtn = document.getElementById('nextImage'); 871 const imageCounter = document.getElementById('imageCounter'); 872 873 let currentImages = []; 874 let currentIndex = 0; 875 876 // Helper function to check if element is visible 877 function isVisible(element) { 878 return element && element.offsetParent !== null; 879 } 880 881 // Helper function to toggle element visibility 882 function toggleElement(element, show) { 883 if (element) { 884 element.style.display = show ? 'block' : 'none'; 885 } 886 } 887 888 // Function to update the modal with a specific image 889 function updateModal(index) { 890 if (currentImages.length === 0) return; 891 892 currentIndex = index; 893 const img = currentImages[currentIndex]; 894 modalImg.setAttribute('src', img.src); 895 modalImg.setAttribute('alt', img.alt || ''); 896 captionText.innerHTML = img.alt || ''; 897 898 // Update counter 899 imageCounter.textContent = (currentIndex + 1) + ' / ' + currentImages.length; 900 901 // Show/hide navigation buttons 902 const showNav = currentImages.length > 1; 903 toggleElement(prevBtn, showNav); 904 toggleElement(nextBtn, showNav); 905 toggleElement(imageCounter, showNav); 906 } 907 908 // Function to show next image 909 function showNext() { 910 if (currentImages.length === 0) return; 911 currentIndex = (currentIndex + 1) % currentImages.length; 912 updateModal(currentIndex); 913 } 914 915 // Function to show previous image 916 function showPrev() { 917 if (currentImages.length === 0) return; 918 currentIndex = (currentIndex - 1 + currentImages.length) % currentImages.length; 919 updateModal(currentIndex); 920 } 921 922 // Helper function to find closest ancestor with class 923 function closest(element, selector) { 924 if (!element) return null; 925 926 // For class selector (e.g., '.splide__slide') 927 if (selector.startsWith('.')) { 928 const className = selector.slice(1); 929 let current = element; 930 while (current && current !== document) { 931 if (current.classList && current.classList.contains(className)) { 932 return current; 933 } 934 current = current.parentElement; 935 } 936 } 937 return null; 938 } 939 940 // When clicking on an image 941 document.addEventListener('click', function(e) { 942 const target = e.target; 943 // Check if clicked element is an image with class .img or .main-img inside .splide 944 if (target.tagName === 'IMG' && 945 (target.classList.contains('img') || target.classList.contains('main-img')) && 946 closest(target, '.splide')) { 947 948 // Find the clicked image's parent slide 949 const clickedSlide = closest(target, '.splide__slide'); 950 if (!clickedSlide) return; 951 952 // Find the list that contains this slide 953 const splideList = closest(clickedSlide, '.splide__list'); 954 if (!splideList) return; 955 956 // Get all slides from this specific list 957 const allSlides = splideList.querySelectorAll('.splide__slide'); 958 959 // Get all images from these slides only, deduplicating by src 960 // (Splide duplicates slides in loop mode, so we need to filter duplicates) 961 currentImages = []; 962 const seenSrcs = new Set(); 963 const clickedSrc = target.src; 964
965 allSlides.forEach(function(slide) { 966 const slideImg = slide.querySelector('.img, .main-img'); 967 if (slideImg) { 968 const imgSrc = slideImg.src; 969 // Only add if we haven't seen this src before 970 if (!seenSrcs.has(imgSrc)) { 971 seenSrcs.add(imgSrc); 972 currentImages.push(slideImg); 973 } 974 } 975 }); 976 977 // Find the index of the clicked image by src (to handle duplicates) 978 currentIndex = currentImages.findIndex(function(img) { 979 return img.src === clickedSrc; 980 }); 981 982 if (currentIndex === -1) { 983 currentIndex = 0; // Fallback to first image 984 } 985 986 // Update and show modal 987 updateModal(currentIndex); 988 modal.style.display = 'block'; 989 } 990 }); 991 992 // Navigation button handlers 993 if (nextBtn) { 994 nextBtn.addEventListener('click', function (e) { 995 e.preventDefault(); 996 e.stopPropagation(); 997 showNext(); 998 }); 999 } 1000 1001 if (prevBtn) { 1002 prevBtn.addEventListener('click', function (e) { 1003 e.preventDefault(); 1004 e.stopPropagation(); 1005 showPrev(); 1006 }); 1007 } 1008 1009 // Keyboard navigation 1010 document.addEventListener('keydown', function (e) { 1011 // Check if modal is visible by checking display style 1012 const isModalVisible = modal.style.display !== 'none' && 1013 (modal.style.display === 'block' || 1014 window.getComputedStyle(modal).display !== 'none'); 1015 1016 if (isModalVisible) { 1017 if (e.key === 'ArrowRight' || e.keyCode === 39) { 1018 e.preventDefault(); 1019 showNext(); 1020 } else if (e.key === 'ArrowLeft' || e.keyCode === 37) { 1021 e.preventDefault(); 1022 showPrev(); 1023 } else if (e.key === 'Escape' || e.keyCode === 27) { 1024 e.preventDefault(); 1025 e.stopPropagation(); 1026 modal.style.display = 'none'; 1027 } 1028 } 1029 }); 1030 1031 // When the user clicks on <span> (x), close the modal 1032 if (closePreviewImage) { 1033 closePreviewImage.addEventListener('click', function () { 1034 modal.style.display = 'none'; 1035 }); 1036 } 1037 1038 // Close modal when clicking outside the image 1039 modal.addEventListener('click', function (e) { 1040 if (e.target === modal) { 1041 modal.style.display = 'none'; 1042 } 1043 }); 1044 })(); 1045 </script>
1045 1046 1047
1047<script src="/js/vendor/popper.min.js"></script>
1047 1048
1048<script src="/js/vendor/bootstrap.min.js"></script>
1048 1049 <!-- Carousel --> 1050
1050<script src='/dist/owlcarousel/js/owl.carousel.min.js'></script>
1050 1051
1051<script src='/dist/owlcarousel/js/owl.linked.js'></script>
1051 1052
1052<script src='/dist/slick/slick.js'></script>
1052 1053 1054
1054<script src="/lib/splide-4.0.1/js/splide.min.js"></script>
1054 1055
1055<script src="/lib/splide-4.0.1/extensions/autoscroll/js/splide-extension-auto-scroll.min.js"></script>
1055 1056 1057 1058
1058<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.13.2/js/bootstrap-select.min.js"></script>
1058 1059 1060 <!-- Custom JS --> 1061
1061<script src="/js/shared.js?v1"></script>
1061 1062
1062<script src="/tpl/2/js/main.js"></script>
1062 1063
1063<script src="/lib/chartjs/Chart.js"></script>
1063 1064
1064<script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.13/js/bootstrap-multiselect.js"></script>
1064 1065 1066
1066<script type="text/javascript"> 1067 1068 tarteaucitron.user.matomoId = 6; 1069 (tarteaucitron.job = tarteaucitron.job || []).push('matomohightrack'); 1070 1071 1072 (tarteaucitron.job = tarteaucitron.job || []).push('youtube'); 1073 (tarteaucitron.job = tarteaucitron.job || []).push('dailymotion'); 1074 (tarteaucitron.job = tarteaucitron.job || []).push('vimeo'); 1075 (tarteaucitron.job = tarteaucitron.job || []).push('othervideo'); 1076 1077 tarteaucitron.user.googleTranslateCallback = function () { 1078 new google.translate.TranslateElement({pageLanguage: 'fr', includedLanguages: 'en'}, 'google_translate'); 1079 }; 1080 (tarteaucitron.job = tarteaucitron.job || []).push('googletranslate'); 1081 </script>
1081 1082 1083
1083<script> 1084 (function(i,s,o,g,r,a,m){i['InstanaEumObject']=r;i[r]=i[r]||function(){ 1085 (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), 1086 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) 1087 })(window,document,'script','//eum.instana.io/eum.min.js','ineum'); 1088 ineum('reportingUrl', 'https://eum-eu-west-1.instana.io'); 1089 ineum('apiKey', '9yG9cnlKTcS4le-zMVtBJA'); 1090 1091 // set the name of a page on which this load/errors/calls happened 1092 ineum('page', 'front-site'); 1093 </script>
1093 1094 1095
1095<script src="https://js.hcaptcha.com/1/api.js?hl=fr&onload=CaptchaCallback&render=explicit" async defer></script>
1095 1096 1097
1097<script type="text/javascript"> 1098 var CaptchaCallback = function () { 1099 $('.h-recaptcha').each(function (index, el) { 1100 hcaptcha.render(el, {'sitekey': 'f5095cfb-139b-47da-88e2-f0d2e7485392'}); 1101 }); 1102 }; 1103 </script>
1103 1104 1105
1105<script> 1106 $(document).ready(function () { 1107 1108 $('.selectpicker').selectpicker(); 1109 1110 // Smooth scroll 1111 $("a[href*='#']:not([href='#'])").click(function () { 1112 if (location.hostname == this.hostname && this.pathname.replace(/^\//, "") == location.pathname.replace(/^\//, "")) { 1113 var anchor = $(this.hash); 1114 anchor = anchor.length ? anchor : $("[name=" + this.hash.slice(1) + "]"); 1115 1116 if (anchor.length) { 1117 $("html, body").animate({scrollTop: anchor.offset().top - 90}, 1500); 1118 } 1119 } 1120 }); 1121 1122 var input = $('input[type=file]'); 1123 1124 input.on('change', function () { 1125 var list = $(this).parent().parent().parent().parent().find($('.listFiles')); 1126 list.empty(); 1127 1128 for (var x = 0; x < this.files.length; x++) { 1129 var newFile = '<li>Fichier joint : ' + this.files[x].name + ' ('+humanFileSize(this.files[x].size)+')</li>'; 1130// li.innerHTML = 'File ' + (x + 1) + ': ' + input.files[x].name; 1131 list.append(newFile); 1132 } 1133 }); 1134 1135 $('.form-error').hide(); 1136 $('#contactFormFooter').submit(function (e) { 1137 let form = $(this); 1138 1139 $.ajax({ 1140 type: "POST", 1141 url: form.attr('action'), 1142 data: new FormData(form[0]), 1143 contentType: false, 1144 processData: false, 1145 beforeSend: function () { 1146 form.find('.form-error').hide(); 1147 $('.formContactForm').attr('disabled', true); 1148 }, 1149 success: function (response) { 1150 hcaptcha.reset(); 1151 1152 if (response.status === 'KO') { 1153 let errors = response.errors; 1154 for (let index in errors) { 1155 if (errors.hasOwnProperty(index)) { 1156 let attr = errors[index]; 1157 let error = attr[Object.keys(attr)[0]]; 1158 form.find('#' + index + '-error').text(error).show(); 1159 } 1160 } 1161 } 1162 else { 1163 1164 $('#contactFormFooter').css('display', 'none'); 1165 $('#messageSendedFormContactFooter').css('display', ''); 1166 form[0].reset(); 1167 } 1168 }, 1169 complete: function () { 1170 1171 $('.formContactForm').removeAttr('disabled'); 1172 } 1173 }); 1174 1175 return false; 1176 }); 1177 1178 $('#contactFormContactFooter').on('hidden.bs.modal', function () { 1179 $('#contactFormFooter')[0].reset(); 1180 1181 $('#contactFormFooter').css('display', ''); 1182 1183 $('#messageSendedFormContactFooter').css('display', 'none'); 1184 1185 $('.form-error').hide(); 1186 1187 $('.listFiles').empty(); 1188 1189 hcaptcha.reset(); 1190 }); 1191 }); 1192 1193 function humanFileSize(size) { 1194 var i = Math.floor(Math.log(size) / Math.log(1024)); 1195 return ( size / Math.pow(1024, i) ).toFixed(1) * 1 + ' ' + ['B', 'kB', 'MB', 'GB', 'TB'][i]; 1196 } 1197 </script>
1197 1198 1199
1199<script> 1200 $(function () { 1201 1202 1203 var numberAlerts = false; 1204 1205 var allAlerts = $('#alertsModal').find($('.alertsInfo')); 1206 1207 numberAlerts = allAlerts.length; 1208 1209 allAlerts.each(function (index) { 1210 1211 if (!sessionStorage.getItem("_nps_cookie_accept_alerts" + $(this).attr('data-id') + "")) { 1212 1213 if(index == 0){ 1214 $('#header'+$(this).attr('data-id')+'').removeClass('d-none'); 1215 } 1216 1217 $('#alertsModal').modal('show'); 1218 } else { 1219 $(this).remove(); 1220 $('#header'+$(this).attr('data-id')+'').remove(); 1221 numberAlerts = numberAlerts - 1; 1222 setActiveAndDecrementNumber(); 1223 } 1224 1225 }); 1226 1227 $('.acceptCookiesAlerts').on('click', function (e) { 1228 e.preventDefault(); 1229 1230 var currentDataId = $(this).attr('data-id'); 1231 1232 sessionStorage.setItem('_nps_cookie_accept_alerts' + currentDataId + '', '1'); 1233 1234 numberAlerts = numberAlerts - 1; 1235 1236 var currentParentNode = $(this).parent().parent().parent(); 1237 1238 currentParentNode.removeClass('active'); 1239 $('#header'+currentDataId+'').remove(); 1240 currentParentNode.remove(); 1241
1242 setActiveAndDecrementNumber(); 1243 1244 setTitle(); 1245 }); 1246 1247 function setActiveAndDecrementNumber() { 1248 var newListOfAlerts = $('#alertsModal').find($('.alertsInfo')); 1249 1250 newListOfAlerts.each(function (index, e) { 1251 if (index == 0) { 1252 $(this).addClass('active'); 1253 $('#header'+$(this).attr('data-id')+'').removeClass('d-none'); 1254 } 1255 }); 1256 1257 if (numberAlerts == 0) { 1258 $('#alertsModal').modal('hide'); 1259 } 1260 } 1261 1262 1263 1264 var currentColorControl = '#212529'; 1265 1266 $('#controlPrev').css('color', 'initial !important'); 1267 $('#controlNext').css('color', 'initial !important'); 1268 1269 $('#controlNext').on('click',function(){ 1270 setTimeout(function(){ 1271 setTitle(); 1272 }, 1000); 1273 }); 1274 1275 $('#controlPrev').on('click',function(){ 1276 setTimeout(function(){ 1277 setTitle(); 1278 }, 1000); 1279 }); 1280 1281 $('#controlPrev').on('mouseover', function () { 1282 1283 $(this).css('color', 'initial !important'); 1284 }); 1285 1286 $('#controlNext').on('mouseover', function () { 1287 1288 $(this).css('color', 'initial !important'); 1289 }); 1290 1291 function setTitle(){ 1292 $('.titleHeaderAlerts').addClass('d-none'); 1293 var currentId = $('.carousel-item.active').attr('data-id'); 1294 $('#header'+currentId+'').removeClass('d-none'); 1295 } 1296 }); 1297 </script>
1297 1298 1299 1300
1300<script> 1301 $(document).ready(function () { 1302 1303 var input = $('input[type=file]'); 1304 1305 1306 input.on('change', function () { 1307 var list = $(this).parent().parent().parent().parent().find($('.listFiles')); 1308 list.empty(); 1309 1310 for (var x = 0; x < this.files.length; x++) { 1311 var newFile = '<li>Fichier ' + (x + 1) + ': ' + this.files[x].name + ' ('+humanFileSize(this.files[x].size)+')</li>'; 1312// li.innerHTML = 'File ' + (x + 1) + ': ' + input.files[x].name; 1313 list.append(newFile); 1314 } 1315 }); 1316 1317 $('.form-error').hide(); 1318 $('#contactForm').submit(function (e) { 1319 let form = $(this); 1320 1321 $.ajax({ 1322 type: "POST", 1323 url: form.attr('action'), 1324 data: new FormData(form[0]), 1325 contentType: false, 1326 processData: false, 1327 beforeSend: function () { 1328 form.find('.form-error').hide(); 1329 $('#formContactForm').attr('disabled', true); 1330 }, 1331 success: function (response) { 1332 hcaptcha.reset(); 1333 1334 if (response.status === 'KO') { 1335 let errors = response.errors; 1336 for (let index in errors) { 1337 if (errors.hasOwnProperty(index)) { 1338 let attr = errors[index]; 1339 let error = attr[Object.keys(attr)[0]]; 1340 form.find('#' + index + '-error').text(error).show(); 1341 } 1342 } 1343 } 1344 else { 1345 1346 $('#contactForm').css('display', 'none'); 1347 $('#messageSendedForm').css('display', ''); 1348 form[0].reset(); 1349 } 1350 }, 1351 complete: function () { 1352 1353 $('#formContactForm').removeAttr('disabled'); 1354 } 1355 }); 1356 1357 return false; 1358 }); 1359 1360 $('#contactFormContact').on('hidden.bs.modal', function () { 1361 $('#contactForm')[0].reset(); 1362 1363 $('#contactForm').css('display', ''); 1364 $('#messageSendedForm').css('display', 'none'); 1365 1366 $('.form-error').hide(); 1367 1368 $('.listFiles').empty(); 1369 1370 hcaptcha.reset(); 1371 }); 1372 }); 1373 1374 function humanFileSize(size) { 1375 var i = Math.floor(Math.log(size) / Math.log(1024)); 1376 return ( size / Math.pow(1024, i) ).toFixed(1) * 1 + ' ' + ['B', 'kB', 'MB', 'GB', 'TB'][i]; 1377 } 1378 </script>
1378 1379 1380
1380<script type="text/javascript"> 1381 </script>
1381 1382</body> 1383</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.