PageSourceSearch

https://www.des-balles-et-des-birdies.com/recherchePartenaire

html des-balles-et-des-birdies.com collected 2026-09-24 11:38:16 UTC 36,131 bytes, 725 lines download raw bytes

1
2
3    
4<!DOCTYPE html>
5<html lang="fr" data-bs-theme="light">
6<head>
7    <meta charset="utf-8">
8    <title>Trouver un partenaire de golf</title>
9    
10
11    <meta name="author" content="Des  balles et des birdies">
12    <meta name="viewport" content="width=device-width, initial-scale=1">
13
14    <link rel="apple-touch-icon" sizes="57x57" href="/assets/favicon/apple-icon-57x57-bCeEQqy.png">
15<link rel="apple-touch-icon" sizes="60x60" href="/assets/favicon/apple-icon-60x60-8P020Kg.png">
16<link rel="apple-touch-icon" sizes="72x72" href="/assets/favicon/apple-icon-72x72-APojl41.png">
17<link rel="apple-touch-icon" sizes="76x76" href="/assets/favicon/apple-icon-76x76-6sc9Aau.png">
18<link rel="apple-touch-icon" sizes="120x120" href="/assets/favicon/apple-icon-120x120-merJAYB.png">
19<link rel="apple-touch-icon" sizes="152x152" href="/assets/favicon/apple-icon-152x152-s7ubxgV.png">
20<link rel="apple-touch-icon" sizes="180x180" href="/assets/favicon/apple-icon-180x180-qtj3f8s.png">
21<link rel="apple-touch-icon" sizes="180x180" href="/assets/favicon/apple-icon-180x180-qtj3f8s.png">
22<link rel="icon" type="image/png" sizes="48x48"  href="/assets/favicon/android-icon-48x48-RXRKwbd.png">
23<link rel="icon" type="image/png" sizes="192x192"  href="/assets/favicon/android-icon-192x192-G2mgb0l.png">
24<link rel="icon" type="image/png" sizes="32x32" href="/assets/favicon/favicon-32x32-KVJR-2M.png">
25<link rel="icon" type="image/png" sizes="96x96" href="/assets/favicon/favicon-96x96-bNZK04O.png">
26<link rel="icon" type="image/png" sizes="16x16" href="/assets/favicon/favicon-16x16-PIVszve.png">
27<meta name="msapplication-TileColor" content="#ffffff">
28<meta name="msapplication-TileImage" content="/ms-icon-144x144.png">
29<meta name="theme-color" content="#ffffff">    <meta name="theme-color" content="#ffffff">
30
31    <link rel="stylesheet" media="screen" href="/assets/styles_public/boxicons/css/boxicons.min-bB4YBOI.css">
32    <link rel="stylesheet" media="screen" href="/assets/styles_public/swiper/swiper-bundle.min-4wtl_o-.css">
33    <link rel="stylesheet" media="screen"
34          href="/assets/styles_public/lightgallery/css/lightgallery-bundle.min-XLQ9CDp.css">
35
36
37    <!-- Google tag (gtag.js) -->
vendor: 68 bytes, lines 37-38
37
38    <script async src="https://www.googletagmanager.com/gtag/js?id=
38G-G5GMP4XKBW
vendor: 16 bytes, lines 38-39
38"></script>
39    
39<script>
40        
vendor: 152 bytes, lines 40-44
40window.dataLayer = window.dataLayer || [];
41        function gtag(){dataLayer.push(arguments);}
42        gtag('js', new Date());
43
44        gtag('config', '
44G-G5GMP4XKBW
vendor: 8 bytes, lines 44-45
44');
45    
45</script>
45
46
47
48    
48<script>window.addEventListener('beforeinstallprompt', (e) => {
49            e.preventDefault(); // empêche la bannière
50        });
51    </script>
51
52            
53<link rel="stylesheet" href="/assets/styles_public/theme.min-ajoxhgE.css">
54<link rel="stylesheet" href="/assets/styles_public/custom-lZkp8Nl.css">
55<script type="importmap">
56{
57    "imports": {
58        "app_public": "/assets/app_public-zSwYIHJ.js",
59        "/assets/styles_public/theme.min.css": "data:application/javascript,",
60        "/assets/styles_public/custom.css": "data:application/javascript,",
61        "app": "/assets/app-W6n8PUP.js",
62        "/assets/styles/style.bundle.css": "data:application/javascript,document.head.appendChild%28Object.assign%28document.createElement%28%22link%22%29%2C%7Brel%3A%22stylesheet%22%2Chref%3A%22%2Fassets%2Fstyles%2Fstyle.bundle-qb0kpAG.css%22%7D%29%29",
63        "/assets/styles/plugins.bundle.css": "data:application/javascript,document.head.appendChild%28Object.assign%28document.createElement%28%22link%22%29%2C%7Brel%3A%22stylesheet%22%2Chref%3A%22%2Fassets%2Fstyles%2Fplugins.bundle-lX9Ccd1.css%22%7D%29%29",
64        "/assets/styles/app.css": "data:application/javascript,document.head.appendChild%28Object.assign%28document.createElement%28%22link%22%29%2C%7Brel%3A%22stylesheet%22%2Chref%3A%22%2Fassets%2Fstyles%2Fapp-xOO7Fmj.css%22%7D%29%29",
65        "/assets/styles/datagrid.css": "data:application/javascript,document.head.appendChild%28Object.assign%28document.createElement%28%22link%22%29%2C%7Brel%3A%22stylesheet%22%2Chref%3A%22%2Fassets%2Fstyles%2Fdatagrid-Tat1gCv.css%22%7D%29%29",
66        "@vue/runtime-dom": "/assets/vendor/@vue/runtime-dom/runtime-dom.index-9lN1oLS.js",
67        "@vue/runtime-core": "/assets/vendor/@vue/runtime-core/runtime-core.index-X-lYdVE.js",
68        "@vue/shared": "/assets/vendor/@vue/shared/shared.index-opSYUQr.js",
69        "@vue/reactivity": "/assets/vendor/@vue/reactivity/reactivity.index-kT9G5vb.js",
70        "vue-autosuggest": "/assets/vendor/vue-autosuggest/vue-autosuggest.index-_wMrD-J.js",
71        "vue": "/assets/vendor/vue/vue.index-3-wYR6W.js"
72    }
73}
74</script>
74<script async>
75if (!HTMLScriptElement.supports || !HTMLScriptElement.supports('importmap')) (function () {
76    const script = document.createElement('script');
77    script.src = 'https://ga.jspm.io/npm:[email protected]/dist/es-module-shims.js';
78    script.setAttribute('async', 'async');
79    script.setAttribute('crossorigin', 'anonymous');
80    script.setAttribute('integrity', 'sha384-ie1x72Xck445i0j4SlNJ5W5iGeL3Dpa0zD48MZopgWsjNB/lt60SuG1iduZGNnJn');
81    document.head.appendChild(script);
82})();
83</script>
83
84<link rel="modulepreload" href="/assets/app_public-zSwYIHJ.js">
85<script type="module">import 'app_public';</script>
85        <!-- Brevo Conversations {literal} -->
86        
86<script>
87            (function(d, w, c) {
88                w.BrevoConversationsID = '6781350f1d7ce294d50a5f5c';
89                w[c] = w[c] || function() {
90                    (w[c].q = w[c].q || []).push(arguments);
91                };
92                var s = d.createElement('script');
93                s.async = true;
94                s.src = 'https://conversations-widget.brevo.com/brevo-conversations.js';
95                if (d.head) d.head.appendChild(s);
96            })(document, window, 'BrevoConversations');
97        </script>
97
98        <!-- /Brevo Conversations {/literal} -->
99    
100        <link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/leaflet.css" />
101</head>
102<body>
103
104<main class="page-wrapper">
105    <header class="header d-print-none navbar navbar-expand-lg    fixed-top  shadow-sm  bg-white  ">
106        <div class="container px-3">
107            <a href="/" class="navbar-brand pe-3">
108                <img src="/assets/images/logopicto-ha8QagH.svg" width="47" alt="Des Balles et des Birdies">
109                <img src="/assets/images/DBDBligth-ZH6h-A6.svg" width="127"
110                     alt="Des Balles et des Birdies">
111            </a>
112            <div id="navbarNav" class="offcanvas offcanvas-end ">
113                <div class="offcanvas-header border-bottom ">
114                    <h5 class="offcanvas-titl   ">Menu</h5>
115                    <button type="button" class="btn-close " data-bs-dismiss="offcanvas"
116                            aria-label="Close"></button>
117                </div>
118                <div class="offcanvas-body">
119                    <ul class="navbar-nav me-auto mb-2 mb-lg-0">
120
121                        <li class="nav-item">
122                            <a href="/calculScoreE1" class="nav-link">Calcul du score</a>
123                        </li>
124                        <li class="nav-item">
125                            <a href="/recherchePartenaire" class="nav-link">Partenaire de golf</a>
126                        </li>
127
128                        <li class="nav-item dropdown">
129                            <a href="#" class="nav-link dropdown-toggle " data-bs-toggle="dropdown" aria-current="page">FAQ</a>
130                            <div class="dropdown-menu  p-0">
131                                <div class="d-lg-flex">
132
133                                    <div class="mega-dropdown-column pt-lg-3 pb-lg-4"
134                                         style="--si-mega-dropdown-column-width: 15rem;">
135                                        <ul class="list-unstyled mb-0">
136                                            <li><a href="/faq/stableford" class="dropdown-item text-wrap"> Définition du
137                                                    stableford </a></li>
138                                            <li><a href="/faq/choisir-couleur-depart" class="dropdown-item text-wrap">
139                                                    Quel départ choisir </a></li>
140                                            <li>
140<a href="/faq/le-slope" class="dropdown-item text-wrap"> Définition du
141                                                    slope </a></li>
142                                            <li><a href="/faq/le-sss" class="dropdown-item text-wrap"> Définition
143                                                    SSS </a></li>
144                                            <li><a href="/faq/comment-calculer-index-golf-whs"
145                                                   class="dropdown-item text-wrap"> Comment calculer son index </a></li>
146                                            <li><a href="/faq/fairway-en-regulation" class="dropdown-item text-wrap">
147                                                    Farway en régulation </a></li>
148                                            <li><a href="/faq/green-en-regulation" class="dropdown-item text-wrap">
149                                                    Green en régulation </a></li>
150                                            <li><a href="/faq/competition" class="dropdown-item text-wrap"> Conseils
151                                                    pour votre première compétition de classement au golf </a></li>
152                                        </ul>
153                                                                            </div>
154                                    <div class="mega-dropdown-column d-flex justify-content-center align-items-center rounded-3 rounded-end-0 px-0"
155                                         style="margin: -1px; background-color: #f3f6ff;">
156                                        <img src="/assets/images/faq-rHmoisr.png" alt="Landings">
157                                    </div>
158                                </div>
159                            </div>
160                        </li>
161                        <li class="nav-item">
162                            <a href="/page/premium" class="nav-link">Premium</a>
163                        </li>
164                        <li class="nav-item">
165                            <a href="/private/" class="nav-link">Mon espace</a>
166                        </li>
167                    </ul>
168                </div>
169                <div class="offcanvas-header border-top border-light">
170                                            <div class="d-block w-100">
171                        <a href="/register" class="btn btn-outline-white mb-3 w-100 d-block" target="_blank" rel="noopener">
172                            <i class="bx bx-user fs-4 lh-1 me-1"></i> Créer un compte
173                        </a>
174
175                    <a href="/private/" class="btn btn-primary w-100" target="_blank" rel="noopener">
176                        <i class="bx bx-user fs-4 lh-1 me-1"></i> Se connecter
177                    </a>
178                        </div>
179                                    </div>
180            </div>
181
182            <button type="button" class="navbar-toggler" data-bs-toggle="offcanvas" data-bs-target="#navbarNav"
183                    aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
184                <span class="navbar-toggler-icon"></span>
185            </button>
186            
187            
188                            <a href="/register" class="btn btn-outline-primary text-white border-white btn-sm fs-sm rounded d-none d-lg-inline-flex me-2"
189                   target="_blank" rel="noopener">
190                    <i class="bx bx-user fs-5 lh-1 me-1"></i> Créer un compte
191                </a>
192                <a href="/private/" class="btn btn-primary btn-sm fs-sm rounded d-none d-lg-inline-flex"
193                   target="_blank" rel="noopener">
194                    <i class="bx bx-user fs-5 lh-1 me-1"></i> &nbsp;Se connecter
195                </a>
196            
197
198        </div>
199    </header>
200    
201
202    <section class="position-relative  pt-5">
203        <div class="container position-relative zindex-2 pt-5">
204
205            <nav class="pt-lg-4 pb-3 mb-2 mb-sm-3" aria-label="breadcrumb">
206                <ol class="breadcrumb mb-0">
207                    <li class="breadcrumb-item">
208                        <a href="/"><i class="bx bx-home-alt fs-lg me-1"></i>Accueil</a>
209                    </li>
210                    <li class="breadcrumb-item active" aria-current="page">Calcul du score</li>
211                </ol>
212            </nav>
213
214
215        </div>
216    </section>
217
218
219
220    <section class="container">
221        <div class="row">
222            <div class="col-lg-7 col-md-12 position-relative">
223
224                <h2 class="h3 pb-3">Rechercher un partenaire</h2>
225
226
227                <p class=" pb-3 text-muted">Vous cherchez un nouveau partenaire de golf ? Vous avez des
228                    critères de niveau, d'âge, de disponibilités ? Cet espace est fait pour vous.
229                    Vous pouvez contacter les golfeurs grâce à la messagerie interne.
230                <p>
231
232
233                <p class=" pb-3 "><a href="/private/offer/new"
234                                     class=" m-t-10 btn btn-outline-primary btn-sm ">Déposer une
235                        annonce</a></p>
236
237
238                <div class="d-block d-lg-none">
239                    <p>
240                        <select id="department" class="form-control">
241                            <option value="" disabled selected>Filtrer par departement</option>
242                            <option value="">Tous les departements</option>
243                            <option value="01">Ain</option>
244                            <option value="02">Aisne</option>
245                            <option value="03">Allier</option>
246                            <option value="05">Hautes-Alpes</option>
247                            <option value="04">Alpes-de-Haute-Provence</option>
248                            <option value="06">Alpes-Maritimes</option>
249                            <option value="07">Ardèche</option>
250                            <option value="08">Ardennes</option>
251                            <option value="09">Ariège</option>
252                            <option value="10">Aube</option>
253                            <option value="11">Aude</option>
254                            <option value="12">Aveyron</option>
255                            <option value="13">
255Bouches-du-Rhône</option>
256                            <option value="14">Calvados</option>
257                            <option value="15">Cantal</option>
258                            <option value="16">Charente</option>
259                            <option value="17">Charente-Maritime</option>
260                            <option value="18">Cher</option>
261                            <option value="19">Corrèze</option>
262                            <option value="2a">Corse-du-sud</option>
263                            <option value="2b">Haute-corse</option>
264                            <option value="21">Côte-d'or</option>
265                            <option value="22">Côtes-d'armor</option>
266                            <option value="23">Creuse</option>
267                            <option value="24">Dordogne</option>
268                            <option value="25">Doubs</option>
269                            <option value="26">Drôme</option>
270                            <option value="27">Eure</option>
271                            <option value="28">Eure-et-Loir</option>
272                            <option value="29">Finistère</option>
273                            <option value="30">Gard</option>
274                            <option value="31">Haute-Garonne</option>
275                            <option value="32">Gers</option>
276                            <option value="33">Gironde</option>
277                            <option value="34">Hérault</option>
278                            <option value="35">Ile-et-Vilaine</option>
279                            <option value="36">Indre</option>
280                            <option value="37">Indre-et-Loire</option>
281                            <option value="38">Isère</option>
282                            <option value="39">Jura</option>
283                            <option value="40">Landes</option>
284                            <option value="41">Loir-et-Cher</option>
285                            <option value="42">Loire</option>
286                            <option value="43">Haute-Loire</option>
287                            <option value="44">Loire-Atlantique</option>
288                            <option value="45">Loiret</option>
289                            <option value="46">Lot</option>
290                            <option value="47">Lot-et-Garonne</option>
291                            <option value="48">Lozère</option>
292                            <option value="49">Maine-et-Loire</option>
293                            <option value="50">Manche</option>
294                            <option value="51">Marne</option>
295                            <option value="52">Haute-Marne</option>
296                            <option value="53">Mayenne</option>
297                            <option value="54">Meurthe-et-Moselle</option>
298                            <option value="55">Meuse</option>
299                            <option value="56">Morbihan</option>
300                            <option value="57">Moselle</option>
301                            <option value="58">Nièvre</option>
302                            <option value="59">Nord</option>
303                            <option value="60">Oise</option>
304                            <option value="61">Orne</option>
305                            <option value="62">Pas-de-Calais</option>
306                            <option value="63">Puy-de-Dôme</option>
307                            <option value="64">Pyrénées-Atlantiques</option>
308                            <option value="65">Hautes-Pyrénées</option>
309                            <option value="66">Pyrénées-Orientales</option>
310                            <option value="67">Bas-Rhin</option>
311                            <option value="68">Haut-Rhin</option>
312                            <option value="69">Rhône</option>
313                            <option value="70">Haute-Saône</option>
314                            <option value="71">Saône-et-Loire</option>
315                            <option value="72">Sarthe</option>
316                            <option value="73">Savoie</option>
317                            <option value="74">Haute-Savoie</option>
318                            <option value="75">Paris</option>
319                            <option value="76">Seine-Maritime</option>
320                            <option value="77">Seine-et-Marne</option>
321                            <option value="78">Yvelines</option>
322                            <option value="79">Deux-Sèvres</option>
323                            <option value="80">Somme</option>
324                            <option value="81">Tarn</option>
325                            <option value="82">Tarn-et-Garonne</option>
326                            <option value="83">Var</option>
327                            <option value="84">Vaucluse</option>
328                            <option value="85">Vendée</option>
329                            <option value="86">Vienne</option>
330                            <option value="87">Haute-Vienne</option>
331                            <option value="88">Vosges</option>
332                            <option value="89">Yonne</option>
333                            <option value="90">Territoire de Belfort</option>
334                            <option value="91">Essonne</option>
335                            <option value="92">Hauts-de-Seine</option>
336                            <option value="93">Seine-Saint-Denis</option>
337                            <option value="94">Val-de-Marne</option>
338                            <option value="95">Val-d'oise</option>
339                            <option value="976">Mayotte</option>
340                            <option value="971">Guadeloupe</option>
341                            <option value="973">Guyane</option>
342                            <option value="972">Martinique</option>
343                            <option value="974">Réunion</option>
344                        </select>
345                    </p>
346                </div>
347
348
349
350
351                <div id="app-offers" v-cloak>
352                    <div v-if="loading" style="z-index:1000; background-color:rgba(255,255,255,0.36)"
353                         class="w-100 h-50 position-absolute d-flex justify-content-center align-items-center">
354                        <div id="span-loading">
355                            <div class="three-balls">
356                                <div class="ball ball1"></div>
357                                <div class="ball ball2"></div>
358                                <div class="ball ball3"></div>
359                            </div>
360                        </div>
361                    </div> 
362                    <div class="row mb-5">
363                        <div class="col-12 text-center">
364                            <div class="d-block d-lg-none">
365                                <nav aria-label="Page navigation" v-if="pageCount > 1">
366                                    <ul class="pagination justify-content-center">
367                                        <li class="page-item" :class="{ disabled: currentPageNumber === 1 }">
368                                            <a class="page-link" href="#"
369                                               @click.prevent="goToPageDepartment(currentPageNumber - 1)"
370                                               aria-label="Previous">
371                                                <span aria-hidden="true">&laquo;</span>
372                                            </a>
373                                        </li>
374                                        <li class="page-item" v-for="page in displayedPages" :key="page"
375                                            :class="{ active: page === currentPageNumber }">
376                                            <a class="page-link" href="#" @click.prevent="goToPageDepartment(page)">${
377                                                page }$</a>
378                                        </li>
379                                        <li class="page-item" :class="{ disabled: currentPageNumber === pageCount }">
380                                            <a class="page-link" href="#"
381                                               @click.prevent="goToPageDepartment(currentPageNumber + 1)"
382                                               aria-label="Next">
383                                                <span aria-hidden="true">&raquo;</span>
384                                            </a>
385                                        </li>
386                                    </ul>
387
388                                </nav>
389                            </div>
390                            <div class="d-lg-block d-none">
391                                <nav aria-label="Page navigation" v-if="pageCount > 1">
392                                    <ul class="pagination justify-content-center">
393                                        <li class="page-item" :class="{ disabled: currentPageNumber === 1 }">
394                                            <a class="page-link" href="#"
395                                               @click.prevent="goToPage(currentPageNumber - 1)"
396                                               aria-label="Previous">
397                                                <span aria-hidden="true">&laquo;</span>
398                                            </a>
399                                        </li>
400                                        <li class="page-item" v-for="page in displayedPages" :key="page"
401                                            :class="{ active: page === currentPageNumber }">
402                                            <a class="page-link" href="#" @click.prevent="goToPage(page)">${ page }$</a>
403                                        </li>
404                                        <li class="page-item" :class="{ disabled: currentPageNumber === pageCount }">
405                                            <a class="page-link" href="#"
406                                               @click.prevent="goToPage(currentPageNumber + 1)"
407                                               aria-label="Next">
408                                                <span aria-hidden="true">&raquo;</span>
409                                            </a>
410                                        </li>
411                                    </ul>
412
413                                </nav>
414                            </div>
415                        </div>
416                    </div>
417
418                    <div class="row row-cols-1 row-cols-md-2 g-4">
419
420                        <div class="col" v-for="offer in offers">
421                            <div class="card">
422                                <div class="card-body">
423                                    <div class="d-flex align-items-center mb-3">
424                                        <img v-bind:src="offer.photo" class="rounded-circle" width="60">
425                                        <div class="d-flex ms-2 justify-content-start flex-column">
426                                            <h6 class="mb-0  "> ${ offer.username }$</h6>
427                                            <span class="text-gray-500 fw-semibold d-block fs-xs">${ offer.civilite }$, index ${offer.index}$</span>
428                                        </div>
429                                    </div>
430
431                                    <div class="qui mt-2"> ${offer.cherche}$
432                                    </div>
433                                    <div class="quand mt-1">
434                                        <span class="fs-sm fw-bold">Quand : </span>
435                                        ${ offer.quand }$
436
437                                    </div>
438                                    <div class="ou mt-1">
439                                        <span class="fs-sm fw-bold">Où : </span>
440                                        ${offer.ou}$
441                                    </div>
442                                    <div class="mt-3">
443                                        <a v-bind:href="offer.contact" class="btn btn-sm  btn-outline-primary mr-2"><i
444                                                    class="czi-mail mr-2"></i>Contacter</a>
445                                    </div>
446
447                                </div>
448                            </div>
449                        </div>
450
451                    </div>
452
453                    <div class="row mt-5">
454                        <div class="col-12 text-center">
455                            <nav aria-label="Page navigation" v-if="pageCount > 1">
456                                <ul class="pagination justify-content-center">
457                                    <li class="page-item" :class="{ disabled: currentPageNumber === 1 }">
458                                        <a class="page-link" href="#" @click.prevent="goToPage(currentPageNumber - 1)"
459                                           aria-label="Previous">
460                                            <span aria-hidden="true">&laquo;</span>
461                                        </a>
462                                    </li>
463                                    <li class="page-item" v-for="page in displayedPages" :key="page"
464                                        :class="{ active: page === currentPageNumber }">
465                                        <a class="page-link" href="#" @click.prevent="goToPage(page)">${ page }$</a>
466                                    </li>
467                                    <li class="page-item" :class="{ disabled: currentPageNumber === pageCount }">
468                                        <a class="page-link" href="#" @click.prevent="goToPage(currentPageNumber + 1)"
469                                           aria-label="Next">
470                                            <span aria-hidden="true">&raquo;</span>
471                                        </a>
472                                    </li>
473                                </ul>
474                                <div class="mt-2">Page ${ currentPageNumber }$ sur ${ pageCount }$</div>
475
476                            </nav>
477                        </div>
478                    </div>
479                </div>
480
481
482            </div>
483
484
485            <div class="col-lg-5  d-none d-lg-flex bg-white ">
486                <div class="mapfix">
487                    <div id="map">
488                        ...
489                    </div>
490                </div>
491
492            </div>
493        </div>
494    </section>
495
496
497
498
499</main>
500
501
502
503
504<!-- Back to top button -->
505<a href="#top" class="btn-scroll-top" data-scroll>
506    <span class="btn-scroll-top-tooltip text-muted fs-sm me-2">Top</span>
507    <i class="btn-scroll-top-icon bx bx-chevron-up"></i>
508</a>
509
510
511<!-- Vendor Scripts -->
512<script src="/assets/styles_public/parallax-js/dist/parallax.min-PE3jSyW.js"></script>
vendor: 1 bytes, line 512
512
513<script src="/assets/styles_public/rellax/rellax.min-eqTDWrL.js"></script>
vendor: 1 bytes, line 513
513
514<script src="/assets/styles_public/swiper/swiper-bundle.min-ZzHsDC_.js"></script>
vendor: 1 bytes, line 514
514
515<script src="/assets/styles_public/lightgallery/lightgallery.min-8_HbNBf.js"></script>
515
516
517<script src="/assets/js/theme_public.min-u2o-DDa.js"></script>
517
518
519
520        
520<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
520
521    
521<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/3.4.21/vue.global.min.js"></script>
521
522    
522<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
522
523
524    
524<script src="https://unpkg.com/[email protected]/dist/leaflet.js"></script>
524
525    
525<script>
526        var markers = [];
527
528
529        function debounce(func, delay) {
530            let timeoutId;
531            return function (...args) {
532                const context = this; // Capture 'this' context
533                clearTimeout(timeoutId);
534                timeoutId = setTimeout(() => {
535                    func.apply(context, args); // Use captured context
536                }, delay);
537            };
538        }
539
540        const callAjax = async (slt, slg, nlt, nlg, page) => {
541            vm.loading=true;
542
543
544
545            var sendAjax = $.ajax({
546                type: "POST",
547                url: "/gpscourse ",
548                data: 'SO_lt=' + slt + '&SO_lg=' + slg + '&NE_lt=' + nlt + '&NE_lg=' + nlg + '&page=' + page,
549                success: function (json) {
550                    var retour = JSON.parse(json);
551                    var courses = retour['courses'];
552
553                    for (var i = 0; i < markers.length; i++) {
554                        markers[i].remove();
555                    }
556                    markers = [];
557
558                    // On parcourt l'objet villes
559                    for (course in courses) {
560                        createMarker(course, courses);
561                    }
562
563                    vm.offers = retour['elements'];
564                    vm.currentPageNumber = retour['currentPageNumber'];
565                    vm.pageCount = retour['pageCount'];
566                    vm.slt = slt;
567                    vm.slg = slg;
568                    vm.nlt = nlt;
569                    vm.nlg = nlg;
570
571                },
572                complete: function (json) {
573                    vm.loading=false;
574
575                }
576            });
577
578        };
579
580        const callDepartmentAjax = async (department, page) => {
581
582
583            vm.loading=true;
584
585            var sendAjax = $.ajax({
586                type: "POST",
587                url: "/gpscoursedepartment ",
588                data: 'department=' + department + '&page=' + page,
589                success: function (json) {
590                    var retour = JSON.parse(json);
591
592                    vm.offers = retour['elements'];
593                    vm.currentPageNumber = retour['currentPageNumber'];
594                    vm.pageCount = Math.round(retour['totalItem'] / 2);
595                    vm.department = department;
596
597                },
598                complete: function (json) {
599                    vm.loading=false;
600                }
601            });
602        }
603
604
605        function createMarker(ville, villes) {
606            var icon = L.icon({
607                iconUrl: '/images/marker.svg',
608                iconSize: [26, 33],
609                iconAnchor: [13, 33]
610            });
611
612            var marker = L.marker(
613                [parseFloat(villes[ville].lat), parseFloat(villes[ville].lon)],
614                { title: villes[ville].nomVille, icon: icon }
615            ).addTo(map);
616
617            markers.push(marker);
618        }
619
620        var app = Vue.createApp({
621            data() {
622                return {
623                    offers: [],
624                    pageCount: 1,
625                    currentPageNumber: 1,
626                    slt: 0,
627                    slg: 0,
628                    nlt: 0,
629                    nlg: 0,
630                    department: "",
631                    maxVisiblePages: 6,
632                    markerIcon: "/bundles/app/images/marker.svg", // Chemin vers votre icône
633                    loading:false
634                };
635            },
636            delimiters: ["${", "}$"],
637            computed: {
638                displayedPages() {
639                    const pages = [];
640                    const startPage = Math.max(1, this.currentPageNumber - Math.floor(this.maxVisiblePages / 2));
641                    const endPage = Math.min(this.pageCount, startPage + this.maxVisiblePages - 1);
642
643                    for (let i = startPage; i <= endPage; i++) {
644                        pages.push(i);
645                    }
646                    return pages;
647                }
648            },
649            methods: {
650                goToPage(page) {
651                    if (page >= 1 && page <= this.pageCount && page !== this.currentPageNumber) {
652                        this.currentPageNumber = page;
653                        this.fetchOffers(); // Appel à la fonction de récupération des offres
654                    }
655                },
656                goToPageDepartment(page) {
657                    if (page >= 1 && page <= this.pageCount && page !== this.currentPageNumber) {
658                        this.currentPageNumber = page;
659                        this.fetchOffersDepartment(); // Appel à la fonction de récupération des offres
660                    }
661                },
662                fetchOffers() {
663                    callAjax(this.slt, this.slg, this.nlt, this.nlg, this.currentPageNumber);
664                },
665                fetchOffersDepartment() {
666                    callDepartmentAjax(this.department, this.currentPageNumber);
667                }
668            },
669            mounted() {
670
671            },
672            watch: {}
673        });
674
675        const vm = app.mount("#app-offers");
676
677
678        var lat = 48.852969;
679        var lon = 2.349903;
680        $('#span-loading').hide();
681
682        let map;
683
684
685        $('#department').change(function () {
686            if ($(this).val().length > 0) {
687                vm.department = $(this).val();
688            } else {
689                vm.department = 0;
690
691            }
692            vm.fetchOffersDepartment();
693        });
694
695
696        function initMap() {
697            map = L.map('map').setView([lat, lon], 8);
698
699            L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
700                attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a>'
701            }).addTo(map);
702
703            map.on('moveend zoomend', () => {
704                const bounds = map.getBounds();
705                const sw = bounds.getSouthWest();
706                const ne = bounds.getNorthEast();
707                vm.slt = sw.lat;
708                vm.nlt = ne.lat;
709                vm.slg = sw.lng;
710                vm.nlg = ne.lng;
711                vm.department = "";
712                vm.currentPageNumber = 1;
713                vm.fetchOffers();
714            });
715        }
716
717        initMap();
718
719    </script>
719
720
721
722
723
724</body>
725</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.