PageSourceSearch

https://generationvoyage.fr/contact/

html generationvoyage.fr collected 2026-10-09 23:31:34 UTC 101,760 bytes, 1,678 lines download raw bytes

1<!DOCTYPE html>
2<html lang="fr">
3<head>
4    <meta name="theme-color" content="#69A378"/>
5
6        <!-- InMobi Choice. Consent Manager Tag v3.0 (for TCF 2.2) -->
7    
7<script type="text/javascript" async>
8        (function () {
9            var host = 'generationvoyage.fr';
10            var element = document.createElement('script');
11            var firstScript = document.getElementsByTagName('script')[0];
12            var url = 'https://cmp.inmobi.com'
13                .concat('/choice/', 'CY9fQZg9c-rvQ', '/', host, '/choice.js?tag_version=V3');
14            var uspTries = 0;
15            var uspTriesLimit = 3;
16            element.async = true;
17            element.type = 'text/javascript';
18            element.src = url;
19
20            firstScript.parentNode.insertBefore(element, firstScript);
21
22            function makeStub() {
23                var TCF_LOCATOR_NAME = '__tcfapiLocator';
24                var queue = [];
25                var win = window;
26                var cmpFrame;
27
28                function addFrame() {
29                    var doc = win.document;
30                    var otherCMP = !!(win.frames[TCF_LOCATOR_NAME]);
31
32                    if (!otherCMP) {
33                        if (doc.body) {
34                            var iframe = doc.createElement('iframe');
35
36                            iframe.style.cssText = 'display:none';
37                            iframe.name = TCF_LOCATOR_NAME;
38                            doc.body.appendChild(iframe);
39                        } else {
40                            setTimeout(addFrame, 5);
41                        }
42                    }
43                    return !otherCMP;
44                }
45
46                function tcfAPIHandler() {
47                    var gdprApplies;
48                    var args = arguments;
49
50                    if (!args.length) {
51                        return queue;
52                    } else if (args[0] === 'setGdprApplies') {
53                        if (
54                            args.length > 3 &&
55                            args[2] === 2 &&
56                            typeof args[3] === 'boolean'
57                        ) {
58                            gdprApplies = args[3];
59                            if (typeof args[2] === 'function') {
60                                args[2]('set', true);
61                            }
62                        }
63                    } else if (args[0] === 'ping') {
64                        var retr = {
65                            gdprApplies: gdprApplies,
66                            cmpLoaded: false,
67                            cmpStatus: 'stub'
68                        };
69
70                        if (typeof args[2] === 'function') {
71                            args[2](retr);
72                        }
73                    } else {
74                        if (args[0] === 'init' && typeof args[3] === 'object') {
75                            args[3] = Object.assign(args[3], { tag_version: 'V3' });
76                        }
77                        queue.push(args);
78                    }
79                }
80
81                function postMessageEventHandler(event) {
82                    var msgIsString = typeof event.data === 'string';
83                    var json = {};
84
85                    try {
86                        if (msgIsString) {
87                            json = JSON.parse(event.data);
88                        } else {
89                            json = event.data;
90                        }
91                    } catch (ignore) {}
92
93                    var payload = json.__tcfapiCall;
94
95                    if (payload) {
96                        window.__tcfapi(
97                            payload.command,
98                            payload.version,
99                            function (retValue, success) {
100                                var returnMsg = {
101                                    __tcfapiReturn: {
102                                        returnValue: retValue,
103                                        success: success,
104                                        callId: payload.callId
105                                    }
106                                };
107                                if (msgIsString) {
108                                    returnMsg = JSON.stringify(returnMsg);
109                                }
110                                if (event && event.source && event.source.postMessage) {
111                                    event.source.postMessage(returnMsg, '*');
112                                }
113                            },
114                            payload.parameter
115                        );
116                    }
117                }
118
119                while (win) {
120                    try {
121                        if (win.frames[TCF_LOCATOR_NAME]) {
122                            cmpFrame = win;
123                            break;
124                        }
125                    } catch (ignore) {}
126
127                    if (win === window.top) {
128                        break;
129                    }
130                    win = win.parent;
131                }
132                if (!cmpFrame) {
133                    addFrame();
134                    win.__tcfapi = tcfAPIHandler;
135                    win.addEventListener('message', postMessageEventHandler, false);
136                }
137            };
138
139            makeStub();
140
141            function makeGppStub() {
142                const CMP_ID = 10;
143                const SUPPORTED_APIS = [
144                    '2:tcfeuv2',
145                    '6:uspv1',
146                    '7:usnatv1',
147                    '8:usca',
148                    '9:usvav1',
149                    '10:uscov1',
150                    '11:usutv1',
151                    '12:usctv1'
152                ];
153
154                window.__gpp_addFrame = function (n) {
155                    if (!window.frames[n]) {
156                        if (document.body) {
157                            var i = document.createElement("iframe");
158                            i.style.cssText = "display:none";
159                            i.name = n;
160                            document.body.appendChild(i);
161                        } else {
162                            window.setTimeout(window.__gpp_addFrame, 10, n);
163                        }
164                    }
165                };
166                window.__gpp_stub = function () {
167                    var b = arguments;
168                    __gpp.queue = __gpp.queue || [];
169                    __gpp.events = __gpp.events || [];
170
171                    if (!b.length || (b.length == 1 && b[0] == "queue")) {
172                        return __gpp.queue;
173                    }
174
175                    if (b.length == 1 && b[0] == "events") {
176                        return __gpp.events;
177                    }
178
179                    var cmd = b[0];
180                    var clb = b.length > 1 ? b[1] : null;
181                    var par = b.length > 2 ? b[2] : null;
182                    if (cmd === "ping") {
183                        clb(
184                            {
185                                gppVersion: "1.1", // must be "Version.Subversion", current: "1.1"
186                                cmpStatus: "stub", // possible values: stub, loading, loaded, error
187                                cmpDisplayStatus: "hidden", // possible values: hidden, visible, disabled
188                                signalStatus: "not ready", // possible values: not ready, ready
189                                supportedAPIs: SUPPORTED_APIS, // list of supported APIs
190                                cmpId: CMP_ID, // IAB assigned CMP ID, may be 0 during stub/loading
191                                sectionList: [],
192                                applicableSections: [-1],
193                                gppString: "",
194                                parsedSections: {},
195                            },
196                            true
197                        );
198                    } else if (cmd === "addEventListener") {
199                        if (!("lastId" in __gpp)) {
200                            __gpp.lastId = 0;
201                        }
202                        __gpp.lastId++;
203                        var lnr = __gpp.lastId;
204                        __gpp.events.push({
205                            id: lnr,
206                            callback: clb,
207                            parameter: par,
208                        });
209                        clb(
210                            {
211                                eventName: "listenerRegistered",
212                                listenerId: lnr, // Registered ID of the listener
213                                data: true, // positive signal
214                                pingData: {
215                                    gppVersion: "1.1", // must be "Version.Subversion", current: "1.1"
216                                    cmpStatus: "stub", // possible values: stub, loading, loaded, error
217                                    cmpDisplayStatus: "hidden", // possible values: hidden, visible, disabled
218                                    signalStatus: "not ready", // possible values: not ready, ready
219                                    supportedAPIs: SUPPORTED_APIS, // list of supported APIs
220                                    cmpId: CMP_ID, // list of supported APIs
221                                    sectionList: [],
222                                    applicableSections: [-1],
223                                    gppString: "",
224                                    parsedSections: {},
225                                },
226                            },
227                            true
228                        );
229                    } else if (cmd === "removeEventListener") {
230                        var success = false;
231                        for (var i = 0; i < __gpp.events.length; i++) {
232                            if (__gpp.events[i].id == par) {
233                                __gpp.events.splice(i, 1);
234                                success = true;
235                                break;
236                            }
237                        }
238                        clb(
239                            {
240                                eventName: "listenerRemoved",
241                                listenerId: par, // Registered ID of the listener
242                                data: success, // status info
243                                pingData: {
244                                    gppVersion: "1.1", // must be "Version.Subversion", current: "1.1"
245                                    cmpStatus: "stub", // possible values: stub, loading, loaded, error
246                                    cmpDisplayStatus: "hidden", // possible values: hidden, visible, disabled
247                                    signalStatus: "not ready", // possible values: not ready, ready
248                                    supportedAPIs: SUPPORTED_APIS, // list of supported APIs
249                                    cmpId: CMP_ID, // CMP ID
250                                    sectionList: [],
251                                    applicableSections: [-1],
252                                    gppString: "",
253                                    parsedSections: {},
254                                },
255                            },
256                            true
257                        );
258                    } else if (cmd === "hasSection") {
259                        clb(false, true);
260                    } else if (cmd === "getSection" || cmd === "getField") {
261                        clb(null, true);
262                    }
263                    //queue all other commands
264                    else {
265                        __gpp.queue.push([].slice.apply(b));
266                    }
267                };
268                window.__gpp_msghandler = function (event) {
269                    var msgIsString = typeof event.data === "string";
270                    try {
271                        var json = msgIsString ? JSON.parse(event.data) : event.data;
272                    } catch (e) {
273                        var json = null;
274                    }
275                    if (typeof json === "object" && json !== null && "__gppCall" in json) {
276                        var i = json.__gppCall;
277                        window.__gpp(
278                            i.command,
279                            function (retValue, success) {
280                                var returnMsg = {
281                                    __gppReturn: {
282                                        returnValue: retValue,
283                                        success: success,
284                                        callId: i.callId,
285                                    },
286                                };
287                                event.source.postMessage(msgIsString ? JSON.stringify(returnMsg) : returnMsg, "*");
288                            },
289                            "parameter" in i ? i.parameter : null,
290                            "version" in i ? i.version : "1.1"
291                        );
292                    }
293                };
294                if (!("__gpp" in window) || typeof window.__gpp !== "function") {
295                    window.__gpp = window.__gpp_stub;
296                    window.addEventListener("message", window.__gpp_msghandler, false);
297                    window.__gpp_addFrame("__gppLocator");
298                }
299            };
300
301            makeGppStub();
302
303            var uspStubFunction = function () {
304                var arg = arguments;
305                if (typeof window.__uspapi !== uspStubFunction) {
306                    setTimeout(function () {
307                        if (typeof window.__uspapi !== 'undefined') {
308                            window.__uspapi.apply(window.__uspapi, arg);
309                        }
310                    }, 500);
311                }
312            };
313
314            var checkIfUspIsReady = function () {
315                uspTries++;
316                if (window.__uspapi === uspStubFunction && uspTries < uspTriesLimit) {
317                    console.warn('USP is not accessible');
318                } else {
319                    clearInterval(uspInterval);
320                }
321            };
322
323            if (typeof window.__uspapi === 'undefined') {
324                window.__uspapi = uspStubFunction;
325                var uspInterval = setInterval(checkIfUspIsReady, 6000);
326            }
327        })();
328    </script>
328
329    <!-- End InMobi Choice. Consent Manager Tag v3.0 (for TCF 2.2) -->
330    
330<script>
331        window.dataLayer = window.dataLayer || []
332        window.dataLayer.push({
333            'category_post': '',
334            'advertisement': {
335                'env': 'production',
336                'brand': {
337                    'name': 'Generation Voyage',
338                    'abbr': 'genv',
339                    'domain': 'generationvoyage.fr',
340                    'subdomain': 'www',
341                    'isPrisma': false
342                },
343                'page': {
344                    'path': window.location.pathname,
345                    'pageType': 'Autres',
346                    'pageCategory': 'Autres',
347                    'title': 'Contacter l&rsquo;équipe',
348                    'keyword': ["", "", ""],
349                }
350            },
351        });
352        window.dataLayer.push({
353            'device': 'desktop',
354            'id_post': '57082',
355            'Title': 'Contacter l&rsquo;équipe',
356            'Ville_GV': '',
357            'Region_GV': '',
358            'Pays_GV': '',
359            'Location_GV': ", , ",
360            'URL': 'https://generationvoyage.fr/contact/',
361            'popup':0,
362            'bann':0,
363            'cat': '',
364            'cat_inspi': '',
365            'sponsos': '',
366            'tag': '',
367            'auteur': '',
368            'affi_label': '',
369            'affi_url': '',
370            'custom_location': '',
371            'date_publication': '30-03-2016',
372            'date_modification': '30-04-2025',
373            'id_pays_villes': '',
374        });
375        window.coreAds = window.coreAds || {}
376        window.coreAds.queue = window.coreAds.queue || []
377
378        window._CTZ = {
379            enabled: true,
380            "verticals": {
381                "hotel": {
382                    "active": true,
383                    "search": {
384                        "city": "",
385                        "province": "",
386                        "country": "",
387                        "checkInDate": "",
388                        "checkOutDate": "",
389                        "rooms": [{}]
390                    }
391                }
392            }
393        }
394    </script>
394
395
396    <!-- Google Tag Manager -->
397    
397<script>
vendor: 534 bytes, lines 397-409
397(function (w, d, s, l, i) {
398            w[l] = w[l] || [];
399            w[l].push({
400                'gtm.start':
401                    new Date().getTime(), event: 'gtm.js'
402            });
403            var f = d.getElementsByTagName(s)[0],
404                j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : '';
405            j.async = true;
406            j.src =
407                'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
408            f.parentNode.insertBefore(j, f);
409        })(window, document, 'script', 'dataLayer', '
409GTM-T8CFMX6
vendor: 3 bytes, line 409
409');
409</script>
409
410    <!-- End Google Tag Manager -->
411
412
413    <link id="favicon" rel="shortcut icon" href="https://generationvoyage.fr/icon-gv-32.png" sizes="16x16 32x32 48x48"
414          type="image/png"/>
415    <link rel="icon" href="https://generationvoyage.fr/icon-gv-256.png" sizes="256x256" type="image/png"/>
416    <link rel="apple-touch-icon-precomposed" href="https://generationvoyage.fr/apple-touch-icon.png"/>
417    <link rel="apple-touch-icon" href="https://generationvoyage.fr/apple-touch-icon.png"/>
418    <link rel="apple-touch-icon" sizes="120x120" href="https://generationvoyage.fr/apple-touch-icon-120x120.png"/>
419
420    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
421    <meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=2"/>
422        <title>Contacter l&#039;équipe</title>
423
424    <link rel="alternate" type="application/rss+xml" title="Generation Voyage Flux principal"
425          href="https://generationvoyage.fr/feed/"/>
426    <meta name="p:domain_verify" content="9a3908f32a11473095db9da57551303a"/>
427    <meta name="gv-version" content="v2.32.7"/>
428
429    <meta name='robots' content='index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1' />
430	<style>img:is([sizes="auto" i], [sizes^="auto," i]) { contain-intrinsic-size: 3000px 1500px }</style>
431	    
431<script>
432    (function(window) {
433        const cookieName = 'gv_user_hash';
434        const expirationDays = 365; // Set the cookie expiration to one year
435
436        function setCookie(value) {
437            const expires = new Date(Date.now() + expirationDays * 864e5).toUTCString();
438            document.cookie = `${cookieName}=${encodeURIComponent(value)}; expires=${expires}; path=/; SameSite=Lax`;
439        }
440
441        function getCookie() {
442            return document.cookie
443              .split('; ')
444              .find(row => row.startsWith(cookieName + '='))
445              ?.split('=')[1];
446        }
447
448        function getOrCreateUserHash() {
449            let userHash = getCookie();
450            if (!userHash) {
451              userHash = crypto.randomUUID();
452              setCookie(userHash);
453            }
454            return userHash;
455        }
456
457        // Expose and init getUserHash function
458        window.getUserHash = getOrCreateUserHash;
459        window.getUserHash();
460    })(window);
461    </script>
461
462    
463	<!-- This site is optimized with the Yoast SEO Premium plugin v27.3 (Yoast SEO v27.3) - https://yoast.com/product/yoast-seo-premium-wordpress/ -->
464	<meta name="description" content="Contactez Generation Voyage pour des infos voyage et collaborations." />
465	<link rel="canonical" href="https://generationvoyage.fr/contact/" />
466	<meta property="og:locale" content="fr_FR" />
467	<meta property="og:type" content="article" />
468	<meta property="og:title" content="Contacter l&#039;équipe" />
469	<meta property="og:description" content="Pourquoi nous écrire ? L&#039;équipe de Generation Voyage vous remercie d&#039;avance pour votre message. Quoi que vous allez nous dire, vous prenez la bonne" />
470	<meta property="og:url" content="https://generationvoyage.fr/contact/" />
471	<meta property="og:site_name" content="GenerationVoyage" />
472	<meta property="article:publisher" content="https://www.facebook.com/toolito.voyage" />
473	<meta property="article:modified_time" content="2025-04-30T14:20:35+00:00" />
474	<meta property="og:image" content="https://cdn.generationvoyage.fr/2019/12/page-contact.jpg" />
475	<meta property="og:image:width" content="1700" />
476	<meta property="og:image:height" content="965" />
477	<meta property="og:image:type" content="image/jpeg" />
478	<meta name="twitter:label1" content="Durée de lecture estimée" />
479	<meta name="twitter:data1" content="2 minutes" />
480	<!-- / Yoast SEO Premium plugin. -->
481
482
483<link rel='dns-prefetch' href='//cdn.jsdelivr.net' />
484
485<style id='global-styles-inline-css' type='text/css'>
486: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,rgba(6,147,227,1) 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,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 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%);
486--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 rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}: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;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.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;}
486.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;}
487:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}
488:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}
489:root :where(.wp-block-pullquote){font-size: 1.5em;line-height: 1.6;}
490</style>
491<link rel='stylesheet' id='gv-auth-header-css' href='https://generationvoyage.fr/wp-content/themes/toolito/assets/css/gv-auth-header.css?ver=1789056058' type='text/css' media='all' />
492<link rel='stylesheet' id='gv-auth-modal-css' href='https://generationvoyage.fr/wp-content/themes/toolito/assets/css/gv-auth-modal.css?ver=1789056058' type='text/css' media='all' />
493<meta name="sentry-trace" content="dfaabebe21c04429848d6c0bfeab686c-5eec32f30737453c-1" />
494<meta name="traceparent" content="" />
495<meta name="baggage" content="sentry-trace_id=dfaabebe21c04429848d6c0bfeab686c,sentry-sample_rate=0.01,sentry-transaction=%2F%7Bpagename%7D,sentry-public_key=2974c6a458ab4130a6ee9faae7277111,sentry-org_id=186679,sentry-release=v2.32.7,sentry-environment=production,sentry-sampled=true,sentry-sample_rand=0.005242" />
496<script type="text/javascript" src="https://generationvoyage.fr/activites/gclid-tracker.js" id="gclid-tracker-js"></script>
496
497<link rel='shortlink' href='https://generationvoyage.fr/?p=57082' />
498
499        
499<script>
500        var flex_TypeDevice = 'desktop';
501    </script>
501
502
503
504        <link rel="dns-prefetch" href="https://cdn.generationvoyage.fr">
505    <link rel="preconnect" href="https://cmp.inmobi.com">
506    <link rel="preconnect" href="https://cdn.generationvoyage.fr"/>
507
508
509    <link rel="stylesheet" id="critical-toolito-css" href="https://generationvoyage.fr/wp-content/themes/toolito/dist/critical.8ced97315d640b49d4c74aca27eb67ab.css" type="text/css" media="screen"/>
510    <link rel="preload" href="https://generationvoyage.fr/css/fonts/Poppins-Regular.woff2" as="font" type="font/woff2"
511          crossorigin="anonymous">
512    <link rel="preload" href="https://generationvoyage.fr/css/fonts/AlbertSans/AlbertSans-Medium.ttf" as="font" type="font/ttf"
513          crossorigin="anonymous">
514            <link rel="stylesheet" id="main-toolito-css" href="https://generationvoyage.fr/wp-content/themes/toolito/dist/style.297ebb7726abd525f2e1feb3d213e7f1.css" type="text/css" media="screen"/>
515        <link rel="stylesheet" id="app-toolito-css" href="https://generationvoyage.fr/wp-content/themes/toolito/dist/app.c95c60d6ec2eea4e6fbd5402c8877bee.css" type="text/css" media="screen"/>
516        
517<meta name="generator" content="WP Rocket 3.21.1" data-wpr-features="wpr_desktop" /></head>
518
519
520<body class="wp-singular page-template page-template-page-qui page-template-page-qui-php page page-id-57082 wp-theme-toolito headervoyage single single-post single-format-standard td-blog-travel single_template_7 wpb-js-composer js-comp-ver-4.11.2 vc_responsive td-animation-stack-type0 td-full-layout td-js-loaded desktop" x-data="app" x-init>
521<!-- Google Tag Manager (noscript) -->
vendor: 73 bytes, lines 521-523
521
522<noscript>
523    <iframe src="https://www.googletagmanager.com/ns.html?id=
523GTM-T8CFMX6
vendor: 96 bytes, lines 523-525
523"
524            height="0" width="0" style="display:none;visibility:hidden"></iframe>
525</noscript>
526<!-- End Google Tag Manager (noscript) -->
527
528<div data-rocket-location-hash="4624a48a8344e3ccc7541371d72671a1" id="googleTapContainer" style="display: none">
529    <div data-rocket-location-hash="1b59afb1570dcc2df09c1573d3e4fe0e" class="form-group form-group-checkbox">
530        <input name="newsletterOK" type="checkbox" value="oui" id="newsletterOK">
531        <label for="newsletterOK">Reçois aussi les coups de cœur de la communauté</label>
532    </div>
533</div>
534
535
536<div class="nav-header-container ontop">
537    <nav class="nav-header ontop" x-data="Nav">
538        <div class="logo-content">
539            <a href="https://generationvoyage.fr">
540                <img class="logo-desktop" src="https://generationvoyage.fr/wp-content/themes/toolito/img/logo_green.svg"
541                     loading="eager" data-no-lazy="1" width="170" height="45"
542                     alt="Logo Generation Voyage">
543                <img class="logo-mobile" src="https://generationvoyage.fr/wp-content/themes/toolito/img/logo/logotype.png.webp"
544                     loading="eager" data-no-lazy="1" width="36" height="36"
545                     alt="Logo Generation Voyage">
546            </a>
547        </div>
548        <div class="content-form">
549                            <form class="header-search-form" action="/" method="get" x-data="search" @submit.prevent="submit($event)" x-on:keyup.escape.window="closeSearch">
550                    <div class="input-group">
551                        <input name='s' type="text"
552                               placeholder="Corse, Occitanie, Suède..." autocomplete="off">
553                        <button type="submit" title="Rechercher des articles">
554                            <svg width="36" height="36" viewBox="0 0 36 36" fill="none"
555                                 xmlns="http://www.w3.org/2000/svg">
556                                <path d="M26.3668 26.3668C26.7165 26.0171 26.7165 25.4502 26.3668 25.1005L21.3244 20.058C20.9696 19.7033 20.9407 19.1443 21.1886 18.7082C21.7228 17.7683 22.0251 16.6796 22.0251 15.5126C22.0251 11.9126 19.1126 9 15.5126 9C11.9126 9 9 11.9126 9 15.5126C9 19.1126 11.9126 22.0251 15.5126 22.0251C16.6706 22.0251 17.7608 21.7201 18.7118 21.1814C19.1456 20.9357 19.7005 20.9668 20.0531 21.3194L25.1005 26.3668C25.4502 26.7165 26.0171 26.7165 26.3668 26.3668ZM10.809 15.5126C10.809 12.9256 12.9256 10.809 15.5126 10.809C18.0995 10.809 20.2161 12.9256 20.2161 15.5126C20.2161 18.0995 18.0995 20.2161 15.5126 20.2161C12.9256 20.2161 10.809 18.0995 10.809 15.5126Z"
557                                      fill="white"/>
558                            </svg>
559                        </button>
560                    </div>
561                    <div class="dsb-dropdown" id="headerDesktopDropdown">
562                        <div class="dsb-dropdown-list" id="headerDesktopDropdownContent"></div>
563                    </div>
564                </form>
565                    </div>
566        <ul class="item-menu">
567            <li>
568                <a href="/tourisme/" title="Guides Voyage">Destinations</a>
569            </li>
570            <li>
571                <a href="/activites/" title="Activités">Activités</a>
572            </li>
573            <li>
574                <a href="/outils-voyageur/" title="Outils">Outils</a>
575            </li>
576            
577            <!-- État connecté (masqué par défaut, affiché par JS si session Supabase) -->
578            <li class="account-user gv-auth-account" data-gv-auth="logged-in" style="display:none">
579                <button class="gv-auth-trigger" aria-expanded="false" aria-haspopup="true">
580                    <img data-gv-auth="user-avatar" class="gv-auth-avatar" src="" alt="Avatar" width="30" height="30" />
581                    <span data-gv-auth="user-name" class="account-username"></span>
582                    <svg class="gv-auth-caret" width="10" height="6" viewBox="0 0 10 6" fill="none" xmlns="http://www.w3.org/2000/svg">
583                        <path d="M1 1L5 5L9 1" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
584                    </svg>
585                </button>
586                <div class="gv-auth-dropdown" role="menu">
587                    <a href="/activites/mes-listes" class="gv-auth-dropdown-item" role="menuitem">
588                        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z"/></svg>
589                        Mes Listes
590                    </a>
591                    <a href="/activites/profil/" class="gv-auth-dropdown-item" role="menuitem">
592                        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/></svg>
593                        Mon profil
594                    </a>
595                    <button data-gv-auth="logout-btn" class="gv-auth-dropdown-item gv-auth-dropdown-logout" role="menuitem">
596                        <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"/><polyline points="16 17 21 12 16 7"/><line x1="21" y1="12" x2="9" y2="12"/></svg>
597                        Déconnexion
598                    </button>
599                </div>
600            </li>
601
602            <!-- État déconnecté (visible par défaut, masqué par JS si session Supabase) -->
603            <li class="account-login-btn" data-gv-auth="logged-out">
604                <button
605                        onclick="event.preventDefault(); if(window.gvAuthModal) window.gvAuthModal.open()"
606                        title="Se connecter"
607                >
608                    <svg width="14" height="14" viewBox="0 0 12 14" fill="none" xmlns="http://www.w3.org/2000/svg">
609                        <path d="M5.9968 6.87641C7.89792 6.87641 9.435 5.33933 9.435 3.4382C9.435 1.53708 7.89792 0 5.9968 0C4.09567 0 2.55859 1.53708 2.55859 3.4382C2.55859 5.33933 4.09567 6.87641 5.9968 6.87641ZM5.9968 1.34831C7.14286 1.34831 8.08668 2.29214 8.08668 3.4382C8.08668 4.58427 7.14286 5.52809 5.9968 5.52809C4.85073 5.52809 3.90691 4.58427 3.90691 3.4382C3.90691 2.29214 4.85073 1.34831 5.9968 1.34831Z"
610                              fill="#C6502E"/>
611                        <path d="M6 7.48291C2.92408 7.48291 0.374222 9.82098 0.0376706 12.8099C-0.00399035 13.1799 0.30183 13.4829 0.674157 13.4829C1.04648 13.4829 1.34317 13.1793 1.39689 12.8109C1.72427 10.5655 3.66633 8.83122 6 8.83122C8.33367 8.83122 10.2757 10.5655 10.6031 12.8109C10.6568 13.1793 10.9535 13.4829 11.3258 13.4829C11.6982 13.4829 12.004 13.1799 11.9623 12.8099C11.6258 9.82098 9.07592 7.48291 6 7.48291Z"
612                              fill="#C6502E"/>
613                    </svg>
614                    <span>Connexion</span>
615                </button>
616            </li>
617
618                    </ul>
619        <div x-cloak x-show="open" class="nav-mobile-open">
620            <div class="top-mobile">
621                <div class="logo-content">
622                    <img src="https://generationvoyage.fr/wp-content/themes/toolito/img/logo-black.svg"
623                         loading="lazy" data-no-lazy="1" width="170" height="45"
624                         alt="Logo Generation Voyage">
625                </div>
626                <div class="nav-icon-menu nav-icon-menu-close" x-on:click.prevent="open = false">
627                    <svg width="36px" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"
628                         stroke-width="1.5"
629                         stroke="currentColor" class="w-6 h-6">
630                        <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
631                    </svg>
632                </div>
633            </div>
634            <div class="menu-mobile-content">
635                                <ul>
636                    <li>
637                        <a href="/tourisme/" title="Toutes les destinations">Toutes les destinations</a>
638                    </li>
639                    <li>
640                        <a href="/activites/" title="Activités">Activités</a>
641                    <li>
642                        <a href="/outils-voyageur/" title="Outils du voyageur">Outils du voyageur</a>
643                    </li>
644                    <li>
645                        <a href="/qui-sommes-nous/" title="Qui sommes-nous ?">Qui sommes-nous ?</a>
646                    </li>
647                    <li>
648                        <a href="/newsletter/" title="Newsletter">Newsletter</a>
649                    </li>
650                    <li>
651                        <a href="/contact/" title="Contact">Contact</a>
652                    </li>
653                </ul>
654                <div class="signin">
655                    
656                    <!-- État connecté mobile (masqué par défaut) -->
657                    <div data-gv-auth="logged-in" style="display:none" class="gv-auth-mobile-user">
658                        <img data-gv-auth="user-avatar" class="gv-auth-avatar" src="" alt="Avatar" width="30" height="30" />
659                        <span data-gv-auth="user-name"></span>
660                    </div>
661                    <div data-gv-auth="logged-in" style="display:none" class="gv-auth-mobile-links">
662                        <a href="/activites/mes-listes" title="Mes Listes">Mes Listes</a>
663                        <a href="/activites/profil/" title="Mon profil">Mon profil</a>
664                        <button data-gv-auth="logout-btn">Déconnexion</button>
665                    </div>
666
667                    <!-- État déconnecté mobile (visible par défaut) -->
668                    <a data-gv-auth="logged-out" x-on:click.prevent="open = false; if(window.gvAuthModal) window.gvAuthModal.open()" href="/profil/" title="Se connecter">
669                        <svg width="21" height="21" viewBox="0 0 12 14" fill="none"
670                             xmlns="http://www.w3.org/2000/svg">
671                            <path d="M5.9968 6.87641C7.89792 6.87641 9.435 5.33933 9.435 3.4382C9.435 1.53708 7.89792 0 5.9968 0C4.09567 0 2.55859 1.53708 2.55859 3.4382C2.55859 5.33933 4.09567 6.87641 5.9968 6.87641ZM5.9968 1.34831C7.14286 1.34831 8.08668 2.29214 8.08668 3.4382C8.08668 4.58427 7.14286 5.52809 5.9968 5.52809C4.85073 5.52809 3.90691 4.58427 3.90691 3.4382C3.90691 2.29214 4.85073 1.34831 5.9968 1.34831Z"
672                                  fill="black"/>
673                            <path d="M6 7.48291C2.92408 7.48291 0.374222 9.82098 0.0376706 12.8099C-0.00399035 13.1799 0.30183 13.4829 0.674157 13.4829C1.04648 13.4829 1.34317 13.1793 1.39689 12.8109C1.72427 10.5655 3.66633 8.83122 6 8.83122C8.33367 8.83122 10.2757 10.5655 10.6031 12.8109C10.6568 13.1793 10.9535 13.4829 11.3258 13.4829C11.6982 13.4829 12.004 13.1799 11.9623 12.8099C11.6258 9.82098 9.07592 7.48291 6 7.48291Z"
674                                  fill="black"/>
675                        </svg>
676                        Se connecter
677                    </a>
678
679                </div>
680                <div class="social">
681                    <p>
682                        Suivez-nous sur les réseaux
683                    </p>
684                    <a href="https://www.instagram.com/generation_voyage/" target="_blank"><img width="15" height="15"
685                                                                                                loading="lazy"
686                                                                                                src="https://generationvoyage.fr/wp-content/themes/toolito/img/instagram.svg"
687                                                                                                alt="Logo Instagram"></a>
688                    <a href="https://www.linkedin.com/company/generationvoyage/" target="_blank"><img width="15"
689                                                                                                      height="15"
690                                                                                                      loading="lazy"
691                                                                                                      src="https://generationvoyage.fr/wp-content/themes/toolito/img/linkedin.svg"
692                                                                                                      alt="Logo Linkedin"></a>
693                    <a href="https://www.facebook.com/generationvoyage/" target="_blank"><img width="9" height="17"
694                                                                                              loading="lazy"
695                                                                                              src="https://generationvoyage.fr/wp-content/themes/toolito/img/facebook.svg"
696                                                                                              alt="Logo Facebook"></a>
697                    <a href="https://www.pinterest.fr/generation_voyage/" target="_blank"><img width="13" height="17"
698                                                                                               loading="lazy"
699                                                                                               src="https://generationvoyage.fr/wp-content/themes/toolito/img/pinterest.svg"
700                                                                                               alt="Logo Pinterest"></a>
701                    <a href="https://www.youtube.com/@generationvoyage" target="_blank"><img width="19" height="17"
702                                                                                             loading="lazy"
703                                                                                             src="https://generationvoyage.fr/wp-content/themes/toolito/img/youtube-footer.svg"
704                                                                                             alt="Logo Youtube"></a>
705
706                </div>
707            </div>
708        </div>
709        <div x-cloak x-show="search"
710             x-transition:enter="search-slide-enter"
711             x-transition:enter-start="search-slide-enter-start"
712             x-transition:enter-end="search-slide-enter-end"
713             x-transition:leave="search-slide-leave"
714             x-transition:leave-start="search-slide-leave-start"
715             x-transition:leave-end="search-slide-leave-end"
716             :class="{'full':show}"
717             class="search-mobile-open ">
718            <div class="top-mobile">
719                <div class="title">
720                    Votre prochaine destination
721                </div>
722                <div class="nav-icon-menu" x-on:click.prevent="closeSearch">
723                    <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5"
724                         stroke="currentColor" class="w-6 h-6">
725                        <path stroke-linecap="round" stroke-linejoin="round" style="stroke: black"
726                              d="M6 18L18 6M6 6l12 12"/>
727                    </svg>
728                </div>
729            </div>
730            <form id="form-header" class="header-search-form" action="/" method="get" x-data="search" @submit.prevent="submit($event)">
731                <div class="input-group">
732                    <input name='s' type="text" placeholder="Corse, Occitanie, Suède..." autocomplete="off">
733                    <button type="submit" title="Rechercher des articles">
734                        <svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
735                            <path d="M26.3668 26.3668C26.7165 26.0171 26.7165 25.4502 26.3668 25.1005L21.3244 20.058C20.9696 19.7033 20.9407 19.1443 21.188
7356 18.7082C21.7228 17.7683 22.0251 16.6796 22.0251 15.5126C22.0251 11.9126 19.1126 9 15.5126 9C11.9126 9 9 11.9126 9 15.5126C9 19.1126 11.9126 22.0251 15.5126 22.0251C16.6706 22.0251 17.7608 21.7201 18.7118 21.1814C19.1456 20.9357 19.7005 20.9668 20.0531 21.3194L25.1005 26.3668C25.4502 26.7165 26.0171 26.7165 26.3668 26.3668ZM10.809 15.5126C10.809 12.9256 12.9256 10.809 15.5126 10.809C18.0995 10.809 20.2161 12.9256 20.2161 15.5126C20.2161 18.0995 18.0995 20.2161 15.5126 20.2161C12.9256 20.2161 10.809 18.0995 10.809 15.5126Z"
736                                  fill="white"/>
737                        </svg>
738                    </button>
739                </div>
740                <div class="dsb-dropdown" id="headerMobileDropdown">
741                    <div class="dsb-dropdown-list" id="headerMobileDropdownContent"></div>
742                </div>
743            </form>
744        </div>
745        <div class="icon-content">
746                        <div id="search-header-button" class="nav-icon-menu "
747                 x-on:click.prevent="search = true">
748                <svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
749                    <circle cx="18" cy="18" r="18" fill="#C6502E"/>
750                    <path d="M26.3668 26.3668C26.7165 26.0171 26.7165 25.4502 26.3668 25.1005L21.3244 20.058C20.9696 19.7033 20.9407 19.1443 21.1886 18.7082C21.7228 17.7683 22.0251 16.6796 22.0251 15.5126C22.0251 11.9126 19.1126 9 15.5126 9C11.9126 9 9 11.9126 9 15.5126C9 19.1126 11.9126 22.0251 15.5126 22.0251C16.6706 22.0251 17.7608 21.7201 18.7118 21.1814C19.1456 20.9357 19.7005 20.9668 20.0531 21.3194L25.1005 26.3668C25.4502 26.7165 26.0171 26.7165 26.3668 26.3668ZM10.809 15.5126C10.809 12.9256 12.9256 10.809 15.5126 10.809C18.0995 10.809 20.2161 12.9256 20.2161 15.5126C20.2161 18.0995 18.0995 20.2161 15.5126 20.2161C12.9256 20.2161 10.809 18.0995 10.809 15.5126Z"
751                          fill="white"/>
752                </svg>
753            </div>
754            
755            <div class="nav-icon-menu" x-on:click.prevent="open = true">
756                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5"
757                     stroke="currentColor" class="w-6 h-6">
758                    <path stroke-linecap="round" stroke-linejoin="round"
759                          d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5"/>
760                </svg>
761
762            </div>
763        </div>
764    </nav>
765</div>
766
767<script>
768    document.addEventListener('DOMContentLoaded', function () {
769        // ── GV Auth : Desktop dropdown toggle ──
770        document.querySelectorAll('.gv-auth-trigger').forEach(function (trigger) {
771            var dropdown = trigger.nextElementSibling;
772            if (!dropdown) return;
773
774            trigger.addEventListener('click', function (e) {
775                e.stopPropagation();
776                var isOpen = dropdown.classList.contains('gv-auth-dropdown-open');
777                // Fermer tous les dropdowns ouverts
778                document.querySelectorAll('.gv-auth-dropdown-open').forEach(function (d) {
779                    d.classList.remove('gv-auth-dropdown-open');
780                });
781                document.querySelectorAll('.gv-auth-trigger[aria-expanded="true"]').forEach(function (t) {
782                    t.setAttribute('aria-expanded', 'false');
783                });
784                if (!isOpen) {
785                    dropdown.classList.add('gv-auth-dropdown-open');
786                    trigger.setAttribute('aria-expanded', 'true');
787                }
788            });
789        });
790
791        // Fermer le dropdown au clic en dehors
792        document.addEventListener('click', function () {
793            document.querySelectorAll('.gv-auth-dropdown-open').forEach(function (d) {
794                d.classList.remove('gv-auth-dropdown-open');
795            });
796            document.querySelectorAll('.gv-auth-trigger[aria-expanded="true"]').forEach(function (t) {
797                t.setAttribute('aria-expanded', 'false');
798            });
799        });
800
801        // ── GV Auth : dataLayer update on Supabase auth ──
802        document.addEventListener('gv-auth:state-change', function (e) {
803            window.dataLayer = window.dataLayer || [];
804            if (e.detail.isLoggedIn) {
805                window.dataLayer.push({
806                    'event': 'gv_auth_login',
807                    'isLogued': true,
808                    'user_id': e.detail.user.id,
809                });
810            } else {
811                window.dataLayer.push({
812                    'event': 'gv_auth_login',
813                    'isLogued': false,
814                });
815            }
816        });
817
818        // ── Header search autocomplete (existing logic) ──
819        document.querySelectorAll('.header-search-form').forEach(function (form) {
820            const searchInput = form.querySelector('input[name="s"]');
821            const dropdown = form.querySelector('.dsb-dropdown');
822            const dropdownContent = form.querySelector('.dsb-dropdown-list');
823            if (!searchInput || !dropdown || !dropdownContent) return;
824
825            let isOpen = false;
826            let timeout = null;
827            let selectedIdx = -1;
828            let items = [];
829
830            function open() { isOpen = true; dropdown.classList.add('open'); }
831            function close() { isOpen = false; dropdown.classList.remove('open'); selectedIdx = -1; }
832
833            function escapeHtml(t) { const d = document.createElement('div'); d.textContent = t; return d.innerHTML; }
834            function capFirst(s) { return s ? s.charAt(0).toUpperCase() + s.slice(1) : ''; }
835
836            function render(locations) {
837                items = locations;
838                if (!locations.length) {
839                    dropdownContent.innerHTML = '<div class="dsb-dropdown-empty">Aucune destination trouvée</div>';
840                    return;
841                }
842                dropdownContent.innerHTML = locations.map(function (loc, i) {
843                    return '<button type="button" class="dsb-suggestion" data-index="' + i + '">' +
844                        '<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="#9ca3af" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="dsb-suggestion-icon">' +
845                        '<path d="M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0"></path>' +
846                        '<circle cx="12" cy="10" r="3"></circle></svg>' +
847                        '<div class="dsb-suggestion-info">' +
848                        '<span class="dsb-suggestion-name">' + escapeHtml(loc.title) + '</span>' +
849                        '<span class="dsb-suggestion-type">' + escapeHtml(capFirst(loc.type)) + '</span>' +
850                        '</div></button>';
851                }).join('');
852
853                dropdownContent.querySelectorAll('.dsb-suggestion').forEach(function (btn) {
854                    btn.addEventListener('click', function (e) {
855                        e.preventDefault();
856                        e.stopPropagation();
857                        select(parseInt(this.dataset.index));
858                    });
859                });
860            }
861
862            function select(idx) {
863                if (idx >= 0 && idx < items.length) {
864                    searchInput.value = items[idx].title;
865                    close();
866                    form.requestSubmit();
867                }
868            }
869
870            function updateSelected() {
871                dropdownContent.querySelectorAll('.dsb-suggestion').forEach(function (el, i) {
872                    el.classList.toggle('selected', i === selectedIdx);
873                });
874            }
875
876            async function fetchResults(q) {
877                if (q.length < 3) { close(); return; }
878                dropdownContent.innerHTML = '<div class="dsb-dropdown-loading"><div class="dsb-spinner"></div><span>Recherche en cours...</span></div>';
879                open();
880                try {
881                    const fd = new FormData();
882                    fd.append('action', 'location_search');
883                    fd.append('query', q);
884                    const res = await fetch('/wp-admin/admin-ajax.php', { method: 'POST', body: fd });
885                    const json = await res.json();
886                    if (json.success && json.data?.locations?.length > 0) {
887                        render(json.data.locations);
888                    } else {
889                        render([]);
890                    }
891                } catch (err) {
892                    console.error('Autocomplete error:', err);
893                    render([]);
894                }
895            }
896
897            searchInput.addEventListener('input', function () {
898                if (timeout) clearTimeout(timeout);
899                timeout = setTimeout(function () { fetchResults(searchInput.value.trim()); }, 300);
900            });
901
902            searchInput.addEventListener('keydown', function (e) {
903                if (!isOpen || !items.length) return;
904                switch (e.key) {
905                    case 'ArrowDown': e.preventDefault(); selectedIdx = Math.min(selectedIdx + 1, items.length - 1); updateSelected(); break;
906                    case 'ArrowUp': e.preventDefault();
906 selectedIdx = Math.max(selectedIdx - 1, -1); updateSelected(); break;
907                    case 'Enter': if (selectedIdx >= 0) { e.preventDefault(); select(selectedIdx); } break;
908                    case 'Escape': close(); break;
909                }
910            });
911
912            document.addEventListener('click', function (e) {
913                if (!form.contains(e.target) && !dropdown.contains(e.target)) close();
914            });
915        });
916    });
917</script>
917<link rel='stylesheet' href='/wp-content/themes/toolito/style-pays-optimized.css?ver=0.59' type='text/css' media='all'/>
918
919<style>
920    #type_bouton {padding-top:15px;background-color:#618B7C;right: 20px;cursor:pointer;text-align: center;-webkit-box-shadow: 0 0 20px -5px rgba(76, 76, 76, 0.74);
921        -moz-box-shadow: 0 0 20px -5px rgba(76, 76, 76, 0.74);z-index:10000;box-shadow: 0 0 20px -5px rgba(76, 76, 76, 0.74);position:fixed;bottom:60px;border-radius:50px;height:50px;width:50px;}
922    #type_bouton i {text-align:center;font-size:20px;color:#fff;}
923    .subcontento h4 {text-align:left;}
924    .formhomecontainer {margin-bottom:0;min-height:500px;}
925
926    .container_news {width:100%;background-color:#618B7C;}
927    .container_news .news_bas {margin:auto;max-width:600px;}
928
929    .titlearticle h1 {margin-bottom:60px}
930    .titlearticle h2 {color:#fff;margin-top:30px;margin-bottom:30px}
931
932    .nav_qui_container {background-color: #efefef;margin-bottom:40px;}
933    .nav_qui {max-width: 1100px;margin:auto}
934    .nav_qui .nav_qui_element {display:inline-block}
935    .nav_qui .nav_qui_element a {display:inline-block;padding:20px 30px;color:#222;font-weight:bold;}
936    .nav_qui .nav_qui_element .active {background-color:#fff;}
937
938    /* Equipe */
939
940    .team {margin-bottom:30px}
941    .team .membre {display: inline-block;
942        width: 29%;padding:20px;border:1px solid #ececec;margin:20px;box-shadow: 0px 6px 20px rgba(0, 0, 0, 0.1);
943        text-align: center;position: relative;    height: 350px; vertical-align: bottom;}
944    .team .membre .photo_membre {position:relative;width: 100px;margin: auto;margin-bottom:10px;}
945    .team .membre .photo_membre img {border-radius:100px;}
946    .team .membre .photo_membre .badge_membre {position:absolute;bottom:0;right:0;max-width:35px;background-color: #fff;}
947    .team .membre .nom_membre {font-weight:bold;}
948    .team .membre .poste_membre {font-size:13px;font-style:italic;}
949    .team .membre .reve_membre {margin-left:-20px;margin-right:-20px;margin-top:10px;margin-bottom:10px;border-top: 1px solid #ececec;border-bottom:1px solid #ececec;padding:15px 5px;}
950    .team .membre .reve_membre .mention {font-size:16px;}
951    .team .membre .reve_membre .reve {display: block;
952        margin: auto;
953        max-width: 80%;
954        /* padding-left: 10px; */
955        line-height: 14px;
956        font-size: 13px;font-style:italic;
957        margin-top: 10px;}
958    .team .membre .reve_membre .reve img {display: inline-block;vertical-align:middle;max-width: 25px;width:20%}
959    .team .membre .reve_membre .reve .reve_details {vertical-align:middle;display:inline-block;width:80%;padding-left:5%}
960    .team .membre .visites_membre {margin-top:20px;font-size:13px;}
961
962
963    /* Partenariats */
964
965    .subdisplay .list_valeur li i {color:green;padding-right:3px}
966    .subdisplay .list_valeur li {list-style-type: none;margin-bottom:15px;}
967
968    .bleu_cadre {background-color:#618B7C;color:#fff;padding:30px;margin-top:30px}
969    .bleu_cadre h3, .bleu_cadre p {color:#fff}
970    .bleu_cadre h3 {margin-top:0;padding:0}
971    .bleu_cadre p {max-width:275px}
972    .trois_colonne {display:inline-block;width:32%;margin-top:15px;vertical-align:text-top;}
973    .gris_cadre {background-color:#efefef;padding:30px;}
974    .gris_cadre .image_cadre, .gris_cadre .accordion_cadre {display:inline-block;width: 49%;vertical-align: text-top;}
975    .gris_cadre .accordion_cadre {padding:0 30px}
976    .gris_cadre .accordion label:before {border-left:12px solid}
977    .gris_cadre .titre_accordion {background-color:#efefef;color:inherit;padding-left:0}
978
979/* Presse */
980    .listepresse a {font-weight:bold;color:#222;}
981    .listepresse a span {font-weight:normal;font-style:italic;}
982    .logopresse img {max-width:100px;display:inline-block;margin:30px;max-height:100px;
983        vertical-align:middle;transition:0.5s all}
984    .logopresse img:hover {filter:grayscale(0);}
985    .entry .green-title {font-size:2em;font-weight:bold;color:#618B7C;margin:100px auto 30px;line-height:1.2em}
986    .temoignage .temoign {    box-shadow: 0px 6px 20px rgba(0, 0, 0, 0.1);margin: 2%;
987        display: inline-block;
988        padding: 20px;
989        height: 300px;
990        vertical-align: bottom;
991        width: 45%;}
992    .temoignage .temoign .nom {color:#618B7C;font-weight:bold;}
993    .temoignage .temoign .message {margin-top:20px;}
994    .temoignage .temoign .lien {margin-top:15px;}
995
996    /* Bienvenue à bord */
997    .subdisplay_container {margin-bottom:50px}
998    .subdisplay {box-shadow: 0px 6px 20px rgba(0, 0, 0, 0.1);    width: 70%;
999        display: inline-block;
1000        vertical-align: middle;
1001        padding: 20px;
1002        margin-left: 20px;
1003        border: 1px solid #ececec;}
1004    .block_display_container {margin-bottom:120px;}
1005    .block_display {width:24%;position:relative;display:inline-block;vertical-align:middle;    height: 220px;}
1006    .block_display .img_display {    height: 200px;padding:10px;
1007        max-width: 100%;}
1008    .block_display .img_display img {    box-shadow: 0px 2px 20px rgba(0, 0, 0, 0.1);
1009        height: 200px;}
1010    .block_display .block_title_display {    margin: auto;
1011        text-align: center;
1012        padding: 10px;
1013        font-style: italic;
1014        background-color: #fff;
1015        margin-top: -80px;
1016        background-color: #fff;
1017        z-index: 2;
1018        position: relative;
1019        max-width: 180px;
1020        font-weight: bold;
1021        border: 1px solid #ececec;}
1022    h4 {text-align: left;
1023        display: block;
1024        margin-top: 10px;
1025        float: none;}
1026    .entry .alignleft {margin-right:40px;}
1027    .entry .alignright {margin-left:40px;}
1028
1029    .superpose {}
1030    .superpose .secondo {margin-top: -90px;max-width: 200px;margin-left: 130px;}
1031    .element_block {text-align:center;}
1032    .element_block .title_block i{font-size:45px;color:#618B7C;display: block;padding: 0;}
1033    @media only screen and (min-width : 0px)  and (max-width: 479px) {
1034        .team .membre {width:auto;margin:20px 5px;display:block;}
1035        .nav_qui {margin: auto;
1036        text-align: center;
1037        margin-top: 0px;
1038        height: 53px;
1039        overflow: hidden;
1040        overflow-y: hidden;
1041        white-space: nowrap;
1042        background-color: #ececec;
1043        padding: 5px 0;
1044        overflow-x: scroll;}
1045        .nav_qui .nav_qui_element a {padding:10px 20px}
1046
1047        /* Presse */
1048
1049        .logopresse img {    margin: 50px auto;display:block;}
1050        .temoignage .temoign {max-width:100%;display:block;width:100%;margin:20px 0;}
1051        .block_display {width:100%}
1052        .entry .alignleft, .entry .alignright {margin: 20px auto;
1053            float: none;}
1054        .superpose .secondo {margin-left:100px;}
1055        .subdisplay {width: auto; margin: 0 10px;}
1056        .green-title {margin-top:60px}
1057        .block_display .img_display img {width:100%}
1058            .formhomecontainer {min-height: 200px;}
1059        .trois_colonne,.gris_cadre .image_cadre, .gris_cadre .accordion_cadre {width:100%;}
1060        .gris_cadre .accordion_cadre {padding: 0;margin-top: 30px;}
1061        .accordion .paragraphe_accordion p {padding:2em}
1062    }
1063    .lien > a {
1064        background: #c25b3d;
1065        border: 1px solid #c25b3d;
1066        color: #fff;
1067        border-radius: 6px;
1068        font-family: Poppins;
1069        font-size: 14px;
1070        font-weight: 600;
1071        line-height: 36px!important;
1072        padding: 3px 20px;
1073        cursor: pointer;
1074        margin-left: 10px;
1075    }
1076
1077</style>
1078    
1078<script src='https://www.welcomekit.co/assets/embed.js' type='text/javascript'></script>
1078
1079    
1079<script type='text/javascript'>
1080        welcomeKitReady(function() {
1081            var wk = new WelcomeKitEmbed('odyO200')
1082            wk.group('job')
1083            wk.display(["department","officeCity","contractType"])
1084            wk.locale('fr')
1085            wk.website('wttj_fr')
1086            wk.render()
1087        })
1088    </script>
1088
1089<style>
1090    .welcomekit-jobs-list-item {
1091    margin: 0;
1092    padding: 0;
1093    }
1094    .welcomekit-jobs-list-item-link {
1095    position: relative;
1096    display: block;
1097    margin: 0;
1098    padding: 30px 5px;
1099    border-bottom: 1px solid #eee;
1100    text-decoration: none;
1101    transition: all 0.2s;
1102    }
1103    .welcomekit-jobs-list-item-link:after {
1104    position: absolute;
1105    top: 50%;
1106    right: 30px;
1107    width: 20px;
1108    height: 20px;
1109    margin-top: -10px;
1110    content: ' ';
1111    border-top: 1px solid #ddd;
1112    border-right: 1px solid #ddd;
1113    transform: rotate(45deg);
1114    transition: all 0.2s;
1115    }
1116    .welcomekit-jobs-list-item-link:hover {
1117    background: #f5f5f5;
1118    border-bottom-color: #ddd;
1119    }
1120    .welcomekit-jobs-list-item-link:hover:after {
1121    right: 20px;
1122    border-top-color: #aaa;
1123    border-right-color: #aaa;
1124    }
1125    .entry h3.welcomekit-job-name {
1126    margin: 0 0 10px 0;
1127    padding: 0;text-align:left;
1128    font-weight: 500;
1129    font-size: 19px;
1130    line-height: 20px;
1131    }
1132    .welcomekit-job-infos {
1133    margin: 0;
1134    padding: 0;
1135    }
1136    .welcomekit-job-infos > li {
1137    position: relative;
1138    display: inline-block;
1139    margin: 0 34px 0 0;
1140    color: #aaa;
1141    }
1142    .welcomekit-job-infos > li:before {
1143    position: absolute;
1144    top: 6px;
1145    left: -20px;
1146    content: ' ';
1147    display: block;
1148    height: 6px;
1149    width: 6px;
1150    background: #ddd;
1151    border-radius: 50%;
1152    }
1153    .welcomekit-job-infos > li:first-child:before {
1154    display: none;
1155    }
1156    .welcomekit-job-infos > li.welcomekit-job-description {
1157    display: block;
1158    margin: 10px 0 0 0;
1159    padding: 10px 20px;
1160    border-left: 2px solid #eee;
1161    }
1162    .welcomekit-job-infos > li.welcomekit-job-description p,
1163    .welcomekit-job-infos > li.welcomekit-job-description ul {
1164    margin: 0;
1165    padding: 0 0 10px 0;
1166    color: #bbb;
1167    }
1168    .welcomekit-job-infos > li.welcomekit-job-description ul li {
1169    border-left: 1px solid #eee;
1170    padding-left: 10px;
1171    margin-bottom: 10px;
1172    }
1173    .welcomekit-job-infos > li.welcomekit-job-description pre {
1174    border-left: 1px solid #eee;
1175    padding-left: 10px;
1176    overflow: auto;
1177    }
1178    .welcomekit-job-infos > li.welcomekit-job-description:before {
1179    display: none
1180    }
1181    .welcomekit-office-city,
1182    .welcomekit-department-name {
1183    display: block;
1184    padding: 15px;
1185    background: #eee;
1186    border-top: 1px solid #e0e0e0;
1187    border-bottom: 1px solid #e0e0e0;
1188    font-weight: 500;
1189    font-size: 17px;
1190    line-height: 18px;
1191    text-transform: uppercase;
1192    }
1193    .welcomekit-warning {
1194    display: block;
1195    padding: 50px 0;
1196    text-align: center;
1197    }
1198</style>
1199
1200    <div data-rocket-location-hash="ac88023cfcedd33b02c49ff7529cbfbb" id="page-content">
1201        <div data-rocket-location-hash="a0b20e4a4a023dad7c872904844f5755" class="formhomecontainer" style="border-radius:0;background:url(https://cdn.generationvoyage.fr/2019/12/page-contact.jpg) no-repeat;background-position: center;  -webkit-background-size: cover;background-size: cover;">
1202            <div data-rocket-location-hash="967a0b1a0ead1077920e92f58be20812" class="titlearticle"><h1>Contacter l&rsquo;équipe</h1>
1203                        </div>
1204        </div>
1205                <div class="nav_qui_container">
1206            <div class="nav_qui">
1207                <div class="nav_qui_element"><a href="/qui-sommes-nous/" >Bienvenue à bord</a></div>
1208                <div class="nav_qui_element"><a href="https://partenaire.generationvoyage.fr/" >Partenariats</a></div>
1209                <div class="nav_qui_element"><a href="/recrutement/" >Recrutement</a></div>
1210                <div class="nav_qui_element"><a href="/contact/" class="active">Contact</a></div>
1211            </div>
1212        </div>
1213        <div data-rocket-location-hash="a4bdd32faf5614626d867ddc1e8bd7f9" id="main-content">
1214                <div data-rocket-location-hash="a2098c197b4021c201fe722c40654c49" class="entry" style="max-width:none">
1215                    <h3 id="pourquoi-nous-ecrire">Pourquoi nous écrire ?</h3>
1216<p>L&rsquo;équipe de Generation Voyage vous remercie d&rsquo;avance pour votre message. Quoi que vous allez nous dire, vous prenez la bonne décision ! Le plus important pour que votre message arrive à bon port, est que vous vous adressiez au bon service ! En tant que voyageur.se, vous devriez rapidement trouver votre chemin.</p>
1217<h3 id="quel-est-lobjectif-de-votre-message">Quel est l&rsquo;objectif de votre message ?</h3>
1218<div class="temoignage">
1219<div class="temoign">
1220<div class="nom">La Rédaction</div>
1221<div class="message">Vous souhaitez contribuer à nos guides ou tout simplement saluer la rédaction ?</div>
1222<div class="lien"><a href="mailto:[email protected]">[email protected]</a></div>
1223</div>
1224<div class="temoign">
1225<div class="nom">Partenariats</div>
1226<div class="message">Vous avez été séduit par nos guides et souhaitez mettre en place un partenariat avec Generation Voyage ?</div>
1227<div class="lien"><a href="https://generationvoyage.fr/partenariats/">Découvrir les possibilités</a></div>
1228</div>
1229<div class="temoign">
1230<div class="nom">Signaler une erreur</div>
1231<div class="message">Vous avez relevé une coquille dans un article ou souhaitez proposer une mise à jour ?</div>
1232<div class="lien"><a href="https://form.typeform.com/to/PZeHQbLo?typeform-medium=embed-snippet" class="typeform-share button" data-mode="drawer_right" target="_blank" rel="nofollow noopener noreferrer">Cliquez ici</a></div>
1233</div>
1234<div class="temoign">
1235<div class="nom">Général</div>
1236<div class="message">Vous avez une question d&rsquo;ordre générale sur Generation Voyage ? Vous n&rsquo;avez pas trouvé le service adapté à votre demande ?</div>
1237<div class="lien"><a href="mailto:[email protected]">[email protected]</a></div>
1238</div>
1239</div>
1240<h3 id="parlez-nous-aussi-sur-les-reseaux">Parlez-nous aussi sur les réseaux</h3>
1241<p style="text-align:center"><a class="logo_social" href="https://www.facebook.com/generationvoyage/" rel="nofollow noopener noreferrer" target="_blank"><img decoding="async" src="https://cdn.generationvoyage.fr/2021/02/logo-facebook.png" alt="" width="100" height="100" /></a><a class="logo_social" href="https://www.instagram.com/generation_voyage/" rel="nofollow noopener noreferrer" target="_blank"><img decoding="async" src="https://cdn.generationvoyage.fr/2021/02/logo-instagram.png" alt="" width="100" height="100" /></a><a class="logo_social" href="https://www.linkedin.com/company/68250484/" rel="nofollow noopener noreferrer" target="_blank"><img decoding="async" src="https://cdn.generationvoyage.fr/2021/02/logo-linkedin.png" alt="" width="100" height="100" /></a><a class="logo_social" href="https://pinterest.fr/generation_voyage/" rel="nofollow noopener noreferrer" target="_blank"><img loading="lazy" decoding="async" src="https://cdn.generationvoyage.fr/2021/02/logo-pinterest.png" alt="" width="100" height="100" /></a></p>
1242<p>
1242<script>
1243 (function() { var qs,js,q,s,d=document, gi=d.getElementById, ce=d.createElement, gt=d.getElementsByTagName, id="typef_orm_share", b="https://embed.typeform.com/"; if(!gi.call(d,id)){ js=ce.call(d,"script"); js.id=id; js.src=b+"embed.js"; q=gt.call(d,"script")[0]; q.parentNode.insertBefore(js,q) } })() 
1244</script>
1244</p>
1245                </div>
1246            <div data-rocket-location-hash="de914fa142326799da6bde8214adef5a" class="clear"></div>
1247        </div><!--END #main-content-->
1248        <div data-rocket-location-hash="77ada3445375df7a7c98be4d6bbb4c75" class="container_news"><div data-rocket-location-hash="506550e62c43d79d4542a2c6796aeffc" class="news_bas"></div></div>
1249    </div>
1250<div data-rocket-location-hash="82d4d8c06449391368f07e4bb6663923" class="footer_new">
1251    <div data-rocket-location-hash="1aa7d49535a102380079dea69abbe73b" class="td-footer-bottom-full container-home">
1252        <div data-rocket-location-hash="245a4b8b0cf7e9e6aa7c57c7a6afddcb" class="">
1253            <div class="td-pb-row">
1254                <div class="">
1255                    <aside class="footer-logo-wrap">
1256                        <img loading="lazy" src="/wp-content/themes/toolito/img/logo/gv_213_color.svg" width="180" height="46" title="Generation Voyage Logo white" alt="Logo Generation Voyage" />
1257                        <p>Depuis 2013, Generation Voyage vous fait découvrir des expériences mémorables et vous guide pour les vivre pleinement.</p>
1258                    </aside>
1259                </div>
1260                <div class="">
1261                    <aside class="footer-text-wrap">
1262                        <ul>
1263                            <li><a href="/qui-sommes-nous/" title="Qui sommes nous ?" class="lien_menu_footer">Qui sommes nous ?</a></li>
1264                            <li><a href="/recrutement/" target="_blank" title="Carrière" class="lien_menu_footer">Recrutement</a></li>
1265                        </ul>
1266                    </aside>
1267                </div>
1268                <div class="">
1269                    <aside class="footer-text-wrap">
1270                        <ul>
1271                            <li><a href="https://partenaire.generationvoyage.fr/" title="Publicité" class="lien_menu_footer">Partenariats/Publicité</a></li>
1272                            <li><a href="/contact/" title="Contact" class="lien_menu_footer">Contact</a></li>
1273                            <li>
1274                                <a href="https://form.typeform.com/to/PZeHQbLo?typeform-medium=embed-snippet#source=https://generationvoyage.fr/contact/" class="lien_menu_footer typeform-share button" data-mode="drawer_right" target="_blank" rel="nofollow noopener noreferrer">Signaler une erreur</a>
1275                            </li>
1276                        </ul>
1277                    </aside>
1278                </div>
1279                <div class="">
1280                    <aside class="footer-social-wrap td-social-style-2">
1281                        <div class="title-footer">
1282                            <span>Suivez-nous sur les réseaux</span>
1283                        </div>
1284                        <span class="td-social-icon-wrap">
1285                           <a href="https://www.instagram.com/generation_voyage/" title="Instagram" target="_blank">
1286                               <img width="15" height="15" loading="lazy" src="https://generationvoyage.fr/wp-content/themes/toolito/img/instagram.svg" alt="Logo Instagram">
1287                           </a>
1288                        </span>
1289                        <span class="td-social-icon-wrap">
1290                            <a target="_blank" href="https://www.linkedin.com/company/generationvoyage/" title="Linkedin" >
1291                                <img width="15" height="15" loading="lazy" src="https://generationvoyage.fr/wp-content/themes/toolito/img/linkedin.svg" alt="Logo Linkedin">
1292                            </a>
1293                        </span>
1294                        <span class="td-social-icon-wrap">
1295                            <a target="_blank" href="https://www.facebook.com/generationvoyage/" title="Facebook">
1296                                <img width="9" height="17" loading="lazy" src="https://generationvoyage.fr/wp-content/themes/toolito/img/facebook.svg" alt="Logo Facebook">
1297                            </a>
1298                        </span>
1299                        <span class="td-social-icon-wrap">
1300                            <a target="_blank" href="https://www.pinterest.fr/generation_voyage/" title="Pinterest" >
1301                                <img width="13" height="17" loading="lazy" src="https://generationvoyage.fr/wp-content/themes/toolito/img/pinterest.svg" alt="Logo Pinterest">
1302                            </a>
1303                        </span>
1304                        <span class="td-social-icon-wrap">
1305                            <a target="_blank" href="https://www.youtube.com/@generationvoyage" title="Youtube">
1306                                <img width="19" height="15" loading="lazy" src="https://generationvoyage.fr/wp-content/themes/toolito/img/youtube-footer.svg" alt="Logo Youtube">
1307                            </a>
1308                        </span>
1309
1310                    </aside>
1311                </div>
1312            </div>
1313        </div>
1314    </div>
1315    <footer data-rocket-location-hash="faa799424f32e849687108aa2b49d57e">
1316                
1317
1318
1319        <div data-rocket-location-hash="5a20b7504c19cab05c6b1ea62d285b3c" id="">
1320            <div id="footer">
1321                <div id="footer_text">
1322                    <div class="footer_bottom_center">
1323                        © 2013-2026 <strong class="load-more">Generation Voyage</strong> Tous droits réservés - <a href="/conditions-generales-utilisation/" class="underline">CGU</a> - <a href="/charte-de-confidentialite/" class="underline">Mentions légales</a> - Fait avec <span class="emoticon_rouge">❤</span> à Montpellier par <a class="underline" href="https://gctech.company" target="_blank">GC TECH</a>
1324                         - v2.32.7                    </div>
1325                </div>
1326            </div>
1327        </div>
1328        <div data-rocket-location-hash="e24092760669fca76a942fe7d2b57acf" class="clear"></div>
1329    </footer>
1330                
1330<script>
1331            window.dygConf = {"apiBaseUrl":"https:\/\/api.generationvoyage.fr","apiKey":"dcf486e4-f6fa-4c59-9cb0-9a6658790597","apiLang":"fr","apiLimit":20,"redirectBaseUrl":"https:\/\/redirect.generationvoyage.fr"};
1332        </script>
1332
1333        
1333<script type="speculationrules">
1334{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"\/*"},{"not":{"href_matches":["\/wp-*.php","\/wp-admin\/*","\/*","\/wp-content\/*","\/wp-content\/plugins\/*","\/wp-content\/themes\/toolito\/*","\/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
1335</script>
vendor: 1 bytes, line 1335
1335
1336<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@supabase/supabase-js@2/dist/umd/supabase.min.js?ver=2.0.0" id="supabase-js-js"></script>
vendor: 1 bytes, line 1336
1336
1337<script type="text/javascript" id="gv-auth-client-js-extra">
1338/* <![CDATA[ */
1339var gvAuth = {"supabaseUrl":"https:\/\/qwbucgokpcwglsslypuk.supabase.co","supabaseAnon":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InF3YnVjZ29rcGN3Z2xzc2x5cHVrIiwicm9sZSI6ImFub24iLCJpYXQiOjE3NTY5MDczOTMsImV4cCI6MjA3MjQ4MzM5M30.4j1MbO339JMfW_t_hWHsvke25ufsCVfYLEnqLr4CRe0","restUrl":"https:\/\/generationvoyage.fr\/wp-json\/gv-auth\/v1","themeUrl":"https:\/\/generationvoyage.fr\/wp-content\/themes\/toolito","signupOrigin":"generationvoyage"};
1340/* ]]> */
1341</script>
vendor: 1 bytes, line 1341
1341
1342<script type="text/javascript" src="https://generationvoyage.fr/wp-content/themes/toolito/assets/js/gv-auth-client.js?ver=1789056058" id="gv-auth-client-js"></script>
vendor: 1 bytes, line 1342
1342
1343<script type="text/javascript" src="https://generationvoyage.fr/wp-content/themes/toolito/assets/js/gv-auth-modal.js?ver=1789056058" id="gv-auth-modal-js"></script>
vendor: 1 bytes, line 1343
1343
1344<script type="text/javascript" src="https://generationvoyage.fr/wp-includes/js/jquery/jquery.min.js?ver=3.7.1" id="jquery-footer-js"></script>
1344
1345            
1345<script async src='https://generationvoyage.fr/wp-content/themes/toolito/dist/script-desktop.ab2e0d8596adc3c0802d1b9c663e5ce2.js'></script>
1345
1346        </div>
1347        <div data-rocket-location-hash="7b4782fdd08dcf6f734781fb9d41bca2" id="popupNewsletter" class="popupNewsletter d-none">
1348<span id="closePopupNewsletter" class="closePopup close">
1349            <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
1350                <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
1351            </svg>
1352        </span>
1353            <div data-rocket-location-hash="856581fafdaf64cb6599d739e89329b6" class="content">
1354
1355                <div data-rocket-location-hash="1d9818a179fefb9698cfc053b739ced2">
1356                    <img src="https://generationvoyage.fr/wp-content/themes/toolito/images/illustration-newsletter.jpg" loading="lazy" width="270px" height="488px" alt="Image newsletter popup - Génération Voyage">
1357                </div>
1358                <div data-rocket-location-hash="400424b26b951d54ea1c0563dc87b67f" class="text">
1359                    <div class="title">
1360                        Envie d'encore plus d'inspiration ?
1361                    </div>
1362                    <p class="description">
1363                        Chaque semaine, découvrez de nouvelles expériences autour de vous et partout dans le monde ! Gratuitement, dans votre boîte mail.
1364                    </p>
1365                    <form id="formPopupNewsletter">
1366                        <div class="input-form">
1367                            <input id="emailPopupNewsletter" type="email" required placeholder="Mon adresse mail">
1368                        </div>
1369                        <div>
1370                            <input type="submit" title="Accéder à la newsletter" class="btn-primary" value="Accéder à la newsletter">
1371                        </div>
1372                    </form>
1373                </div>
1374
1375            </div>
1376        </div>
1377    
1378<script>
1379    let ApiNonce = "656664e9df";
1380</script>
1380
1381
1382
1383<div x-data="Notifications" class="toastContainer" @setnotification.window="add($event.detail)">
1384    <template x-for="notice of notices" :key="notice.id">
1385        <div class="ToatsNotifications" :class="notice.type" x-show="notice.show" x-on:click="remove(notice.id)" x-transition>
1386            <div class="d-flex align-items-center gap-10">
1387                <span class="picto">
1388                    <svg x-cloak x-show="notice.type === 'info'" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="">
1389                        <path fill-rule="evenodd" d="M2.25 12c0-5.385 4.365-9.75 9.75-9.75s9.75 4.365 9.75 9.75-4.365 9.75-9.75 9.75S2.25 17.385 2.25 12zm13.36-1.814a.75.75 0 10-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 00-1.06 1.06l2.25 2.25a.75.75 0 001.14-.094l3.75-5.25z" clip-rule="evenodd" />
1390                    </svg>
1391                    <svg x-cloak x-show="notice.type === 'error'" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor" class="w-6 h-6">
1392                        <path fill-rule="evenodd" d="M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z" clip-rule="evenodd" />
1393                    </svg>
1394                </span>
1395                <span x-text="notice.text"></span>
1396            </div>
1397            <span class="closeNotificaton close" x-on:click="remove(notice.id)">
1398                <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
1399                    <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"></path>
1400                </svg>
1401            </span>
1402        </div>
1403    </template>
1404</div>
1405<div data-rocket-location-hash="27a9924646575d66a26ecda14a05a8cc" x-show="isLoginShow" x-cloak class="popupAccount loginPopup" x-data="loginPopup">
1406    <div class="content" @click.outside="isLoginShow = false">
1407        <span class="closePopup close" x-on:click="isLoginShow = false">
1408            <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
1409                <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
1410            </svg>
1411        </span>
1412        <img src="https://generationvoyage.fr/wp-content/themes/toolito/img/logo/logotype.png.webp" loading="lazy" class="mx-auto" width="38" height="38" alt="Generation Voyage Logo">
1413        <form action="" @submit.prevent="submitLogin()">
1414            <span class="title">
1415                Se connecter
1416            </span>
1417            
1418            <div class="form-group">
1419                <label for="">
1420                    Email ou nom d’utilisateur                </label>
1421                <input :class="{'error-border':error}" type="text" required x-model="email" placeholder="Email ou nom d’utilisateur">
1422            </div>
1423            <div class="form-group">
1424                <label for="">
1425                    Mot de passe                </label>
1426                <input :class="{'error-border':error}" type="password" x-model="password" required placeholder="Mot de passe">
1427                <a class="forgotPassword" href="#" x-on:click.prevent="isResetPasswordShow = true; isLoginShow = false">Mot de passe oublié ?</a>
1428            </div>
1429            <div class="form-group" x-show="error">
1430                <p class="error-field" x-text="error"></p>
1431            </div>
1432            <div class="form-group">
1433                <button type="submit" title="Connexion" class="signin btn-primary">
1434                    <svg x-cloak x-show="loading" class="animate-spin text-white" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24">
1435                        <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
1436                        <path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
1437                    </svg>Connexion
1438                </button>
1439            </div>
1440            <p>
1441                Pas encore de compte ? <a class="signup-redirect" href="#" x-on:click.prevent="isLoginShow = false; isRegisterShow = true;registerFrom = 'menu'">Créer un compte ici</a>
1442            </p>
1443        </form>
1444    </div>
1445</div>
1446<div x-show="isSetNewPasswordShow" x-cloak  class="popupAccount setNewPasswordPopup" x-data="setNewPassword">
1447    <div class="content" @click.outside="isSetNewPasswordShow = false">
1448        <span class="closePopup" x-on:click="isSetNewPasswordShow = false">
1449            <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
1450                <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
1451            </svg>
1452        </span>
1453        <img src="https://generationvoyage.fr/wp-content/themes/toolito/img/logo/logotype.png.webp" loading="lazy"  class="mx-auto" width="38" height="38" alt="Generation Voyage Logo">
1454        <form action="" @submit.prevent="submitNewPassword()">
1455            <span class="title">
1456                Réinitialiser votre mot de passe
1457            </span>
1458            <div class="form-group">
1459                <label for="">
1460                    Nouveau mot de passe                </label>
1461                <input :class="{'error-border':error}" type="password" required x-model="password" placeholder="Mot de passe">
1462            </div>
1463            <div class="form-group">
1464                <label for="">
1465                    Confirmation du nouveau mot de passe                </label>
1466                <input :class="{'error-border':error}" type="password" x-model="confirmPassword" required placeholder="Mot de passe">
1467            </div>
1468            <div class="form-group" x-show="error">
1469                <p class="error-field" x-text="error"></p>
1470            </div>
1471            <div class="form-group">
1472                <input type="submit" title="Enregistrer" class="btn-primary" value="Enregistrer">
1473            </div>
1474            <p>
1475                <a href="#" x-on:click.prevent="isSetNewPasswordShow = false; isRegisterShow = true;registerFrom = 'menu'">Créer un compte</a> | <a href="#" x-on:click.prevent="isSetNewPasswordShow = false; isLoginShow = true">Se connecter</a>
1476            </p>
1477        </form>
1478    </div>
1479</div>
1480<div x-show="isResetPasswordShow" x-cloak  class="popupAccount resetPasswordPopup" x-data="resetPassword">
1481    <div class="content" @click.outside="isResetPasswordShow = false">
1482        <span class="closePopup" x-on:click="isResetPasswordShow = false">
1483            <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
1484                <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
1485            </svg>
1486        </span>
1487        <img src="https://generationvoyage.fr/wp-content/themes/toolito/img/logo/logotype.png.webp" loading="lazy"  class="mx-auto" width="38" height="38" alt="Generation Voyage Logo">
1488        <form action="" @submit.prevent="submitReset()">
1489            <span class="title">
1490                Réinitialiser votre mot de passe
1491            </span>
1492            <div class="form-group">
1493                <label for="">
1494                    E-mail                </label>
1495                <input :class="{'error-border':error,'success-border':valid,'validated':valid}" type="text" required x-model="email" placeholder="E-mail">
1496                <small :class="{'error-field':error,'success-field':valid}" x-show="message" x-text="message"></small>
1497            </div>
1498            <div class="form-group">
1499                <input type="submit"  title="Réinitialiser" class="btn-primary" value="Réinitialiser">
1500            </div>
1501            <p>
1502                <a href="#" x-on:click.prevent="isResetPasswordShow = false; isRegisterShow = true;registerFrom = 'menu'">Créer un compte</a> | <a href="#" x-on:click.prevent="isResetPasswordShow = false; isLoginShow = true">Se connecter</a>
1503            </p>
1504        </form>
1505    </div>
1506</div>
1507<div x-show="isRegisterShow" x-cloak  class="popupAccount registerPopup" x-data="registerPopup">
1508    <div class="content" @click.outside="isRegisterShow = false, closePopup()">
1509        <span class="closePopup close" x-on:click="isRegisterShow = false">
1510            <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" class="w-6 h-6">
1511                <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
1512            </svg>
1513        </span>
1514        <img src="https://generationvoyage.fr/wp-content/themes/toolito/img/logo/logotype.png.webp" loading="lazy"  class="mx-auto" width="38" height="38" alt="Generation Voyage Logo">
1515        <form @submit.prevent="submitRegister()">
1516            <template x-if="step1 === true">
1517                <div  class="step1Register">
1518                    <template x-if="pro">
1519                        <span class="title">Créez un compte pro pour accéder aux données GenerationVoyage</span>
1520                    </template>
1521                    <template x-if="registerFrom === 'menu' && !pro">
1522                        <span class="title">Créez un compte pour retrouver vos listes d'articles favoris</span>
1523                    </template>
1524                    <template x-if="registerFrom === 'bookmark'">
1525                        <span class="title">
1526                            Pour sauvegarder un article dans votre liste, créez un compte.
1527                        </span>
1528                    </template>
1529                    <template x-if="registerFrom === 'votes'">
1530                        <span class="title">
1531                            Pour voter, créez un compte.
1532                        </span>
1533                    </template>
1534                    <template x-if="!pro">
1535                    <div class="form-group form-group-checkbox">
1536                        <input type="checkbox" class="optin-newsletter" x-model="newsletter" id="newletterRegister">
1537                        <label for="newletterRegister">
1538                            Je veux recevoir par emails les meilleures expériences à vivre.
1539                            Pas de spams promis.
1540                        </label>
1541                    </div>
1542                    </template>
1543                    <div class="form-group">
1544                        <label for="">
1545                            E-mail                        </label>
1546                        <input :class="{'error-border':errorEmail, 'validated':emailValid}" type="email" x-model="email" placeholder="E-mail">
1547                        <small class="error-field" x-text="errorEmail"></small>
1548                    </div>
1549                    <div class="form-group">
1550                        <button type="submit" title="Recherche" class="btn-primary signup-step-1" x-on:click.prevent="checkEmailExist()">
1551                            <svg x-cloak x-show="loading" class="animate-spin text-white" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24">
1552                                <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
1553                                <path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
1554                            </svg>Continuer
1555                        </button>
1556                    </div>
1557                    <div>
1558                        <p>
1559                            Déjà un compte ? <a href="#" class="login-redirect" x-on:click.prevent="isLoginShow = true; isRegisterShow = false">Se connecter</a>
1560                        </p>
1561                    </div>
1562                </div>
1563            </template>
1564            <template x-if="step2 === true">
1565                <div class="step2Register">
1566                    <span class="title">
1567                        Choisissez un nom d’utilisateur et un mot de passe
1568                    </span>
1569                    <div class="form-group">
1570                        <label for="">
1571                            Nom d'utilisateur                        </label>
1572                        <input :class="{'error-border':errorUsername, 'validated':usernameValid}" x-on:input.debounce="checkUserExist" type="text" x-model="username" required placeholder="Nom d'utilisateur">
1573                        <small class="error-field" x-text="errorUsername"></small>
1574                    </div>
1575                    <div class="form-group">
1576                        <label for="">
1577                            Mot de passe                        </label>
1578                        <input :class="{'error-border':errorPassword, 'validated':passwordValid}" type="password" minlength="8" x-model="password" required placeholder="Mot de passe">
1579                    </div>
1580                    <div class="form-group">
1581                        <p>
1582                            En cliquant sur Créer un compte, vous acceptez les <a target="_blank" href="https://generationvoyage.fr/conditions-generales-utilisation/">Conditions générales d'utilisation</a> et vous reconnaisez  avoir pris connaissance de la
1583                            <a target="_blank" href="https://generationvoyage.fr/charte-de-confidentialite/">politique de confidentialité</a> de Generation Voyage.
1584                        </p>
1585                    </div>
1586                    <div class="form-group">
1587                        <button type="submit" title="Connexion" class="btn-primary signup" value="Connexion">
1588                            <svg x-cloak x-show="loading" class="animate-spin text-white" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24">
1589                                <circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle>
1590                                <path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path>
1591                            </svg>Créer un compte
1592                        </button>
1593                    </div>
1594                    <a href="#" class="back" x-on:click.prevent="step1=true; step2=false">Retour</a>
1595                </div>
1596            </template>
1597        </form>
1598    </div>
1599</div>
1600
1601
1602<script>
1603    const openBtn = document.getElementById('open-search-popup');
1604    const openBtnHeader = document.getElementById('search-header-button');
1605    const closeBtn = document.getElementById('close-popup');
1606    const popup = document.getElementById('searchPopup');
1607    const searchInput = document.querySelector('.popup-search__input');
1608
1609    if (openBtn) {
1610        openBtn.addEventListener('click', () => {
1611            popup.classList.add('active');
1612            setTimeout(() => searchInput.focus(), 300);
1613        });
1614    }
1615
1616    if (openBtnHeader) {
1617        openBtnHeader.addEventListener('click', () => {
1618            popup.classList.add('active');
1619            setTimeout(() => searchInput.focus(), 300);
1620        });
1621    }
1622
1623    if (closeBtn) {
1624        closeBtn.addEventListener('click', () => {
1625            popup.classList.remove('active');
1626        });
1627    }
1628
1629    if (popup) {
1630        popup.addEventListener('click', (e) => {
1631            if (e.target === popup) {
1632                popup.classList.remove('active');
1633            }
1634        });
1635    }
1636
1637    document.addEventListener('keydown', (e) => {
1638        if (e.key === 'Escape' && popup.classList.contains('active')) {
1639            popup.classList.remove('active');
1640        }
1641    });
1642</script>
1642
1643
1644
1645
1646<script  src="https://generationvoyage.fr/wp-content/themes/toolito/dist/app.ab64b6d2336d7c47153804e8d9be91b2.js"></script>
vendor: 1 bytes, line 1646
1646
1647<script>
1648    console.log(`
1649
1650                  .....
1651             .:-----------:
1652           .------:::::------
1653          :----:         :---:
1654         .----             .
1655         :---:        .......
1656         :----      -----------
1657          ----:     .::::-----:
1658           ----:         -----
1659           .----:       -----
1660             ----:     -----
1661              ----:   ----:
1662               :----:----.
1663                .-------
1664                 .-----
1665                   .:.
1666
1667
1668`)
1669</script>
vendor: 1 bytes, line 1669
1669
1670<script>console.log("On recrute en dev, growth & produit : https://bit.ly/gctech-recrute")</script>
1670
1671
1672
1673<script>var rocket_beacon_data = {"ajax_url":"https:\/\/generationvoyage.fr\/wp-admin\/admin-ajax.php","nonce":"9a055831bf","url":"https:\/\/generationvoyage.fr\/contact","is_mobile":false,"width_threshold":1600,"height_threshold":700,"delay":500,"debug":null,"status":{"atf":true,"lrc":true,"preconnect_external_domain":true},"elements":"img, video, picture, p, main, div, li, svg, section, header, span","lrc_threshold":1800,"preconnect_external_domain_elements":["link","script","iframe"],"preconnect_external_domain_exclusions":["static.cloudflareinsights.com","rel=\"profile\"","rel=\"preconnect\"","rel=\"dns-prefetch\"","rel=\"icon\""]}</script>
1673<script data-name="wpr-wpr-beacon" src='https://generationvoyage.fr/wp-content/plugins/wp-rocket/assets/js/wpr-beacon.min.js' async></script>
1673<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4bc70e2c01a94c73b74392e4234840661791215815920" integrity="sha512-L0ha0OXavK/8okipN9F8BtP84dg9DUhPERbBXzwI6dgTA55d2+yweo3pn5CSFYs45/r8md2+xvUPtTdvTNRfjA==" data-cf-beacon='{"version":"2024.11.0","token":"1ec4153c727e4e7c97f9a3d7c1f810c8","spa":2}' crossorigin="anonymous"></script>
1673
1674</body>
1675</html>
1676<!-- Performance optimized by Redis Object Cache. Learn more: https://wprediscache.com -->
1677
1678<!-- This website is like a Rocket, isn't it? Performance optimized by WP Rocket. Learn more: https://wp-rocket.me -->

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.