PageSourceSearch

https://ca-proteine.fr/blog/show

html ca-proteine.fr collected 2026-10-07 06:46:41 UTC 25,116 bytes, 599 lines download raw bytes

1<!DOCTYPE html>
2
3<html lang="fr">
4	<head>
5		<meta charset="utf-8">
6		<meta name="google-site-verification" content="4il9OUGjCfAc6eDtWA7uSXkhUA4FnukOz3xgETrwYV4" />
7		<meta http-equiv="X-UA-Compatible" content="IE=edge">
8		<meta name="viewport" content="width=device-width, initial-scale=1">
9		<meta name="description" content="">
10		<meta name="author" content="">
11        
11<script src="https://cmp.osano.com/AzqVZOU9eBY1C3XvH/c1819766-1aab-49c7-85f8-f05b86f55f67/osano.js"></script>
vendor: 77 bytes, lines 11-13
11
12        <script src='https://www.google.com/recaptcha/api.js'></script>
13		
13<link rel="icon" type="image/png" href="contenu/images/logoClubDaffaireProteine.png"/>
14		<!--<link rel="icon" type="image/png" href="contenu/images/logoConcept.png"/>-->
15
16		<link href="/elements_graphiques/styleSheet.css?v=1.04" rel="stylesheet">
17		<title>Blog - Club d'Affaires Protéine</title>
18
19		<link rel="preconnect" href="https://fonts.gstatic.com">
20		<link href="https://fonts.googleapis.com/css2?family=Jost:wght@500&display=swap" rel="stylesheet"
21
22		<!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
23		<!--[if lt IE 9]>
24		
24<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
24
25		
25<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
25
26		<![endif]-->
27
28		<!-- Global site tag (gtag.js) - Google Analytics -->
vendor: 67 bytes, lines 28-29
28
29		<script async src="https://www.googletagmanager.com/gtag/js?id=
29UA-91000219-1
vendor: 23 bytes, lines 29-31
29"></script>
30
31        
31<!-- Google Tag Manager Dev -->
32        
32<script>
vendor: 409 bytes, lines 32-37
32
33            (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
34                    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
35                j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
36                'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
37            })(window,document,'script','dataLayer','
37GTM-KCXQ3M5
vendor: 13 bytes, lines 37-38
37');
38        
38</script>
38
39        <!-- End Google Tag Manager -->
40
41        <!-- Google Tag Manager Prod -->
42        
42<script>
vendor: 395 bytes, lines 42-46
42(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
43                    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
44                j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
45                'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
46            })(window,document,'script','dataLayer','
46GTM-M933B4L
vendor: 3 bytes, line 46
46');
46</script>
46
47        <!-- End Google Tag Manager -->
48
49
50		
50<script>
51		  
vendor: 144 bytes, lines 51-55
51window.dataLayer = window.dataLayer || [];
52		  function gtag(){dataLayer.push(arguments);}
53		  gtag('js', new Date());
54
55		  gtag('config', '
55UA-91000219-1
vendor: 7 bytes, lines 55-56
55');
56		
56</script>
56
57	</head>
58	<body>
59    
59<script src="https://cdn.jsdelivr.net/npm/cookieconsent@3/build/cookieconsent.min.js"></script>
59
60    
60<script>
61        window.cookieconsent.initialise({
62            container: document.getElementById("content"),
63            palette:{
64                popup: {background: "#fff"},
65                button: {background: "#aa0000"},
66            },
67            revokable:true,
68            onStatusChange: function(status) {
69                console.log(this.hasConsented() ?
70                    'enable cookies' : 'disable cookies');
71            },
72            law: {
73                regionalLaw: false,
74            },
75            location: true,
76        });
77    </script>
77
78
79    <!-- Google Tag Manager Dev (noscript) -->
vendor: 73 bytes, lines 79-80
79
80    <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
80GTM-KCXQ3M5
vendor: 111 bytes, lines 80-82
80"
81                      height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
82    
82<!-- End Google Tag Manager (noscript) -->
83
84    <!-- Google Tag Manager Prod (noscript) -->
vendor: 73 bytes, lines 84-85
84
85    <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
85GTM-M933B4L
vendor: 111 bytes, lines 85-87
85"
86                      height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
87    
87<!-- End Google Tag Manager (noscript) --><div class="navbar-wrapper">
88	<nav class="navbar navbar-default navbar-fixed-top" style="margin: 0px; padding: 0px; block-size:min-content;">
89		<div><a href="https://caproteine.fr"><img style="width: 100%" src="/elements_graphiques/images/bandeau_nouveau_site_internet.png"/></a></div>
90		<div class="container">
91			<div class="banniere">
92				<a href="/">
93					<div class="banniere">
94						<img alt="logo-Proteine" src="/contenu/images/bandeauClubDaffaireProteine.png" ><br/>
95						<span class="banniere nomPays">France</span>
96					</div>
97				</a>
98			</div>
99			<div class="navbar-header page-scroll">
100				<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
101					<span class="sr-only">Toggle navigation</span>
102					<span class="icon-bar"></span>
103					<span class="icon-bar"></span>
104					<span class="icon-bar"></span>
105				</button>
106			</div>
107			<div id="navbar" class="navbar-collapse collapse" >
108				<ul class="nav navbar-nav navbar-right menuRsx">
109					<li><a target="_blank" href="https://www.facebook.com/caproteine/"><i class="fa fa-facebook"></i></a></li>
110					<li><a target="_blank" href="https://www.linkedin.com/company/club-d%27affaires-prot%C3%A9ine?trk=biz-companies-cym"><i class="fa fa-linkedin"></i></a></li>
111					<li><a target="_blank" href="https://www.instagram.com/caproteine"><i class="fa fa-instagram" ></i></a></li>
112				</ul>
113				<ul class="nav navbar-nav navbar-right">
114					<li><a class="page-scroll" href="/#carte">Nous trouver</a></li>
115					<li><a class="page-scroll" href="/#concept">Concept</a></li>
116					<li><a class="page-scroll" href="/#contact">Contact</a></li>
117                    <li id="idhistoire" class="active"><a class="page-scroll" href="/histoire">Histoire</a></li>
118                    <li id="idblog"><a class="page-scroll" hidden href="/blog/show">Blog</a></li>
119                    <li id="idtemoignages"><a class="page-scroll" href="/temoignages">Témoignages</a></li>
120<!--                    <li id="idpodcast"><a class="page-scroll" href="/podcast">Podcast</a></li>-->
121
122                    <li><a class="page-scroll hidden-md hidden-sm hidden-xs" href="https://membre.ca-proteine.fr/">Connexion</a></li>
123					<li><a class="hidden-lg" href="https://membre.ca-proteine.fr/" data-toggle="tooltip" data-placement="bottom" title="Connexion"><i class="fa fa-sign-in"></i></a></li>
124				</ul>
125			</div>
126		</div>
127	</nav>
128    <!-- Modal -->
129    <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
130        <div class="modal-dialog" role="document">
131            <div class="modal-content">
132                <div class="modal-header">
133                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
134                        <span aria-hidden="true">&times;</span>
135                    </button>
136                </div>
137                <div class="modal-body">
138                    ...
139                </div>
140                <div class="modal-footer">
141
142                </div>
143            </div>
144        </div>
145    </div>
146</div>
146<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
vendor: 2 bytes, line 146
146
147<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/[email protected]/dist/amplitude.js"></script>
147
148
149<h1 style="text-align: center"><!--Blog--></h1>
150
151<div class="container containerFlex">
152    <div class="row containerArticle">
153
154
155
156
157    </div>
158
159
160</div>
161<div class="container containerBtn" style="margin-bottom: 250px">
162    <a href="/blog/all" class="btn btn-orange btnVoirAll">Voir tous les articles</a>
163</div>
164
165
166
167
168<style>
169
170
171
172    h2{
173
174        font-weight: bold;
175        margin-bottom: 5px;
176    }
177    small{
178        display: inline-block;
179        width: 100%;
180
181    }
182
183    .btn-orange{
184        background-color: #e74e12;
185        padding: 10px;
186        color: white;
187    }
188    .btn-orange:hover{
189        background-color: #ff642b;
190        color: white;
191    }
192    h1{
193        margin-top: 170px;
194
195    }
196    .containerFlex{
197        display: flex;
198        justify-content: center;
199    }
200
201    body {
202        padding: 2rem 0rem;
203    }
204
205    .panel{
206        width: 360px;
207        border: solid 2px #ae1b3c;
208        border-radius: 5px;
209    }
210    .panel-img {
211        border-bottom-left-radius: 0px;
212        border-bottom-right-radius: 0px;
213        height: 150px;
214        object-fit: cover;
215        width: 356px;
216        padding: 20px;
217    }
218
219    .panel-text {
220        height: 100px;
221        overflow: hidden;
222    }
223
224    .panel-title {
225        margin-bottom: 0.3rem;
226        font-size: large;
227        font-weight: bold;
228    }
229
230    .cat {
231        display: inline-block;
232        margin-bottom: 1rem;
233    }
234
235
236    .panel-footer {
237        font-size: 0.8rem;
238        background-color: #ae1b3c;
239    }
240
241    .panel-footer.text-muted{
242        color: white;
243        font-family: "Lato", sans-serif;
244        font-size: small;
245    }
246
247    .containerBtn{
248        display: flex;
249        justify-content: center;
250        margin-bottom: 250px
251    }
252
253    @media screen and (max-width: 1200px){
254        .navbar a{
255            font-size: 12px;
256        }
257    }
258
259
260</style>
261
262
263
264<script>
265
266    $('#idhistoire').removeClass('active')
267    $('#idblog').addClass('active')
268
269
270
271    function newArticle(title, contenu, dateAjout, srcImg, id, colLg, nbLikes, nbVues, url){
272            let isLike = `
273            <div class="views"><span>`+nbVues+`</span> <span style="margin-right: 5px" class="fa fa-eye"></span><span id="nbLike`+id+`">`+nbLikes+`</span> <span style="cursor: pointer" id="faLike`+id+`" onclick="incrementLike(`+id+`)" class="fa fa-thumbs-o-up"></span>
274            </div>
275            `
276
277            if (localStorage.getItem('likeArticle'+id) == "true"){
278                isLike =  `
279            <div class="views"><span>`+nbVues+`</span> <span style="margin-right: 5px" class="fa fa-eye"></span><span id="nbLike`+id+`">`+nbLikes+`</span> <span style="cursor: pointer" id="faLike`+id+`" onclick="decrementLike(`+id+`)" class="fa fa-thumbs-up"></span>
280            </div>
281            `
282            }
283
284            return article = `
285            <div class="col-12 col-sm-8 col-md-6 `+colLg+`">
286                <div class="panel">
287                    <img class="panel-img" src="`+srcImg+`"
288                         alt="Proteine">
289                        <div class="panel-img-overlay">
290                            <a href="#" class="btn btn-light btn-sm"></a>
291                        </div>
292                        <div class="panel-body">
293                        <h4 class="panel-title">`+title+`</h4>
294                    <small class="text-muted cat">
295            </small>
296                            <p class="panel-text ibox-content truncate fh-200" style="height: 100px">`+contenu+`</p>
297            <a href="`+url+`" class="btn btn-orange">Lire l'article</a>
298            </div>
299            <div style="display: flex; justify-content: space-between; align-content: center" class="panel-footer text-muted d-flex justify-content-between bg-transparent border-top-0">
300            <div class="views">`+dateAjout+`
301            </div>
302            `+isLike+`
303            </div>
304            </div>
305            </div> `;
306    }
307
308
309
310
311    $.ajax({
312        type: 'GET',
313        url: '/article/lister3Last',
314        dataType: 'json',
315        success: function (data) {
316
317            //pour fix bug lorsqu'il y a 2 articles seulement en mise en avant
318            colLg = "col-lg-4";
319
320            $.each((data.response.tabArticle), function (index, value) {
321                if (value.image == null){
322                    value.image = "https://ca-proteine.fr/contenu/images/logoClubDaffaireProteine.png"
323                }else {
324                    value.image = "https://app.ca-proteine.fr/uploads/ressources/blog/images/"+value.image
325                }
326
327                //pour fix bug lorsqu'il y a 2 articles seulement en mise en avant
328                if (data.response.tabArticle.length == 2){
329                    colLg = "col-lg-6";
330                }
331                dateTime = value.dateTimeAjout
332                parts = dateTime.split(/[- :]/);
333                date = `${parts[2]}/${parts[1]}/${parts[0]} ${parts[3]}:${parts[4]}`;
334                contenu = value.contenuBrut
335                var base_url = window.location.origin;
336                var id = value.id
337                var url = '/blog?titre='+value.titre+'&id='+id;
338                articleNew = $(newArticle(value.titre, contenu, date, value.image, value.id, colLg, value.nbLikes, value.nbVue, base_url+url))
339                $(".containerArticle").append(articleNew)
340                // articleNew.find(".btn").click(function (){
341                //     id = value.id
342                //     var base_url = window.location.origin;
343                //     var url = '/blog?titre='+value.titre+'&id='+id;
344                //     var form = $('<form action="' + url + '" method="post">' +
345                //         '<input hidden type="text" name="id" value="'+id+'" />' +
346                //         '</form>');
347                //     $(this).append(form);
348                //     form.submit();
349                // })
350                $(".truncate").dotdotdot({
351                    watch: 'window'
352                });
353
354            })
355
356        }
357
358    });
359
360    //articleHide = $(article).hide()
361
362    function ellipsify (str) {
363        if (str.length > 300) {
364            return (str.substring(0, 300) + "..." );
365        }
366        else {
367            return str;
368        }
369    }
370
371    function incrementLike(id){
372        $.ajax({
373            type: 'POST',
374            url: '/article/incrementLikeArticle',
375            dataType: 'json',
376            data: {
377                id : id
378            },
379            success: function (data) {
380
381                //todo mettre en localStorage le like
382                localStorage.setItem('likeArticle'+id, "true")
383                $("#nbLike"+id).text(parseInt($("#nbLike"+id).text())+1)
384                $("#faLike"+id).removeClass("fa-thumbs-o-up")
385                $("#faLike"+id).addClass("fa-thumbs-up")
386                $("#faLike"+id).attr("onclick", "decrementLike("+id+")")
387
388
389
390            }
391
392        });
393    }
394
395    function decrementLike(id){
396        $.ajax({
397            type: 'POST',
398            url: '/article/decrementLikeArticle',
399            dataType: 'json',
400            data: {
401                id : id
402            },
403            success: function (data) {
404
405                //todo mettre en localStorage le like
406                localStorage.setItem('likeArticle'+id, "false")
407                $("#nbLike"+id).text(parseInt($("#nbLike"+id).text())-1)
408                $("#faLike"+id).removeClass("fa-thumbs-up")
409                $("#faLike"+id).addClass("fa-thumbs-o-up")
410                $("#faLike"+id).attr("onclick", "incrementLike("+id+")")
411
412            }
413
414        });
415    }
416
417
418</script>
418<!--*************************************************
419 ************ Chargement des scripts ****************
420 *************************************************-->
421
422<script type="text/javascript" src="https://js01-public.ca-proteine.fr/jquery-2.1.1/jquery-2.1.1.js"></script>
vendor: 2 bytes, line 422
422
423<script type="text/javascript" src="https://js02-public.ca-proteine.fr/jquery-validation-1.16.0/jquery.validate.min.js"></script>
vendor: 2 bytes, line 423
423
424<script type="text/javascript" src="https://js03-public.ca-proteine.fr/jquery-validation-1.16.0/additional-methods.min.js"></script>
vendor: 2 bytes, line 424
424
425<script type="text/javascript" src="https://js04-public.ca-proteine.fr/jquery-validation-1.16.0/messages_fr.js"></script>
vendor: 2 bytes, line 425
425
426<script type="text/javascript" src="https://js05-public.ca-proteine.fr/pace/pace.min.js"></script>
vendor: 2 bytes, line 426
426
427<script type="text/javascript" src="https://js05-public.ca-proteine.fr/bootstrap/bootstrap.min.js"></script>
vendor: 2 bytes, line 427
427
428<script type="text/javascript" src="https://js01-public.ca-proteine.fr/bootbox/bootbox.min.js"></script>
vendor: 2 bytes, line 428
428
429<script type="text/javascript" src="https://js02-public.ca-proteine.fr/classie/classie.js"></script>
vendor: 2 bytes, line 429
429
430<script type="text/javascript" src="https://js03-public.ca-proteine.fr/animatedHeader/cbpAnimatedHeader.js"></script>
vendor: 2 bytes, line 430
430
431<script type="text/javascript" src="https://js04-public.ca-proteine.fr/wow/wow.min.js"></script>
vendor: 2 bytes, line 431
431
432<script type="text/javascript" src="https://js05-public.ca-proteine.fr/theme/inspinia.js"></script>
vendor: 2 bytes, line 432
432
433<script type="text/javascript" src="https://js01-public.ca-proteine.fr/slick-1.6.0/slick/slick.js"></script>
vendor: 2 bytes, line 433
433
434<script type="text/javascript" src="https://js02-public.ca-proteine.fr/leaflet-1.4.0/leaflet.js"></script>
vendor: 2 bytes, line 434
434
435<script type="text/javascript" src="https://js03-public.ca-proteine.fr/Leaflet.markercluster-1.4.1/dist/leaflet.markercluster.js"></script>
vendor: 2 bytes, line 435
435
436<script type="text/javascript" src="https://js04-public.ca-proteine.fr/leaflet-fullscreen/Leaflet.fullscreen.min.js"></script>
436
437<!--
437<script type="text/javascript" src="https://js05-public.ca-proteine.fr/dotdotdot/jquery.dotdotdot.min.js"></script>
437-->
438<script type="text/javascript" src="https://js05-public.ca-proteine.fr/dotdotdot2/jquery.dotdotdot.min.js"></script>
vendor: 71 bytes, lines 438-441
438
439
440<script src='https://www.google.com/recaptcha/api.js'></script>
441
442<script type="text/javascript" src="/js/traitement_js.js"></script>
442
443
444<script>
vendor: 409 bytes, lines 444-457
444
445	(function(i, s, o, g, r, a, m){
446		i['GoogleAnalyticsObject'] = r;
447		i[r] = i[r]||function(){
448			(i[r].q = i[r].q||[]).push(arguments)
449		}, i[r].l = 1*new Date();
450		a = s.createElement(o),
451			   m = s.getElementsByTagName(o)[0];
452		a.async = 1;
453		a.src = g;
454		m.parentNode.insertBefore(a, m)
455	})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
456
457	ga('create', '
457UA-103021816-1
vendor: 39 bytes, lines 457-458
457', 'auto');
458	ga('send', 'pageview');
459</script>
459<footer class=" footer text-center">
460	<div class="container">
461		<div class="row">
462			<div class="col-md-12">
463				<p>[email protected] - 05 61 11 00 01 <br/>30 rue Théron de Montaugé. 31200 Toulouse </p>
464				<p>&copy; 2026 Protéine - <a href="/mentionsLegales"> Mentions Légales</a> - <a href="/politiqueConfidentialite"> Politique de confidentialité</a></p>
465			</div>
466		</div>
467	</div>
468</footer>
468<script type="text/javascript"></script>
468<div onclick="showModalNewLetter()" id="blocNewsLetter" title="S'inscrire a la newsletter" class="img-cover" style="background-image: url('/elements_graphiques/images/imgBtnNewletter.png'); background-size: cover; cursor: pointer; position: fixed; z-index: 5000; width: 80px; height: 60px; bottom: 9px; left: 0px">
469    <div onclick="(function(e){   e.stopPropagation();   })(event);" id="msgNewsLetter" style="display: flex; justify-content: center; align-items: center; cursor: auto; background-color: white; width: 300px; height: 80px; position: absolute; top: -75px; left: 10px; border: solid 2px darkgrey; border-radius: 20px">
470        <div style="width: 50px; height: 50px; background-image: url('/elements_graphiques/images/imgPersonneNewsLetter.jpeg'); border-radius: 100px; background-size: cover;"></div>
471        <p onclick="" style="margin: 10px; width: 200px">Inscrivez-vous pour découvrir nos dernières actualités</p>
472        <span onclick="closeMsgInscriteNews()" style="cursor: pointer; position: absolute; top: 10px; right: 10px">x</span>
473    </div>
474</div>
475</body>
476<div class="modal fade" id="modalNewsLetter" tabindex="-1" role="dialog" aria-labelledby="modalNewsLetterLabel" aria-hidden="true">
477    <div class="modal-dialog" style="width: 1000px" role="document">
478        <div style="background-color: #AE1B3C;border-radius: 100px;" class="modal-content">
479
480            <div class="modal-body">
481                    <div style="display: flex">
482                        <div id="imgModalNews" style="flex: 1; height: 500px; background-image: url('/elements_graphiques/images/DSC00781.jpg'); border-radius: 100px 0 0 100px; background-size: cover;">
483
484                        </div>
485                        <div id="contentModalNew" style="flex: 1; padding: 10px 50px; color: white">
486                            <h1 style="font-weight: bold; line-height: 50px">Le Boost Protéiné dans votre boîte mail</h1>
487                            <small style="margin-bottom: 10px; display: block">Inscrivez-vous pour découvrir nos dernières actualités :</small>
488                            <form id="formNewsLetter">
489                                <label>Prénom*</label>
490                                <input type="text" name="prenom" id="prenom" class="form-control required" maxlength="50">
491                                <label>Nom*</label>
492                                <input type="text" name="nom" id="nom" class="form-control required" maxlength="50">
493                                <label>Email*</label>
494                                <input type="email" name="email" id="email" class="form-control required">
495                                <input style="margin-top: 10px" id="consentement" type="checkbox" name="consentement" value="Envoyer" required="" data-vicopo-value="&quot;Envoyer&quot;">
496                                <small>
497                                    En validant l'inscription, j'accepte que le Club d'affaires Protéine traite mon adresse électronique pour envoyer la newsletter et les informations à des évènements. Vous pouvez à tout moment utiliser le lien de désabonnement intégré dans nos emails.
498                                </small> <br>
499                                <div class="form-group">
500                                    <div class="col-sm-12">
501                                        <div class="g-recaptcha" data-sitekey="6Lfx9B8UAAAAAOuA-axxPzev6Sxxs5QId70bu_YI"></div>
502                                    </div>
503                                </div>
504                                <div style="">
505                                    <input id="btEnvoyerDemandeNews" style="margin-top: 10px; color: black; font-weight: bold" class="btn" value="Envoyer">
506                                </div>
507                            </form>
508
509                        </div>
510
511                    </div>
512            </div>
513
514        </div>
515    </div>
516</div>
517    <!-- cookies prod -->
518
519</html>
520<script>
521    $( document ).ready(function() {
522        $("#btEnvoyerDemandeNews").click(function(){
523            envoyerLaDemande()
524        })
525    });
526    function showModalNewLetter(){
527        $("#modalNewsLetter").modal("show")
528    }
529    function closeMsgInscriteNews(){
530        $("#msgNewsLetter").css("display", "none")
531    }
532    function envoyerLaDemande(){
533        if($("#formNewsLetter").valid()){
534            //appels Ajax en jQuery, pour envoie de requete http
535            $.ajax({
536                //déclaration de parametres
537                type: "POST",
538                //execute page contact/ fonction envoieMessage
539                url: "/index/inscriptionNewsLetter",
540                //serialize : retourne chaine de caracteres avec les variables et leurs contenus concatenes
541                data: $("#formNewsLetter").serialize(),
542                //declaration du type : json
543                dataType: 'json',
544                success: function(objResultat){
545                    //si valeur de succes est false :
546                    if(!objResultat.succes){
547                        //popup
548                        bootbox.alert({
549                            size: "small",
550                            title: "Erreur",
551                            //message d'erreur du captcha (controleur contact.php)
552                            message: "Erreur lors de l'envoi"
553                        });
554                    }
555                    else{
556                        bootbox.alert({
557                            title: "Demande envoyé",
558                            message: "Vous êtes inscrit à notre newsletter"
559                        });
560                        $("#formNewsLetter")[0].reset();
561                        $("#modalNewsLetter").modal("hide")
562                    }
563                }
564            });
565        }
566    }
567
568</script>
568
569<style>
570    #msgNewsLetter{
571        animation-name:opacity;
572        animation-duration:4s;
573    }
574    @keyframes opacity {
575        0% {
576            opacity: 0;
577        }
578        100% {
579            opacity: 1;
580        }
581    }
582    @media screen and (max-width: 1000px){
583        #imgModalNews{
584            display: none;
585        }
586        #modalNewsLetter .modal-dialog{
587            width: auto!important;
588        }
589        #contentModalNew{
590            padding: 8px!important;
591        }
592        #modalNewsLetter .modal-content{
593            border-radius: 10px!important;
594        }
595        #contentModalNew h1{
596            line-height: normal!important;
597        }
598    }
599</style>

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.