PageSourceSearch

https://www.oye-plage.fr/emploi/

html oye-plage.fr collected 2026-10-02 22:53:17 UTC 257,161 bytes, 4,464 lines download raw bytes

1<!DOCTYPE html>
2<html lang="fr-FR">
3<head>
4    <title>Offres d&#8217;emploi et stages | Mairie de Oye Plage</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>Offres d&#8217;emploi et stages &#8211; Mairie de Oye Plage</title>
10<meta name='robots' content='max-image-preview:large' />
11<link rel="manifest" href="https://www.oye-plage.fr/koba-manifest.json">
12<meta name="google-site-verification" content="rMArVgtxpawbZYaOdilr_UDAGzrThotLlqneikv33es" />
13<meta name="description" content="Site officiel de la Mairie de Oye Plage. La commune est située dans le département du Pas-de-Calais en région Hauts-de-France. Découvrez toutes nos actualités.">
14    <!-- Favicon standard -->
15    <link rel="icon" type="image/png" sizes="32x32" href="https://www.oye-plage.fr/wp-content/uploads/sites/60/favicons/favicon-32x32.png">
16    <link rel="icon" type="image/png" sizes="16x16" href="https://www.oye-plage.fr/wp-content/uploads/sites/60/favicons/favicon-16x16.png">
17    
18    <!-- Apple Touch Icon (iOS) -->
19    <link rel="apple-touch-icon" sizes="180x180" href="https://www.oye-plage.fr/wp-content/uploads/sites/60/favicons/apple-touch-icon.png">
20    
21    <!-- Android Chrome -->
22    <link rel="icon" type="image/png" sizes="192x192" href="https://www.oye-plage.fr/wp-content/uploads/sites/60/favicons/android-chrome-192x192.png">
23    <link rel="icon" type="image/png" sizes="512x512" href="https://www.oye-plage.fr/wp-content/uploads/sites/60/favicons/android-chrome-512x512.png">
24    
25    <!-- Safari Pinned Tab (SVG ou PNG) -->
26    <link rel="mask-icon" href="https://www.oye-plage.fr/wp-content/uploads/sites/60/favicons/favicon-32x32.png" color="#6401ce">
27    
28    <!-- Microsoft -->
29    <meta name="msapplication-TileColor" content="#6401ce">
30    <meta name="msapplication-TileImage" content="https://www.oye-plage.fr/wp-content/uploads/sites/60/favicons/mstile-144x144.png">
31    
32    <!-- Theme color pour navigateurs mobiles -->
33    <meta name="theme-color" content="#6401ce">
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<link rel="alternate" title="oEmbed (JSON)" type="application/json+oembed" href="https://www.oye-plage.fr/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.oye-plage.fr%2Femploi%2F" />
39<link rel="alternate" title="oEmbed (XML)" type="text/xml+oembed" href="https://www.oye-plage.fr/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.oye-plage.fr%2Femploi%2F&#038;format=xml" />
40<style id="koba-colors">
41:root {
42    --koba-primary: #6401ce;
43    --koba-secondary: #e8c281;
44    --koba-primary-rgb: 100, 1, 206;
45    --koba-secondary-rgb: 232, 194, 129;
46}
47</style><style id="wp-img-auto-sizes-contain-inline-css">
48img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
49/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
50</style>
51<link rel='stylesheet' id='acy_front_messages_css-css' href='https://www.oye-plage.fr/wp-content/plugins/acymailing/media/css/front/messages.min.css?v=1790752554&#038;ver=11.1.0' media='all' />
52<style id="wp-emoji-styles-inline-css">
53
54	img.wp-smiley, img.emoji {
55		display: inline !important;
56		border: none !important;
57		box-shadow: none !important;
58		height: 1em !important;
59		width: 1em !important;
60		margin: 0 0.07em !important;
61		vertical-align: -0.1em !important;
62		background: none !important;
63		padding: 0 !important;
64	}
65/*# sourceURL=wp-emoji-styles-inline-css */
66</style>
67<style id="wp-block-library-inline-css">
68: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}}
68.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;--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}}
69
70/*# sourceURL=/wp-includes/css/dist/block-library/common.min.css */
71</style>
72<style id="wp-block-library-inline-css-extra">
73.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; }
74    .meteo-widget.meteo-error { background: #e74c3c; }
75    .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); }
76    .meteo-header h3 { margin: 0; font-size: 1.3em; }
77    .meteo-main { display: flex; align-items: center; justify-content: center; gap: 10px; }
78    .meteo-icon { width: 80px; height: 80px; }
79    .meteo-temp { font-size: 3em; font-weight: bold; }
80    .meteo-description { font-size: 1.1em; margin: 10px 0; text-transform: capitalize; }
81    .meteo-minmax { display: flex; justify-content: center; gap: 30px; margin: 15px 0; }
82    .meteo-min { background: #20b7d9; padding: 8px 15px; border-radius: 20px; font-weight: bold; }
83    .meteo-max { background: #c0392b; padding: 8px 15px; border-radius: 20px; font-weight: bold; }
84    .meteo-humidity { margin-top: 10px; font-size: 0.95em; opacity: 0.9; }
85.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}
86
87    /* ==========================================
88       VARIABLES CSS
89       ========================================== */
90    :root {
91        --koba-topbar-height: 40px;
92        --koba-navbar-height: 70px;
93        --koba-header-height: calc(var(--koba-topbar-height) + var(--koba-navbar-height));
94        --koba-logo-width: 193px;
95    }
96    
97    /* ==========================================
98       HEADER PRINCIPAL
99       ========================================== */
100    
101    .koba-header {
102        position: fixed;
103        top: 0;
104        left: 0;
105        right: 0;
106        z-index: 10000;
107        width: 100%;
108    }
109    
110    .koba-header-wrapper {
111        position: relative;
112        width: 100%;
113        z-index: 222222;
114    }
115    
116    /* Spacer pour compenser le header fixe */
117    .koba-header-spacer {
118        height: var(--koba-header-height);
119    }
120    
121    /* ==========================================
122       LOGO - COUVRE LES DEUX BARRES
123       ========================================== */
124    
125    .koba-logo {
126        position: absolute;
127        top: 0;
128        left: 0;
129        width: var(--koba-logo-width);
130        height: var(--koba-header-height);
131        background-color: #fff;
132        display: flex;
133        align-items: center;
134        justify-content: center;
135        padding: 10px 20px;
136        box-sizing: border-box;
137        z-index: 110;
138    }
139    
140    .koba-logo img {
141        max-height: 100%;
142        max-width: 100%;
143        width: auto;
144        height: auto;
145        display: block;
146        object-fit: contain;
147    }
148    .koba-icon-search{
149        width: 30px;
150        height: 30px;
151    }
152    
153    .koba-logo-text {
154        color: #333;
155        font-size: 20px;
156        font-weight: 700;
157        text-decoration: none;
158    }
159    
160    /* ==========================================
161       BARRE SUPERIEURE (ORANGE)
162       ========================================== */
163    
164    .koba-topbar {
165        background-color: #e8c281;
166        height: var(--koba-topbar-height);
167        width: 100%;
168    }
169    
170    .koba-topbar-inner {
171        height: 100%;
172        display: flex;
173        justify-content: space-between;
174        align-items: center;
175        padding: 0 20px 0 calc(var(--koba-logo-width) + 20px);
176    }
177    
178    .koba-topbar-menu {
179        flex: 1;
180    }
181    
182    .koba-topbar-list {
183        list-style: none;
184        margin: 0;
185        padding: 0;
186        display: flex;
187        gap: 25px;
188    }
189    
190    .koba-topbar-list li a {
191        color: #fff;
192        text-decoration: none;
193        font-size: 11.2px;
194        font-weight: 600;
195        text-transform: uppercase;
196        letter-spacing: 0.5px;
197        transition: opacity 0.2s;
198    }
199    
200    .koba-topbar-list li a:hover {
201        opacity: 0.8;
202    }
203    
204    .koba-topbar-cta {
205        display: flex;
206        align-items: center;
207        gap: 8px;
208        color: #fff;
209        text-decoration: none;
210        font-size: 12.2px;
211        font-weight: 600;
212        text-transform: uppercase;
213        letter-spacing: 0.5px;
214        transition: opacity 0.2s;
215    }
216    
217    .koba-topbar-cta:hover {
218        opacity: 0.8;
219    }
220    
221    /* Hamburger (mobile) - dans la topbar */
222    .koba-hamburger {
223        display: none;
224        flex-direction: column;
225        justify-content: center;
226        gap: 5px;
227        background: none;
228        border: none;
229        cursor: pointer;
230        padding: 10px;
231        width: 44px;
232        height: 44px;
233        margin-left: -10px;
234    }
235    
236    .koba-hamburger span {
237        display: block;
238        width: 24px;
239        height: 2px;
240        background-color: #fff;
241        transition: all 0.3s;
242    }
243    
244    .koba-hamburger.active span:nth-child(1) {
245        transform: rotate(45deg) translate(5px, 5px);
246    }
247    
248    .koba-hamburger.active span:nth-child(2) {
249        opacity: 0;
250    }
251    
252    .koba-hamburger.active span:nth-child(3) {
253        transform: rotate(-45deg) translate(5px, -5px);
254    }
255    
256    /* ==========================================
257       BARRE PRINCIPALE (BLEU)
258       ========================================== */
259    
260    .koba-navbar {
261        background-color: #6401ce;
262        height: var(--koba-navbar-height);
263        width: 100%;
264        position: relative;
265    }
266    
267    .koba-navbar-inner {
268        height: 100%;
269        display: flex;
270        align-items: stretch;
271        padding: 0 0 0 var(--koba-logo-width);
272    }
273    
274    /* Navigation principale */
275    .koba-main-nav {
276        flex: 1;
277        display: flex;
278        align-items: stretch;
279    }
280    
281    .koba-nav-list {
282        list-style: none;
283        margin: 0;
284        padding: 0;
285        display: flex;
286        align-items: stretch;
287        width: 100%;
288    }
289    
290    .koba-nav-item {
291        position: static;
292        display: flex;
293        align-items: stretch;
294        flex: 1;
295        margin: 8px;
296        border-bottom: 1px solid transparent;
297    }
298    
299    .koba-nav-item:hover {
300        border-bottom: 1px solid hsla(0,0%,100%,.72);
301    }
302    
303    .koba-nav-link {
304        display: flex;
305        align-items: center;
306        justify-content: center;
307        gap: 6px;
308        color: #fff;
309        text-decoration: none;
310        font-size: 14px;
311        font-weight: 400;
312        text-transform: uppercase;
313        letter-spacing: 0.3px;
314        padding: 0 15px;
315        width: 100%;
316        transition: background-color 0.2s;
317        cursor: pointer;
318    }
319    
320    .koba-nav-arrow {
321        color: #fb0;
322        width: 14px;
323        height: 14px;
324        transform: rotate(270deg);
325        transition: transform 0.2s;
326    }
327    
328    /* ==========================================
329       BOUTON RECHERCHE (CARRE)
330       ========================================== */
331    
332    .koba-search-toggle {
333        flex-shrink: 0;
334        width: var(--koba-navbar-height);
335        height: var(--koba-navbar-height);
336        background: #fff;
337        border: none;
338        color: #fb0;
339        cursor: pointer;
340        display: flex;
341        align-items: center;
342        justify-content: center;
343        transition: opacity 0.2s;
344    }
345    
346    .koba-search-toggle:hover {
347        opacity: 0.9;
348    }
349    
350    .koba-search-toggle.hidden {
351        display: none;
352    }
353    
354    /* ==========================================
355       MEGA MENU
356       ========================================== */
357    
358    .koba-megamenu {
359        position: absolute;
360        top: 100%;
361        left: 0;
362        right: 0;
363        width: 100%;
364        background-color: #6401ce;
365        opacity: 0;
366        visibility: hidden;
367        transform: translateY(-10px);
368        transition: all 0.3s ease;
369        z-index: 100;
370        pointer-events: none;
371    }
372    
373    .koba-nav-item.active .koba-megamenu {
374        opacity: 1;
375        visibility: visible;
376        transform: translateY(0);
377        pointer-events: auto;
378    }
379    
380    .koba-megamenu-inner {
381        width: 100%;
382        display: flex;
383        position: relative;
384    }
385    
386    .koba-megamenu-col1 {
387        flex-shrink: 0;
388        width: var(--koba-logo-width);
389        background-color: #fff;
390    }
391    
392    .koba-megamenu-col2 {
393        flex: 1;
394        padding: 30px 20px;
395        display: flex;
396        align-items: flex-start;
397        justify-content: flex-end;
398    }
399    
400    .koba-megamenu-title {
401        color: #fff;
402        font-size: 22px;
403        font-weight: 600;
404        line-height: 1.4;
405    }
406    
407    .koba-megamenu-col3 {
408        flex: 1;
409        padding: 25px 30px;
410        min-width: 0;
411        max-height: 731px;
412        overflow: overlay;
413    }
414    
415    .koba-megamenu-list {
416        list-style: none;
417        margin: 0;
418        padding: 0;
419        border-left: 1px solid #fff;
420    }
421    
422    .koba-megamenu-item {
423        position: static;
424    }
425    
426    .koba-megamenu-link {
427        display: flex;
428        align-items: center;
429        gap: 8px;
430        color: #fff;
431        text-decoration: none;
432        padding: 16px 0;
433        font-size: 14px;
434        transition: padding-left 0.2s;
435        cursor: pointer;
436        padding-left: 30px;
437    }
438    
439    .koba-megamenu-link:hover {
440        border-bottom: 1px solid #fff;
441    }
442    
443    .koba-megamenu-link svg {
444        margin-left: auto;
445        flex-shrink: 0;
446        transition: transform 0.2s;
447        color: #faaf00;
448    }
449    
450    .koba-megamenu-item.active > .koba-megamenu-link svg {
451        transform: rotate(90deg);
452    }
453    
454    .koba-megamenu-col4 {
455        flex: 1;
456        position: relative;
457    }
458    
459    .koba-megamenu-sublist {
460        position: absolute;
461        top: 0;
462        right: 0;
463        bottom: 0;
464        width: calc((100% - var(--koba-logo-width)) / 3);
465        list-style: none;
466        margin: 0;
467        padding: 25px 20px;
468        opacity: 0;
469        visibility: hidden;
470        transition: all 0.3s ease;
471        z-index: 110;
472    }
473    
474    .koba-megamenu-item.a
474ctive > .koba-megamenu-sublist {
475        opacity: 1;
476        visibility: visible;
477    }
478    .koba-megamenu-item > .koba-megamenu-sublist li{
479        border-left: 1px solid #fff;
480    }
481    .koba-megamenu-item > .koba-megamenu-sublist li a{
482        padding-left: 30px;
483    }
484    
485    .koba-megamenu-sublist li a {
486        display: block;
487        color: #fff;
488        text-decoration: none;
489        padding: 8px 0;
490        font-size: 13px;
491        opacity: 0.9;
492        transition: opacity 0.2s, padding-left 0.2s;
493        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
494    }
495    
496    .koba-megamenu-sublist li a:hover {
497        border-bottom: 1px solid #fff;
498    }
499
500    
501    /* ==========================================
502       BARRE DE RECHERCHE
503       ========================================== */
504    
505    .koba-search-bar {
506        position: absolute;
507        top: 0;
508        right: 0;
509        bottom: 0;
510        width: 0;
511        background-color: #6401ce;
512        overflow: hidden;
513        transition: width 0.4s ease;
514        display: flex;
515        align-items: center;
516        z-index: 105;
517    }
518    
519    .koba-search-bar.active {
520        width: calc(100% - var(--koba-logo-width));
521    }
522    
523    .koba-search-bar-inner {
524        display: flex;
525        align-items: center;
526        gap: 15px;
527        padding: 0 20px;
528        width: 100%;
529        min-width: 300px;
530    }
531    
532    .koba-search-form {
533        flex: 1;
534        display: flex;
535        align-items: center;
536        position: relative;
537    }
538    
539    .koba-search-input {
540        width: 100%;
541        background: transparent;
542        border: none;
543        border-bottom: 2px solid rgba(255, 255, 255, 0.5);
544        color: #fff;
545        font-size: 18px;
546        padding: 10px 40px 10px 0;
547        outline: none;
548        transition: border-color 0.2s;
549    }
550    
551    .koba-search-input::placeholder {
552        color: rgba(255, 255, 255, 0.7);
553    }
554    
555    .koba-search-input:focus {
556        border-color: #fff;
557    }
558    
559    .koba-search-submit {
560        position: absolute;
561        right: 0;
562        background: none;
563        border: none;
564        color: #fff;
565        cursor: pointer;
566        padding: 10px;
567        opacity: 0.7;
568        transition: opacity 0.2s;
569    }
570    
571    .koba-search-submit:hover {
572        opacity: 1;
573    }
574    
575    .koba-search-close {
576        flex-shrink: 0;
577        background: none;
578        border: none;
579        color: #e8c281;
580        cursor: pointer;
581        padding: 10px;
582        transition: opacity 0.2s;
583    }
584    
585    .koba-search-close:hover {
586        opacity: 0.8;
587    }
588    
589    /* ==========================================
590       MENU MOBILE
591       ========================================== */
592    
593    .koba-mobile-menu {
594        display: none;
595        position: fixed;
596        top: 0;
597        left: 0;
598        width: 100%;
599        height: 100vh;
600        background-color: #6401ce;
601        z-index: 999;
602        overflow-y: auto;
603        transform: translateX(-100%);
604        transition: transform 0.3s ease;
605    }
606    
607    .koba-mobile-menu.active {
608        transform: translateX(0);
609    }
610    
611    .koba-mobile-menu-inner {
612        padding: 20px;
613        padding-top: 120px;
614    }
615    
616    .koba-mobile-list {
617        list-style: none;
618        margin: 0;
619        padding: 0;
620    }
621    
622    .koba-mobile-item {
623        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
624    }
625    
626    .koba-mobile-item-inner {
627        display: flex;
628        align-items: center;
629    }
630    
631    .koba-mobile-link {
632        flex: 1;
633        display: block;
634        color: #fff;
635        text-decoration: none;
636        padding: 18px 0;
637        font-size: 16px;
638        font-weight: 500;
639    }
640    
641    .koba-mobile-toggle {
642        background: none;
643        border: none;
644        color: #fff;
645        cursor: pointer;
646        padding: 18px 15px;
647        transition: transform 0.2s;
648    }
649    
650    .koba-mobile-toggle.active {
651        transform: rotate(180deg);
652    }
653    
654    .koba-mobile-submenu {
655        list-style: none;
656        margin: 0;
657        padding: 0 0 0 20px;
658        display: none;
659        background-color: rgba(0, 0, 0, 0.1);
660    }
661    
662    .koba-mobile-submenu.active {
663        display: block;
664    }
665    
666    .koba-mobile-submenu .koba-mobile-link {
667        font-size: 15px;
668        font-weight: 400;
669        padding: 14px 0;
670    }
671    
672    .koba-mobile-secondary {
673        margin-top: 30px;
674        padding-top: 30px;
675        border-top: 1px solid rgba(255, 255, 255, 0.2);
676    }
677    
678    .koba-mobile-secondary-list {
679        list-style: none;
680        margin: 0;
681        padding: 0;
682    }
683    
684    .koba-mobile-secondary-list li a {
685        display: block;
686        color: #fff;
687        text-decoration: none;
688        padding: 12px 0;
689        font-size: 14px;
690        opacity: 0.8;
691    }
692    
693    /* Overlay */
694    .koba-overlay {
695        position: fixed;
696        top: 0;
697        left: 0;
698        width: 100%;
699        height: 100%;
700        background-color: rgba(0, 0, 0, 0.5);
701        z-index: 998;
702        opacity: 0;
703        visibility: hidden;
704        transition: all 0.3s;
705    }
706    
707    .koba-overlay.active {
708        opacity: 1;
709        visibility: visible;
710    }
711    
712    /* ==========================================
713       RESPONSIVE
714       ========================================== */
715    
716    @media (max-width: 1400px) {
717        :root {
718            --koba-logo-width: 140px;
719        }
720        
721        .koba-nav-link {
722            font-size: 12px;
723            padding: 0 5px;
724        }
725        
726        .koba-megamenu-col2,
727        .koba-megamenu-col3 {
728            padding: 20px 15px;
729        }
730    }
731    
732    @media (max-width: 1200px) {
733        :root {
734            --koba-logo-width: 120px;
735        }
736        
737        .koba-nav-link {
738            font-size: 11px;
739            padding: 0 8px;
740        }
741        
742        .koba-megamenu-title {
743            font-size: 16px;
744        }
745        
746        .koba-megamenu-link {
747            font-size: 13px;
748            padding: 8px 8px;
749        }
750    }
751    
752    @media (max-width: 992px) {
753        :root {
754            --koba-topbar-height: 50px;
755            --koba-navbar-height: 0px;
756            --koba-logo-width: 100px;
757        }
758        
759        .koba-topbar-inner {
760            padding: 0 15px;
761            justify-content: flex-start;
762        }
763        
764        .koba-topbar-menu {
765            display: none;
766        }
767        
768        .koba-topbar-cta {
769            display: none;
770        }
771        
772        .koba-hamburger {
773            display: flex;
774        }
775        
776        .koba-logo {
777            position: relative;
778            width: auto;
779            max-width: 120px;
780            height: var(--koba-topbar-height);
781            margin: 0 auto;
782        }
783        
784        .koba-navbar {
785            display: none;
786        }
787        
788        .koba-mobile-menu {
789            display: block;
790        }
791        
792        .koba-megamenu {
793            display: none;
794        }
795    }
796    
797    @media (max-width: 576px) {
798        :root {
799            --koba-topbar-height: 50px;
800            --koba-logo-width: 80px;
801        }
802        
803        .koba-logo img {
804            max-height: 35px;
805        }
806        
807        .koba-search-input {
808            font-size: 16px;
809        }
810    }
811    
812
813    /* ==========================================
814       FOOTER
815       ========================================== */
816    
817    .koba-footer {
818        background-color: #1a1a2e;
819        color: #fff;
820        margin-top: 60px;
821    }
822    
823    .koba-footer-main {
824        padding: 60px 0 40px;
825    }
826    
827    .koba-footer-container {
828        max-width: 1400px;
829        margin: 0 auto;
830        padding: 0 30px;
831        display: grid;
832        grid-template-columns: repeat(4, 1fr);
833        gap: 40px;
834    }
835    
836    /* Colonnes */
837    .koba-footer-col {
838        min-width: 0;
839    }
840    
841    .koba-footer-title {
842        color: #fff;
843        font-size: 18px;
844        font-weight: 600;
845        margin: 0 0 20px 0;
846        padding-bottom: 12px;
847        border-bottom: 2px solid #e8c281;
848        display: inline-block;
849    }
850    
851    /* Colonne About */
852    .koba-footer-logo {
853        display: inline-block;
854        margin-bottom: 20px;
855    }
856    
857    .koba-footer-logo img {
858        max-height: 70px;
859        width: auto;
860    }
861    
862    .koba-footer-logo-text {
863        display: inline-block;
864        color: #fff;
865        font-size: 24px;
866        font-weight: 700;
867        text-decoration: none;
868        margin-bottom: 20px;
869    }
870    
871    .koba-footer-description {
872        color: #b0b0b0;
873        font-size: 14px;
874        line-height: 1.7;
875        margin: 0 0 20px 0;
876    }
877    
878    /* Réseaux sociaux */
879    .koba-footer-social {
880        display: flex;
881        gap: 12px;
882        flex-wrap: wrap;
883    }
884    
885    .koba-footer-social a {
886        display: flex;
887        align-items: center;
888        justify-content: center;
889        width: 40px;
890        height: 40px;
891        background-color: rgba(255, 255, 255, 0.1);
892        border-radius: 50%;
893        color: #fff;
894        transition: all 0.3s ease;
895    }
896    
897    .koba-footer-social a:hover {
898        background-color: #e8c281;
899        transform: translateY(-3px);
900    }
901    
902    /* Liste de contact */
903    .koba-footer-info-list {
904        list-style: none;
905        margin: 0;
906        padding: 0;
907    }
908    
909    .koba-footer-info-item {
910        display: flex;
911        align-items: flex-start;
912        gap: 12px;
913        margin-bottom: 18px;
914        color: #b0b0b0;
915        font-size: 14px;
916        line-height: 1.6;
917    }
918    
919    .koba-footer-info-item svg {
920        flex-shrink: 0;
921        margin-top: 2px;
922        color: #e8c281;
923    }
924    
925    .koba-footer-info-item a {
926        color: #b0b0b0;
927        text-decoration: none;
928        transition: color 0.2s;
929    }
930    
931    .koba-footer-info-item a:hover {
932        color: #e8c281;
933    }
934    
935    /* Statut dans le footer */
936    .koba-footer-status {
937        margin-top: 20px;
938    }
939    
940    .koba-footer-status .koba-opening-status {
941        background: transparent;
942        padding: 0;
943        border: none;
944        font-size: 13px;
945    }
946    
947    .koba-footer-status .koba-status-open {
948        color: #28a745;
949    }
950    
951    .koba-footer-status .koba-status-closed {
952        color: #dc3545;
953    }
954    
955    /* Menu footer */
956    .koba-footer-menu {
957        list-style: none;
958        margin: 0;
959        padding: 0;
960    }
961    
962    .koba-footer-menu li {
963        margin-bottom: 12px;
964    }
965    
966    .koba-footer-menu a {
967        color: #b0b0b0;
968        text-decoration: none;
969        font-size: 14px;
970        transition: all 0.2s;
971        display: inline-block;
972    }
973    
974    .koba-footer-menu a:hover {
975        color: #e8c281;
976        padding-left: 5px;
977    }
978    
979    /* Horaires dans footer */
980    .koba-footer-hours .koba-horaires-table {
981        font-size: 13px;
982        background: transparent;
983    }
984    
985    .koba-footer-hours .koba-horaires-table th,
986    .koba-footer-hours .koba-horaires-table td {
987        padding: 8px 10px;
988        border-color: rgba(255, 255, 255, 0.1);
989        color: #b0b0b0;
990    }
991    
992    .koba-footer-hours .koba-horaires-table th {
993        background: rgba(255, 255, 255, 0.05);
994        color: #fff;
995    }
996    
997    .koba-footer-hours .koba-horaires-table tr:hover {
998        background-color: rgba(255, 255, 255, 0.03);
999    }
1000    
1001    .koba-footer-hours .koba-horaires-table tr.koba-today {
1002        background-color: rgba(100, 1, 206, 0.2);
1003    }
1004    
1005    .koba-footer-hours .koba-horaires-table .koba-badge-today {
1006        background: #e8c281;
1007        font-size: 9px;
1008    }
1009    
1010    /* Barre de copyright */
1011    .koba-footer-bottom {
1012        background-color: rgba(0, 0, 0, 0.3);
1013        padding: 20px 0;
1014    }
1015    
1016    .koba-footer-bottom .koba-footer-container {
1017        display: flex;
1018        justify-content: space-between;
1019        align-items: center;
1020        gap: 20px;
1021    }
1022    
1023    .koba-footer-copyright {
1024        margin: 0;
1025        color: #808080;
1026        font-size: 13px;
1027    }
1028    
1029    .koba-footer-legal {
1030        display: flex;
1031        gap: 25px;
1032    }
1033    
1034    .koba-footer-legal a {
1035        color: #808080;
1036        text-decoration: none;
1037        font-size: 13px;
1038        transition: color 0.2s;
1039    }
1040    
1041    .koba-footer-legal a:hover {
1042        color: #e8c281;
1043    }
1044    
1045    /* Responsive */
1046    @media (max-width: 1200px) {
1047        .koba-footer-container {
1048            grid-template-columns: repeat(2, 1fr);
1049        }
1050    }
1051    
1052    @media (max-width: 768px) {
1053        .koba-footer-main {
1054            padding: 40px 0 30px;
1055        }
1056        
1057        .koba-footer-container {
1058            grid-template-columns: 1fr;
1059            gap: 30px;
1060            padding: 0 20px;
1061        }
1062        
1063        .koba-footer-col {
1064            text-align: center;
1065        }
1066        
1067        .koba-footer-title {
1068            display: block;
1069        }
1070        
1071        .koba-footer-social {
1072            justify-content: center;
1073        }
1074        
1075        .koba-footer-info-list {
1076            display: inline-block;
1077            text-align: left;
1078        }
1079        
1080        .koba-footer-menu {
1081            display: inline-block;
1082            text-align: left;
1083        }
1084        
1085        .koba-footer-hours .koba-horaires-table {
1086            display: inline-block;
1087        }
1088        
1089        .koba-footer-bottom .koba-footer-container {
1090            flex-direction: column;
1091            text-align: center;
1092        }
1093        
1094        .koba-footer-legal {
1095            flex-wrap: wrap;
1096            justify-content: center;
1097        }
1098    }
1099    
1100/*# sourceURL=wp-block-library-inline-css */
1101</style>
1102
1103<style id="classic-theme-styles-inline-css">
1104/*! This file is auto-generated */
1105.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;
1105padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}
1106/*# sourceURL=/wp-includes/css/classic-themes.min.css */
1107</style>
1108
1109<style id="global-styles-inline-css">
1110: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%);
1110--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;}
1110.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;}
1111/*# sourceURL=global-styles-inline-css */
1112</style>
1113
1114<link rel='stylesheet' id='front-css-css' href='https://www.oye-plage.fr/wp-content/plugins/WP_hob_publicite//asset/css/front.css?ver=7.1.2' media='all' />
1115<link rel='stylesheet' id='hcb-frontend-css' href='https://www.oye-plage.fr/wp-content/plugins/hob-cityhall-booking/assets/css/frontend.css?ver=1.2.0' media='all' />
1116<style id="hcb-frontend-inline-css">
1117
1118            :root { --hcb-primary: #2271b1; }
1119            .hcb-btn-primary, .hcb-booking-form button[type=submit] { background-color: #2271b1; border-color: #2271b1; }
1120            .hcb-btn-primary:hover { background-color: #2271b1cc; }
1121        
1122/*# sourceURL=hcb-frontend-inline-css */
1123</style>
1124<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' />
1125<link rel='stylesheet' id='hob-fc-public-forms-css' href='https://www.oye-plage.fr/wp-content/plugins/hob-formchat-pro/assets/css/public-forms.css?ver=1.29' media='all' />
1126<link rel='stylesheet' id='leaflet-css' href='https://unpkg.com/[email protected]/dist/leaflet.css?ver=1.9.4' media='all' />
1127<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' />
1128<link rel='stylesheet' id='theme-style-css' href='https://www.oye-plage.fr/wp-content/themes/hob-koba-civique/style.css?ver=7.1.2' media='all' />
1129<link rel='stylesheet' id='hobrgpd-front-css' href='https://www.oye-plage.fr/wp-content/plugins/hob-rgpd/assets/css/front.css?ver=1781167963' media='all' />
1130<script id="acy_front_messages_js-js-before">
1131var ACYM_AJAX_START = "https://www.oye-plage.fr/wp-admin/admin-ajax.php";
1132            var ACYM_AJAX_PARAMS = "?action=acymailing_router&noheader=1&nocache=1790981597";
1133            var ACYM_AJAX = ACYM_AJAX_START + ACYM_AJAX_PARAMS;
1134//# sourceURL=acy_front_messages_js-js-before
1135</script>
vendor: 1 bytes, line 1135
1135
1136<script id="acy_front_messages_js-js" src="https://www.oye-plage.fr/wp-content/plugins/acymailing/media/js/front/messages.min.js?v=1790752554&#038;ver=11.1.0"></script>
vendor: 1 bytes, line 1136
1136
1137<script id="jquery-core-js" src="https://www.oye-plage.fr/wp-includes/js/jquery/jquery.min.js?ver=3.7.1"></script>
vendor: 1 bytes, line 1137
1137
1138<script id="jquery-migrate-js" src="https://www.oye-plage.fr/wp-includes/js/jquery/jquery-migrate.min.js?ver=3.4.1"></script>
1138
1139<link rel="https://api.w.org/" href="https://www.oye-plage.fr/wp-json/" /><link rel="alternate" title="JSON" type="application/json" href="https://www.oye-plage.fr/wp-json/wp/v2/pages/941" /><link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.oye-plage.fr/xmlrpc.php?rsd" />
1140<link rel="canonical" href="https://www.oye-plage.fr/emploi/" />
1141<link rel='shortlink' href='https://www.oye-plage.fr/?p=941' />
1142<!-- Analytics by WP Statistics - https://wp-statistics.com -->
1143    <style>
1144    /* Overlay résultats */
1145    .koba-search-overlay {
1146        position: fixed;
1147        top: 0;
1148        left: 0;
1149        right: 0;
1150        bottom: 0;
1151        background: var(--koba-primary, #2271b1);
1152        z-index: 9998;
1153        overflow-y: auto;
1154        padding-top: 120px;
1155        display: none;
1156    }
1157    
1158    .koba-search-overlay.active {
1159        display: block;
1160    }
1161    
1162    .koba-search-overlay-inner {
1163        max-width: 1140px;
1164        margin: 0 auto;
1165        padding: 10px;
1166    }
1167    
1168    /* Catégorie */
1169    .koba-search-category {
1170        margin-bottom: 40px;
1171    }
1172    
1173    .koba-search-category-title {
1174        color: var(--koba-secondary, #faaf00);
1175        font-size: 1.8rem;
1176        font-weight: 600;
1177        margin: 0 0 15px 0;
1178        padding-bottom: 10px;
1179        border-bottom: 1px solid rgba(255,255,255,0.2);
1180    }
1181    
1182    /* Liste */
1183    .koba-search-list {
1184        list-style: none;
1185        margin: 0;
1186        padding: 0;
1187    }
1188    
1189    .koba-search-item {
1190        border-bottom: 1px solid rgba(255,255,255,0.1);
1191    }
1192    
1193    .koba-search-link {
1194        display: block;
1195        padding: 14px 0;
1196        color: #fff;
1197        text-decoration: none;
1198        font-size: 1.05rem;
1199        transition: padding-left 0.2s, color 0.2s;
1200    }
1201    
1202    .koba-search-link:hover {
1203        padding-left: 15px;
1204        color: var(--koba-secondary, #faaf00);
1205    }
1206    
1207    .koba-search-link mark {
1208        background: var(--koba-secondary, #faaf00);
1209        color: #1a1a2e;
1210        padding: 2px 4px;
1211        border-radius: 3px;
1212    }
1213    
1214    .koba-search-date {
1215        color: rgba(255,255,255,0.5);
1216        font-size: 0.9rem;
1217        margin-left: 10px;
1218    }
1219    
1220    /* Loading */
1221    .koba-search-loading {
1222        text-align: center;
1223        padding: 60px;
1224        color: rgba(255,255,255,0.7);
1225    }
1226    
1227    .koba-search-spinner {
1228        width: 40px;
1229        height: 40px;
1230        border: 3px solid rgba(255,255,255,0.2);
1231        border-top-color: #fff;
1232        border-radius: 50%;
1233        animation: koba-spin 0.8s linear infinite;
1234        margin: 0 auto 15px;
1235    }
1236    
1237    @keyframes koba-spin {
1238        to { transform: rotate(360deg); }
1239    }
1240    
1241    /* No results */
1242    .koba-search-no-results {
1243        text-align: center;
1244        padding: 60px;
1245        color: rgba(255,255,255,0.6);
1246    }
1247    
1248    .koba-search-no-results svg {
1249        width: 60px;
1250        height: 60px;
1251        margin-bottom: 20px;
1252        opacity: 0.4;
1253    }
1254    
1255    @media (max-width: 768px) {
1256        .koba-search-overlay {
1257            padding-top: 100px;
1258        }
1259        .koba-search-overlay-inner {
1260            padding: 20px;
1261        }
1262        .koba-search-category-title {
1263            font-size: 1.4rem;
1264        }
1265    }
1266    </style>
1267        <style>
1268    /* Menu adaptatif */
1269    .koba-nav-list {
1270        display: flex;
1271        flex-wrap: wrap;
1272        align-items: center;
1273    }
1274    
1275    /* Mode compact (9-10 éléments) */
1276    .koba-nav-list.koba-nav-compact .koba-nav-link {
1277        font-size: 12px;
1278        padding-left: 12px;
1279        padding-right: 12px;
1280    }
1281    
1282    /* Mode très compact (11+ éléments) */
1283    .koba-nav-list.koba-nav-very-compact .koba-nav-link {
1284        font-size: 10px;
1285        padding-left: 4px;
1286        padding-right: 4px;
1287    }
1288    @media (max-width: 1599px) {
1289        .koba-nav-list.koba-nav-compact .koba-nav-link {
1290            font-size: 12px;
1291            padding-left: 8px;
1292            padding-right: 8px;
1293        }
1294        .koba-nav-list.koba-nav-very-compact .koba-nav-link {
1295        font-size: 9px;
1296        padding-left: 0px;
1297        padding-right: 0px;
1298        }
1299    }
1300    @media (max-width: 1299px) {
1301        .koba-nav-list.koba-nav-compact .koba-nav-link {
1302            font-size: 10px;
1303            padding-left: 8px;
1304            padding-right: 8px;
1305        }
1306        .koba-nav-list.koba-nav-very-compact .koba-nav-link {
1307            font-size: 8px;
1308            padding-left: 4px;
1309            padding-right: 4px;
1310        }
1311    }
1312    @media (max-width: 1199px) {
1313        .koba-nav-list.koba-nav-compact .koba-nav-link {
1314            font-size: 9px;
1315            padding-left: 3px;
1316            padding-right: 3px;
1317        }
1318        .koba-nav-list.koba-nav-very-compact .koba-nav-link {
1319            font-size: 8px;
1320            padding-left: 2px;
1321            padding-right: 2px;
1322        }
1323    }
1324    </style>
1325    <meta name="generator" content="Koba Civique By Hob" />
1326<style id="koba-category-colors">
1327.color-ccas { background-color: #a21caf !important; }
1328.color-info-police-municipale { background-color: #0003ef !important; }
1329.color-police-municipale { background-color: #0003ef !important; }
1330.color-solidarite { background-color: #ed479a !important; }
1331.color-travaux { background-color: #f97316 !important; }
1332.agenda-color-mediatheque { background-color: #f96800 !important; }
1333.agenda-color-mdiathque { background-color: #f96800 !important; }
1334.agenda-color-seniors { background-color: #00827d !important; }
1335.agenda-color-sniors { background-color: #00827d !important; }
1336.agenda-color-solidarite { background-color: #ed5aa3 !important; }
1337.agenda-color-solidarit { background-color: #ed5aa3 !important; }
1338</style>
1339<style id='koba-options-css'>
1340.koba-newsletter, .koba-option-newsletter, [data-koba-option="newsletter"] { display: none !important; }
1341.koba-chat, .koba-option-chat, [data-koba-option="chat"] { display: none !important; }
1342.koba-survey, .koba-option-survey, [data-koba-option="survey"] { display: none !important; }
1343.koba-video_slider, .koba-option-video_slider, [data-koba-option="video_slider"] { display: none !important; }
1344.koba-payfip, .koba-option-payfip, [data-koba-option="payfip"] { display: none !important; }
1345.koba-fichiers, .koba-option-fichiers, [data-koba-option="fichiers"] { display: none !important; }
1346.koba-municipal, .koba-option-municipal, [data-koba-option="municipal"] { display: none !important; }
1347.koba-app_citoyen, .koba-option-app_citoyen, [data-koba-option="app_citoyen"] { display: none !important; }
1348.koba-alertes, .koba-option-alertes, [data-koba-option="alertes"] { display: none !important; }
1349.koba-franceconnect, .koba-option-franceconnect, [data-koba-option="franceconnect"] { display: none !important; }
1350.koba-voisinvigilant, .koba-option-voisinvigilant, [data-koba-option="voisinvigilant"] { display: none !important; }
1351.koba-actes, .koba-option-actes, [data-koba-option="actes"] { display: none !important; }
1352.koba-affichage_dynamique, .koba-option-affichage_dynamique, [data-koba-option="affichage_dynamique"] { display: none !important; }
1353.koba-rgpd_avance, .koba-option-rgpd_avance, [data-koba-option="rgpd_avance"] { display: none !important; }
1354.koba-multi_langues, .koba-option-multi_langues, [data-koba-option="multi_langues"] { display: none !important; }
1355.koba-carte_dynamique, .koba-option-carte_dynamique, [data-koba-option="carte_dynamique"] { display: none !important; }
1356.koba-reservation_salles, .koba-option-reservation_salles, [data-koba-option="reservation_salles"] { display: none !important; }
1357.koba-locaux_pro, .koba-option-locaux_pro, [data-koba-option="locaux_pro"] { display: none !important; }
1358.koba-statistiques, .koba-option-statistiques, [data-koba-option="statistiques"] { display: none !important; }
1359.koba-courrier, .koba-option-courrier, [data-koba-option="courrier"] { display: none !important; }
1360.koba-panneaupocket_iframe, .koba-option-panneaupocket_iframe, [data-koba-option="panneaupocket_iframe"] { display: none !important; }
1361.koba-panneaupocket_api, .koba-option-panneaupocket_api, [data-koba-option="panneaupocket_api"] { display: none !important; }
1362.koba-espace_collaboratif, .koba-option-espace_collaboratif, [data-koba-option="espace_collaboratif"] { display: none !important; }
1363.koba-actu_association, .koba-option-actu_association, [data-koba-option="actu_association"] { display: none !important; }
1364.koba-billetterie, .koba-option-billetterie, [data-koba-option="billetterie"] { display: none !important; }
1365.koba-accessibilite, .koba-option-accessibilite, [data-koba-option="accessibilite"] { display: none !important; }
1366.koba-espace_citoyen, .koba-option-espace_citoyen, [data-koba-option="espace_citoyen"] { display: none !important; }
1367.koba-visio_conference, .koba-option-visio_conference, [data-koba-option="visio_conference"] { display: none !important; }
1368.koba-apidae, .koba-option-apidae, [data-koba-option="apidae"] { display: none !important; }
1369.koba-prise_rdv, .koba-option-prise_rdv, [data-koba-option="prise_rdv"] { display: none !important; }
1370.koba-marche_public, .koba-option-marche_public, [data-koba-option="marche_public"] { display: none !important; }
1371.koba-portail_famille, .koba-option-portail_famille, [data-koba-option="portail_famille"] { display: none !important; }
1372.koba-webcam, .koba-option-webcam, [data-koba-option="webcam"] { display: none !important; }
1373.koba-reseaux_sociaux, .koba-option-reseaux_sociaux, [data-koba-option="reseaux_sociaux"] { display: none !important; }
1374.koba-archives_opendata, .koba-option-archives_opendata, [data-koba-option="archives_opendata"] { display: none !important; }
1375.koba-encombrants_dechets, .koba-option-encombrants_dechets, [data-koba-option="encombrants_dechets"] { display: none !important; }
1376.koba-zapette, .koba-option-zapette, [data-koba-option="zapette"] { display: none !important; }
1377.koba-flipbook, .koba-option-flipbook, [data-koba-option="flipbook"] { display: none !important; }
1378.koba-extranet_commissions, .koba-option-extranet_commissions, [data-koba-option="extranet_commissions"] { display: none !important; }
1379.koba-sms_alerte, .koba-option-sms_alerte, [data-koba-option="sms_alerte"] { display: none !important; }
1380.koba-recherche_avancee, .koba-option-recherche_avancee, [data-koba-option="recherche_avancee"] { display: none !important; }
1381</style>
1382</head>
1383
1384<body class="wp-singular page-template-default page page-id-941 wp-theme-hob-koba-civique site-id-60 koba-has-campaign koba-has-rss koba-has-video">
1385    <style>
1386        #koba-upsell-banner {
1387            display: none; /* révélé par JS uniquement en mode PWA standalone */
1388            align-items: flex-start;
1389            gap: 10px;
1390            background: #6401ce;
1391            color: #fff;
1392            padding: calc(10px + env(safe-area-inset-top)) 14px 10px;
1393            font-family: inherit;
1394            font-size: .82rem;
1395            line-height: 1.4;
1396        }
1397        #koba-upsell-banner.koba-upsell-visible { display: flex;     
1398            z-index: 2147483647;
1399            position: relative; }
1400        #koba-upsell-banner .kub-text { flex: 1; min-width: 0; }
1401        #koba-upsell-banner .kub-close {
1402            background: rgba(255,255,255,.18);
1403            border: none;
1404            color: #fff;
1405            font-size: .95rem;
1406            line-height: 1;
1407            cursor: pointer;
1408            padding: 6px 9px;
1409            border-radius: 6px;
1410            flex-shrink: 0;
1411        }
1412        #koba-upsell-banner .kub-close:hover { background: rgba(255,255,255,.3); }
1413    </style>
1414
1415    <div id="koba-upsell-banner" role="alert">
1416        <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>
1417        <button class="kub-close" id="koba-upsell-close" aria-label="Fermer">&#10005;</button>
1418    </div>
1419
1420    
1420<script>
1421    (function() {
1422        var isPwa = window.matchMedia('(display-mode: standalone)').matches
1423                 || window.navigator.standalone === true;
1424        if (!isPwa) return; // ← retirer cette ligne pour afficher aussi dans le navigateur
1425
1426        var KEY = 'koba_upsell_closed';
1427        if (localStorage.getItem(KEY) === '1') return;
1428
1429        function show() {
1430            var b = document.getElementById('koba-upsell-banner');
1431            if (!b) return;
1432            b.classList.add('koba-upsell-visible');
1433
1434            // Comptage : 1 vue par session (ouverture de l'app)
1435            if (!sessionStorage.getItem('koba_upsell_counted')) {
1436                sessionStorage.setItem('koba_upsell_counted', '1');
1437                var fd = new FormData();
1438                fd.append('action', 'koba_upsell_view');
1439                fetch('https://www.oye-plage.fr/wp-admin/admin-ajax.php', {
1440                    method: 'POST', body: fd, credentials: 'include'
1441                }).catch(function(){});
1442            }
1443
1444            var c = document.getElementById('koba-upsell-close');
1445            if (c) c.addEventListener('click', function() {
1446                b.classList.remove('koba-upsell-visible');
1447                localStorage.setItem(KEY, '1');
1448            });
1449        }
1450        if (document.readyState !== 'loading') show();
1451        else document.addEventListener('DOMContentLoaded', show);
1452    })();
1453    </script>
1453
1454    
1455<a class="skip-link visually-hidden-focusable" href="#main-content">Aller au contenu principal</a>
1456
1457<header class="koba-header" role="banner">
1458    <!-- Container principal avec position relative -->
1459    <div class="koba-header-wrapper">
1460        
1461        <!-- Logo - couvre les deux barres -->
1462        <a href="https://www.oye-plage.fr/" class="koba-logo">
1463                            <img src="https://www.oye-plage.fr/wp-content/uploads/sites/60/2026/07/LogoSite.png" alt="MAIRIE DE OYE PLAGE - Accueil">
1464                    </a>
1465        
1466        <!-- Barre supérieure (orange) -->
1467        <div class="koba-topbar">
1468            <div class="koba-topbar-inner">
1469                <!-- Hamburger (mobile uniquement) -->
1470                <button class="koba-hamburger" id="koba-hamburger" aria-label="Menu">
1471                    <span></span>
1472                    <span></span>
1473                    <span></span>
1474                </button>
1475                
1476                <!-- Menu secondaire gauche (desktop) -->               
1477                <nav class="koba-topbar-menu">
1478                    <ul class="koba-topbar-list">
1479                        <li class="menu-item menu-item-type-post_type menu-item-object-page">
1480                            <a href="https://www.oye-plage.fr/">ACCUEIL</a>
1481                        </li>
1482                        <li class="menu-item menu-item-type-post_type menu-item-object-page">
1483                            <a href="https://www.oye-plage.fr/annuaire/">ANNUAIRE</a>
1484                        </li>
1485                        <li class="menu-item menu-item-type-post_type menu-item-object-page">
1486                            <a href="https://www.oye-plage.fr/contact/">NOUS CONTACTER</a>
1487                        </li>
1488                        <li class="menu-item menu-item-type-post_type menu-item-object-page">
1489                            <a href="https://www.oye-plage.fr/emploi/">EMPLOI</a>
1490                        </li>
1491                                            </ul>   
1492                </nav>
1493                
1494                <!-- Lien droite (desktop) -->
1495                               
1496               
1497            </div>
1498        </div>
1499        
1500        <!-- Barre principale (bleu) -->
1501        <div class="koba-navbar">
1502            <div class="koba-navbar-inner">
1503                
1504                <!-- Menu principal (desktop) -->
1505                <nav class="koba-main-nav" id="koba-main-nav">
1506                                        
1507                    <ul class="koba-nav-list">
1508                                                <li class="koba-nav-item has-megamenu">
1509                            <a href="#" class="koba-nav-link" data-megamenu="3356">
1510                                Actes réglementaires                                                                <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">
1511                                    <path d="M6 9l6 6 6-6"/>
1512                                </svg>
1513                                                            </a>
1514                            
1515                                                        <div class="koba-megamenu" id="megamenu-3356">
1516                                <div class="koba-megamenu-inner">
1517                                    <div class="koba-megamenu-col1"></div>
1518                                    
1519                                    <div class="koba-megamenu-col2">
1520                                        <span class="koba-megamenu-title">Actes réglementaires</span>
1521                                    </div>
1522                                    
1523                                    <div class="koba-megamenu-col3">
1524                                        <ul class="koba-megamenu-list">
1525                                                                                        <li class="koba-megamenu-item ">
1526                                                <a href="https://www.oye-plage.fr/kiosks/?annee=&#038;mois=&#038;categorie=comptes-rendus-cm" class="koba-megamenu-link">
1527                                                    Comptes rendus des Conseils Municipaux                                                                                                    </a>
1528                                                
1529                                                                                            </li>
1530                                                                                        <li class="koba-megamenu-item has-submenu">
1531                                                <a href="https://www.oye-plage.fr/articles/decisions/" class="koba-megamenu-link">
1532                                                    Décisions                                                                                                        <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
1533                                                        <path d="M9 18l6-6-6-6"/>
1534                                                    </svg>
1535                                                                                                    </a>
1536                                                
1537                                                                                                <ul class="koba-megamenu-sublist">
1538                                                                                                        <li class="">
1539                                                        <a href="https://www.oye-plage.fr/articles/decisions/">
1540                                                            Décisions                                                                                                                    </a>
1541                                                                                                            </li>
1542                                                                                                        <li class="">
1543                                                        <a href="https://www.oye-plage.fr/articles/decisions-d-urbanisme-e647a662-44ce-42a7-96d0-de091402adf8/">
1544                                                            Décisions d&#039;urbanisme                                                                                                                    </a>
1545                                                                                                            </li>
1546                                                                                                    </ul>
1547                                                                                            </li>
1548                                                                                        <li class="koba-megamenu-item has-submenu">
1549                                                <a href="https://www.oye-plage.fr/articles/arretes-du-maire/" class="koba-megamenu-link">
1550                                                    Arrêtés du Maire                                                                                                        <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
1551                                                        <path d="M9 18l6-6-6-6"/>
1552                                                    </svg>
1553                                                                                                    </a>
1554                                                
1555                                                                                                <ul class="koba-megamenu-sublist">
1556                                                                                                        <li class="">
1557                                                        <a href="https://www.oye-plage.fr/articles/annee-2026/">
1558                                                            Année 2026                                                                                                                    </a>
1559                                                                                                            </li>
1560                                                                                                        <li class="">
1561                                                        <a href="https://www.oye-plage.fr/articles/arretes-du-maire-2025/">
1562                                                            Année 2025                                                                                                                    </a>
1563                                                                                                            </li>
1564                                                                                                        <li class="">
1565                                                        <a href="https://www.oye-plage.fr/articles/2024/">
1566                                                            Année 2024                                                                                                                    </a>
1567                                                                                                            </li>
1568                                                                                                        <li class="">
1569                                                        <a href="https://www.oye-plage.fr/articles/arretes-du-maire/">
1570                                                            Année 2023                                                                                                                    </a>
1571                                                                                                            </li>
1572                                                                                                        <li class="">
1573                                                        <a href="https://www.oye-plage.fr/articles/arretes-municipaux-permanents/">
1574                                                            Arrêtés Municipaux &#8211; Permanents                                                                                                                    </a>
1575                                                                                                            </li>
1576                                                                                                    </ul>
1577                                                                                            </li>
1578                                                                                        <li class="koba-megamenu-item ">
1579                                                <a href="https://www.oye-plage.fr/articles/arretes-prefectoraux/" class="koba-megamenu-link">
1580                                                    Arrêtés Préfectoraux                                                                                                    </a>
1581                                                
1582                                                                                            </li>
1583                                                                                        <li class="koba-megamenu-item ">
1584                                                <a href="https://www.oye-plage.fr/articles/arretes-departementaux/" class="koba-megamenu-link">
1585                                                    Arrêtés Départementaux                                                                                                    </a>
1586                                                
1587                                                                                            </li>
1588                                                                                    </ul>
1589                                    </div>
1590                                    
1591                                    <div class="koba-megamenu-col4"></div>
1592                                </div>
1593                            </div>
1594                                                    </li>
1595                                                <li class="koba-nav-item has-megamenu">
1596                            <a href="#" class="koba-nav-link" data-megamenu="3365">
1597                                Découvrir Oye-Plage                                                                <svg class="koba-nav-arrow" width="10" height="10" viewB
1597ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
1598                                    <path d="M6 9l6 6 6-6"/>
1599                                </svg>
1600                                                            </a>
1601                            
1602                                                        <div class="koba-megamenu" id="megamenu-3365">
1603                                <div class="koba-megamenu-inner">
1604                                    <div class="koba-megamenu-col1"></div>
1605                                    
1606                                    <div class="koba-megamenu-col2">
1607                                        <span class="koba-megamenu-title">Découvrir Oye-Plage</span>
1608                                    </div>
1609                                    
1610                                    <div class="koba-megamenu-col3">
1611                                        <ul class="koba-megamenu-list">
1612                                                                                        <li class="koba-megamenu-item ">
1613                                                <a href="https://www.oye-plage.fr/articles/l-histoire-de-la-commune-d-oye-plage/" class="koba-megamenu-link">
1614                                                    L&#039;histoire d&#039;Oye-Plage                                                                                                    </a>
1615                                                
1616                                                                                            </li>
1617                                                                                        <li class="koba-megamenu-item ">
1618                                                <a href="https://www.oye-plage.fr/articles/le-patrimoine-de-la-commune/" class="koba-megamenu-link">
1619                                                    Le patrimoine                                                                                                    </a>
1620                                                
1621                                                                                            </li>
1622                                                                                        <li class="koba-megamenu-item ">
1623                                                <a href="https://www.oye-plage.fr/articles/oye-plage-9-kilometres-de-plage/" class="koba-megamenu-link">
1624                                                    Une plage de neuf kilomètres de sable fin                                                                                                    </a>
1625                                                
1626                                                                                            </li>
1627                                                                                        <li class="koba-megamenu-item ">
1628                                                <a href="https://www.oye-plage.fr/articles/a-la-decouverte-du-platier-d-oye/" class="koba-megamenu-link">
1629                                                    La Réserve naturelle - Le Platier d&#039;Oye                                                                                                    </a>
1630                                                
1631                                                                                            </li>
1632                                                                                        <li class="koba-megamenu-item ">
1633                                                <a href="https://www.oye-plage.fr/articles/randonnees/" class="koba-megamenu-link">
1634                                                    Les randonnées                                                                                                    </a>
1635                                                
1636                                                                                            </li>
1637                                                                                        <li class="koba-megamenu-item ">
1638                                                <a href="https://www.oye-plage.fr/articles/locationd-de-vacances-a-oye-plage/" class="koba-megamenu-link">
1639                                                    Les hébergements touristiques                                                                                                    </a>
1640                                                
1641                                                                                            </li>
1642                                                                                        <li class="koba-megamenu-item ">
1643                                                <a href="https://www.oye-plage.fr/articles/le-guide-anserien-2bab4491-1c48-4b5a-9995-4c4ca59db2fa/" class="koba-megamenu-link">
1644                                                    Le guide Ansérien                                                                                                    </a>
1645                                                
1646                                                                                            </li>
1647                                                                                    </ul>
1648                                    </div>
1649                                    
1650                                    <div class="koba-megamenu-col4"></div>
1651                                </div>
1652                            </div>
1653                                                    </li>
1654                                                <li class="koba-nav-item has-megamenu">
1655                            <a href="#" class="koba-nav-link" data-megamenu="3373">
1656                                Ma municipalité                                                                <svg class="koba-nav-arrow" width="10" height="10" viewB
1656ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
1657                                    <path d="M6 9l6 6 6-6"/>
1658                                </svg>
1659                                                            </a>
1660                            
1661                                                        <div class="koba-megamenu" id="megamenu-3373">
1662                                <div class="koba-megamenu-inner">
1663                                    <div class="koba-megamenu-col1"></div>
1664                                    
1665                                    <div class="koba-megamenu-col2">
1666                                        <span class="koba-megamenu-title">Ma municipalité</span>
1667                                    </div>
1668                                    
1669                                    <div class="koba-megamenu-col3">
1670                                        <ul class="koba-megamenu-list">
1671                                                                                        <li class="koba-megamenu-item ">
1672                                                <a href="https://www.oye-plage.fr/articles/vos-elus/" class="koba-megamenu-link">
1673                                                    Le Conseil Municipal                                                                                                    </a>
1674                                                
1675                                                                                            </li>
1676                                                                                        <li class="koba-megamenu-item ">
1677                                                <a href="https://www.oye-plage.fr/articles/delegues/" class="koba-megamenu-link">
1678                                                    Délégués auprès des organismes extérieurs                                                                                                    </a>
1679                                                
1680                                                                                            </li>
1681                                                                                        <li class="koba-megamenu-item ">
1682                                                <a href="https://www.oye-plage.fr/articles/commission-d-appel-d-offres/" class="koba-megamenu-link">
1683                                                    Commission d&#039;appel d&#039;offres                                                                                                    </a>
1684                                                
1685                                                                                            </li>
1686                                                                                        <li class="koba-megamenu-item ">
1687                                                <a href="https://www.oye-plage.fr/articles/commissions-municipales/" class="koba-megamenu-link">
1688                                                    Commissions Municipales                                                                                                    </a>
1689                                                
1690                                                                                            </li>
1691                                                                                        <li class="koba-megamenu-item ">
1692                                                <a href="https://www.oye-plage.fr/articles/tribune-libre/" class="koba-megamenu-link">
1693                                                    Tribune Libre                                                                                                    </a>
1694                                                
1695                                                                                            </li>
1696                                                                                        <li class="koba-megamenu-item ">
1697                                                <a href="https://www.oye-plage.fr/articles/le-conseil-des-anciens/" class="koba-megamenu-link">
1698                                                    Le Conseil des Anciens                                                                                                    </a>
1699                                                
1700                                                                                            </li>
1701                                                                                        <li class="koba-megamenu-item ">
1702                                                <a href="https://www.oye-plage.fr/articles/le-conseil-municipal-des-jeunes/" class="koba-megamenu-link">
1703                                                    Le Conseil Municipal des Jeunes                                                                                                    </a>
1704                                                
1705                                                                                            </li>
1706                                                                                    </ul>
1707                                    </div>
1708                                    
1709                                    <div class="koba-megamenu-col4"></div>
1710                                </div>
1711                            </div>
1712                                                    </li>
1713                                                <li class="koba-nav-item has-megamenu">
1714                            <a href="#" class="koba-nav-link" data-megamenu="3380">
1715                                Oye-Plage pratique                                                                <svg class="koba-nav-arrow" width="10" height="10" viewB
1715ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
1716                                    <path d="M6 9l6 6 6-6"/>
1717                                </svg>
1718                                                            </a>
1719                            
1720                                                        <div class="koba-megamenu" id="megamenu-3380">
1721                                <div class="koba-megamenu-inner">
1722                                    <div class="koba-megamenu-col1"></div>
1723                                    
1724                                    <div class="koba-megamenu-col2">
1725                                        <span class="koba-megamenu-title">Oye-Plage pratique</span>
1726                                    </div>
1727                                    
1728                                    <div class="koba-megamenu-col3">
1729                                        <ul class="koba-megamenu-list">
1730                                                                                        <li class="koba-megamenu-item ">
1731                                                <a href="https://www.oye-plage.fr/kiosks/?annee=&#038;mois=&#038;categorie=gazette-anserienne" class="koba-megamenu-link">
1732                                                    La Gazette Ansérienne                                                                                                    </a>
1733                                                
1734                                                                                            </li>
1735                                                                                        <li class="koba-megamenu-item ">
1736                                                <a href="https://www.oye-plage.fr/articles/les-transports-755a2237-3587-494d-a4d2-aa0969cfc0d3/" class="koba-megamenu-link">
1737                                                    Les transports                                                                                                    </a>
1738                                                
1739                                                                                            </li>
1740                                                                                        <li class="koba-megamenu-item ">
1741                                                <a href="https://www.oye-plage.fr/emploi/" class="koba-megamenu-link">
1742                                                    Emploi                                                                                                    </a>
1743                                                
1744                                                                                            </li>
1745                                                                                        <li class="koba-megamenu-item has-submenu">
1746                                                <a href="https://www.oye-plage.fr/articles" class="koba-megamenu-link">
1747                                                    Les associations                                                                                                        <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
1748                                                        <path d="M9 18l6-6-6-6"/>
1749                                                    </svg>
1750                                                                                                    </a>
1751                                                
1752                                                                                                <ul class="koba-megamenu-sublist">
1753                                                                                                        <li class="">
1754                                                        <a href="https://www.oye-plage.fr/articles/calendrier-des-fetes-2024/">
1755                                                            Le calendrier des fêtes                                                                                                                    </a>
1756                                                                                                            </li>
1757                                                                                                        <li class="">
1758                                                        <a href="https://www.oye-plage.fr/annuaire/associations-7f258db0-7b5a-4982-a596-3991a6e3e7df">
1759                                                            Annuaire des associations                                                                                                                    </a>
1760                                                                                                            </li>
1761                                                                                                        <li class="">
1762                                                        <a href="https://www.oye-plage.fr/articles/subvention/">
1763                                                            Dossier de demande de subvention par une association                                                                                                                    </a>
1764                                                                                                            </li>
1765                                                                                                        <li class="">
1766                                                        <a href="https://www.oye-plage.fr/articles/organiser-une-manifestation/">
1767                                                            Organiser une manifestation                                                                                                                    </a>
1768                                                                                                            </li>
1769                                                                                                    </ul>
1770                                                                                            </li>
1771                                                                                        <li class="koba-megamenu-item ">
1772                                                <a href="https://www.oye-plage.fr/articles/location-salle/" class="koba-megamenu-link">
1773                                                    Salles des fêtes en location                                                                                                    </a>
1774                                                
1775                                                                                            </li>
1776                                                                                        <li class="koba-megamenu-item ">
1777                                                <a href="https://www.oye-plage.fr/articles/mediatheque/" class="koba-megamenu-link">
1778                                                    La médiathèque Simone-Veil                                                                                                    </a>
1779                                                
1780                                                                                            </li>
1781                                                                                        <li class="koba-megamenu-item ">
1782                                                <a href="https://www.oye-plage.fr/articles/ecole-de-musique/" class="koba-megamenu-link">
1783                                                    L&#039;école de musique                                                                                                    </a>
1784                                                
1785                                                                                            </li>
1786                                                                                        <li class="koba-megamenu-item ">
1787                                                <a href="https://www.oye-plage.fr/articles/seniors/" class="koba-megamenu-link">
1788                                                    Les séniors                                                                                                    </a>
1789                                                
1790                                                                                            </li>
1791                                                                                        <li class="koba-megamenu-item ">
1792                                                <a href="https://www.oye-plage.fr/articles/commerces/" class="koba-megamenu-link">
1793                                                    Commerces                                                                                                    </a>
1794                                                
1795                                                                                            </li>
1796                                                                                        <li class="koba-megamenu-item ">
1797                                                <a href="https://www.oye-plage.fr/articles/permanences-services-logement-jeunes/" class="koba-megamenu-link">
1798                                                    Permanence Maison France Services                                                                                                    </a>
1799                                                
1800                                                                                            </li>
1801                                                                                        <li class="koba-megamenu-item ">
1802                                                <a href="https://www.oye-plage.fr/articles/permanences/" class="koba-megamenu-link">
1803                                                    Autres permanences                                                                                                    </a>
1804                                                
1805                                                                                            </li>
1806                                                                                        <li class="koba-megamenu-item ">
1807                                                <a href="https://www.oye-plage.fr/articles/urgence-et-sante/" class="koba-megamenu-link">
1808                                                    Urgences et santé                                                                                                    </a>
1809                                                
1810                                                                                            </li>
1811                                                                                        <li class="koba-megamenu-item ">
1812                                                <a href="https://www.oye-plage.fr/articles/poubelles-dechets-ramassage/" class="koba-megamenu-link">
1813                                                    Vos déchets                                                                                                    </a>
1814                                                
1815                                                                                            </li>
1816                                                                                    </ul>
1817                                    </div>
1818                                    
1819                                    <div class="koba-megamenu-col4"></div>
1820                                </div>
1821                            </div>
1822                                                    </li>
1823                                                <li class="koba-nav-item has-megamenu">
1824                            <a href="https://www.oye-plage.fr/articles" class="koba-nav-link" data-megamenu="3399">
1825                                Enfance &amp; Jeunesse                                                                <svg class="koba-nav-arrow" width="10" height="10" viewB
1825ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
1826                                    <path d="M6 9l6 6 6-6"/>
1827                                </svg>
1828                                                            </a>
1829                            
1830                                                        <div class="koba-megamenu" id="megamenu-3399">
1831                                <div class="koba-megamenu-inner">
1832                                    <div class="koba-megamenu-col1"></div>
1833                                    
1834                                    <div class="koba-megamenu-col2">
1835                                        <span class="koba-megamenu-title">Enfance &amp; Jeunesse</span>
1836                                    </div>
1837                                    
1838                                    <div class="koba-megamenu-col3">
1839                                        <ul class="koba-megamenu-list">
1840                                                                                        <li class="koba-megamenu-item ">
1841                                                <a href="https://www.oye-plage.fr/articles/ecoles-et-college/" class="koba-megamenu-link">
1842                                                    Les écoles et le collège                                                                                                    </a>
1843                                                
1844                                                                                            </li>
1845                                                                                        <li class="koba-megamenu-item ">
1846                                                <a href="https://www.oye-plage.fr/articles/service-scolaire-7e719ab2-e76b-4a6b-ab9b-7877b2f8b319/" class="koba-megamenu-link">
1847                                                    Le service scolaire                                                                                                    </a>
1848                                                
1849                                                                                            </li>
1850                                                                                        <li class="koba-megamenu-item ">
1851                                                <a href="https://www.oye-plage.fr/articles/accueil-de-loisirs/" class="koba-megamenu-link">
1852                                                    L&#039;accueil de loisirs et la garderie                                                                                                    </a>
1853                                                
1854                                                                                            </li>
1855                                                                                        <li class="koba-megamenu-item ">
1856                                                <a href="https://www.oye-plage.fr/articles/caj/" class="koba-megamenu-link">
1857                                                    Le Centre d&#039;Animation des Jeunes                                                                                                    </a>
1858                                                
1859                                                                                            </li>
1860                                                                                        <li class="koba-megamenu-item ">
1861                                                <a href="https://www.oye-plage.fr/actualites/aide-financiere-aux-etudiants/" class="koba-megamenu-link">
1862                                                    Aide Financière aux Etudiants                                                                                                    </a>
1863                                                
1864                                                                                            </li>
1865                                                                                        <li class="koba-megamenu-item ">
1866                                                <a href="https://www.oye-plage.fr/articles/toutes-les-demarches-pour-vos-enfants-avec-le-compte-famille/" class="koba-megamenu-link">
1867                                                    Accès à votre compte famille                                                                                                    </a>
1868                                                
1869                                                                                            </li>
1870                                                                                        <li class="koba-megamenu-item ">
1871                                                <a href="https://www.oye-plage.fr/articles/le-pass-jeunesse/" class="koba-megamenu-link">
1872                                                    Le Pass Jeunesse                                                                                                    </a>
1873                                                
1874                                                                                            </li>
1875                                                                                        <li class="koba-megamenu-item ">
1876                                                <a href="https://www.oye-plage.fr/articles/bafa-bafd-citoyen/" class="koba-megamenu-link">
1877                                                    BAFA/BAFD Citoyen                                                                                                    </a>
1878                                                
1879                                                                                            </li>
1880                                                                                        <li class="koba-megamenu-item ">
1881                                                <a href="https://www.oye-plage.fr/actualites/formation-nageur-sauveteur" class="koba-megamenu-link">
1882                                                    Formation Nageur Sauveteur                                                                                                    </a>
1883                                                
1884                                                                                            </li>
1885                                                                                        <li class="koba-megamenu-item ">
1886                                                <a href="https://www.oye-plage.fr/articles/les-assistantes-maternelles/" class="koba-megamenu-link">
1887                                                    Les assistantes maternelles                                                                                                    </a>
1888                                                
1889                                                                                            </li>
1890                                                                                    </ul>
1891                                    </div>
1892                                    
1893                                    <div class="koba-megamenu-col4"></div>
1894                                </div>
1895                            </div>
1896                                                    </li>
1897                                                <li class="koba-nav-item has-megamenu">
1898                            <a href="#" class="koba-nav-link" data-megamenu="3408">
1899                                Démarches &amp; E-service                                                                <svg class="koba-nav-arrow" width="10" height="10" viewB
1899ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
1900                                    <path d="M6 9l6 6 6-6"/>
1901                                </svg>
1902                                                            </a>
1903                            
1904                                                        <div class="koba-megamenu" id="megamenu-3408">
1905                                <div class="koba-megamenu-inner">
1906                                    <div class="koba-megamenu-col1"></div>
1907                                    
1908                                    <div class="koba-megamenu-col2">
1909                                        <span class="koba-megamenu-title">Démarches &amp; E-service</span>
1910                                    </div>
1911                                    
1912                                    <div class="koba-megamenu-col3">
1913                                        <ul class="koba-megamenu-list">
1914                                                                                        <li class="koba-megamenu-item ">
1915                                                <a href="https://www.oye-plage.fr/articles/cimetiere/" class="koba-megamenu-link">
1916                                                    Cimetière                                                                                                    </a>
1917                                                
1918                                                                                            </li>
1919                                                                                        <li class="koba-megamenu-item ">
1920                                                <a href="https://www.oye-plage.fr/articles/passeport/" class="koba-megamenu-link">
1921                                                    Carte Nationale d&#039;Identité et Passeport                                                                                                    </a>
1922                                                
1923                                                                                            </li>
1924                                                                                        <li class="koba-megamenu-item ">
1925                                                <a href="https://www.oye-plage.fr/services/listes-electorales/" class="koba-megamenu-link">
1926                                                    Inscription sur les listes électorales                                                                                                    </a>
1927                                                
1928                                                                                            </li>
1929                                                                                        <li class="koba-megamenu-item ">
1930                                                <a href="https://www.oye-plage.fr/services/demande-de-logement-social/" class="koba-megamenu-link">
1931                                                    Demande de logement social à Oye-Plage                                                                                                    </a>
1932                                                
1933                                                                                            </li>
1934                                                                                        <li class="koba-megamenu-item ">
1935                                                <a href="https://www.oye-plage.fr/services/pacs-d7be9ec7-12a2-4be3-a977-eece7bea7ec4/" class="koba-megamenu-link">
1936                                                    Se PACSer                                                                                                    </a>
1937                                                
1938                                                                                            </li>
1939                                                                                        <li class="koba-megamenu-item ">
1940                                                <a href="https://www.oye-plage.fr/services/recensement-citoyen-journee-defense-et-citoyennete/" class="koba-megamenu-link">
1941                                                    Journée Défense et Citoyenneté                                                                                                    </a>
1942                                                
1943                                                                                            </li>
1944                                                                                        <li class="koba-megamenu-item ">
1945                                                <a href="https://www.oye-plage.fr/services/systeme-de-tele-alerte/" class="koba-megamenu-link">
1946                                                    Système de Télé-Alerte                                                                                                    </a>
1947                                                
1948                                                                                            </li>
1949                                                                                        <li class="koba-megamenu-item ">
1950                                                <a href="https://www.oye-plage.fr/services/population/" class="koba-megamenu-link">
1951                                                    Communication-Emménagement/Déménagement                                                                                                    </a>
1952                                                
1953                                                                                            </li>
1954                                                                                        <li class="koba-megamenu-item ">
1955                                                <a href="https://www.oye-plage.fr/services/medaille-du-travail/" class="koba-megamenu-link">
1956                                                    Médaille du Travail                                                                                                    </a>
1957                                                
1958                                                                                            </li>
1959                                                                                        <li class="koba-megamenu-item ">
1960                                                <a href="https://www.oye-plage.fr/services/demande-d-actes/" class="koba-megamenu-link">
1961                                                    Demande d’actes                                                                                                    </a>
1962                                                
1963                                                                                            </li>
1964                                                                                        <li class="koba-megamenu-item ">
1965                                                <a href="https://www.oye-plage.fr/services/urbanisme/" class="koba-megamenu-link">
1966                                                    Urbanisme                                                                                                    </a>
1967                                                
1968                                                                                            </li>
1969                                                                                        <li class="koba-megamenu-item ">
1970                                                <a href="https://www.oye-plage.fr/services/operation-tranquillite-vacances/" class="koba-megamenu-link">
1971                                                    Opération Tranquillité Vacances                                                                                                    </a>
1972                                                
1973                                                                                            </li>
1974                                                                                        <li class="koba-megamenu-item ">
1975                                                <a href="https://www.oye-plage.fr/services/voisins-vigilants/" class="koba-megamenu-link">
1976                                                    Voisins Vigilants                                                                                                    </a>
1977                                                
1978                                                                                            </li>
1979                                                                                        <li class="koba-megamenu-item ">
1980                                                <a href="https://www.oye-plage.fr/articles/tranquilite-chantier/" class="koba-megamenu-link">
1981                                                    Tranquillité chantier                                                                                                    </a>
1982                                                
1983                                                                                            </li>
1984                                                                                        <li class="koba-megamenu-item ">
1985                                                <a href="https://www.service-public.fr/particuliers/vosdroits/N19805" class="koba-megamenu-link">
1986                                                    Famille                                                                                                    </a>
1987                                                
1988                                                                                            </li>
1989                                                                                        <li class="koba-megamenu-item ">
1990                                                <a href="https://www.service-public.fr/particuliers/vosdroits/N19812" class="koba-megamenu-link">
1991                                                    Transports                                                                                                    </a>
1992                                                
1993                                                                                            </li>
1994                                                                                        <li class="koba-megamenu-item ">
1995                                                <a href="https://www.service-public.fr/particuliers/vosdroits/N19807" class="koba-megamenu-link">
1996                                                    Justice                                                                                                    </a>
1997                                                
1998                                                                                            </li>
1999                                                                                        <li class="koba-megamenu-item ">
2000                                                <a href="https://www.service-public.fr/particuliers/vosdroits/N19811" class="koba-megamenu-link">
2001                                                    Social - Santé                                                                                                    </a>
2002                                                
2003                                                                                            </li>
2004                                                                                        <li class="koba-megamenu-item ">
2005                                                <a href="https://www.service-public.fr/particuliers/vosdroits/N19806" class="koba-megamenu-link">
2006                                                    Travail                                                                                                    </a>
2007                                                
2008                                                                                            </li>
2009                                                                                        <li class="koba-megamenu-item ">
2010                                                <a href="https://www.service-public.fr/particuliers/vosdroits/N19808" class="koba-megamenu-link">
2011                                                    Logement                                                                                                    </a>
2012                                                
2013                                                                                            </li>
2014                                                                                        <li class="koba-megamenu-item ">
2015                                                <a href="https://www.service-public.fr/particuliers/vosdroits/N19803" class="koba-megamenu-link">
2016                                                    Argent                                                                                                    </a>
2017                                                
2018                                                                                            </li>
2019                                                                                        <li class="koba-megamenu-item ">
2020                                                <a href="https://www.service-public.fr/particuliers/vosdroits/N19804" class="koba-megamenu-link">
2021                                                    Étranger                                                                                                    </a>
2022                                                
2023                                                                                            </li>
2024                                                                                        <li class="koba-megamenu-item ">
2025                                                <a href="https://www.service-public.fr/particuliers/vosdroits/N19809" class="koba-megamenu-link">
2026                                                    Loisirs                                                                                                    </a>
2027                                                
2028                                                                                            </li>
2029                                                                                    </ul>
2030                                    </div>
2031                                    
2032                                    <div class="koba-megamenu-col4"></div>
2033                                </div>
2034                            </div>
2035                                                    </li>
2036                                                <li class="koba-nav-item has-megamenu">
2037                            <a href="https://www.oye-plage.fr/articles/enquete-publique-reacteurs-2-et-4-centre-nucleaire-de-production-d-electricite-de-gravelines/" class="koba-nav-link" data-megamenu="3432">
2038                                Enquêtes publiques et publications légales                                                                <svg class="koba-nav-arrow" width="10" height="10" viewB
2038ox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
2039                                    <path d="M6 9l6 6 6-6"/>
2040                                </svg>
2041                                                            </a>
2042                            
2043                                                        <div class="koba-megamenu" id="megamenu-3432">
2044                                <div class="koba-megamenu-inner">
2045                                    <div class="koba-megamenu-col1"></div>
2046                                    
2047                                    <div class="koba-megamenu-col2">
2048                                        <span class="koba-megamenu-title">Enquêtes publiques et publications légales</span>
2049                                    </div>
2050                                    
2051                                    <div class="koba-megamenu-col3">
2052                                        <ul class="koba-megamenu-list">
2053                                                                                        <li class="koba-megamenu-item ">
2054                                                <a href="https://www.oye-plage.fr/articles/bilan-du-schema-de-coherence-territoriale-analyse-des-resultats-de-l-application-de-2020-a-2026/" class="koba-megamenu-link">
2055                                                    Bilan du schéma de cohérence territoriale- analyse des résultats de l&#039;application de 2020 à 2026                                                                                                    </a>
2056                                                
2057                                                                                            </li>
2058                                                                                        <li class="koba-megamenu-item ">
2059                                                <a href="https://www.oye-plage.fr/articles/consultation-du-public-projet-de-relevage-du-cable-sous-marin-sea-me-we3-situe-dans-les-eaux-territoriales-des-hauts-de-france/" class="koba-megamenu-link">
2060                                                    Consultation du public &#8211; Projet de relevage du câble sous-marin SEA-ME-WE3 situé dans les eaux territoriales des Hauts-de-France                                                                                                    </a>
2061                                                
2062                                                                                            </li>
2063                                                                                        <li class="koba-megamenu-item ">
2064                                                <a href="https://www.oye-plage.fr/articles/permis-damenager-eden62/" class="koba-megamenu-link">
2065                                                    Permis d&rsquo;Aménager &#8211; Eden62                                                                                                    </a>
2066                                                
2067                                                                                            </li>
2068                                                                                    </ul>
2069                                    </div>
2070                                    
2071                                    <div class="koba-megamenu-col4"></div>
2072                                </div>
2073                            </div>
2074                                                    </li>
2075                                            </ul>
2076                                    </nav>
2077                
2078                <!-- Bouton recherche (carré) -->
2079                <button class="koba-search-toggle" id="koba-search-toggle" aria-label="Ouvrir la recherche" aria-expanded="false" aria-controls="koba-search-bar">
2080                    <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">
2081                        <circle cx="11" cy="11" r="8"/>
2082                        <path d="M21 21l-4.35-4.35"/>
2083                    </svg>
2084                </button>
2085                
2086                <!-- Barre de recherche -->
2087<div class="koba-search-bar" id="koba-search-bar">
2088    <div class="koba-search-bar-inner">
2089        <form role="search" method="get" action="https://www.oye-plage.fr/" class="koba-search-form">
2090            <label for="koba-search-input" class="visually-hidden">Rechercher sur le site</label>
2091            <input type="search" name="s" placeholder="Rechercher" class="koba-search-input" id="koba-search-input" value="" autocomplete="off">
2092            <button type="submit" class="koba-search-submit" aria-label="Lancer la recherche">
2093                <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
2094                    <circle cx="11" cy="11" r="8"/>
2095                    <path d="M21 21l-4.35-4.35"/>
2096                </svg>
2097            </button>
2098        </form>
2099        <button class="koba-search-close" id="koba-search-close" aria-label="Fermer la recherche">
2100            <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
2101                <path d="M18 6L6 18M6 6l12 12"/>
2102            </svg>
2103        </button>
2104    </div>
2105</div>
2106            </div>
2107        </div>
2108    </div>
2109    
2110    <!-- Menu mobile -->
2111    <div class="koba-mobile-menu" id="koba-mobile-menu">
2112        <div class="koba-mobile-menu-inner">
2113            <!-- Recherche mobile -->
2114            <div class="koba-mobile-search">
2115                <form role="search" method="get" action="https://www.oye-plage.fr/" class="koba-mobile-search-form">
2116                    <label for="koba-mobile-search-input" class="visually-hidden">Rechercher sur le site</label>
2117                    <input type="search" name="s" id="koba-mobile-search-input" placeholder="Rechercher..." class="koba-mobile-search-input" value="">
2118                    <button type="submit" class="koba-mobile-search-submit" aria-label="Lancer la recherche">
2119                        <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" aria-hidden="true" focusable="false">
2120                            <circle cx="11" cy="11" r="8"/>
2121                            <path d="M21 21l-4.35-4.35"/>
2122                        </svg>
2123                    </button>
2124                </form>
2125            </div>
2126            <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">Actes réglementaires</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu">
2126<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.oye-plage.fr/kiosks/?annee=&#038;mois=&#038;categorie=comptes-rendus-cm" class="koba-mobile-link">Comptes rendus des Conseils Municipaux</a></div></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/decisions/" class="koba-mobile-link">Décisions</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.oye-plage.fr/articles/decisions/" class="koba-mobile-link">Décisions</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/decisions-d-urbanisme-e647a662-44ce-42a7-96d0-de091402adf8/" class="koba-mobile-link">Décisions d&#039;urbanisme</a></div></li></ul></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/arretes-du-maire/" class="koba-mobile-link">Arrêtés du Maire</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.oye-plage.fr/articles/annee-2026/" class="koba-mobile-link">Année 2026</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/arretes-du-maire-2025/" class="koba-mobile-link">Année 2025</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/2024/" class="koba-mobile-link">Année 2024</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/arretes-du-maire/" class="koba-mobile-link">Année 2023</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/arretes-municipaux-permanents/" class="koba-mobile-link">Arrêtés Municipaux &#8211; Permanents</a></div></li></ul></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/arretes-prefectoraux/" class="koba-mobile-link">Arrêtés Préfectoraux</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/arretes-departementaux/" class="koba-mobile-link">Arrêtés Départementaux</a></div></li></ul></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">Découvrir Oye-Plage</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.oye-plage.fr/articles/l-histoire-de-la-commune-d-oye-plage/" class="koba-mobile-link">L&#039;histoire d&#039;Oye-Plage</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/le-patrimoine-de-la-commune/" class="koba-mobile-link">
2126Le patrimoine</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/oye-plage-9-kilometres-de-plage/" class="koba-mobile-link">Une plage de neuf kilomètres de sable fin</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/a-la-decouverte-du-platier-d-oye/" class="koba-mobile-link">La Réserve naturelle - Le Platier d&#039;Oye</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/randonnees/" class="koba-mobile-link">Les randonnées</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/locationd-de-vacances-a-oye-plage/" class="koba-mobile-link">Les hébergements touristiques</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/le-guide-anserien-2bab4491-1c48-4b5a-9995-4c4ca59db2fa/" class="koba-mobile-link">Le guide Ansérien</a></div></li></ul></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">Ma municipalité</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.oye-plage.fr/articles/vos-elus/" 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.oye-plage.fr/articles/delegues/" class="koba-mobile-link">Délégués auprès des organismes extérieurs</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/commission-d-appel-d-offres/" class="koba-mobile-link">Commission d&#039;appel d&#039;offres</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/commissions-municipales/" class="koba-mobile-link">Commissions Municipales</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/tribune-libre/" class="koba-mobile-link">Tribune Libre</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/le-conseil-des-anciens/" class="koba-mobile-link">Le Conseil des Anciens</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/le-conseil-municipal-des-jeunes/" class="koba-mobile-link">Le Conseil Municipal des Jeunes</a></div></li></ul></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">Oye-Plage pratique</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.oye-plage.fr/kiosks/?annee=&#038;mois=&#038;categorie=gazette-anserienne" class="koba-mobile-link">La Gazette Ansérienne</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/les-transports-755a2237-3587-494d-a4d2-aa0969cfc0d3/" class="koba-mobile-link">Les transports</a></div></li><li class="koba-mobile-item current"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/emploi/" class="koba-mobile-link">Emploi</a></div></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles" class="koba-mobile-link">Les associations</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu">
2126<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.oye-plage.fr/articles/calendrier-des-fetes-2024/" class="koba-mobile-link">Le calendrier des fêtes</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/annuaire/associations-7f258db0-7b5a-4982-a596-3991a6e3e7df" class="koba-mobile-link">Annuaire des associations</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/subvention/" class="koba-mobile-link">Dossier de demande de subvention par une association</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/organiser-une-manifestation/" class="koba-mobile-link">Organiser une manifestation</a></div></li></ul></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/location-salle/" class="koba-mobile-link">Salles des fêtes en location</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/mediatheque/" class="koba-mobile-link">La médiathèque Simone-Veil</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/ecole-de-musique/" class="koba-mobile-link">L&#039;école de musique</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/seniors/" class="koba-mobile-link">Les séniors</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/commerces/" class="koba-mobile-link">Commerces</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/permanences-services-logement-jeunes/" class="koba-mobile-link">Permanence Maison France Services</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/permanences/" class="koba-mobile-link">Autres permanences</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/urgence-et-sante/" class="koba-mobile-link">Urgences et santé</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/poubelles-dechets-ramassage/" class="koba-mobile-link">Vos déchets</a></div></li></ul></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles" class="koba-mobile-link">Enfance &amp; Jeunesse</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.oye-plage.fr/articles/ecoles-et-college/" class="koba-mobile-link">Les écoles et le collège</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/service-scolaire-7e719ab2-e76b-4a6b-ab9b-7877b2f8b319/" class="koba-mobile-link">Le service scolaire</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/accueil-de-loisirs/" class="koba-mobile-link">L&#039;accueil de loisirs et la garderie</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/caj/" class="koba-mobile-link">Le Centre d&#039;Animation des Jeunes</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/actualites/aide-financiere-aux-etudiants/" class="koba-mobile-link">Aide Financière aux Etudiants</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/toutes-les-demarches-pour-vos-enfants-avec-le-compte-famille/" class="koba-mobile-link">Accès à votre compte famille</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/le-pass-jeunesse/" class="koba-mobile-link">Le Pass Jeunesse</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/bafa-bafd-citoyen/" class="koba-mobile-link">BAFA/BAFD Citoyen</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/actualites/formation-nageur-sauveteur" class="koba-mobile-link">Formation Nageur Sauveteur</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/les-assistantes-maternelles/" class="koba-mobile-link">Les assistantes maternelles</a></div></li></ul></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="#" class="koba-mobile-link">Démarches &amp; E-service</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu">
2126<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.oye-plage.fr/articles/cimetiere/" class="koba-mobile-link">Cimetière</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/passeport/" class="koba-mobile-link">Carte Nationale d&#039;Identité et Passeport</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/services/listes-electorales/" 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.oye-plage.fr/services/demande-de-logement-social/" class="koba-mobile-link">Demande de logement social à Oye-Plage</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/services/pacs-d7be9ec7-12a2-4be3-a977-eece7bea7ec4/" class="koba-mobile-link">Se PACSer</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/services/recensement-citoyen-journee-defense-et-citoyennete/" class="koba-mobile-link">Journée Défense et Citoyenneté</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/services/systeme-de-tele-alerte/" class="koba-mobile-link">Système de Télé-Alerte</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/services/population/" class="koba-mobile-link">Communication-Emménagement/Déménagement</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/services/medaille-du-travail/" class="koba-mobile-link">Médaille du Travail</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/services/demande-d-actes/" class="koba-mobile-link">Demande d’actes</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/services/urbanisme/" class="koba-mobile-link">Urbanisme</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/services/operation-tranquillite-vacances/" class="koba-mobile-link">Opération Tranquillité Vacances</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/services/voisins-vigilants/" class="koba-mobile-link">Voisins Vigilants</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/tranquilite-chantier/" class="koba-mobile-link">Tranquillité chantier</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.service-public.fr/particuliers/vosdroits/N19805" class="koba-mobile-link">Famille</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.service-public.fr/particuliers/vosdroits/N19812" class="koba-mobile-link">Transports</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.service-public.fr/particuliers/vosdroits/N19807" class="koba-mobile-link">Justice</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.service-public.fr/particuliers/vosdroits/N19811" class="koba-mobile-link">Social - Santé</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.service-public.fr/particuliers/vosdroits/N19806" class="koba-mobile-link">Travail</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.service-public.fr/particuliers/vosdroits/N19808" class="koba-mobile-link">Logement</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.service-public.fr/particuliers/vosdroits/N19803" class="koba-mobile-link">Argent</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.service-public.fr/particuliers/vosdroits/N19804" class="koba-mobile-link">Étranger</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.service-public.fr/particuliers/vosdroits/N19809" class="koba-mobile-link">Loisirs</a></div></li></ul></li><li class="koba-mobile-item has-children"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/enquete-publique-reacteurs-2-et-4-centre-nucleaire-de-production-d-electricite-de-gravelines/" class="koba-mobile-link">Enquêtes publiques et publications légales</a><button class="koba-mobile-toggle" aria-label="Ouvrir sous-menu">
2126<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.oye-plage.fr/articles/bilan-du-schema-de-coherence-territoriale-analyse-des-resultats-de-l-application-de-2020-a-2026/" class="koba-mobile-link">Bilan du schéma de cohérence territoriale- analyse des résultats de l&#039;application de 2020 à 2026</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/consultation-du-public-projet-de-relevage-du-cable-sous-marin-sea-me-we3-situe-dans-les-eaux-territoriales-des-hauts-de-france/" class="koba-mobile-link">Consultation du public &#8211; Projet de relevage du câble sous-marin SEA-ME-WE3 situé dans les eaux territoriales des Hauts-de-France</a></div></li><li class="koba-mobile-item"><div class="koba-mobile-item-inner"><a href="https://www.oye-plage.fr/articles/permis-damenager-eden62/" class="koba-mobile-link">Permis d&rsquo;Aménager &#8211; Eden62</a></div></li></ul></li></ul></nav>            
2127            <nav class="koba-mobile-secondary">
2128              <ul class="koba-topbar-list">
2129                        <li class="menu-item menu-item-type-post_type menu-item-object-page">
2130                            <a href="https://www.oye-plage.fr/">ACCUEIL</a>
2131                        </li>
2132                        <li class="menu-item menu-item-type-post_type menu-item-object-page">
2133                            <a href="https://www.oye-plage.fr/annuaire/">ANNUAIRE</a>
2134                        </li>
2135                        <li class="menu-item menu-item-type-post_type menu-item-object-page">
2136                            <a href="https://www.oye-plage.fr/contact/">NOUS CONTACTER</a>
2137                        </li>
2138                        <li class="menu-item menu-item-type-post_type menu-item-object-page">
2139                            <a href="https://www.oye-plage.fr/emploi/">EMPLOI</a>
2140                        </li>
2141                                            </ul>   
2142            </nav>
2143        </div>
2144    </div><!-- Overlay résultats recherche -->
2145<div class="koba-search-overlay" id="koba-search-overlay"></div>
2146</header>
2147
2148<!-- Spacer pour compenser le header fixe -->
2149<div class="koba-header-spacer"></div>
2150
2151<!-- Overlay -->
2152<div class="koba-overlay" id="koba-overlay"></div>
2153 <div class="modal fade" id="exampleModal" tabindex="-1" aria-hidden="true" aria-labelledby="exampleModalTitle" role="dialog">
2154                  <div class="modal-dialog">
2155                    <div class="modal-content">
2156
2157                      <div class="modal-header">
2158                        <h5 class="modal-title" id="exampleModalTitle">SUIVEZ L'ACTU</h5>
2159                        <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Fermer"></button>
2160                      </div>
2161
2162                      <div class="modal-body">
2163                        <p>* Champs obligatoires</p>
2164                            <style>
2165    .koba-form-inscription {
2166        background: #fff;
2167        padding: 30px;
2168        border-radius: 12px;
2169        box-shadow: 0 4px 20px rgba(0,0,0,0.08);
2170        max-width: 700px;
2171        margin: 0 auto;
2172    }
2173    .koba-form-inscription h3 {
2174        margin: 0 0 25px;
2175        padding-bottom: 15px;
2176        border-bottom: 3px solid var(--koba-primary, #209bbc);
2177        color: #1a1a2e;
2178        font-size: 1.5em;
2179    }
2180    .koba-form-section {
2181        margin-bottom: 25px;
2182        padding-bottom: 20px;
2183        border-bottom: 1px solid #eee;
2184    }
2185    .koba-form-section:last-of-type {
2186        border-bottom: none;
2187        margin-bottom: 15px;
2188    }
2189    .koba-form-section-title {
2190        font-weight: 600;
2191        color: var(--koba-primary, #209bbc);
2192        margin-bottom: 15px;
2193        font-size: 14px;
2194        text-transform: uppercase;
2195        letter-spacing: 0.5px;
2196    }
2197    .koba-form-row {
2198        display: flex;
2199        gap: 15px;
2200        margin-bottom: 15px;
2201    }
2202    .koba-form-field {
2203        flex: 1;
2204    }
2205    .koba-form-field.full {
2206        flex: 0 0 100%;
2207    }
2208    .koba-form-field label {
2209        display: block;
2210        font-weight: 500;
2211        margin-bottom: 6px;
2212        color: #333;
2213        font-size: 14px;
2214    }
2215    .koba-form-field label .req {
2216        color: #d63638;
2217    }
2218    .koba-form-field input,
2219    .koba-form-field select,
2220    .koba-form-field textarea {
2221        width: 100%;
2222        padding: 12px 15px;
2223        border: 1px solid #ddd;
2224        border-radius: 6px;
2225        font-size: 14px;
2226        transition: border-color 0.2s, box-shadow 0.2s;
2227        box-sizing: border-box;
2228    }
2229    .koba-form-field input:focus,
2230    .koba-form-field select:focus,
2231    .koba-form-field textarea:focus {
2232        outline: none;
2233        border-color: var(--koba-primary, #209bbc);
2234        box-shadow: 0 0 0 3px rgba(32, 155, 188, 0.1);
2235    }
2236    .koba-form-field textarea {
2237        min-height: 80px;
2238        resize: vertical;
2239    }
2240    .koba-form-checkbox {
2241        display: flex;
2242        align-items: flex-start;
2243        gap: 10px;
2244        padding: 12px 15px;
2245        background: #f8f9fa;
2246        border-radius: 6px;
2247        margin-bottom: 10px;
2248        cursor: pointer;
2249        transition: background 0.2s;
2250    }
2251    .koba-form-checkbox:hover {
2252        background: #e9ecef;
2253    }
2254    .koba-form-checkbox input[type="checkbox"] {
2255        width: 20px;
2256        height: 20px;
2257        margin-top: 2px;
2258        cursor: pointer;
2259        accent-color: var(--koba-primary, #209bbc);
2260    }
2261    .koba-form-checkbox span {
2262        font-size: 14px;
2263        color: #333;
2264        line-height: 1.5;
2265    }
2266    .koba-form-submit {
2267        text-align: center;
2268        margin-top: 25px;
2269    }
2270    .koba-form-submit button {
2271        background: var(--koba-primary, #209bbc);
2272        color: #fff;
2273        border: none;
2274        padding: 15px 50px;
2275        font-size: 16px;
2276        font-weight: 600;
2277        border-radius: 8px;
2278        cursor: pointer;
2279        transition: all 0.3s;
2280        text-transform: uppercase;
2281        letter-spacing: 0.5px;
2282    }
2283    .koba-form-submit button:hover {
2284        background: var(--koba-secondary, #faaf00);
2285        transform: translateY(-2px);
2286        box-shadow: 0 4px 15px rgba(0,0,0,0.15);
2287    }
2288    .koba-form-submit button:disabled {
2289        background: #ccc;
2290        cursor: not-allowed;
2291        transform: none;
2292        box-shadow: none;
2293    }
2294    .koba-form-message {
2295        padding: 15px 20px;
2296        border-radius: 8px;
2297        margin-bottom: 20px;
2298        display: none;
2299    }
2300    .koba-form-message.success {
2301        background: #d4edda;
2302        color: #155724;
2303        border: 1px solid #c3e6cb;
2304        display: block;
2305    }
2306    .koba-form-message.error {
2307        background: #f8d7da;
2308        color: #721c24;
2309        border: 1px solid #f5c6cb;
2310        display: block;
2311    }
2312    .koba-form-loading {
2313        display: none;
2314        text-align: center;
2315        padding: 40px;
2316    }
2317    .koba-form-loading.active {
2318        display: block;
2319    }
2320    .koba-spinner {
2321        width: 40px;
2322        height: 40px;
2323        border: 4px solid #f3f3f3;
2324        border-top: 4px solid var(--koba-primary, #209bbc);
2325        border-radius: 50%;
2326        animation: koba-spin 1s linear infinite;
2327        margin: 0 auto 15px;
2328    }
2329    @keyframes koba-spin {
2330        0% { transform: rotate(0deg); }
2331        100% { transform: rotate(360deg); }
2332    }
2333    .koba-form-success {
2334        display: none;
2335        text-align: center;
2336        padding: 40px 20px;
2337    }
2338    .koba-form-success.active {
2339        display: block;
2340    }
2341    .koba-form-success .success-icon {
2342        width: 80px;
2343        height: 80px;
2344        background: #d4edda;
2345        border-radius: 50%;
2346        display: flex;
2347        align-items: center;
2348        justify-content: center;
2349        margin: 0 auto 20px;
2350    }
2351    .koba-form-success .success-icon svg {
2352        width: 40px;
2353        height: 40px;
2354        color: #28a745;
2355    }
2356    .koba-form-success h4 {
2357        color: #28a745;
2358        margin: 0 0 10px;
2359        font-size: 1.5em;
2360    }
2361    .koba-form-success p {
2362        color: #666;
2363        margin: 0;
2364    }
2365    .koba-recaptcha-badge {
2366        font-size: 11px;
2367        color: #999;
2368        text-align: center;
2369        margin-top: 15px;
2370    }
2371    .koba-recaptcha-badge a {
2372        color: #999;
2373    }
2374    /* Masquer le badge reCAPTCHA flottant de Google */
2375    .grecaptcha-badge {
2376        visibility: hidden !important;
2377    }
2378    @media (max-width: 600px) {
2379        .koba-form-inscription {
2380            padding: 20px;
2381        }
2382        .koba-form-row {
2383            flex-direction: column;
2384            gap: 0;
2385        }
2386        .koba-form-field {
2387            margin-bottom: 15px;
2388        }
2389    }
2390
2391    /* RGAA 11.10 / 11.11 - etat d'erreur (visible uniquement si erreur) */
2392    .koba-form-inscription .koba-field-error {
2393        display: none;
2394        color: #b3261e;
2395        font-size: 13px;
2396        line-height: 1.4;
2397        margin-top: 6px;
2398    }
2399    .koba-form-inscription .koba-field-error.show {
2400        display: block;
2401    }
2402    .koba-form-inscription [aria-invalid="true"] {
2403        border-color: #b3261e !important;
2404        box-shadow: 0 0 0 1px #b3261e;
2405    }
2406    </style>
vendor: 130 bytes, lines 2406-2408
2406
2407    
2408        <script type="text/plain" data-hob-service="recaptcha" data-hob-src="https://www.google.com/recaptcha/api.js?render=
24086Lc6WU8sAAAAAEzRr3GP0Ep3U4f6-uBl-eA9-F_W
vendor: 25 bytes, lines 2408-2410
2408"></script>
2409        
2410    
2410<div class="koba-form-inscription" id="koba-inscription-form">
2411        <div class="koba-form-message" id="koba-form-message" role="status" aria-live="polite" aria-atomic="true"></div>
2412        
2413        <div class="koba-form-loading" id="koba-form-loading">
2414            <div class="koba-spinner"></div>
2415            <p>Envoi en cours...</p>
2416        </div>
2417        
2418        <div class="koba-form-success" id="koba-form-success" role="status" aria-live="polite" tabindex="-1">
2419            <div class="success-icon">
2420                <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
2421                    <polyline points="20 6 9 17 4 12"></polyline>
2422                </svg>
2423            </div>
2424            <h4>Inscription réussie !</h4>
2425            <p id="koba-success-text">Merci pour votre inscription.</p>
2426        </div>
2427        
2428        <form id="koba-citizen-form" style="display:block;">
2429            <input type="hidden" id="koba_inscription_nonce" name="koba_inscription_nonce" value="218059e309" /><input type="hidden" name="_wp_http_referer" value="/emploi/" />            <input type="hidden" name="recaptcha_token" id="recaptcha_token" value="">
2430            
2431            <!-- IDENTITÉ -->
2432            <div class="koba-form-section">
2433                <div class="koba-form-section-title">Identité</div>
2434                
2435                <div class="koba-form-row">
2436                    <div class="koba-form-field">
2437                        <label for="koba-ins-gender">Civilité</label>
2438                        <select id="koba-ins-gender" name="gender">
2439                            <option value="0">Monsieur</option>
2440                            <option value="1">Madame</option>
2441                        </select>
2442                    </div>
2443                    <div class="koba-form-field">
2444                        <label for="koba-ins-birthdate">Date de naissance</label>
2445                        <input type="date" id="koba-ins-birthdate" name="birthdate">
2446                    </div>
2447                </div>
2448
2449                <div class="koba-form-row">
2450                    <div class="koba-form-field">
2451                        <label for="koba-ins-lastname">Nom</label>
2452                        <input type="text" id="koba-ins-lastname" name="lastname" autocomplete="family-name" placeholder="Votre nom">
2453                    </div>
2454                    <div class="koba-form-field">
2455                        <label for="koba-ins-firstname">Prénom</label>
2456                        <input type="text" id="koba-ins-firstname" name="firstname" autocomplete="given-name" placeholder="Votre prénom">
2457                    </div>
2458                </div>
2459            </div>
2460            
2461            <!-- ADRESSE -->
2462            <div class="koba-form-section">
2463                <div class="koba-form-section-title">Adresse</div>
2464                
2465                <div class="koba-form-row">
2466                    <div class="koba-form-field full">
2467                        <label for="koba-ins-address">Adresse</label>
2468                        <textarea id="koba-ins-address" name="address" rows="2" autocomplete="street-address" placeholder="Numéro et nom de rue"></textarea>
2469                    </div>
2470                </div>
2471
2472                <div class="koba-form-row">
2473                    <div class="koba-form-field">
2474                        <label for="koba-ins-zipcode">Code postal</label>
2475                        <input type="text" id="koba-ins-zipcode" name="zipcode" autocomplete="postal-code" placeholder="38000">
2476                    </div>
2477                    <div class="koba-form-field">
2478                        <label for="koba-ins-city">Ville</label>
2479                        <input type="text" id="koba-ins-city" name="city" autocomplete="address-level2" placeholder="Votre ville">
2480                    </div>
2481                    <div class="koba-form-field">
2482                        <label for="koba-ins-country">Pays</label>
2483                        <input type="text" id="koba-ins-country" name="country" autocomplete="country-name" placeholder="France" value="France">
2484                    </div>
2485                </div>
2486            </div>
2487            
2488            <!-- CONTACT -->
2489            <div class="koba-form-section">
2490                <div class="koba-form-section-title">Contact</div>
2491                
2492                <div class="koba-form-row">
2493                    <div class="koba-form-field">
2494                        <label for="koba-ins-phone">Téléphone</label>
2495                        <input type="tel" id="koba-ins-phone" name="phone" autocomplete="tel" placeholder="06 00 00 00 00">
2496                    </div>
2497                    <div class="koba-form-field">
2498                        <label for="koba-ins-fax">Fax</label>
2499                        <input type="tel" id="koba-ins-fax" name="fax" placeholder="04 00 00 00 00">
2500                    </div>
2501                </div>
2502
2503                <div class="koba-form-row">
2504                    <div class="koba-form-field full">
2505                        <label for="koba-ins-email">Email <span class="req">*</span></label>
2506                        <input type="email" id="koba-ins-email" name="email" autocomplete="email" placeholder="[email protected]" required aria-required="true" aria-describedby="koba-ins-email-error">
2507                        <span class="koba-field-error" id="koba-ins-email-error"></span>
2508                    </div>
2509                </div>
2510            </div>
2511            
2512            <!-- PRÉFÉRENCES -->
2513            <div class="koba-form-section">
2514                <div class="koba-form-section-title">Préférences de communication</div>
2515                
2516                <label class="koba-form-checkbox">
2517                    <input type="checkbox" name="sms_newsletter" value="1">
2518                    <span>Je souhaite recevoir des informations par SMS</span>
2519                </label>
2520                
2521                <label class="koba-form-checkbox">
2522                    <input type="checkbox" name="email_newsletter" value="1" checked>
2523                    <span>Je souhaite recevoir la newsletter par email</span>
2524                </label>
2525                            </div>
2526            
2527            <div class="koba-form-submit">
2528                <button type="submit" id="koba-submit-btn">S&#039;inscrire</button>
2529            </div>
2530            
2531                        <div class="koba-recaptcha-badge">
2532                Ce site est protégé par reCAPTCHA. 
2533                <a href="https://policies.google.com/privacy" target="_blank">Politique de confidentialité</a> et 
2534                <a href="https://policies.google.com/terms" target="_blank">Conditions d'utilisation</a> de Google.
2535            </div>
2536                    </form>
2537    </div>
2538    
2539    
2539<script>
2540    (function() {
2541        var form = document.getElementById('koba-citizen-form');
2542        var message = document.getElementById('koba-form-message');
2543        var loading = document.getElementById('koba-form-loading');
2544        var success = document.getElementById('koba-form-success');
2545        var submitBtn = document.getElementById('koba-submit-btn');
2546        var recaptchaActive = true;
2547        var siteKey = '6Lc6WU8sAAAAAEzRr3GP0Ep3U4f6-uBl-eA9-F_W';
2548        
2549        if (!form) return;
2550
2551        // --- RGAA 11.10 / 11.11 : validation accessible ---
2552        function clearInsError(fieldId, errorId) {
2553            var f = document.getElementById(fieldId);
2554            var er = document.getElementById(errorId);
2555            if (er) { er.textContent = ''; er.classList.remove('show'); }
2556            if (f) { f.removeAttribute('aria-invalid'); }
2557        }
2558        ['koba-ins-email','koba-ins-rgpd'].forEach(function(id){
2559            var el = document.getElementById(id);
2560            if (el) {
2561                el.addEventListener('input', function(){ clearInsError(id, id + '-error'); });
2562                el.addEventListener('change', function(){ clearInsError(id, id + '-error'); });
2563            }
2564        });
2565
2566        form.addEventListener('submit', function(e) {
2567            e.preventDefault();
2568
2569            // Reset
2570            message.className = 'koba-form-message';
2571            message.style.display = 'none';
2572            clearInsError('koba-ins-email', 'koba-ins-email-error');
2573            clearInsError('koba-ins-rgpd', 'koba-ins-rgpd-error');
2574
2575            // Validation accessible (messages par champ + suggestions)
2576            var firstInvalid = null;
2577            function fail(focusEl, errorId, msg) {
2578                var er = document.getElementById(errorId);
2579                if (er) { er.textContent = msg; er.classList.add('show'); }
2580                if (focusEl) { focusEl.setAttribute('aria-invalid', 'true'); if (!firstInvalid) firstInvalid = focusEl; }
2581            }
2582
2583            var emailEl = document.getElementById('koba-ins-email');
2584            if (!emailEl.value.trim()) {
2585                fail(emailEl, 'koba-ins-email-error', 'Veuillez saisir votre adresse e-mail.');
2586            } else if (!emailEl.checkValidity()) {
2587                fail(emailEl, 'koba-ins-email-error', "L'adresse e-mail n'est pas valide. Exemple attendu : [email protected]");
2588            }
2589
2590            var rgpdEl = document.getElementById('koba-ins-rgpd');
2591            if (rgpdEl && rgpdEl.required && !rgpdEl.checked) {
2592                fail(rgpdEl, 'koba-ins-rgpd-error', 'Vous devez accepter de recevoir la newsletter pour valider votre inscription.');
2593            }
2594
2595            if (firstInvalid) {
2596                message.className = 'koba-form-message error';
2597                message.textContent = 'Le formulaire contient des erreurs. Veuillez corriger les champs signales.';
2598                message.style.display = 'block';
2599                firstInvalid.focus();
2600                return;
2601            }
2602
2603            // Disable button
2604            submitBtn.disabled = true;
2605            submitBtn.textContent = 'Vérification...';
2606            
2607            // reCAPTCHA v3
2608            if (recaptchaActive && siteKey && typeof grecaptcha !== 'undefined') {
2609                grecaptcha.ready(function() {
2610                    grecaptcha.execute(siteKey, {action: 'inscription'}).then(function(token) {
2611                        document.getElementById('recaptcha_token').value = token;
2612                        submitForm();
2613                    }).catch(function(error) {
2614                        console.error('reCAPTCHA error:', error);
2615                        submitForm(); // Soumettre quand même si erreur reCAPTCHA
2616                    });
2617                });
2618            } else {
2619                submitForm();
2620            }
2621        });
2622        
2623        function submitForm() {
2624            // Show loading
2625            form.style.display = 'none';
2626            loading.className = 'koba-form-loading active';
2627            
2628            // Prepare data
2629            var formData = new FormData(form);
2630            formData.append('action', 'koba_inscription_submit');
2631            
2632            // Send
2633            fetch('https://www.oye-plage.fr/wp-admin/admin-ajax.php', {
2634                method: 'POST',
2635                body: formData
2636            })
2637            .then(function(response) { return response.json(); })
2638            .then(function(data) {
2639                loading.className = 'koba-form-loading';
2640                
2641                if (data.success) {
2642                    success.className = 'koba-form-success active';
2643                    if (data.data && data.data.message) {
2644                        document.getElementById('koba-success-text').textContent = data.data.message;
2645                    }
2646                    try { success.focus(); } catch(e) {}
2647                } else {
2648                    form.style.display = 'block';
2649                    submitBtn.disabled = false;
2650                    submitBtn.textContent = 'S\'inscrire';
2651                    message.className = 'koba-form-message error';
2652                    message.textContent = data.data || 'Une erreur est survenue.';
2653                    message.style.display = 'block';
2654                }
2655            })
2656            .catch(function(error) {
2657                loading.className = 'koba-form-loading';
2658                form.style.display = 'block';
2659                submitBtn.disabled = false;
2660                submitBtn.textContent = 'S\'inscrire';
2661                message.className = 'koba-form-message error';
2662                message.textContent = 'Erreur de connexion. Veuillez réessayer.';
2663                message.style.display = 'block';
2664            });
2665        }
2666    })();
2667    </script>
2667
2668                          </div>
2669
2670                      <div class="modal-footer">
2671                        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">
2672                          exit
2673                        </button>
2674                      </div>
2675
2676                    </div>
2677                  </div>
2678                </div>
2679
2680<main id="main-content" tabindex="-1">
2681
2682
2683<section class="content-all">
2684<div class="container mt-5">
2685  <div class="row">
2686    <div class="col-md-12">
2687      <nav class="breadcrumbs"><a href="https://www.oye-plage.fr/">Accueil</a> / <span>Offres d&#8217;emploi et stages</span></nav>    </div>
2688        <div class="col-md-8 order-1 order-md-2 content-all-right">
2689          <div class="page-title">
2690            <h1>
2691                    <i class="far fa-dot-circle text-warning mr-2" aria-hidden="true"></i> Offres d&#8217;emploi et stages            </h1>
2692          </div>
2693          <div id="post-content">
2694                  <style>
2695    .koba-emplois-container {
2696        max-width: 900px;
2697        margin: 0 auto;
2698    }
2699    
2700    /* Filtres */
2701    .koba-emplois-filters {
2702        display: flex;
2703        flex-wrap: wrap;
2704        gap: 10px;
2705        margin-bottom: 30px;
2706        padding: 0;
2707        border-radius: 0;
2708    }
2709    .koba-filter-btn {
2710        display: inline-flex;
2711        align-items: center;
2712        gap: 8px;
2713        padding: 4px 6px;
2714        border: 1px solid var(--koba-secondary);
2715        background: #fff;
2716        font-size: 13px;
2717        font-weight: 600;
2718        color: var(--koba-secondary);
2719        cursor: pointer;
2720        transition: all 0.2s ease;
2721        text-transform: uppercase;
2722        letter-spacing: 0.3px;
2723    }
2724    .koba-filter-btn:hover {
2725        border-color: #999;
2726        transform: translateY(-2px);
2727    }
2728    .koba-filter-btn.active {
2729    }   
2730    .koba-filter-btn .count {
2731        display: inline-flex;
2732        align-items: center;
2733        justify-content: center;
2734        min-width: 22px;
2735        height: 22px;
2736        padding: 0 6px;
2737        background: rgba(0,0,0,0.1);
2738        border-radius: 11px;
2739        font-size: 11px;
2740        font-weight: 700;
2741    }
2742    .koba-filter-btn.active .count {
2743        background: rgba(255,255,255,0.3);
2744    }
2745    
2746    /* Message vide */
2747    .koba-emplois-empty {
2748        text-align: center;
2749        padding: 60px 20px;
2750        background: #f8f9fa;
2751        border-radius: 12px;
2752    }
2753    .koba-empty-icon {
2754        font-size: 48px;
2755        margin-bottom: 15px;
2756    }
2757    .koba-emplois-empty h3 {
2758        margin: 0 0 10px;
2759        color: #333;
2760    }
2761    .koba-emplois-empty p {
2762        color: #666;
2763        margin: 0;
2764    }
2765    .koba-no-results {
2766        text-align: center;
2767        padding: 40px 20px;
2768        color: #666;
2769        display: none;
2770    }
2771    
2772    /* Carte offre */
2773    .koba-emploi-item {
2774        background: #fff;
2775        border: 1px solid #e0e0e0;
2776        border-radius: 0;
2777        padding: 25px;
2778        margin-bottom: 15px;
2779        transition: all 0.3s ease;
2780    }
2781    .koba-emploi-item:hover {
2782        box-shadow: 0 5px 20px rgba(0,0,0,0.08);
2783        border-color: #ccc;
2784    }
2785    .koba-emploi-item:last-child {
2786        margin-bottom: 0;
2787    }
2788    .koba-emploi-item.hidden {
2789        display: none;
2790    }
2791    .koba-emploi-header {
2792        display: flex;
2793        justify-content: space-between;
2794        align-items: flex-start;
2795        gap: 15px;
2796        margin-bottom: 12px;
2797    }
2798    .koba-emploi-title {
2799        font-size: 14px;
2800        font-weight: 600;
2801        color: #1a1a2e;
2802        margin: 0;
2803        line-height: 1.4;
2804        flex: 1;
2805    }
2806    .koba-emploi-date {
2807        font-size: 13px;
2808        color: #888;
2809        white-space: nowrap;
2810    }
2811    .koba-emploi-badge-inline {
2812        display: inline-block;
2813        padding: 5px 14px;
2814        border-radius: 15px;
2815        font-size: 11px;
2816        font-weight: 600;
2817        text-transform: uppercase;
2818        letter-spacing: 0.3px;
2819        color: #fff;
2820        margin-bottom: 12px;
2821    }
2822    .koba-emploi-content {
2823        color: #555;
2824        line-height: 1.7;
2825        margin-bottom: 20px;
2826    }
2827    .koba-emploi-content p {
2828        margin: 0 0 10px;
2829    }
2830    .koba-emploi-content p:last-child {
2831        margin-bottom: 0;
2832    }
2833    .koba-emploi-footer {
2834        display: flex;
2835        justify-content: flex-end;
2836        gap: 12px;
2837        padding-top: 15px;
2838        border-top: 1px solid #eee;
2839        flex-wrap: wrap;
2840    }
2841    .koba-emploi-btn {
2842        display: inline-flex;
2843        align-items: center;
2844        gap: 8px;
2845        padding: 4px 14px;
2846        border-radius: 0;
2847        font-size: 13px;
2848        font-weight: 400;
2849        text-decoration: none;
2850        transition: all 0.2s;
2851        border: none;
2852        cursor: pointer;
2853    }
2854    .koba-emploi-btn-pdf {
2855        background: #fff;
2856        color: var(--koba-secondary);
2857        border: 1px solid var(--koba-secondary);
2858    }
2859    .koba-emploi-btn-pdf:hover {
2860        background: #5a6268;
2861        color: #fff;
2862    }
2863    .koba-emploi-btn-postuler {
2864        background: var(--koba-secondary);
2865        color: #fff;
2866    }
2867    .koba-emploi-btn-postuler:hover {
2868        background: var(--koba-secondary, #1a7a94);
2869        color: #fff;
2870        transform: translateY(-2px);
2871        box-shadow: 0 4px 12px rgba(32, 155, 188, 0.3);
2872    }
2873    .koba-emploi-btn svg {
2874        width: 18px;
2875        height: 18px;
2876    }
2877    .modal{
2878        z-index: 222222;
2879    }
2880    
2881    /* Modal customisation */
2882    #kobaPostulerModal .modal-header {
2883        background: var(--koba-primary, #209bbc);
2884        color: #fff;
2885        border-radius: 0;
2886    }
2887    #kobaPostulerModal .modal-header .btn-close {
2888        filter: brightness(0) invert(1);
2889    }
2890    #kobaPostulerModal .modal-title {
2891        font-weight: 600;
2892    }
2893    #kobaPostulerModal .offre-info {
2894        background: #f8f9fa;
2895        padding: 15px;
2896        border-radius: 8px;
2897        margin-bottom: 20px;
2898        border-left: 4px solid var(--koba-primary, #209bbc);
2899    }
2900    #kobaPostulerModal .offre-info h5 {
2901        margin: 0 0 5px;
2902        color: #333;
2903    }
2904    #kobaPostulerModal .offre-info .badge {
2905        font-size: 11px;
2906    }
2907    #kobaPostulerModal .form-label {
2908        font-weight: 600;
2909        color: #333;
2910    }
2911    #kobaPostulerModal .form-label .required {
2912        color: #dc3545;
2913    }
2914    #kobaPostulerModal .form-text {
2915        font-size: 12px;
2916    }
2917    #kobaPostulerModal .file-input-wrapper {
2918        position: relative;
2919    }
2920    #kobaPostulerModal .file-input-wrapper input[type="file"] {
2921        padding: 10px;
2922        border: 2px dashed #dee2e6;
2923        border-radius: 8px;
2924        background: #f8f9fa;
2925        cursor: pointer;
2926        transition: all 0.2s;
2927    }
2928    #kobaPostulerModal .file-input-wrapper input[type="file"]:hover {
2929        border-color: var(--koba-primary, #209bbc);
2930        background: #e8f4f8;
2931    }
2932    #kobaPostulerModal .btn-submit {
2933        background: var(--koba-primary, #209bbc);
2934        border-color: var(--koba-primary, #209bbc);
2935        padding: 12px 30px;
2936        font-weight: 600;
2937    }
2938    #kobaPostulerModal .btn-submit:hover {
2939        background: var(--koba-secondary, #1a7a94);
2940        border-color: var(--koba-secondary, #1a7a94);
2941    }
2942    #kobaPostulerModal .spinner-border {
2943        width: 20px;
2944        height: 20px;
2945        margin-right: 8px;
2946    }
2947    #kobaPostulerModal .alert {
2948        margin-bottom: 20px;
2949    }
2950    
2951    /* Responsive */
2952    @media (max-width: 768px) {
2953        .koba-emplois-filters {
2954            gap: 8px;
2955            padding: 15px;
2956        }
2957        .koba-filter-btn {
2958            padding: 8px 14px;
2959            font-size: 11px;
2960        }
2961        .koba-emploi-header {
2962            flex-direction: column;
2963            gap: 8px;
2964        }
2965        .koba-emploi-footer {
2966            flex-direction: column;
2967        }
2968        .koba-emploi-btn {
2969            justify-content: center;
2970            width: 100%;
2971        }
2972    }
2973    </style>
2974    
2975    <div class="koba-emplois-container">
2976        <!-- Boutons de filtre -->
2977        <div class="koba-emplois-filters">
2978            <button type="button" class="koba-filter-btn active" data-filter="all">
2979                Toutes
2980            </button>
2981                        <button type="button" class="koba-filter-btn" data-filter="2" data-color="#27ae60">
2982                CDI                
2983            </button>
2984                    </div>
2985        
2986                
2987        <!-- Liste des offres -->
2988        <div class="koba-emplois-list">
2989                        <article class="koba-emploi-item" data-type="2">
2990                <div class="koba-emploi-header">
2991                    <h3 class="koba-emploi-title">Plombier Chauffagiste Expérimenté (H/F)</h3>
2992                    <span class="koba-emploi-date">Publie le 31/08/2026</span>
2993                </div>
2994                
2995                <span class="koba-emploi-badge-inline" style="background-color: #27ae60;">
2996                    CDI                </span>
2997                
2998                <div class="koba-emploi-content">
2999                                    </div>
3000                
3001                <div class="koba-emploi-footer">
3002                                        <a href="https://www.oye-plage.fr/wp-content/uploads/sites/60/2026/08/CAL-50269-Plombier-chauffagiste-experimente-H_F.pdf" target="_blank" rel="noopener" class="koba-emploi-btn koba-emploi-btn-pdf">
3003                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
3004                            <path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/>
3005                            <polyline points="7 10 12 15 17 10"/>
3006                            <line x1="12" y1="15" x2="12" y2="3"/>
3007                        </svg>
3008                        Télécharger le PDF                    </a>
3009                                        
3010                    <button type="button" class="koba-emploi-btn koba-emploi-btn-postuler" 
3011                            data-bs-toggle="modal" 
3012                            data-bs-target="#kobaPostulerModal"
3013                            data-emploi-id="6683"
3014                            data-emploi-title="Plombier Chauffagiste Expérimenté (H/F)"
3015                            data-emploi-type="CDI"
3016                            data-emploi-color="#27ae60">
3017                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
3018                            <path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/>
3019                            <circle cx="8.5" cy="7" r="4"/>
3020                            <line x1="20" y1="8" x2="20" y2="14"/>
3021                            <line x1="23" y1="11" x2="17" y2="11"/>
3022                        </svg>
3023                        Postuler
3024                    </button>
3025                </div>
3026            </article>
3027                    </div>
3028        
3029        <div class="koba-no-results">
3030            <p>Aucune offre pour ce type de contrat.</p>
3031        </div>
3032        
3033                
3034        <!-- Candidature spontanee -->
3035        <div class="koba-candidature-spontanee">
3036            <h3 style="margin-bottom: 20px;color:var(--koba-secondary);font-weight: 900;text-transform: uppercase;margin-top: 30px;font-size:16px;"><i class="far fa-dot-circle text-warning mr-2"></i> Candidature spontanée</h3>            
3037            <div id="koba-spontanee-alert" class="alert d-none" role="alert"></div>
3038            
3039            <form id="koba-spontanee-form" enctype="multipart/form-data">
3040                <input type="hidden" name="emploi_id" value="0">
3041                <input type="hidden" name="action" value="koba_postuler">
3042                <input type="hidden" name="nonce" value="457f37b855">
3043                <input type="hidden" name="candidature_spontanee" value="1">
3044                                <input type="hidden" name="recaptcha_token" id="recaptcha_token_spontanee" value="">
3045                                
3046                <div class="row" style="padding: 0;">
3047                    <div class="col-md-6 mb-3">
3048                        <label for="spontanee-nom" class="form-label" style="font-weight:600;">Nom <span style="color:#dc3545;">*</span></label>
3049                        <input type="text" class="form-control" id="spontanee-nom" name="nom" required>
3050                    </div>
3051                    <div class="col-md-6 mb-3">
3052                        <label for="spontanee-prenom" class="form-label" style="font-weight:600;">Prenom <span style="color:#dc3545;">*</span></label>
3053                        <input type="text" class="form-control" id="spontanee-prenom" name="prenom" required>
3054                    </div>
3055                </div>
3056                
3057                <div class="row" style="padding: 0;">
3058                    <div class="col-md-6 mb-3">
3059                    <label for="spontanee-email" class="form-label" style="font-weight:600;">Email <span style="color:#dc3545;">*</span></label>
3060                    <input type="email" class="form-control" id="spontanee-email" name="email" required>
3061                    <div class="form-text">Vous recevrez une confirmation d'envoi a cette adresse email.</div>
3062                </div>
3063                    <div class="col-md-6 mb-3">
3064                            <label for="postuler-telephone" class="form-label" style="font-weight:600;">Telephone</label>
3065                            <input type="tel" class="form-control" id="postuler-telephone" name="telephone" placeholder="">
3066                        </div>
3067                </div>
3068                
3069                <div class="mb-3">
3070                    <label for="spontanee-cv" class="form-label" style="font-weight:600;">CV <span style="color:#dc3545;">*</span></label>
3071                    <div class="file-input-wrapper">
3072                        <input type="file" class="form-control" id="spontanee-cv" name="cv" accept=".pdf" required>
3073                    </div>
3074                    <div class="form-text">Téléchargez votre CV au format PDF. Taille maximale 5 Mo.</div>
3075                </div>
3076                
3077                <div class="mb-3">
3078                    <label for="spontanee-lm" class="form-label" style="font-weight:600;">Lettre de motivation</label>
3079                    <div class="file-input-wrapper">
3080                        <input type="file" class="form-control" id="spontanee-lm" name="lm" accept=".pdf">
3081                    </div>
3082                    <div class="form-text">Téléchargez votre lettre de motivation au format PDF. Taille maximale 5 Mo.</div>
3083                </div>
3084                
3085                <div class="mb-4">
3086                    <label for="spontanee-message" class="form-label" style="font-weight:600;">Message <span style="color:#dc3545;">*</span></label>
3087                    <textarea class="form-control" id="spontanee-message" name="message" rows="4" required placeholder="Présentez-vous et expliquez votre motivation..."></textarea>
3088                </div>
3089
3090                                
3091                                <div class="mb-3">
3092                    <small class="text-muted">
3093                        Ce site est protege par reCAPTCHA. 
3094                        <a href="https://policies.google.com/privacy" target="_blank">Politique de confidentialite</a> et 
3095                        <a href="https://policies.google.com/terms" target="_blank">Conditions d'utilisation</a> de Google.
3096                    </small>
3097                </div>
3098                                
3099                <button type="button" class="koba-emploi-btn koba-emploi-btn-postuler" id="koba-submit-spontanee" style="width:100%;justify-content:center;">
3100                    <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" style="width:18px;height:18px;">
3101                        <line x1="22" y1="2" x2="11" y2="13"/>
3102                        <polygon points="22 2 15 22 11 13 2 9 22 2"/>
3103                    </svg>
3104                    Envoyer ma candidature spontanee
3105                </button>
3106            </form>
3107        </div>
3108    </div>
3109    
3110    <!-- Modal Bootstrap -->
3111    <div class="modal fade" id="kobaPostulerModal" tabindex="-1" aria-labelledby="kobaPostulerModalLabel" aria-hidden="true">
3112        <div class="modal-dialog modal-lg">
3113            <div class="modal-content">
3114                <div class="modal-header">
3115                    <h5 class="modal-title" id="kobaPostulerModalLabel">
3116                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" style="width:24px;height:24px;margin-right:10px;vertical-align:middle;">
3117                            <path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/>
3118                            <circle cx="8.5" cy="7" r="4"/>
3119                            <line x1="20" y1="8" x2="20" y2="14"/>
3120                            <line x1="23" y1="11" x2="17" y2="11"/>
3121                        </svg>
3122                        Postuler a cette offre
3123                    </h5>
3124                    <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Fermer"></button>
3125                </div>
3126                <div class="modal-body">
3127                    <!-- Info offre -->
3128                    <div class="offre-info">
3129                        <h5 id="modal-offre-title"></h5>
3130                        <span class="badge" id="modal-offre-type"></span>
3131                    </div>
3132                    
3133                    <!-- Alertes -->
3134                    <div id="koba-form-alert" class="alert d-none" role="alert"></div>
3135                    
3136                    <!-- Formulaire -->
3137                    <form id="koba-postuler-form" enctype="multipart/form-data">
3138                        <input type="hidden" name="emploi_id" id="form-emploi-id" value="">
3139                        <input type="hidden" name="action" value="koba_postuler">
3140                        <input type="hidden" name="nonce" value="457f37b855">
3141                                                <input type="hidden" name="recaptcha_token" id="recaptcha_token" value="">
3142                                                
3143                        <div class="row" style="padding: 0;">
3144                            <div class="col-md-6 mb-3">
3145                                <label for="postuler-nom" class="form-label">Nom <span class="required">*</span></label>
3146                                <input type="text" class="form-control" id="postuler-nom" name="nom" required>
3147                            </div>
3148                            <div class="col-md-6 mb-3">
3149                                <label for="postuler-prenom" class="form-label">Prenom <span class="required">*</span></label>
3150                                <input type="text" class="form-control" id="postuler-prenom" name="prenom" required>
3151                            </div>
3152                        </div>
3153                        
3154                        <div class="row" style="padding: 0;">
3155                            <div class="col-md-6 mb-3">
3156                            <label for="postuler-email" class="form-label">Email <span class="required">*</span></label>
3157                            <input type="email" class="form-control" id="postuler-email" name="email" required>
3158                            <div class="form-text">Vous recevrez une confirmation d'envoi a cette adresse email.</div>
3159                        </div>
3160                            <div class="col-md-6 mb-3">
3161                            <label for="spontanee-telephone" class="form-label" style="font-weight:600;">Telephone</label>
3162                            <input type="tel" class="form-control" id="spontanee-telephone" name="telephone" placeholder="">
3163                        </div>
3164                        </div>
3165                        
3166                        <div class="mb-3">
3167                            <label for="postuler-cv" class="form-label">CV <span class="required">*</span></label>
3168                            <div class="file-input-wrapper">
3169                                <input type="file" class="form-control" id="postuler-cv" name="cv" accept=".pdf" required>
3170                            </div>
3171                            <div class="form-text">Téléchargez votre CV au format PDF. Taille maximale 5 Mo.</div>
3172                        </div>
3173                        
3174                        <div class="mb-3">
3175                            <label for="postuler-lm" class="form-label">Lettre de motivation</label>
3176                            <div class="file-input-wrapper">
3177                                <input type="file" class="form-control" id="postuler-lm" name="lm" accept=".pdf">
3178                            </div>
3179                            <div class="form-text">Téléchargez votre lettre de motivation au format PDF. Taille maximale 5 Mo.</div>
3180                        </div>
3181                        
3182                        <div class="mb-4">
3183                            <label for="postuler-message" class="form-label">Message <span class="required">*</span></label>
3184                            <textarea class="form-control" id="postuler-message" name="message" rows="4" required placeholder="Présentez-vous et expliquez votre motivation..."></textarea>
3185                        </div>
3186                                                
3187                                                <div class="mb-3">
3188                            <small class="text-muted">
3189                                Ce site est protege par reCAPTCHA. 
3190                                <a href="https://policies.google.com/privacy" target="_blank">Politique de confidentialite</a> et 
3191                                <a href="https://policies.google.com/terms" target="_blank">Conditions d'utilisation</a> de Google.
3192                            </small>
3193                        </div>
3194                                            </form>
3195                </div>
3196                <div class="modal-footer">
3197                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Annuler</button>
3198                    <button type="button" class="btn btn-primary btn-submit" id="koba-submit-candidature">
3199                        <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" style="width:18px;height:18px;margin-right:8px;">
3200                            <line x1="22" y1="2" x2="11" y2="13"/>
3201                            <polygon points="22 2 15 22 11 13 2 9 22 2"/>
3202                        </svg>
3203                        Envoyer ma candidature
3204                    </button>
3205                </div>
3206            </div>
3207        </div>
3208    </div>
vendor: 130 bytes, lines 3208-3210
3208
3209    
3210        <script type="text/plain" data-hob-service="recaptcha" data-hob-src="https://www.google.com/recaptcha/api.js?render=
32106Lc6WU8sAAAAAEzRr3GP0Ep3U4f6-uBl-eA9-F_W
vendor: 25 bytes, lines 3210-3212
3210"></script>
3211        
3212    
3212<script>
3213    document.addEventListener('DOMContentLoaded', function() {
3214        // Filtres
3215        var filterBtns = document.querySelectorAll('.koba-filter-btn');
3216        var emploiItems = document.querySelectorAll('.koba-emploi-item');
3217        var noResults = document.querySelector('.koba-no-results');
3218        
3219        filterBtns.forEach(function(btn) {
3220            btn.addEventListener('click', function() {
3221                var filter = this.getAttribute('data-filter');
3222                var color = this.getAttribute('data-color');
3223                
3224                filterBtns.forEach(function(b) {
3225                    b.classList.remove('active');
3226                    b.style.backgroundColor = '';
3227                    b.style.borderColor = '#e0e0e0';
3228                    b.style.color = '#555';
3229                });
3230                
3231                this.classList.add('active');
3232                if (filter === 'all') {
3233                    this.style.backgroundColor = '#333';
3234                    this.style.borderColor = '#333';
3235                } else {
3236                    this.style.backgroundColor = color;
3237                    this.style.borderColor = color;
3238                }
3239                this.style.color = '#fff';
3240                
3241                var visibleCount = 0;
3242                emploiItems.forEach(function(item) {
3243                    if (filter === 'all' || item.getAttribute('data-type') === filter) {
3244                        item.classList.remove('hidden');
3245                        visibleCount++;
3246                    } else {
3247                        item.classList.add('hidden');
3248                    }
3249                });
3250                
3251                if (noResults) {
3252                    noResults.style.display = visibleCount === 0 ? 'block' : 'none';
3253                }
3254            });
3255        });
3256        
3257        // Modal - remplir les infos de l'offre
3258        var postulerModal = document.getElementById('kobaPostulerModal');
3259        if (postulerModal) {
3260            postulerModal.addEventListener('show.bs.modal', function(event) {
3261                var button = event.relatedTarget;
3262                var emploiId = button.getAttribute('data-emploi-id');
3263                var emploiTitle = button.getAttribute('data-emploi-title');
3264                var emploiType = button.getAttribute('data-emploi-type');
3265                var emploiColor = button.getAttribute('data-emploi-color');
3266                
3267                document.getElementById('form-emploi-id').value = emploiId;
3268                document.getElementById('modal-offre-title').textContent = emploiTitle;
3269                
3270                var typeBadge = document.getElementById('modal-offre-type');
3271                typeBadge.textContent = emploiType;
3272                typeBadge.style.backgroundColor = emploiColor;
3273                
3274                // Reset form
3275                document.getElementById('koba-postuler-form').reset();
3276                document.getElementById('koba-form-alert').classList.add('d-none');
3277            });
3278        }
3279        
3280        // Soumission du formulaire
3281        var submitBtn = document.getElementById('koba-submit-candidature');
3282        if (submitBtn) {
3283            submitBtn.addEventListener('click', function() {
3284                var form = document.getElementById('koba-postuler-form');
3285                var alertBox = document.getElementById('koba-form-alert');
3286                
3287                // Validation basique
3288                if (!form.checkValidity()) {
3289                    form.reportValidity();
3290                    return;
3291                }
3292                
3293                // Verifier la taille des fichiers
3294                var cvInput = document.getElementById('postuler-cv');
3295                var lmInput = document.getElementById('postuler-lm');
3296                var maxSize = 5 * 1024 * 1024; // 5 Mo
3297                
3298                if (cvInput.files[0] && cvInput.files[0].size > maxSize) {
3299                    showAlert('Le CV ne doit pas depasser 5 Mo.', 'danger');
3300                    return;
3301                }
3302                if (lmInput.files[0] && lmInput.files[0].size > maxSize) {
3303                    showAlert('La lettre de motivation ne doit pas depasser 5 Mo.', 'danger');
3304                    return;
3305                }
3306                
3307                // Desactiver le bouton
3308                var originalText = submitBtn.innerHTML;
3309                submitBtn.disabled = true;
3310                submitBtn.innerHTML = '<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span> Envoi en cours...';
3311                
3312                // Fonction d'envoi
3313                function sendForm() {
3314                    var formData = new FormData(form);
3315                    
3316                    fetch('https://www.oye-plage.fr/wp-admin/admin-ajax.php', {
3317                        method: 'POST',
3318                        body: formData
3319                    })
3320                    .then(function(response) { return response.json(); })
3321                    .then(function(data) {
3322                        if (data.success) {
3323                            showAlert(data.data.message, 'success');
3324                            form.reset();
3325                            setTimeout(function() {
3326                                var modal = bootstrap.Modal.getInstance(postulerModal);
3327                                modal.hide();
3328                            }, 3000);
3329                        } else {
3330                            showAlert(data.data.message || 'Une erreur est survenue.', 'danger');
3331                        }
3332                    })
3333                    .catch(function(error) {
3334                        showAlert('Erreur de connexion. Veuillez réessayer.', 'danger');
3335                    })
3336                    .finally(function() {
3337                        submitBtn.disabled = false;
3338                        submitBtn.innerHTML = originalText;
3339                    });
3340                }
3341                
3342                // reCAPTCHA v3
3343                                grecaptcha.ready(function() {
3344                    grecaptcha.execute('6Lc6WU8sAAAAAEzRr3GP0Ep3U4f6-uBl-eA9-F_W', {action: 'postuler'}).then(function(token) {
3345                        document.getElementById('recaptcha_token').value = token;
3346                        sendForm();
3347                    });
3348                });
3349                            });
3350        }
3351        
3352        function showAlert(message, type) {
3353            var alertBox = document.getElementById('koba-form-alert');
3354            alertBox.className = 'alert alert-' + type;
3355            alertBox.textContent = message;
3356            alertBox.classList.remove('d-none');
3357            alertBox.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
3358        }
3359        // Candidature spontanee
3360        var submitSpontanee = document.getElementById('koba-submit-spontanee');
3361        if (submitSpontanee) {
3362            submitSpontanee.addEventListener('click', function() {
3363                var form = document.getElementById('koba-spontanee-form');
3364                var alertBox = document.getElementById('koba-spontanee-alert');
3365                
3366                if (!form.checkValidity()) {
3367                    form.reportValidity();
3368                    return;
3369                }
3370                
3371                var cvInput = document.getElementById('spontanee-cv');
3372                var lmInput = document.getElementById('spontanee-lm');
3373                var maxSize = 5 * 1024 * 1024;
3374                
3375                if (cvInput.files[0] && cvInput.files[0].size > maxSize) {
3376                    showSpontaneeAlert('Le CV ne doit pas depasser 5 Mo.', 'danger');
3377                    return;
3378                }
3379                if (lmInput.files[0] && lmInput.files[0].size > maxSize) {
3380                    showSpontaneeAlert('La lettre de motivation ne doit pas depasser 5 Mo.', 'danger');
3381                    return;
3382                }
3383                
3384                var originalText = submitSpontanee.innerHTML;
3385                submitSpontanee.disabled = true;
3386                submitSpontanee.innerHTML = '<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span> Envoi en cours...';
3387                
3388                function sendSpontaneeForm() {
3389                    var formData = new FormData(form);
3390                    
3391                    fetch('https://www.oye-plage.fr/wp-admin/admin-ajax.php', {
3392                        method: 'POST',
3393                        body: formData
3394                    })
3395                    .then(function(response) { return response.json(); })
3396                    .then(function(data) {
3397                        if (data.success) {
3398                            showSpontaneeAlert(data.data.message, 'success');
3399                            form.reset();
3400                        } else {
3401                            showSpontaneeAlert(data.data.message || 'Une erreur est survenue.', 'danger');
3402                        }
3403                    })
3404                    .catch(function(error) {
3405                        showSpontaneeAlert('Erreur de connexion. Veuillez réessayer.', 'danger');
3406                    })
3407                    .finally(function() {
3408                        submitSpontanee.disabled = false;
3409                        submitSpontanee.innerHTML = originalText;
3410                    });
3411                }
3412                
3413                                grecaptcha.ready(function() {
3414                    grecaptcha.execute('6Lc6WU8sAAAAAEzRr3GP0Ep3U4f6-uBl-eA9-F_W', {action: 'postuler'}).then(function(token) {
3415                        document.getElementById('recaptcha_token_spontanee').value = token;
3416                        sendSpontaneeForm();
3417                    });
3418                });
3419                            });
3420        }
3421        
3422        function showSpontaneeAlert(message, type) {
3423            var alertBox = document.getElementById('koba-spontanee-alert');
3424            alertBox.className = 'alert alert-' + type;
3425            alertBox.textContent = message;
3426            alertBox.classList.remove('d-none');
3427            alertBox.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
3428        }
3429    });
3430    </script>
3430
3431    
3432          </div>
3433         </div>
3434    <div class="col-md-4 order-2 order-md-1 operating">
3435            <div class="operating-info">
3436                <h2><i class="far fa-dot-circle text-warning mr-2" aria-hidden="true"></i> Accueil</h2>
3437                <p>N’hésitez pas à nous contacter !</p>
3438                <p>87 Place de l&#039;Union européenne</p>
3439                <p>62215 OYE-PLAGE</p>
3440            </div>
3441            <div class="operating-status">
3442                <div class="koba-opening-status koba-style-badge koba-status-closed"><span class="koba-status-text">Actuellement fermé</span><span class="koba-status-icon"><i class="fa-regular fa-circle-xmark" aria-hidden="true"></i></span><span class="koba-status-next">Ouvre lundi à 08:45</span></div>            </div>
3443                        <div class="operating-times">
3444                <h2><i class="far fa-dot-circle text-warning mr-2" aria-hidden="true"></i> Horaires d'ouverture</h2>
3445                <table class="koba-horaires-table"><tbody><tr><td class="koba-jour">Lundi</td><td>08:45 à 12:00, 13:45 à 17:00</td></tr><tr><td class="koba-jour">Mardi</td><td>08:45 à 12:00, 13:45 à 17:00</td></tr><tr><td class="koba-jour">Mercredi</td><td>08:45 à 12:00, 13:45 à 17:00</td></tr><tr><td class="koba-jour">Jeudi</td><td>08:45 à 12:00, 13:45 à 17:00</td></tr><tr><td class="koba-jour">Vendredi</td><td>08:45 à 12:00, 13:45 à 17:00</td></tr><tr class="koba-today"><td class="koba-jour">Samedi <span class="koba-badge-today">Aujourd'hui</span></td><td class="koba-closed">Fermé</td></tr><tr><td class="koba-jour">Dimanche</td><td class="koba-closed">Fermé</td></tr></tbody></table>            </div>
3446            <div class="operating-contact">
3447                <h2><i class="far fa-dot-circle text-warning mr-2" aria-hidden="true"></i> Contact</h2>
3448                <p><b>Téléphone</b></p>
3449                <p><a href="tel:0321464343">0321464343</a></p>
3450                <p><b>Email</b></p>
3451                <p><a href="mailto:[email protected]">[email protected]</a></p>
3452            </div>
3453    </div>
3454   </div>
3455</div> 
3456
3457 </section>
3458
3459
3460</main>
3461
3462<footer class="" role="contentinfo">
3463  <div class="container px-3 pt-3 px-md-5 pt-md-5 pb-5">
3464    <div class="row mb-3 mb-md-4">
3465
3466      <!-- LOGO -->
3467      <div class="col-4 col-md-3 mb-3 mb-md-0">
3468        <a href="https://www.oye-plage.fr/" class="d-inline-flex align-items-center text-light text-decoration-none">
3469          <img src="https://www.oye-plage.fr/wp-content/uploads/sites/60/2026/07/LogoSite-2.png" alt="MAIRIE DE OYE PLAGE - Accueil" class="footer-logo">
3470        </a>
3471      </div>
3472      <div class="col-md-8">
3473        <div class="koba-social-links"><a href="https://www.facebook.com/Ville-dOye-Plage-190177158090352/" 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><a href="https://www.instagram.com/villedoyeplage" target="_blank" rel="noopener" aria-label="Instagram"><svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z"/></svg></a><a href="https://www.youtube.com/channel/UC1_Jfy1vzYUM4oJ4U2IohHw" target="_blank" rel="noopener" aria-label="Youtube"><svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/></svg></a></div>      </div>
3474      <div class="col-12 col-md-3 mb-3">
3475        <div class="footer-address">
3476          <p></p>
3477          <p>
3478              87 Place de l&#039;Union européenne<br>
3479              62215 OYE-PLAGE<br>
3480              Tél : <a href="tel:0321464343">0321464343</a>          </p>
3481        </div>
3482      </div>
3483
3484      <div class="col-12 col-md-9">
3485        <ul id="menu-menu-principal-1" class="footer-menu"><li><a href="#">Actes réglementaires</a>
3486<ul>
3487<li><a href="https://www.oye-plage.fr/kiosks/?annee=&#038;mois=&#038;categorie=comptes-rendus-cm">Comptes rendus des Conseils Municipaux</a></li>
3488<li><a href="https://www.oye-plage.fr/articles/decisions/">Décisions</a>
3489<ul>
3490<li><a href="https://www.oye-plage.fr/articles/decisions/">Décisions</a></li>
3491<li><a href="https://www.oye-plage.fr/articles/decisions-d-urbanisme-e647a662-44ce-42a7-96d0-de091402adf8/">Décisions d&#039;urbanisme</a></li>
3492</ul>
3493</li>
3494<li><a href="https://www.oye-plage.fr/articles/arretes-du-maire/">Arrêtés du Maire</a>
3495<ul>
3496<li><a href="https://www.oye-plage.fr/articles/annee-2026/">Année 2026</a></li>
3497<li><a href="https://www.oye-plage.fr/articles/arretes-du-maire-2025/">Année 2025</a></li>
3498<li><a href="https://www.oye-plage.fr/articles/2024/">Année 2024</a></li>
3499<li><a href="https://www.oye-plage.fr/articles/arretes-du-maire/">Année 2023</a></li>
3500<li><a href="https://www.oye-plage.fr/articles/arretes-municipaux-permanents/">Arrêtés Municipaux &#8211; Permanents</a></li>
3501</ul>
3502</li>
3503<li><a href="https://www.oye-plage.fr/articles/arretes-prefectoraux/">Arrêtés Préfectoraux</a></li>
3504<li><a href="https://www.oye-plage.fr/articles/arretes-departementaux/">Arrêtés Départementaux</a></li>
3505</ul>
3506</li>
3507<li><a href="#">Découvrir Oye-Plage</a>
3508<ul>
3509<li><a href="https://www.oye-plage.fr/articles/l-histoire-de-la-commune-d-oye-plage/">L&#039;histoire d&#039;Oye-Plage</a></li>
3510<li><a href="https://www.oye-plage.fr/articles/le-patrimoine-de-la-commune/">
3510Le patrimoine</a></li>
3511<li><a href="https://www.oye-plage.fr/articles/oye-plage-9-kilometres-de-plage/">Une plage de neuf kilomètres de sable fin</a></li>
3512<li><a href="https://www.oye-plage.fr/articles/a-la-decouverte-du-platier-d-oye/">La Réserve naturelle - Le Platier d&#039;Oye</a></li>
3513<li><a href="https://www.oye-plage.fr/articles/randonnees/">Les randonnées</a></li>
3514<li><a href="https://www.oye-plage.fr/articles/locationd-de-vacances-a-oye-plage/">Les hébergements touristiques</a></li>
3515<li><a href="https://www.oye-plage.fr/articles/le-guide-anserien-2bab4491-1c48-4b5a-9995-4c4ca59db2fa/">Le guide Ansérien</a></li>
3516</ul>
3517</li>
3518<li><a href="#">Ma municipalité</a>
3519<ul>
3520<li><a href="https://www.oye-plage.fr/articles/vos-elus/">Le Conseil Municipal</a></li>
3521<li><a href="https://www.oye-plage.fr/articles/delegues/">Délégués auprès des organismes extérieurs</a></li>
3522<li><a href="https://www.oye-plage.fr/articles/commission-d-appel-d-offres/">Commission d&#039;appel d&#039;offres</a></li>
3523<li><a href="https://www.oye-plage.fr/articles/commissions-municipales/">Commissions Municipales</a></li>
3524<li><a href="https://www.oye-plage.fr/articles/tribune-libre/">Tribune Libre</a></li>
3525<li><a href="https://www.oye-plage.fr/articles/le-conseil-des-anciens/">Le Conseil des Anciens</a></li>
3526<li><a href="https://www.oye-plage.fr/articles/le-conseil-municipal-des-jeunes/">Le Conseil Municipal des Jeunes</a></li>
3527</ul>
3528</li>
3529<li><a href="#">Oye-Plage pratique</a>
3530<ul>
3531<li><a href="https://www.oye-plage.fr/kiosks/?annee=&#038;mois=&#038;categorie=gazette-anserienne">La Gazette Ansérienne</a></li>
3532<li><a href="https://www.oye-plage.fr/articles/les-transports-755a2237-3587-494d-a4d2-aa0969cfc0d3/">Les transports</a></li>
3533<li><a href="https://www.oye-plage.fr/emploi/">Emploi</a></li>
3534<li><a href="https://www.oye-plage.fr/articles">Les associations</a>
3535<ul>
3536<li><a href="https://www.oye-plage.fr/articles/calendrier-des-fetes-2024/">Le calendrier des fêtes</a></li>
3537<li><a href="https://www.oye-plage.fr/annuaire/associations-7f258db0-7b5a-4982-a596-3991a6e3e7df">Annuaire des associations</a></li>
3538<li><a href="https://www.oye-plage.fr/articles/subvention/">Dossier de demande de subvention par une association</a></li>
3539<li><a href="https://www.oye-plage.fr/articles/organiser-une-manifestation/">Organiser une manifestation</a></li>
3540</ul>
3541</li>
3542<li><a href="https://www.oye-plage.fr/articles/location-salle/">Salles des fêtes en location</a></li>
3543<li><a href="https://www.oye-plage.fr/articles/mediatheque/">La médiathèque Simone-Veil</a></li>
3544<li><a href="https://www.oye-plage.fr/articles/ecole-de-musique/">L&#039;école de musique</a></li>
3545<li><a href="https://www.oye-plage.fr/articles/seniors/">Les séniors</a></li>
3546<li><a href="https://www.oye-plage.fr/articles/commerces/">Commerces</a></li>
3547<li><a href="https://www.oye-plage.fr/articles/permanences-services-logement-jeunes/">Permanence Maison France Services</a></li>
3548<li><a href="https://www.oye-plage.fr/articles/permanences/">Autres permanences</a></li>
3549<li><a href="https://www.oye-plage.fr/articles/urgence-et-sante/">Urgences et santé</a></li>
3550<li><a href="https://www.oye-plage.fr/articles/poubelles-dechets-ramassage/">Vos déchets</a></li>
3551</ul>
3552</li>
3553<li><a href="https://www.oye-plage.fr/articles">Enfance &amp; Jeunesse</a>
3554<ul>
3555<li><a href="https://www.oye-plage.fr/articles/ecoles-et-college/">Les écoles et le collège</a></li>
3556<li><a href="https://www.oye-plage.fr/articles/service-scolaire-7e719ab2-e76b-4a6b-ab9b-7877b2f8b319/">Le service scolaire</a></li>
3557<li><a href="https://www.oye-plage.fr/articles/accueil-de-loisirs/">L&#039;accueil de loisirs et la garderie</a></li>
3558<li><a href="https://www.oye-plage.fr/articles/caj/">Le Centre d&#039;Animation des Jeunes</a></li>
3559<li><a href="https://www.oye-plage.fr/actualites/aide-financiere-aux-etudiants/">Aide Financière aux Etudiants</a></li>
3560<li><a href="https://www.oye-plage.fr/articles/toutes-les-demarches-pour-vos-enfants-avec-le-compte-famille/">Accès à votre compte famille</a></li>
3561<li><a href="https://www.oye-plage.fr/articles/le-pass-jeunesse/">Le Pass Jeunesse</a></li>
3562<li><a href="https://www.oye-plage.fr/articles/bafa-bafd-citoyen/">BAFA/BAFD Citoyen</a></li>
3563<li><a href="https://www.oye-plage.fr/actualites/formation-nageur-sauveteur">Formation Nageur Sauveteur</a></li>
3564<li><a href="https://www.oye-plage.fr/articles/les-assistantes-maternelles/">Les assistantes maternelles</a></li>
3565</ul>
3566</li>
3567<li><a href="#">Démarches &amp; E-service</a>
3568<ul>
3569<li><a href="https://www.oye-plage.fr/articles/cimetiere/">Cimetière</a></li>
3570<li><a href="https://www.oye-plage.fr/articles/passeport/">Carte Nationale d&#039;Identité et Passeport</a></li>
3571<li><a href="https://www.oye-plage.fr/services/listes-electorales/">Inscription sur les listes électorales</a></li>
3572<li><a href="https://www.oye-plage.fr/services/demande-de-logement-social/">Demande de logement social à Oye-Plage</a></li>
3573<li><a href="https://www.oye-plage.fr/services/pacs-d7be9ec7-12a2-4be3-a977-eece7bea7ec4/">Se PACSer</a></li>
3574<li><a href="https://www.oye-plage.fr/services/recensement-citoyen-journee-defense-et-citoyennete/">Journée Défense et Citoyenneté</a></li>
3575<li><a href="https://www.oye-plage.fr/services/systeme-de-tele-alerte/">Système de Télé-Alerte</a></li>
3576<li><a href="https://www.oye-plage.fr/services/population/">Communication-Emménagement/Déménagement</a></li>
3577<li><a href="https://www.oye-plage.fr/services/medaille-du-travail/">Médaille du Travail</a></li>
3578<li><a href="https://www.oye-plage.fr/services/demande-d-actes/">Demande d’actes</a></li>
3579<li><a href="https://www.oye-plage.fr/services/urbanisme/">Urbanisme</a></li>
3580<li><a href="https://www.oye-plage.fr/services/operation-tranquillite-vacances/">Opération Tranquillité Vacances</a></li>
3581<li><a href="https://www.oye-plage.fr/services/voisins-vigilants/">Voisins Vigilants</a></li>
3582<li><a href="https://www.oye-plage.fr/articles/tranquilite-chantier/">Tranquillité chantier</a></li>
3583<li><a href="https://www.service-public.fr/particuliers/vosdroits/N19805">Famille</a></li>
3584<li><a href="https://www.service-public.fr/particuliers/vosdroits/N19812">Transports</a></li>
3585<li><a href="https://www.service-public.fr/particuliers/vosdroits/N19807">Justice</a></li>
3586<li><a href="https://www.service-public.fr/particuliers/vosdroits/N19811">Social - Santé</a></li>
3587<li><a href="https://www.service-public.fr/particuliers/vosdroits/N19806">Travail</a></li>
3588<li><a href="https://www.service-public.fr/particuliers/vosdroits/N19808">Logement</a></li>
3589<li><a href="https://www.service-public.fr/particuliers/vosdroits/N19803">Argent</a></li>
3590<li><a href="https://www.service-public.fr/particuliers/vosdroits/N19804">Étranger</a></li>
3591<li><a href="https://www.service-public.fr/particuliers/vosdroits/N19809">Loisirs</a></li>
3592</ul>
3593</li>
3594<li><a href="https://www.oye-plage.fr/articles/enquete-publique-reacteurs-2-et-4-centre-nucleaire-de-production-d-electricite-de-gravelines/">Enquêtes publiques et publications légales</a>
3595<ul>
3596<li><a href="https://www.oye-plage.fr/articles/bilan-du-schema-de-coherence-territoriale-analyse-des-resultats-de-l-application-de-2020-a-2026/">Bilan du schéma de cohérence territoriale- analyse des résultats de l&#039;application de 2020 à 2026</a></li>
3597<li><a href="https://www.oye-plage.fr/articles/consultation-du-public-projet-de-relevage-du-cable-sous-marin-sea-me-we3-situe-dans-les-eaux-territoriales-des-hauts-de-france/">Consultation du public &#8211; Projet de relevage du câble sous-marin SEA-ME-WE3 situé dans les eaux territoriales des Hauts-de-France</a></li>
3598<li><a href="https://www.oye-plage.fr/articles/permis-damenager-eden62/">Permis d&rsquo;Aménager &#8211; Eden62</a></li>
3599</ul>
3600</li>
3601</ul>      </div>
3602    </div>
3603  </div>
3604</footer>
3605<div class="footer-bottom">
3606    <div class="container-fluid">
3607      <div class="row">
3608        <div class="col-12 col-md-6 mb-3 mb-md-0 footer-bottom-left">
3609              <ul class="koba-menu-list">
3610                                                  <li class="">
3611                      <a href="https://www.oye-plage.fr/mentions-legales/">Mentions légales</a>
3612                  </li>
3613                  <li class="">
3614                      <a href="https://www.oye-plage.fr/accessibilite/">Accessibilité</a>
3615                  </li>
3616                  <li class="">
3617                      <a href="https://www.oye-plage.fr/plan-du-site/">Plan du site</a>
3618                  </li>
3619                  <li class="">
3620                      <a href="https://www.oye-plage.fr/contact/">NOUS CONTACTER</a>
3621                  </li>
3622                  <li class="">
3623                      <span>© 2026 </span>
3624                  </li>
3625              </ul>   
3626        </div>
3627        <div class="col-12 col-md-6 mb-3 mb-md-0 justify-content-end footer-bottom-right">
3628          <div class="text-white" bis_skin_checked="1">
3629            <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>
3630          </div>
3631        </div>
3632      </div>
3633    </div>
3634</div>
3635    
3635<script>
3636    if ('serviceWorker' in navigator) {
3637        navigator.serviceWorker.register('https://www.oye-plage.fr/koba-sw.js', { scope: '/' })
3638            .catch(function(err) { console.log('SW error:', err); });
3639    }
3640    if (window.matchMedia('(display-mode: standalone)').matches || window.navigator.standalone === true) {
3641        document.cookie = 'koba_pwa=1; path=/; max-age=2592000; SameSite=Lax';
3642    }
3643    </script>
3643
3644    
3644<script type="speculationrules">
3645{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/sites/60/*","/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"}]}
3646</script>
3646
3647    
3647<script>
3648    (function() {
3649        var searchInput = document.getElementById('koba-search-input');
3650        var searchOverlay = document.getElementById('koba-search-overlay');
3651        var searchClose = document.getElementById('koba-search-close');
3652        var searchTimeout = null;
3653        var ajaxurl = 'https://www.oye-plage.fr/wp-admin/admin-ajax.php';
3654        
3655        if (!searchInput || !searchOverlay) return;
3656        
3657        // Saisie dans le champ
3658        searchInput.addEventListener('input', function() {
3659            var query = this.value.trim();
3660            
3661            if (searchTimeout) clearTimeout(searchTimeout);
3662            
3663            // Masquer si vide
3664            if (query.length < 1) {
3665                searchOverlay.classList.remove('active');
3666                searchOverlay.innerHTML = '';
3667                return;
3668            }
3669            
3670            // Afficher overlay avec loading
3671            searchOverlay.classList.add('active');
3672            searchOverlay.innerHTML = '<div class="koba-search-overlay-inner">' +
3673                '<div class="koba-search-loading">' +
3674                '<div class="koba-search-spinner"></div>' +
3675                '<p>Recherche...</p></div></div>';
3676            
3677            // Recherche après court délai
3678            searchTimeout = setTimeout(function() {
3679                performSearch(query);
3680            }, 250);
3681        });
3682        
3683        // Fermer l'overlay
3684        if (searchClose) {
3685            searchClose.addEventListener('click', function() {
3686                searchOverlay.classList.remove('active');
3687                searchOverlay.innerHTML = '';
3688            });
3689        }
3690        
3691        // Fermer avec Escape
3692        document.addEventListener('keydown', function(e) {
3693            if (e.key === 'Escape') {
3694                searchOverlay.classList.remove('active');
3695                searchOverlay.innerHTML = '';
3696            }
3697        });
3698        
3699        // Recherche AJAX
3700        function performSearch(query) {
3701            var formData = new FormData();
3702            formData.append('action', 'koba_live_search');
3703            formData.append('search', query);
3704            
3705            fetch(ajaxurl, {
3706                method: 'POST',
3707                body: formData
3708            })
3709            .then(function(r) { return r.json(); })
3710            .then(function(data) {
3711                if (data.success) {
3712                    renderResults(data.data.results, data.data.search);
3713                }
3714            })
3715            .catch(function() {
3716                searchOverlay.innerHTML = '<div class="koba-search-overlay-inner">' +
3717                    '<div class="koba-search-no-results"><p>Erreur de connexion</p></div></div>';
3718            });
3719        }
3720        
3721        // Afficher résultats
3722        function renderResults(results, searchTerm) {
3723            if (!results || results.length === 0) {
3724                searchOverlay.innerHTML = '<div class="koba-search-overlay-inner">' +
3725                    '<div class="koba-search-no-results">' +
3726                    '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5">' +
3727                    '<circle cx="11" cy="11" r="8"/><path d="M21 21l-4.35-4.35"/>' +
3728                    '</svg>' +
3729                    '<p>Aucun résultat pour "<strong>' + esc(searchTerm) + '</strong>"</p>' +
3730                    '</div></div>';
3731                return;
3732            }
3733            
3734            var html = '<div class="koba-search-overlay-inner">';
3735            
3736            results.forEach(function(cat) {
3737                html += '<div class="koba-search-category">';
3738                html += '<h3 class="koba-search-category-title">' + esc(cat.label) + '</h3>';
3739                html += '<ul class="koba-search-list">';
3740                
3741                cat.items.forEach(function(item) {
3742                    var title = highlight(item.title, searchTerm);
3743                    var date = (cat.type === 'evenement') ? '<span class="koba-search-date">- ' + item.date + '</span>' : '';
3744                    html += '<li class="koba-search-item">';
3745                    html += '<a href="' + item.url + '" class="koba-search-link">' + title + date + '</a>';
3746                    html += '</li>';
3747                });
3748                
3749                html += '</ul></div>';
3750            });
3751            
3752            html += '</div>';
3753            searchOverlay.innerHTML = html;
3754        }
3755        
3756        function highlight(text, search) {
3757            var regex = new RegExp('(' + search.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + ')', 'gi');
3758            return esc(text).replace(regex, '<mark>$1</mark>');
3759        }
3760        
3761        function esc(text) {
3762            var d = document.createElement('div');
3763            d.textContent = text;
3764            return d.innerHTML;
3765        }
3766    })();
3767    </script>
3767
3768        
3768<script>
3769    document.addEventListener('DOMContentLoaded', function() {
3770        const hamburger = document.getElementById('koba-hamburger');
3771        const mobileMenu = document.getElementById('koba-mobile-menu');
3772        const searchToggle = document.getElementById('koba-search-toggle');
3773        const searchBar = document.getElementById('koba-search-bar');
3774        const searchClose = document.getElementById('koba-search-close');
3775        const searchInput = document.getElementById('koba-search-input');
3776        const overlay = document.getElementById('koba-overlay');
3777        const navItems = document.querySelectorAll('.koba-nav-item.has-megamenu');
3778        const mobileToggles = document.querySelectorAll('.koba-mobile-toggle');
3779        
3780        function closeAllMenus() {
3781            navItems.forEach(item => item.classList.remove('active'));
3782            document.querySelectorAll('.koba-megamenu-item.active').forEach(item => {
3783                item.classList.remove('active');
3784            });
3785            overlay.classList.remove('active');
3786        }
3787        
3788        if (hamburger) {
3789            hamburger.addEventListener('click', function() {
3790                this.classList.toggle('active');
3791                mobileMenu.classList.toggle('active');
3792                document.body.style.overflow = mobileMenu.classList.contains('active') ? 'hidden' : '';
3793            });
3794        }
3795        
3796        if (searchToggle) {
3797            searchToggle.addEventListener('click', function() {
3798                closeAllMenus();
3799                searchBar.classList.add('active');
3800                searchToggle.classList.add('hidden');
3801                setTimeout(() => searchInput.focus(), 400);
3802            });
3803        }
3804        
3805        if (searchClose) {
3806            searchClose.addEventListener('click', function() {
3807                searchBar.classList.remove('active');
3808                searchToggle.classList.remove('hidden');
3809            });
3810        }
3811        
3812        navItems.forEach(item => {
3813            const link = item.querySelector('.koba-nav-link');
3814            
3815            link.addEventListener('click', function(e) {
3816                if (window.innerWidth > 992) {
3817                    e.preventDefault();
3818                    const isActive = item.classList.contains('active');
3819                    closeAllMenus();
3820                    if (!isActive) {
3821                        item.classList.add('active');
3822                        overlay.classList.add('active');
3823                    }
3824                }
3825            });
3826        });
3827        
3828        document.querySelectorAll('.koba-megamenu-item.has-submenu').forEach(item => {
3829            const link = item.querySelector('.koba-megamenu-link');
3830            
3831            link.addEventListener('click', function(e) {
3832                e.preventDefault();
3833                const parent = item.closest('.koba-megamenu-col3');
3834                parent.querySelectorAll('.koba-megamenu-item.active').forEach(other => {
3835                    if (other !== item) {
3836                        other.classList.remove('active');
3837                    }
3838                });
3839                item.classList.toggle('active');
3840            });
3841        });
3842        
3843        mobileToggles.forEach(toggle => {
3844            toggle.addEventListener('click', function() {
3845                this.classList.toggle('active');
3846                const submenu = this.closest('.koba-mobile-item').querySelector(':scope > .koba-mobile-submenu');
3847                if (submenu) {
3848                    submenu.classList.toggle('active');
3849                }
3850            });
3851        });
3852        
3853        if (overlay) {
3854            overlay.addEventListener('click', function() {
3855                closeAllMenus();
3856                searchBar.classList.remove('active');
3857                searchToggle.classList.remove('hidden');
3858            });
3859        }
3860        
3861        document.addEventListener('click', function(e) {
3862            if (window.innerWidth > 992) {
3863                const isInNav = e.target.closest('.koba-nav-item.has-megamenu');
3864                const isInMegamenu = e.target.closest('.koba-megamenu');
3865                
3866                if (!isInNav && !isInMegamenu) {
3867                    closeAllMenus();
3868                }
3869            }
3870        });
3871        
3872        document.addEventListener('keydown', function(e) {
3873            if (e.key === 'Escape') {
3874                closeAllMenus();
3875                searchBar.classList.remove('active');
3876                searchToggle.classList.remove('hidden');
3877                mobileMenu.classList.remove('active');
3878                hamburger.classList.remove('active');
3879                document.body.style.overflow = '';
3880            }
3881        });
3882        
3883        window.addEventListener('resize', function() {
3884            if (window.innerWidth > 992) {
3885                mobileMenu.classList.remove('active');
3886                hamburger.classList.remove('active');
3887                document.body.style.overflow = '';
3888            }
3889        });
3890    });
3891    </script>
3891
3892        <div id="koba-lightbox" style="display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.9);z-index:999999;cursor:pointer;justify-content:center;align-items:center;">
3893        <button id="koba-lightbox-close" style="position:absolute;top:20px;right:25px;background:none;border:none;color:#fff;font-size:40px;cursor:pointer;z-index:2;line-height:1;padding:5px 10px;" aria-label="Fermer">&times;</button>
3894        <button id="koba-lightbox-prev" style="position:absolute;left:15px;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.15);border:none;color:#fff;font-size:36px;cursor:pointer;z-index:2;padding:10px 16px;border-radius:50%;line-height:1;display:none;" aria-label="Précédent">&#8249;</button>
3895        <button id="koba-lightbox-next" style="position:absolute;right:15px;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.15);border:none;color:#fff;font-size:36px;cursor:pointer;z-index:2;padding:10px 16px;border-radius:50%;line-height:1;display:none;" aria-label="Suivant">&#8250;</button>
3896        <img id="koba-lightbox-img" src="" alt="" style="max-width:90%;max-height:90%;object-fit:contain;border-radius:4px;cursor:default;">
3897    </div>
3898    
3898<script>
3899    (function(){
3900        var lightbox = document.getElementById('koba-lightbox');
3901        var lbImg = document.getElementById('koba-lightbox-img');
3902        var btnPrev = document.getElementById('koba-lightbox-prev');
3903        var btnNext = document.getElementById('koba-lightbox-next');
3904        var images = [];
3905        var currentIndex = 0;
3906
3907        var container = document.getElementById('post-content');
3908        if (!container) return;
3909
3910        var imgs = container.querySelectorAll('img');
3911        imgs.forEach(function(img, i) {
3912    var src = img.src;
3913    var parent = img.closest('a');
3914
3915    // Si l'img est dans un <a> qui ne pointe PAS vers une image → lien externe, on skip
3916    if (parent && !/\.(jpg|jpeg|png|gif|webp|svg)(\?|$)/i.test(parent.href)) {
3917        return;
3918    }
3919
3920    if (parent && /\.(jpg|jpeg|png|gif|webp|svg)(\?|$)/i.test(parent.href)) {
3921        src = parent.href;
3922    }
3923
3924    images.push(src);
3925
3926    img.style.cursor = 'pointer';
3927    img.addEventListener('click', function(e) {
3928        e.preventDefault();
3929        e.stopPropagation();
3930        currentIndex = images.indexOf(src);
3931        openLightbox(src);
3932    });
3933
3934    if (parent) {
3935        parent.addEventListener('click', function(e) {
3936            if (e.target === img || img.contains(e.target)) {
3937                e.preventDefault();
3938            }
3939        });
3940    }
3941});
3942
3943        if (images.length === 0) return;
3944
3945        function openLightbox(src) {
3946            lbImg.src = src;
3947            lightbox.style.display = 'flex';
3948            document.body.style.overflow = 'hidden';
3949            if (images.length > 1) {
3950                btnPrev.style.display = 'block';
3951                btnNext.style.display = 'block';
3952            }
3953        }
3954
3955        function closeLightbox() {
3956            lightbox.style.display = 'none';
3957            lbImg.src = '';
3958            document.body.style.overflow = '';
3959        }
3960
3961        function navigate(dir) {
3962            currentIndex = (currentIndex + dir + images.length) % images.length;
3963            lbImg.src = images[currentIndex];
3964        }
3965
3966        lightbox.addEventListener('click', function(e) {
3967            if (e.target === lightbox) closeLightbox();
3968        });
3969        document.getElementById('koba-lightbox-close').addEventListener('click', closeLightbox);
3970
3971        btnPrev.addEventListener('click', function(e) { e.stopPropagation(); navigate(-1); });
3972        btnNext.addEventListener('click', function(e) { e.stopPropagation(); navigate(1); });
3973
3974        document.addEventListener('keydown', function(e) {
3975            if (lightbox.style.display !== 'flex') return;
3976            if (e.key === 'Escape') closeLightbox();
3977            if (e.key === 'ArrowLeft') navigate(-1);
3978            if (e.key === 'ArrowRight') navigate(1);
3979        });
3980
3981        lbImg.addEventListener('click', function(e) { e.stopPropagation(); });
3982    })();
3983    </script>
3983
3984    <div id="hob-rgpd-banner" class="hob-rgpd-banner" role="region"
3985	aria-label="Consentement aux cookies"
3986	style="background-color:#222222;color:#ffffff;bottom:0;">
3987	<div class="hob-rgpd-message">
3988		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&#039;avis en cliquant sur le bouton &#039;Cookies&#039; en bas à gauche de chaque page de notre site.			</div>
3989	<div class="hob-rgpd-buttons">
3990		<button type="button" class="hob-btn hob-accept-all" style="background-color:#00aaff;color:#ffffff;">
3991			Tout accepter		</button>
3992		<button type="button" class="hob-btn hob-reject-all" style="background-color:#00aaff;color:#ffffff;">
3993			Tout refuser		</button>
3994		<button type="button" class="hob-btn hob-manage" style="background-color:#00aaff;color:#ffffff;">
3995			Gérer mes préférences		</button>
3996	</div>
3997</div>
3998
3999<div id="hob-rgpd-popup" class="hob-rgpd-popup" role="dialog" aria-modal="true"
4000	aria-labelledby="hob-rgpd-popup-title"
4001	style="--hob-accent:#00aaff;--hob-accent-text:#ffffff;"
4002	hidden>
4003	<div class="hob-rgpd-popup-content">
4004		<button type="button" class="hob-rgpd-popup-close" aria-label="Fermer">&times;</button>
4005		<h2 id="hob-rgpd-popup-title">Gérer mes préférences</h2>
4006
4007					<div class="hob-rgpd-tabs" role="tablist">
4008									<button type="button" class="hob-rgpd-tab is-active"
4009						role="tab"
4010						aria-selected="true"
4011						data-tab="hob-rgpd-panel-1">
4012						Contenus interactifs					</button>
4013							</div>
4014
4015							<div id="hob-rgpd-panel-1"
4016					class="hob-rgpd-panel is-active"
4017					role="tabpanel">
4018																							<div class="hob-rgpd-service">
4019																	<div class="hob-rgpd-service-icon">
4020										<img src="https://www.oye-plage.fr/wp-content/plugins/hob-rgpd/assets/img/services/recaptcha.svg"
4021											alt="Google reCAPTCHA" />
4022									</div>
4023																<div class="hob-rgpd-service-info">
4024									<div class="hob-rgpd-service-title">Google reCAPTCHA</div>
4025									<div class="hob-rgpd-service-desc">Anti-spam Google reCAPTCHA.</div>
4026								</div>
4027								<div class="hob-rgpd-service-toggle">
4028									<label class="hob-rgpd-switch">
4029										<input type="checkbox" class="hob-rgpd-toggle"
4030											data-service-key="recaptcha" />
4031										<span class="hob-rgpd-slider"></span>
4032									</label>
4033								</div>
4034							</div>
4035															</div>
4036					
4037		<div class="hob-rgpd-popup-actions">
4038			<button type="button" class="hob-btn hob-accept-all" style="background-color:#00aaff;color:#ffffff;">
4039				Tout accepter			</button>
4040			<button type="button" class="hob-btn hob-reject-all" style="background-color:#00aaff;color:#ffffff;">
4041				Tout refuser			</button>
4042			<button type="button" class="hob-btn hob-save" style="background-color:#00aaff;color:#ffffff;">
4043				Enregistrer mes préférences			</button>
4044		</div>
4045
4046					<div class="hob-rgpd-credit">
4047				&copy; <a href="https://www.hob-france.com/" target="_blank" rel="noopener">HOB France Services</a>
4048			</div>
4049			</div>
4050</div>
4051
4052<button type="button" id="hob-rgpd-settings-icon" class="hob-rgpd-settings-icon"
4053	title="Cookies"
4054	aria-label="Cookies" hidden>
4055	<span class="hob-rgpd-cookie-emoji" aria-hidden="true">🍪</span>
4056	<span class="hob-rgpd-cookie-label">Cookies</span>
4057</button>
4058<script id="moment-js" src="https://www.oye-plage.fr/wp-includes/js/dist/vendor/moment.min.js?ver=2.30.1"></script>
vendor: 1 bytes, line 4058
4058
4059<script id="moment-js-after">
4060moment.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}} );
4061//# sourceURL=moment-js-after
4062</script>
vendor: 1 bytes, line 4062
4062
4063<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 4063
4063
4064<script id="fullcalendar-js" src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.10.2/fullcalendar.min.js"></script>
vendor: 1 bytes, line 4064
4064
4065<script id="fullcalendar-fr-js" src="https://cdnjs.cloudflare.com/ajax/libs/fullcalendar/3.10.2/locale/fr.js"></script>
vendor: 1 bytes, line 4065
4065
4066<script id="hcb-frontend-js-extra">
4067var hcb_front = {"ajax_url":"https://www.oye-plage.fr/wp-admin/admin-ajax.php","nonce":"070af11d55","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"};
4068//# sourceURL=hcb-frontend-js-extra
4069</script>
vendor: 1 bytes, line 4069
4069
4070<script id="hcb-frontend-js" src="https://www.oye-plage.fr/wp-content/plugins/hob-cityhall-booking/assets/js/frontend.js?ver=1.2.0"></script>
vendor: 1 bytes, line 4070
4070
4071<script id="hob-fc-form-js-extra">
4072var hobFcFormConfig = {"ajax_url":"https://www.oye-plage.fr/wp-admin/admin-ajax.php"};
4073var hobFcPublic = {"ajaxurl":"https://www.oye-plage.fr/wp-admin/admin-ajax.php","nonce":"d5ec3d1515","page_token":"150bd65dcd13f74375a950ed0d6350bd2c97d6e3f87ba90192f6011e14ba5a1d","page_ts":"497494"};
4074var 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."};
4075//# sourceURL=hob-fc-form-js-extra
4076</script>
vendor: 1 bytes, line 4076
4076
4077<script id="hob-fc-form-js" src="https://www.oye-plage.fr/wp-content/plugins/hob-formchat-pro/assets/js/form.js?ver=1.29"></script>
vendor: 1 bytes, line 4077
4077
4078<script id="hob-fc-conditional-js" src="https://www.oye-plage.fr/wp-content/plugins/hob-formchat-pro/assets/js/hob-conditional.js?ver=1.29"></script>
vendor: 1 bytes, line 4078
4078
4079<script id="hob-fc-calculator-js" src="https://www.oye-plage.fr/wp-content/plugins/hob-formchat-pro/assets/js/hob-calculator.js?ver=1.29"></script>
vendor: 1 bytes, line 4079
4079
4080<script id="hob-fc-rgaa-js" src="https://www.oye-plage.fr/wp-content/plugins/hob-formchat-pro/assets/js/hob-rgaa.js?ver=1.29"></script>
vendor: 1 bytes, line 4080
4080
4081<script id="leaflet-js" src="https://unpkg.com/[email protected]/dist/leaflet.js?ver=1.9.4"></script>
vendor: 1 bytes, line 4081
4081
4082<script id="hob-fc-map-picker-js" src="https://www.oye-plage.fr/wp-content/plugins/hob-formchat-pro/assets/js/hob-map-picker.js?ver=1.29"></script>
vendor: 1 bytes, line 4082
4082
4083<script id="hob-fc-address-js-extra">
4084var 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/"};
4085//# sourceURL=hob-fc-address-js-extra
4086</script>
vendor: 1 bytes, line 4086
4086
4087<script id="hob-fc-address-js" src="https://www.oye-plage.fr/wp-content/plugins/hob-formchat-pro/assets/js/hob-address.js?ver=1.29"></script>
vendor: 1 bytes, line 4087
4087
4088<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 4088
4088
4089<script id="hobrgpd-front-js-extra">
4090var hobRgpdConfig = {"cookieName":"hobConsentPrefs","cookieMaxAge":"2592000"};
4091//# sourceURL=hobrgpd-front-js-extra
4092</script>
vendor: 1 bytes, line 4092
4092
4093<script id="hobrgpd-front-js" src="https://www.oye-plage.fr/wp-content/plugins/hob-rgpd/assets/js/front.js?ver=1781167964"></script>
vendor: 1 bytes, line 4093
4093
4094<script id="wp-statistics-tracker-js-extra">
4095var WP_Statistics_Tracker_Object = {"requestUrl":"https://www.oye-plage.fr/wp-json/wp-statistics/v2","ajaxUrl":"https://www.oye-plage.fr/wp-admin/admin-ajax.php","hitParams":{"wp_statistics_hit":1,"source_type":"page","source_id":941,"search_query":"","signature":"5fdc8ca88428a95c2826712349616478","endpoint":"hit"},"option":{"dntEnabled":false,"bypassAdBlockers":false,"consentIntegration":{"name":null,"status":[]},"isPreview":false,"userOnline":false,"isWpConsentApiActive":false},"isLegacyEventLoaded":"","customEventAjaxUrl":"https://www.oye-plage.fr/wp-admin/admin-ajax.php?action=wp_statistics_custom_event&nonce=e828a08707","onlineParams":{"wp_statistics_hit":1,"source_type":"page","source_id":941,"search_query":"","signature":"5fdc8ca88428a95c2826712349616478","action":"wp_statistics_online_check"},"jsCheckTime":"60000"};
4096//# sourceURL=wp-statistics-tracker-js-extra
4097</script>
vendor: 1 bytes, line 4097
4097
4098<script id="wp-statistics-tracker-js" src="https://www.oye-plage.fr/wp-content/plugins/wp-statistics/assets/js/tracker.js?ver=14.16.15"></script>
vendor: 1 bytes, line 4098
4098
4099<script id="wp-emoji-settings" type="application/json">
4100{"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.oye-plage.fr/wp-includes/js/wp-emoji-release.min.js?ver=7.1.2"}}
4101</script>
vendor: 1 bytes, line 4101
4101
4102<script type="module">
4103/*! This file is auto-generated */
4104var 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)))});
4105//# sourceURL=https://www.oye-plage.fr/wp-includes/js/wp-emoji-loader.min.js
4106</script>
4106
4107    <style>
4108        #koba-pwa-banner {
4109            display: none; /* affiché par JS uniquement sur mobile */
4110            position: fixed;
4111            top: 0; left: 0; right: 0;
4112            z-index: 99999;
4113            background: #1e293b;
4114            color: #fff;
4115            padding: 12px 16px;
4116            flex-direction: column;
4117            gap: 10px;
4118            box-shadow: 0 2px 12px rgba(0,0,0,.35);
4119            font-family: inherit;
4120        }
4121        #koba-pwa-banner.koba-pwa-banner-visible {
4122            display: flex;
4123        }
4124        /* Ligne 1 : icône + texte */
4125        #koba-pwa-banner .kpb-row1 {
4126            display: flex;
4127            align-items: flex-start;
4128            gap: 12px;
4129        }
4130        #koba-pwa-banner .kpb-icon {
4131            font-size: 24px;
4132            flex-shrink: 0;
4133            line-height: 1.2;
4134        }
4135        #koba-pwa-banner .kpb-body {
4136            flex: 1;
4137            min-width: 0;
4138        }
4139        #koba-pwa-banner .kpb-title {
4140            font-weight: 700;
4141            font-size: .9rem;
4142            line-height: 1.3;
4143        }
4144        #koba-pwa-banner .kpb-desc {
4145            font-size: .8rem;
4146            opacity: .8;
4147            line-height: 1.4;
4148            margin-top: 3px;
4149        }
4150        /* Ligne 2 : bouton + fermer */
4151        #koba-pwa-banner .kpb-row2 {
4152            display: flex;
4153            align-items: center;
4154            gap: 10px;
4155        }
4156        #koba-pwa-banner .kpb-btn {
4157            background: #6401ce;
4158            color: #fff;
4159            border: none;
4160            padding: 8px 16px;
4161            border-radius: 6px;
4162            font-size: .82rem;
4163            font-weight: 600;
4164            cursor: pointer;
4165            white-space: nowrap;
4166            text-decoration: none;
4167            display: inline-block;
4168        }
4169        #koba-pwa-banner .kpb-close {
4170            background: rgba(255,255,255,.12);
4171            border: 1px solid rgba(255,255,255,.2);
4172            color: rgba(255,255,255,.75);
4173            font-size: .82rem;
4174            font-weight: 600;
4175            line-height: 1;
4176            cursor: pointer;
4177            padding: 7px 12px;
4178            border-radius: 6px;
4179            white-space: nowrap;
4180        }
4181        #koba-pwa-banner .kpb-close:hover {
4182            background: rgba(255,255,255,.2);
4183            color: #fff;
4184        }
4185        /* Décaler le contenu sous la bannière quand elle est visible */
4186        body.koba-pwa-banner-open {
4187            padding-top: 100px;
4188        }
4189    </style>
4190
4191    <div id="koba-pwa-banner" role="banner" aria-label="Installer l'application">
4192        <div class="kpb-row1">
4193            <span class="kpb-icon">📲</span>
4194            <div class="kpb-body">
4195                <div class="kpb-title">Installez notre application !</div>
4196                <div class="kpb-desc">Accédez rapidement à notre site depuis votre écran d&#039;accueil.</div>
4197            </div>
4198        </div>
4199        <div class="kpb-row2">
4200            <a href="https://www.oye-plage.fr/installapp/" class="kpb-btn">Voir comment installer</a>
4201            <button class="kpb-close" id="koba-pwa-close" aria-label="Fermer">✕ Fermer</button>
4202        </div>
4203    </div>
4204<script>
4205// Capturer beforeinstallprompt le plus tôt possible (avant tout)
4206var _kobaPwaInstallPrompt = null;
4207window.addEventListener('beforeinstallprompt', function(e) {
4208    e.preventDefault();
4209    _kobaPwaInstallPrompt = e;
4210    // Si la bannière est déjà affichée, transformer le bouton
4211    var btn = document.querySelector('#koba-pwa-banner .kpb-btn');
4212    if (btn && document.getElementById('koba-pwa-banner').classList.contains('koba-pwa-banner-visible')) {
4213        _kobaActivateInstallBtn(btn);
4214    }
4215});
4216
4217function _kobaActivateInstallBtn(btn) {
4218    if (!_kobaPwaInstallPrompt) return;
4219    btn.textContent = '📲 Installer l\'application';
4220    btn.removeAttribute('href');
4221    btn.onclick = function(e) {
4222        e.preventDefault();
4223        if (!_kobaPwaInstallPrompt) return;
4224        _kobaPwaInstallPrompt.prompt();
4225        _kobaPwaInstallPrompt.userChoice.then(function(result) {
4226            if (result.outcome === 'accepted') {
4227                _kobaHidePwaBanner();
4228            }
4229            _kobaPwaInstallPrompt = null;
4230        });
4231    };
4232}
4233
4234function _kobaHidePwaBanner() {
4235    var banner = document.getElementById('koba-pwa-banner');
4236    if (!banner) return;
4237    banner.classList.remove('koba-pwa-banner-visible');
4238    document.body.classList.remove('koba-pwa-banner-open');
4239    localStorage.setItem('koba_pwa_banner_closed', Date.now().toString());
4240}
4241
4242(function() {
4243    // Ne jamais afficher en mode PWA standalone
4244    if (window.matchMedia('(display-mode: standalone)').matches
4245        || window.navigator.standalone === true
4246        || sessionStorage.getItem('koba_pwa') === '1') {
4247        return;
4248    }
4249
4250    var STORAGE_KEY  = 'koba_pwa_banner_closed';
4251    var FREQUENCY_MS = 86400000;
4252
4253    function isMobile() {
4254        return (window.innerWidth < 1024) ||
4255               /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini|Mobile|mobile|CriOS/i.test(navigator.userAgent);
4256    }
4257
4258    if (!isMobile()) return;
4259
4260    var lastClosed = localStorage.getItem(STORAGE_KEY);
4261    if (lastClosed && (Date.now() - parseInt(lastClosed, 10)) < FREQUENCY_MS) return;
4262
4263    var ua = navigator.userAgent;
4264    var isIos        = /iPhone|iPad|iPod/i.test(ua);
4265    var isAndroid    = /Android/i.test(ua);
4266    // Sur iOS, seul Safari peut installer une PWA.
4267    // Chrome iOS (CriOS), Firefox iOS (FxiOS), Edge iOS (EdgiOS) utilisent WebKit
4268    // mais n'exposent pas la fonctionnalité d'ajout à l'écran d'accueil.
4269    var isIosNonSafari = isIos && /CriOS|FxiOS|EdgiOS|OPiOS|YaBrowser|DuckDuckGo/i.test(ua);
4270    var isIosSafari    = isIos && !isIosNonSafari;
4271
4272    function showBanner() {
4273        var banner = document.getElementById('koba-pwa-banner');
4274        if (!banner) return;
4275
4276        // Cas spécial : iOS hors Safari → bannière informative "ouvrez dans Safari"
4277        if (isIosNonSafari) {
4278            var iconEl  = banner.querySelector('.kpb-icon');
4279            var titleEl = banner.querySelector('.kpb-title');
4280            var descEl  = banner.querySelector('.kpb-desc');
4281            var btnEl   = banner.querySelector('.kpb-btn');
4282            var row2El  = banner.querySelector('.kpb-row2');
4283
4284            if (iconEl)  iconEl.textContent  = '🧭';
4285            if (titleEl) titleEl.textContent = 'Application disponible dans Safari';
4286            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.';
4287            // Le bouton "Voir comment installer" n'a aucun sens ici → on le retire,
4288            // on conserve uniquement le bouton Fermer.
4289            if (btnEl && btnEl.parentNode) {
4290                btnEl.parentNode.removeChild(btnEl);
4291            }
4292            if (row2El) {
4293                row2El.style.justifyContent = 'flex-end';
4294            }
4295        } else if (_kobaPwaInstallPrompt) {
4296            // Si le prompt natif est déjà disponible (Android/Chrome), transformer le bouton
4297            var btn = banner.querySelector('.kpb-btn');
4298            if (btn) _kobaActivateInstallBtn(btn);
4299        }
4300
4301        banner.classList.add('koba-pwa-banner-visible');
4302        document.body.classList.add('koba-pwa-banner-open');
4303
4304        var closeBtn = document.getElementById('koba-pwa-close');
4305        if (closeBtn) {
4306            closeBtn.addEventListener('click', _kobaHidePwaBanner);
4307        }
4308    }
4309
4310    if (isIosSafari && !window.navigator.standalone) {
4311        // iOS Safari : afficher immédiatement avec lien vers /installapp/
4312        document.addEventListener('DOMContentLoaded', showBanner);
4313    } else if (isIosNonSafari) {
4314        // iOS Chrome/Firefox/Edge : afficher la bannière informative "ouvrez dans Safari"
4315        document.addEventListener('DOMContentLoaded', showBanner);
4316    } else if (isAndroid || (!isIos && isMobile())) {
4317        // Android/Chrome : attendre que le prompt soit disponible
4318        document.addEventListener('DOMContentLoaded', function() {
4319            if (_kobaPwaInstallPrompt) {
4320                showBanner();
4321            } else {
4322                var t = setTimeout(function() {
4323                    if (_kobaPwaInstallPrompt) showBanner();
4324                    // sinon : déjà installé ou navigateur non supporté → rien
4325                }, 1000);
4326            }
4327        });
4328    }
4329})();
4330</script>
4330
4331   
4332        <style>
4333        #koba-desktop-alert {
4334            display: none; /* affiché par JS uniquement sur desktop */
4335            position: fixed;
4336            top: 50%;
4337            right: 0;
4338            transform: translateY(-50%);
4339            width: 300px;
4340            z-index: 99998;
4341            background: #fff;
4342            color: #333;
4343            border-radius: 0;
4344            box-shadow: 0 6px 30px rgba(0,0,0,.25);
4345            padding: 20px;
4346            box-sizing: border-box;
4347            font-family: inherit;
4348        }
4349        #koba-desktop-alert.kda-visible {
4350            display: block;
4351            animation: kda-slide-in .4s ease;
4352        }
4353        @keyframes kda-slide-in {
4354            from { opacity: 0; transform: translateY(-50%) translateX(30px); }
4355            to   { opacity: 1; transform: translateY(-50%) translateX(0); }
4356        }
4357        #koba-desktop-alert .kda-close {
4358            position: absolute;
4359            top: 10px;
4360            right: 10px;
4361            background: none;
4362            border: none;
4363            font-size: 16px;
4364            line-height: 1;
4365            color: #999;
4366            cursor: pointer;
4367            padding: 4px;
4368        }
4369        #koba-desktop-alert .kda-close:hover { color: #333; }
4370        #koba-desktop-alert .kda-icon {
4371            font-size: 28px;
4372            margin-bottom: 8px;
4373        }
4374        #koba-desktop-alert .kda-title {
4375            font-weight: 700;
4376            font-size: 1rem;
4377            margin-bottom: 8px;
4378            color: #1e293b;
4379        }
4380        #koba-desktop-alert .kda-content {
4381            font-size: .85rem;
4382            line-height: 1.55;
4383            color: #555;
4384            margin-bottom: 14px;
4385        }
4386        #koba-desktop-alert .kda-btn {
4387            display: inline-block;
4388            background: #6401ce;
4389            color: #fff;
4390            text-decoration: none;
4391            font-size: .85rem;
4392            font-weight: 600;
4393            padding: 9px 18px;
4394            border-radius: 8px;
4395            transition: opacity .2s;
4396        }
4397        #koba-desktop-alert .kda-btn:hover {
4398            opacity: .85;
4399            color: #fff;
4400        }
4401    </style>
4402
4403    <div id="koba-desktop-alert" role="dialog" aria-label="Application disponible">
4404        <button class="kda-close" id="koba-desktop-alert-close" aria-label="Fermer">✕</button>
4405        <div class="kda-title">📲 Application disponible</div>
4406        <div class="kda-content">
4407            Allez sur votre smartphone, affichez le site de votre mairie dans le navigateur
4408            de votre choix et vous serez invité à installer l'application sur votre mobile.
4409            Laissez-vous guider, c'est simple&nbsp;! Si votre mairie a souscrit à l'abonnement,
4410            tout fonctionnera immédiatement.
4411        </div>
4412        <a href="https://www.oye-plage.fr/installapp/" class="kda-btn">Plus de détails</a>
4413    </div>
4414
4415    
4415<script>
4416    (function() {
4417        'use strict';
4418
4419        var STORAGE_KEY = 'koba_desktop_alert_shown';
4420        var WEEK_MS = 7 * 86400 * 1000;
4421
4422        // --- Détection desktop Windows / Mac uniquement ---
4423        var ua = navigator.userAgent;
4424        var isMobileUA = /Android|iPhone|iPad|iPod|Mobile|Tablet/i.test(ua);
4425        // iPadOS se fait passer pour un Mac : on l'exclut via le tactile
4426        var isIpadOs = (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1);
4427        var isWinMac = /Windows NT|Macintosh/i.test(ua);
4428
4429        if (isMobileUA || isIpadOs || !isWinMac) return;
4430
4431        // --- Mode standalone (PWA installée) : on n'affiche pas ---
4432        if (window.matchMedia && window.matchMedia('(display-mode: standalone)').matches) return;
4433
4434        // --- Fréquence : 1 fois par semaine ---
4435        var last = 0;
4436        try { last = parseInt(localStorage.getItem(STORAGE_KEY) || '0', 10); } catch (e) {}
4437        if (last && (Date.now() - last) < WEEK_MS) return;
4438
4439        function showAlert() {
4440            var box = document.getElementById('koba-desktop-alert');
4441            if (!box) return;
4442
4443            box.classList.add('kda-visible');
4444
4445            // On marque comme "vue" dès l'affichage → max 1 fois / semaine
4446            try { localStorage.setItem(STORAGE_KEY, Date.now().toString()); } catch (e) {}
4447
4448            var closeBtn = document.getElementById('koba-desktop-alert-close');
4449            if (closeBtn) {
4450                closeBtn.addEventListener('click', function() {
4451                    box.classList.remove('kda-visible');
4452                });
4453            }
4454        }
4455
4456        if (document.readyState === 'loading') {
4457            document.addEventListener('DOMContentLoaded', showAlert);
4458        } else {
4459            showAlert();
4460        }
4461    })();
4462    </script>
4462
4463    </body>
4464</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.