PageSourceSearch

https://www.esnlyon.org/contacts/login?redirect=%2Fpage%2F3728276-erasmus-student-network-a-lyon

html esnlyon.org collected 2026-10-06 16:58:17 UTC 47,560 bytes, 1,182 lines download raw bytes

1<!DOCTYPE html>
2<html lang="fr">
3	<head>
4
5		<!-- META -->
6		                <meta name="robots" content="noindex, follow">
7                    <meta property="og:type" content="website">
8                    <meta property="og:site_name" content="AssoConnect">
9                    <title>ESN CosmoLyon - Page de connexion à l&#039;espace membre</title>
10                    <meta name="description" content="Connectez-vous pour accéder à l&#039;espace réservé aux membres de ESN CosmoLyon">
11        <meta property="og:description" content="Connectez-vous pour accéder à l&#039;espace réservé aux membres de ESN CosmoLyon">
12                    <meta property="og:locale" content="fr_FR">
13                    <meta property="og:url" content="https://www.esnlyon.org/contacts/login?redirect=%2Fpage%2F3728276-erasmus-student-network-a-lyon">
14                    <meta property="og:image" content="https://app.assoconnect.com/services/storage?id=4155653&amp;type=picture&amp;secret=6MCPr3DWTcihxfqdtuCpwSqcLfSKj0zAmYBv9Okc&amp;timestamp=1776268035">
15                    <meta property="og:image:width" content="540">
16                    <meta property="og:image:height" content="282">
17    <meta name="viewport" property="viewport" content="width=device-width, initial-scale=1.0">
18<meta charset="utf-8">
19<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
20<meta name="google-signin-use_fedcm" content="true">
21    <link rel="canonical" href="https://www.esnlyon.org/contacts/login?redirect=%2Fpage%2F3728276-erasmus-student-network-a-lyon">
22
23		<!-- Favicon -->
24					<link rel="icon" type="image/png" href="https://www.esnlyon.org/services/favicon/33D9VA7V1RQD4PHRYCK20E2000">
25		
26		<!-- https://dev.twitter.com/web/overview/widgets-webpage-properties -->
27		<meta name="twitter:widgets:csp" content="on">
28
29		<!-- CSS -->
30		
31
32<!-- jQuery UI -->
33<!-- Le CSS de jQuery UI utilise des chemins relatifs pour les images, on ne peut donc pas l'inclure dans le CSS global -->
34<link
35    rel="stylesheet"
36    href="https://code.jquery.com/ui/1.14.1/themes/base/jquery-ui.css"
37    integrity="sha512-Ikr9iIb48ljzg7k903d77p0AITNsf4DxtxK4g5R4UiqHpCdroXAX0zqr0uPSWskJOJ1pQoAOXCb8WPkohWY3Bw=="    
38    crossorigin="anonymous"
39>
40
41<!-- Layout -->
42<link rel="stylesheet" href="https://cdn.assoconnect.com/public/build/css/common.-.layout.-.connexion.DESKTOP.e448b25.css">
43
44<!-- Template -->
45<style></style>
46
47<!-- Google Font -->
48    <!-- :400,700 for bold -->
49    <link href="https://fonts.googleapis.com/css?family=Roboto:400,500,700" rel="stylesheet">
50    
51
52<!-- Choices.js -->
53
54<!-- ContentTools -->
55
56<!-- Cropper -->
57
58<!-- FullCalendar -->
59
60<!-- Simplelightbox -->
61
62<!-- Leaflet -->
63<!-- Leaflet MarkerCluster -->
64
65<style nonce="5d081074-e591-4db5-b4e8-1f7be8fc59c9">
66	#teamblue-widget-container {
67		position: fixed;
68		bottom: 0;
69		left: 0;
70		width: 0;
71		height: 0;
72		overflow: hidden;
73	}
74</style>
75
76		<!-- JS -->
77		
77<script async nonce="5d081074-e591-4db5-b4e8-1f7be8fc59c9">
78	// Browser check
79	// https://stackoverflow.com/a/55655928/7671937
80	function isCrappyIE() {
81		var ua = window.navigator.userAgent;
82		var crappyIE = false;
83		var msie = ua.indexOf('MSIE ');
84		if (msie > 0) { // IE 10 or older => return version number
85			crappyIE = true;
86		}
87		var trident = ua.indexOf('Trident/');
88		if (trident > 0) { // IE 11 => return version number
89			crappyIE = true;
90		}
91		return crappyIE;
92	}
93
94	if(isCrappyIE()) {
95		alert("Vous utilisez une ancienne version d'Internet Explorer qui n'est plus maintenue. Pour le confort de votre navigation, merci d'utiliser un navigateur \u00e0 jour. ");
96	}
97</script>
97
98
99<script nonce="5d081074-e591-4db5-b4e8-1f7be8fc59c9">
100	var SIZE_FIXED			= "fixed";
101	var SIZE_FREE			= "free";
102	var SIZE_MIN			= "min";
103	var SIZE_MIN_WIDTH		= "min-width";
104	var SIZE_MIN_HEIGHT		= "min-height";
105	var SIZE_MAX			= "max";
106	var SIZE_MAX_WIDTH		= "max-width";
107	var SIZE_MAX_HEIGHT		= "max-height";
108	var ORIGINAL_WIDTH		= 1200;
109	var ORIGINAL_HEIGHT		= 628;
110	var SIZE_STANDARD		= "standard";
111	var SIZE_USER			= "user";
112	var SIZE_VENDOR			= "vendor";
113	var THUMB_WIDTH			= 352;
114	var THUMB_HEIGHT		= 184;
115	var USER_NORMAL			= 200;
116</script>
vendor: 1 bytes, line 116
116
117<script nonce="5d081074-e591-4db5-b4e8-1f7be8fc59c9">
118    var HOST_PUBLIC = "https:\/\/assets.assoconnect.com\/legacy";
119    var HOST_SPARK = "https:\/\/assets.assoconnect.com\/legacy\/spark";
120    var SPARK_VERSION = "e448b25";
121    var SPARK_FORM_UPLOAD_MAX_SIZE = 10485760;
122    var SPARK_FORM_UPLOAD_MAX_NAME_LENGTH = 249;
123    var URI_CLIENT = "\/contacts\/login?redirect=%2Fpage%2F3728276-erasmus-student-network-a-lyon";
124    var URI_SERVER = "\/membres\/connexion";
125    var VENDOR_ID = 438331;
126    var _GIFS = [];
127    var RECAPTCHA = "6Ldy5hwUAAAAAGrMqPOdhVGOLd79KcXDcHg7mjgH";
128    var MAPBOX_TOKEN = "pk.eyJ1IjoiYXNzb2Nvbm5lY3QiLCJhIjoiY2pycTlxaGh0MDEyMTQzcGZ0eTlidmdmciJ9.-lrrOF0HPATIKSl8luHqwA";
129    var CSP_NONCE = "5d081074-e591-4db5-b4e8-1f7be8fc59c9";
130    var I18N_CURRENCY = "EUR";
131    var I18N_LOCALE = "fr-FR";
132    var I18N_TIMEZONE = "Europe\/Paris";
133    var SITE_CODE = "a";
134</script>
134
135
136<!-- Translator Method -->
137<script
138    nonce="5d081074-e591-4db5-b4e8-1f7be8fc59c9"
139    src="https://cdnjs.cloudflare.com/ajax/libs/intl-messageformat/5.1.0/intl-messageformat.min.js"
140    integrity="sha256-jkYwyAJTaU4esUDFkWA92xz+ARjXOmPO8ul5jjY3MWk="
141    crossorigin="anonymous"
142></script>
vendor: 1 bytes, line 142
142
143<script nonce="5d081074-e591-4db5-b4e8-1f7be8fc59c9">
144  window.trans = function trans(key, params) {
145      // Translation key not found
146      if(window.translations.hasOwnProperty(key) === false) {
147          return key;
148      }
149
150      var translation = window.translations[key];
151
152      var translator = new IntlMessageFormat.IntlMessageFormat(translation, I18N_LOCALE);
153
154      return translator.format(params);
155  };
156
157  window.transCurrency = new Intl.NumberFormat(
158      I18N_LOCALE,
159      { style: 'currency', currency: "EUR"}
160  ).format;
161
162  window.transDate = new Intl.DateTimeFormat(I18N_LOCALE, {
163      timeZone: I18N_TIMEZONE,
164  }).format;
165
166  window.transDateFromYMD = function(value) {
167      value = String(value).replaceAll('-', '');
168      // YYYYMMDD or YYYYMMDDHHiiss
169      if (String(value).length !== 8 && String(value).length !== 14) {
170          return ''
171      }
172
173      var date = new Date(value.substr(0, 4) + "-" + value.substr(4, 2) + "-" + value.substr(6, 2));
174
175      // Invalid date
176      if (isNaN(date)) {
177          return ''
178      }
179
180      return transAbsoluteDate(date);
181  }
182
183  window.transDateTime = new Intl.DateTimeFormat(I18N_LOCALE, {
184      timeZone: I18N_TIMEZONE,
185      year: "numeric",
186      month: "2-digit",
187      day: "2-digit",
188      hour: "numeric",
189      minute: "numeric",
190      second: "numeric",
191  }).format;
192
193  // Trans date created with new Date('1986-06-02')
194  window.transAbsoluteDate = new Intl.DateTimeFormat(I18N_LOCALE, {
195      timeZone: "UTC",
196  }).format;
197
198  // Trans date formatted as YYYYMMDDHHiiss
199  window.transAbsoluteDateYMD = function (value) {
200      // YYYYMMDD or YYYYMMDDHHiiss
201      if (String(value).length !== 8 && String(value).length !== 14) {
202          return ''
203      }
204
205      var date = new Date(value.substr(0, 4) + "-" + value.substr(4, 2) + "-" + value.substr(6, 2));
206
207      // Invalid date
208      if (isNaN(date)) {
209          return ''
210      }
211
212      return transAbsoluteDate(date);
213  }
214
215      window.translations = Object.assign({"ckeditor.subtitle":"Sous-titre","ckeditor.title":"Titre","ckeditor.maintitle":"Titre principal","form.select.placeholder":"Choisissez","form.uploadPicture.complete.delete":"Supprimer","form.uploadPicture.prepareInput.button":"Se\u0301lectionner","form.uploadPicture.prepareInput.drop":"Ajouter une image","form.uploadPicture.prepareInput.send":"S\u00e9lectionner","form.uploadPicture.prepareInput.size":"Taille recommand\u00e9e : {width} x {height} px","form.uploadPicture.remove.confirm.text":"Voulez-vous vraiment supprimer l'image \u00ab {filename} \u00bb ?","jquery.ajax.error":"Une erreur est survenue. Cette erreur peut \u00eatre due \u00e0 votre connexion.\nN'h\u00e9sitez pas \u00e0 nous contacter si cette erreur persiste.\n","jquery.ajax.forbidden":"Vous n'avez pas les droits suffisants pour effectuer cette action.","popup.blocked":"Vous devez autoriser les popup pour ce site afin de voir la pr\u00e9visualisation du formulaire","registration.addedMail":"Votre inscription \u00e0 la Newsletter est confirm\u00e9e. \u00c0 tr\u00e8s bient\u00f4t pour de nouvelles actualit\u00e9s.","registration.addMail":"Veuillez indiquer une adresse email.","registration.failed":"Abonnement \u00e9chou\u00e9 !","registration.mailAlreadyExisting":"Cette adresse email est d\u00e9j\u00e0 abonn\u00e9e \u00e0 la newsletter.","spark.dirty.onBeforeUnload":"Vous avez modifi\u00e9 des informations. En quittant cette page sans les enregistrer vous risquez de les perdre.","spark.form.bic.helper.country":"Le BIC est probablement incorrect : v\u00e9rifiez les 5\u00e8me et 6\u00e8me caract\u00e8res ({country}).","spark.form.bic.helper.incorrect":"Le code BIC est incorrect.","spark.form.country.helper.incorrect":"Le pays est incorrect.","spark.form.date.helper.format":"La date est incorrecte (format JJ\/MM\/AAAA).","spark.form.date.helper.futureDateNotAllowed":"Date dans le futur","spark.form.date.helper.yearInTwoDigits":"L'ann\u00e9e doit \u00eatre sur 4 chiffres","spark.form.date.helper.yearStartsWithZero":"L'ann\u00e9e ne peut pas commencer par un z\u00e9ro","spark.form.datetime.checkLegalAge.error.age":"Le responsable l\u00e9gal doit \u00eatre majeur","spark.form.datetime.update.error.incorrect":"La date saisie est incorrecte.","spark.form.datetime.update.error.max":"La date doit \u00eatre ant\u00e9rieure au {max}","spark.form.datetime.update.error.min":"La date doit \u00eatre post\u00e9rieure au {min}","spark.form.domain.check.error":"Le domaine saisi est incorrect.","spark.form.iban.helper.invalid":"L'IBAN est incorrect.","spark.form.mail.check.question":"Nous avons d\u00e9tect\u00e9 une potentielle erreur de frappe. Est-ce que votre adresse email est {suggest} ?","spark.form.mail.check.yes":"Oui, corriger l'adresse","spark.form.mail.check.no":"Non, conserver l\u2019adresse renseign\u00e9e","spark.form.mail.confirm.error":"Les deux emails sont diff\u00e9rents.","spark.form.mail.helper.at":"Cet email ne contient pas le signe arobase (@)","spark.form.mail.helper.domain":"Le nom de domaine de l'adresse email est incorrect.","spark.form.mail.helper.empty":"Veuillez indiquer une adresse email.","spark.form.mail.helper.incorrect":"Cet email est incorrect.","spark.form.mail.helper.invalid":"Cet email contient des caract\u00e8res invalides.","spark.form.model.addressSearch.city":"Ville","spark.form.model.addressSearch.country":"Pays","spark.form.model.addressSearch.location":"Nom du lieu","spark.form.model.addressSearch.notFound":"Adresse introuvable ?","spark.form.model.addressSearch.placeholder":"Recherchez ici l'adresse que vous souhaitez enregistrer","spark.form.model.addressSearch.postal":"Code postal","spark.form.model.addressSearch.reset"
215:"Supprimer l'adresse ou en saisir une nouvelle","spark.form.model.addressSearch.street1":"Rue","spark.form.model.addressSearch.street2":"Compl\u00e9ment","spark.form.model.category":"Cat\u00e9gorie","spark.form.money.check.error":"Le montant saisi n'est pas correct.","spark.form.password.confirm.error":"Les deux mots de passe sont diff\u00e9rents.","spark.form.percent.check.error":"La valeur saisie n'est pas correcte.","spark.form.phone.helper.country":"Le code pays est incorrect.","spark.form.phone.helper.incorrect":"Le num\u00e9ro de t\u00e9l\u00e9phone est incorrect.","spark.form.phone.helper.length.tooLong":"Le num\u00e9ro de t\u00e9l\u00e9phone est trop long.","spark.form.phone.helper.length.tooShort":"Le num\u00e9ro de t\u00e9l\u00e9phone est trop court.","spark.form.phone.helper.mobile":"Veuillez indiquer un num\u00e9ro de t\u00e9l\u00e9phone portable.","spark.form.phone.helper.phone":"Veuillez indiquer un num\u00e9ro de t\u00e9l\u00e9phone fixe.","spark.form.phone.helper.refused":"Ce type de num\u00e9ro de t\u00e9l\u00e9phone n'est pas accept\u00e9.","spark.form.phone.helper.unknown":"Le num\u00e9ro de t\u00e9l\u00e9phone n'est pas reconnu.","spark.form.postal.helper.country.required":"Le pays doit \u00eatre indiqu\u00e9.","spark.form.postal.helper.country.unknown":"Le pays {country} est inconnu.","spark.form.postal.helper.incorrect":"Le code postal est incorrect.","spark.form.postal.helper.required":"Le code postal doit \u00eatre indiqu\u00e9.","spark.form.postal.helper.unused":"Ce pays n'utilise pas de codes postaux.","spark.form.textCount.update.character":"caract\u00e8re","spark.form.upload.check.error.limit":"Vous avez atteint la limite de {limit} fichiers.","spark.form.upload.check.error.name":"Le nom du fichier est trop long (max. {limit} caract\u00e8res, extension exclue).","spark.form.upload.check.error.size":"Le fichier est trop gros (max : {size} {unit}).","spark.form.upload.check.error.type":"Le type du fichier n'est pas accept\u00e9.","spark.form.upload.DOMProgress.text":"Chargement en cours","spark.form.upload.prepare.button.select":"Se\u0301lectionner","spark.form.upload.prepare.drop":"Ajouter un fichier","spark.form.upload.remove.confirm.text":"Voulez-vous vraiment supprimer le fichier \u00ab {filename} \u00bb ?","spark.form.upload.uploadFile.callback.error":"Une erreur s'est produite lors du t\u00e9l\u00e9chargement.","spark.form.url.check.error":"L'url saisie est incorrecte.","spark.notification.button.nextNotice":"Erreur suivante","spark.notification.button.prevNotice":"Erreur pr\u00e9c\u00e9dente","spark.template.accordion.button.title":"Afficher","spark.template.button.cancel":"Annuler","spark.template.button.close":"Fermer","spark.template.button.continue":"Continuer","spark.template.button.delete":"Supprimer","spark.template.button.edit":"Modifier","spark.template.button.submit":"Envoyer","spark.template.button.view":"Voir","spark.template.confirm.confirmText.label":"Veuillez saisir \"{ confirmText }\"","spark.template.confirm.error":"Le texte renseign\u00e9 est incorrect","spark.template.editable.create.button.submit":"Confirmer","spark.template.editable.create.save.error":"Impossible d'enregistrer les modifications.","spark.template.loading.text":"Chargement en cours ...","spark.template.notification.save":"Enregistr\u00e9","spark.template.table.count.checked.all.button":"Les {nbDisplayed} lignes de cette page sont s\u00e9lectionn\u00e9es. <u>S\u00e9lectionner les {truncatedNb} lignes<\/u>.","spark.template.table.count.checked.all.buttonUntruncated":"Les {nbDisplayed} lignes de cette page sont s\u00e9lectionn\u00e9es. <u>S\u00e9lectionner toutes les lignes<\/u>.","spark.template.table.count.checked.all.text":"Toutes les lignes sont s\u00e9lectionn\u00e9es.","spark.template.table.count.checked.truncated":"{nbChecked} ligne(s) s\u00e9lectionn\u00e9e(s) sur {nbTotal}.","spark.template.table.count.checked.untruncated":"{nbChecked} ligne(s) s\u00e9lectionn\u00e9e(s) sur un grand nombre.","spark.template.table.count.displayed.empty":"Aucune ligne","spark.template.table.count.displayed.rows":"{nbDisplayed} ligne(s).","spark.template.table.count.displayed.truncated":"{nbDisplayed} ligne(s) affich\u00e9e(s) sur {truncatedNb}.","spark.template.table.count.displayed.untruncated":"{nbDisplayed} ligne(s) affich\u00e9e(s) sur un grand nombre.","spark.template.table.exports.empty":"Le tableau est vide !","spark.template.table.
215warning.partialSorting":"Vous venez d\u2019afficher maximum 50 lignes suppl\u00e9mentaires. Le tri ne s\u2019applique pas sur les lignes nouvellement charg\u00e9es. Relancez votre tri sur toutes les lignes affich\u00e9es.","fraud.quickEmails.probationLimit":"Vous ne pouvez pas contacter autant de personnes. Il vous reste {remaining} emails \u00e0 envoyer aujourd'hui."},window.translations);
216    window.translations = Object.assign({"seePassword":"Afficher le mot de passe"},window.translations);
217</script>
217
218
219<!-- jQuery -->
220<script
221    nonce="5d081074-e591-4db5-b4e8-1f7be8fc59c9"
222    src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.7.1/jquery.min.js"
223    integrity="sha256-/JqT3SQfawRcv/BIHPThkBvs0OEvtFFmqPF/lYI/Cxo="
224    crossorigin="anonymous"
225></script>
vendor: 1 bytes, line 225
225
226<script
227    nonce="5d081074-e591-4db5-b4e8-1f7be8fc59c9"
228    src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.14.1/jquery-ui.min.js"
229    integrity="sha512-MSOo1aY+3pXCOCdGAYoBZ6YGI0aragoQsg1mKKBHXCYPIWxamwOE7Drh+N5CPgGI5SA9IEKJiPjdfqWFWmZtRA=="
230    crossorigin="anonymous"
231></script>
vendor: 1 bytes, line 231
231
232<script
233    nonce="5d081074-e591-4db5-b4e8-1f7be8fc59c9"
234    src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.9.2/i18n/jquery-ui-i18n.min.js"
235    integrity="sha256-q/EiPw4hDxf7AKJEkIHWBspsML3nLL0VB729yuwz+cc="
236    crossorigin="anonymous"
237></script>
vendor: 1 bytes, line 237
237
238<script
239    nonce="5d081074-e591-4db5-b4e8-1f7be8fc59c9"
240    src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-switch/3.3.2/js/bootstrap-switch.min.js"
241    integrity="sha256-sAkXLwDFSAB/S09JCOWRvnoOnhGYDu9VqMnbCKAhMzI="
242    crossorigin="anonymous"
243></script>
vendor: 1 bytes, line 243
243
244<script
245    nonce="5d081074-e591-4db5-b4e8-1f7be8fc59c9"
246    src="https://cdnjs.cloudflare.com/ajax/libs/jquery-mousewheel/3.1.9/jquery.mousewheel.min.js"
247    integrity="sha256-+ZWJyex7JtGOxCSSRu/QgpDkiTWQEqBuE2O8xHMVZCQ="
248    crossorigin="anonymous"
249></script>
249
250
251<!-- Layout -->
252<script nonce="5d081074-e591-4db5-b4e8-1f7be8fc59c9" src="https://cdn.assoconnect.com/public/build/js/common.-.layout.-.connexion.e448b25.js"></script>
252
253
254<!-- CKEditor -->
255
256<!-- intl-tel-input -->
257
258<!-- reCAPTCHA -->
259
260<!-- Validator -->
261
262<!-- Algolia -->
263	<!-- Placé à l'extérieur pour l'annuaire -->
264	
264<script nonce="5d081074-e591-4db5-b4e8-1f7be8fc59c9">
265		var ALGOLIA_CONFIG = {
266			allowTyposOnNumericTokens:	false,
267			facets:						[],
268			facetFilters:				[],
269			query:						"",
270			page:						0,
271			numericFilters:				[],
272			removeWordsIfNoResults:		"lastWords",
273			tagFilters:					[],
274			typoTolerance:				"strict",
275			advancedSyntax:				true
276		};
277	</script>
277
278
279<!-- Charts.js -->
280
281<!-- Choices.js -->
282
283<!-- ContentTools -->
284
285<!-- Cropper -->
286
287<!-- Dompurify -->
288
289<!-- FullCalendar -->
290
291<!-- HTML2Canvas -->
292
293<!-- Parallax -->
294
295<!-- TimeAgo -->
296
297<!-- Simplelightbox -->
298
299<!-- Leafleft -->
300<!-- Leaflet MarkerCluster -->
301
302
303
304
305
306
307<!-- Iubenda -->
308<script nonce="5d081074-e591-4db5-b4e8-1f7be8fc59c9">
309    </script>
309
310
311<!-- Tracking -->
312<script async nonce="5d081074-e591-4db5-b4e8-1f7be8fc59c9">
313    
314
315    /**
316     * RudderStack common functions
317     */
318
319    /**
320     * This method allows you to track any actions that your users might perform. Each of these actions is commonly referred to as an event.
321     *
322     * https://docs.rudderstack.com/stream-sources/rudderstack-sdk-integration-guides/rudderstack-javascript-sdk#3-4-track
323     */
324    function track(event, properties, options, callback) {
325                    if(window.rudderanalytics) {
326                window.rudderanalytics.track(event, properties, options, callback);
327            }
328            }
329
330    /**
331     * This method lets you record information about the web page being viewed by the user.
332     *
333     */
334    function trackPage(event, properties, options, callback) {
335                    if(window.rudderanalytics) {
336                window.rudderanalytics.track(event, properties, options, callback);
337            }
338            }
339
340    /**
341     * This method allows you to track any click that your users might perform on a link.
342     *
343     * @param {string} selector	jQuery selector of the tracked link
344     * Otherwise same params of the track function: https://docs.rudderstack.com/stream-sources/rudderstack-sdk-integration-guides/rudderstack-javascript-sdk#3-4-track
345     */
346    function trackLink(selector, event, properties, options, callback) {
347                    $(selector).on("click", function(e) {
348                if(window.rudderanalytics) {
349                    var _this = $(this);
350                    window.rudderanalytics.track(event, properties, options, callback);
351                    // Wait for the tracking request to have time to go
352                    var timeoutDelay = 300;
353                    setTimeout(function() {
354                        var href = _this.attr("href");
355                        var target = _this.attr("target");
356                        // New tab
357                        if (target) {
358                            window.open(href, target || '_blank');
359                        }
360                        // Current tab
361                        else {
362                            window.location.href = href;
363                        }
364                    }, timeoutDelay);
365                    return false;
366                }
367            });
368            }
369
370    // GTM
371    </script>
371
372	</head>
373	<body>
374		<!-- Layout -->
375		<div id="layoutWrapper" class="nav">
376
377<!-- Thème -->
378<style nonce="5d081074-e591-4db5-b4e8-1f7be8fc59c9">
379
380	/**
381	 * Couleur principale
382	 */
383
384	/* Transforme @blue et @body en blanc en fonction de la couleur du menu */
385	
386	/* Color */
387	h1,
388	h3,
389	.textImportant,
390	a,
391	a:link,
392	a:visited,
393	a:active,
394	.colorBlue,
395	.checkbox input[type="checkbox"].custom-checkbox:checked + .icons,
396	.checkbox input[type="checkbox"].custom-checkbox:checked + .icons .icon-checked,
397	.radio input[type="radio"].custom-radio:checked + .icons,
398	.radio input[type="radio"].custom-radio:checked + .icons .icon-checked,
399	.accordion .accordionContent.accordionColor .accordionTitleWrapper .accordionTitle,
400	.buttonWhite,
401	.buttonWhiteAlt:active,
402	.buttonWhiteBlue,
403	.buttonTransparent:hover,
404	.radioAlt.colorWhite.radioAltSelected,
405    #thumbPostSlider .thumbPostSlide .thumbPostSlideContent h2,
406	.thumbPostWrapper h2,
407	.thumbWrapper .thumbCommon .thumbDetails .thumbName,
408	.thumbWrapper .thumbCommon .thumbDetails .thumbMore,
409	#templateBreadcrumb #breadCrumbItems .breadCrumbNextStep:not(.button):hover,
410	#templateBreadcrumb #breadCrumbItems .breadCrumbNextStep .breadCrumbItem.breadCrumbActive,
411	#templateTabulation .active,
412	#messagesWrapper .message .messageContent .messageIcon svg {
413		color: #2e3192;
414	}
415	#agendaWrapper,
416	div:not(#agendaWrapper) > #agendaEvent,
417	#agendaWrapper #agendaEvent #agendaEventName,
418	div:not(#agendaWrapper) > #agendaEvent #agendaEventName,
419	#agendaWrapper #agendaList .agendaDate,
420	#donationPicture #donationInfoWrapper #donationInfo #donationSubmitButton {
421		color: #ffffff;
422	}
423
424    /* Fix event colors */
425    #agendaEvent #agendaEventDate, #agendaEvent #agendaEventDescription, #agendaEvent #agendaEventAddress {
426        color: #ffffff;
427    }
428
429    #agendaEventReturn svg path{
430        fill: #2e3192;
431    }
432
433	#templateNavWrapper #templateNav ul li,
434	#templateNavWrapper #templateNav ul li a,
435	#templateNavBar,
436	#templateNavSubBarWrapper,
437	#templateNavSubBarWrapper #templateNavSubBar a,
438	#templateSubNavWrapper ul li a,
439	#agendaWrapper #agendaList .agendaListEvent.colorBodyOrWhite,
440	#agendaWrapper #agendaList h3.colorBodyOrWhite,
441	#agendaWrapper #agendaList .eventColor.colorBodyOrWhite,
442	#eventWrapper #eventDateLeftWrapper{
443		color: #ffffff;
444	}
445    #eventWrapper #eventPicture #eventCountdownWrapper #eventButton {
446        color: #ffffff;
447    }
448	.buttonWhiteBlue:hover {
449		color: #292c83;
450	}
451	.buttonWhiteBlue:active,
452	.buttonTransparent:active {
453		color: #27297c;
454	}
455	#agendaWrapper #agendaList h3.colorBodyOrWhite,
456	#agendaWrapper #agendaList .eventColor.colorBodyOrWhite {
457		border-color: #ffffff;
458	}
459	.buttonBlue,
460	.backgroundBlue {
461		color: #ffffff;
462	}
463    .backgroundTheme {
464        background-color: #4183d7;
465        color: #ffffff;
466    }
467	/* Background */
468	.backgroundBlue,
469	.accordion .accordionContent.accordionColor .accordionTitleWrapper .accordionTitleNumber,
470	.buttonBlue,
471	.dialogDotWrapper .dialogDot.dialogDotCurrent,
472	.progressbar-blue div,
473	.radioAlt.colorBlue:not(.eventColor), /* :not(.eventColor) pour ne pas modifier les puces de l'agenda */
474	#messagesWrapper .message,
475	#boxes .box[data-type="button"] .buttonDIYContainer .buttonDIYWrapper,
476	#gridWrapper .box .buttonDIYContainer .buttonDIYWrapper,
477	#eventWrapper #eventPicture #eventCountdownWrapper #eventButton,
478	#templateNavWrapper #templateNav #navBasket {
479		background-color: #2e3192;
480	}
481	.formUpload .formUploadInputWrapper input:hover ~ div,
482	.buttonBlue:hover,
483	.radioAlt.colorBlue.radioAltSelected,
484	#messagesWrapper .message,
485	#eventWrapper #eventPicture #eventCountdownWrapper #eventButton:hover,
486	#templateNavWrapper #templateNav #navBasket:hover {
487		background-color: #27297c;
488	}
489	.radioAlt.colorBlue:hover:not(.radioAltSelected):not(.eventColor) { /* :not(.eventColor) pour ne pas modifier les puces de l'agenda */
490		background-color: #3438a7;
491	}
492	.dialogDotWrapper .dialogDot:hover {
493		background-color: #373aaf;
494	}
495	.buttonBlue:active,
496	#eventWrapper #eventPicture #eventCountdownWrapper #eventButton:active {
497		background-color: #242774;
498	}
499	.dialogDotWrapper .dialogDot {
500		background-color: #3b3fbd;
501	}
502	.buttonWhiteBlue:active {
503		background-color: #3e42c5;
504	}
505	.buttonWhiteBlue:hover {
506		background-color: #4044cc;
507	}
508	/* Border */
509	.backgroundBlueLight,
510	input[type="text"]:hover,
511	input[type="search"]:hover:not(.choices__input),
512	.choices:hover,
513	input[type="password"]:hover,
514	input[type="date"]:hover,
515	input[type="tel"]:hover,
516	input[type="number"]:hover,
517	input[type="datetime-local"]:hover,
518	input[type="email"]:hover,
519	input[type="url"]:hover,
520	textarea:hover,
521	select:hover,
522	input[type="text"]:focus,
523	input[type="search"]:focus:not(.choices__input),
524	.choices.is-focused,
525	input[type="password"]:focus,
526	input[type="date"]:focus,
527	input[type="tel"]:focus,
528	input[type="number"]:focus,
529	input[type="datetime-local"]:focus,
530	input[type="email"]:focus,
531	input[type="url"]:focus,
532	textarea:focus,
533	select:focus,
534	.radioImageWrapper.radioImageChecked,
535	.accordion .accordionContent.accordionColor .accordionTitleWrapper,
536	.buttonWhiteBlue,
537	.dropdownMenu div h2,
538	.radioAlt.colorWhite.radioAltSelected,
539	#templateBreadcrumb #breadCrumbItems .breadCrumbNextStep .breadCrumbItem.breadCrumbActive,
540	#postViewMore {
541		border-color: #2e3192;
542	}
543	#agendaWrapper #agendaEvent #agendaEventReturn,
544	div:not(#agendaWrapper) > #agendaEvent #agendaEventReturn {
545		border-color: #ffffff;
546	}
547	.buttonWhiteBlue:hover {
548		border-color: #3235a0;
549	}
550	.buttonWhiteBlue:active {
551		border-color: #3438a7;
552	}
553	.radioAlt.colorWhite:hover:not(.radioAltSelected),
554	.radioAlt.colorBlue:hover:not(.radioAltSelected):not(.eventColor) { /* :not(.eventColor) pour ne pas modifier les puces de l'agenda */
555		border-color: #373aaf;
556	}
557	.radioAlt.colorBlue.radioAltSelected {
558		border-color: #202266;
559	}
560	.buttonWhiteAlt:active {
561		outline-color: #2e3192;
562	}
563	.buttonWhiteAlt:hover {
564		border-color: #373aaf;
565	}
566
567	/**
568	 * Couleur du menu
569	 */
570					@media (min-width: 1151px) {
571		#templateNavWrapper,
572		#templateNavWrapper:before,
573		#templateNavBar {
574							background-color: #4183d7;
575								}
576		#templateSubNavWrapper {
577			background-color:
578									#4489e1							;
579		}
580					#templateHeaderWrapper #templateHeader #templateHeaderMargin {
581				display: none;
582			}
583			}
584	@media (max-width: 1150px) {
585		#templateNavWrapper,
586		#templateNavWrapper:before,
587		#templateNavBar,
588		#templateSubNavWrapper {
589			background-color: #4183d7;
590		}
591	}
592	#templateNavSubBarWrapper,
593	#templateNavSubBarWrapper #templateNavSubBarLeft,
594	#templateNavSubBarWrapper #templateNavSubBarRight {
595		background-color: #4489e1;
596	}
597	#agendaWrapper,
598	div:not(#agendaWrapper) > #agendaEvent,
599	#donationPicture #donationInfoWrapper #donationInfo #donationSubmitButton,
600	#eventWrapper #eventDateLeftWrapper {
601		background-color: #4183d7;
602	}
603	#eventWrapper #eventPicture #eventInfos #eventName {
604		border-color: #4183d7;
605	}
606	/* Couleur des hovers */
607			#templateNavWrapper #templateNav ul li.active a,
608		#templateNavWrapper #templateNav ul li:not(.hideHover):hover a {
609			color: #2e3192;
610		}
611		@media (min-width: 1151px) {
612			#templateSubNavWrapper ul li.active a,
613			#templateSubNavWrapper ul li:hover a {
614				color: #2e3192;
615			}
616		}
617		@media (max-width: 1150px) {
618			#templateNavSubBarWrapper #templateNavSubBar li.active a {
619				color: #2e3192;
620			}
621		}
622	
623	/**
624	 * Couleur du fond
625	 */
626	body {
627		background-color: #ffffff;
628	}
629
630	/**
631	 * Couleur du bas de page
632	 */
633	#templateFooterWrapper {
634		background-color: #2e3192;
635	}
636
637	/**
638	 * Texture du menu (non applicable si le menu est transparent)
639	 */
640				#templateNavWrapper,
641		#templateNavWrapper:before,
642		#templateSubNavWrapper,
643		#templateNavBar,
644		#templateNavSubBarWrapper,
645		#templateNavSubBarWrapper #templateNavSubBarLeft,
646		#templateNavSubBarWrapper #templateNavSubBarRight {
647			background-image: url("https://assets.assoconnect.com/legacy/common/image/layout/public/textures/_blank.png");
648		}
649	
650	/**
651	 * Texture du fond
652	 */
653	body {
654		background-image: url("https://assets.assoconnect.com/legacy/common/image/layout/public/textures/_blank.png");
655	}
656
657	/**
658	 * Texture du bas de page
659	 */
660	#templateFooterWrapper {
661		background-image: url("https://assets.assoconnect.com/legacy/common/image/layout/public/textures/_blank.png");
662	}
663
664	/**
665	 * Autres
666	 */
667
668	/* Permet d'afficher le haut de page dans l'édition */
669	
670	/* Hauteur du haut de page */
671				
672	/* Position de l'image de l'organisation dans le haut de page */
673				#templateHeaderWrapper #templateHeaderVendorPictureWrapper #templateHeaderVendorPicture {
674			display: none;
675		}
676	
677	/* Taille texte bloc */
678	#templateHeaderBlockTitleWrapper {
679		font-size: 0px;
680	}
681
682	/* Taille image bloc */
683	#templateHeaderBlockVendorPictureWrapper img {
684		width: 300px;
685	}
686
687	/* Type de bloc */
688	#templateHeaderWrapper #templateHeader #templateHeaderBlockContainer {
689				background-color: rgba(255, 255, 255, .5);
690	}
691
692	@media (min-width: 1151px) {
693		/* Position du logo dans le menu */
694		#templateNavWrapper #templateNav #navVendorWrapper {
695							display: none;
696					}
697
698		/* Place le haut de page sous le menu si le menu est transparent */
699		
700		/* Hauteur du menu (les ">" pour ignorer les sous-menus) */
701		#templateNavWrapper #templateNav > ul > li {
702			height: 75px;
703		}
704		#templateSubNavWrapper ul li {
705			height: 40px;
706			line-height: 40px;
707		}
708		#templateNavWrapper #templateNav > ul > #navVendorPicture > div > a > img {
709			max-height: 75px;
710		}
711
712		/* Type de bloc */
713		
714		/* La largeur du haut de page ne dépasse pas la largeur du contenu du site */
715		
716		/* Arrondi les coins du menu, du haut de page et du contenu */
717		
718		/* Séparation des différents éléments */
719		
720		/* Position du bloc */
721							#templateHeaderWrapper #templateHeader {
722				text-align: left;
723			}
724		
725		/* Texte du menu en gras */
726					#templateNavWrapper #templateNav,
727			#templateSubNavWrapper {
728				font-weight: bold;
729			}
730		
731		/* Texte du menu en majuscule */
732					#templateNavWrapper #templateNav,
733			#templateSubNavWrapper {
734				text-transform: uppercase;
735			}
736		
737		/* Cache les icônes */
738		
739		/* Espacement entre les items du menu */
740							#templateNavWrapper #templateNav ul li a,
741			#templateNavWrapper #templateNav ul li ul li a,
742			#templateSubNavWrapper ul li a {
743				padding: 0 15px;
744			}
745		
746		/* Alignement du contenu du menu */
747							#templateNavWrapper #templateNav,
748			#templateSubNavWrapper {
749				text-align: center;
750			}
751		
752		/* Hauteur du logo de l'organisation dans le haut de page */
753					#templateHeaderWrapper #templateHeaderVendorPictureWrapper #templateHeaderVendorPicture img {
754				height: 250px;
755			}
756			}
757
758	@media (max-width: 1150px) {
759	    	    #templateNavBarVendorPicture {
760	        display: none;
761	    }
762		
763		/* Cache le bloc en responsive si le site dispose d'un logo d'organisation */
764				
765		/* Alignement du menu en fonction de la barre d'administration */
766		#templateNavWrapper {
767					top: 55px;
768				}
769
770	}
771
772	/* Fond fullscreen dans les pages personnalisées */
773			#boxes .boxLandmarkBackground {
774			width: calc(100% + 27px);
775			margin-left: -13.5px !important;
776			max-width: 1131px !important;
777		}
778	
779	/* Arrondi des champs */
780	input[type="text"],
781	input[type="search"]:not(.choices__input),
782	.choices,
783	input[type="password"],
784	input[type="date"],
785	input[type="tel"],
786	input[type="number"],
787	input[type="datetime-local"],
788	input[type="email"],
789	input[type="url"],
790	textarea {
791					border-radius: 5px;
792			padding: 9px;
793			}
794	select {
795					border-radius: 5px;
796			}
797	.selected-flag,
798	.buttonBig,
799	.buttonLarge,
800	.buttonSmall,
801	.bootstrap-switch,
802	#gridWrapper .box .buttonDIYContainer .buttonDIYWrapper,
803	#gridWrapper .box .buttonDIYContainer .buttonDIYWrapper .buttonDIY,
804	#boxes .box[data-type="button"] .buttonDIYContainer .buttonDIYWrapper,
805	#boxes .box[data-type="button"] .buttonDIYContainer .buttonDIYWrapper .buttonDIY {
806					border-radius: 5px;
807			}
808	.buttonLarge {
809					padding: 10px;
810			}
811	.buttonSmall {
812			}
813</style>
814<!-- Message -->
815<!-- Affichage Spark\Notification::message -->
816<div id="messagesWrapper">
817        	</div>
818
819<script nonce="5d081074-e591-4db5-b4e8-1f7be8fc59c9">
820    $('.message-support .messageClose').click(function(event) {
821        _spark.cookie.set("supportMessage-" + $(this).data('message-id'), "true", 1);
822    });
823</script>
823
824<!-- Misc Spark -->
825
826<div class="displayNone" id="sparkTemplateTableExportColumns">
827    <form id="sparkTemplateTableExportColumnsForm" method="POST"><input type="hidden" name="_form" value="sparkTemplateTableExportColumns"><input type="hidden" name="_origin" value="/contacts/login?redirect=%2Fpage%2F3728276-erasmus-student-network-a-lyon"><input type="hidden" name="_formMulti" value="6ac528a9bdaff|c139fda294e8817a3d768415b793be69a70c4769">
827<script nonce="5d081074-e591-4db5-b4e8-1f7be8fc59c9">
828            $("#sparkTemplateTableExportColumnsForm").on("submit", function(){
829                var _this = $(this);
830                var renable = false;
831                if(_this.data("multi-submit-protection")){
832                    return false;
833                }
834                else{
835                    // Blocage à la prochaine soumission
836                    _this.data("multi-submit-protection", true);
837                    // Blocage & chargement sur les boutons
838                    _this.find("button[type='submit']").each(function(){
839                        var text = $(this).text();
840                        var buttonDOM = $(this);
841                        var buttonInterval;
842                        buttonDOM
843                            .addClass("disabled")
844                            .prop("disabled", true)
845                            .css("width", buttonDOM.outerWidth() + "px")
846                            .text(".")
847                            .inDOM(function() {
848                                // Il ne faut pas utiliser de gif car Safari est incompatible (fix #12514)
849                                buttonInterval = setInterval(function() {
850                                    if(buttonDOM.text().length === 3) {
851                                        buttonDOM.text(".");
852                                    }
853                                    else {
854                                        buttonDOM.text(buttonDOM.text() + ".");
855                                    }
856                                }, 300);
857                            });
858                        // Déblocage au bout de 1 seconde
859                        if(renable){
860                            window.setTimeout(function(){
861                                clearInterval(buttonInterval);
862                                buttonDOM
863                                    .prop("disabled", false)
864                                    .removeClass("disabled")
865                                    .removeAttr("style")
866                                    .text(text);
867                            }, 1000);
868                        }
869                    });
870                    // Déblocage au bout de 1 seconde
871                    if(renable){
872                        window.setTimeout(function(){
873                            _this.data("multi-submit-protection", false);
874                        }, 1000);
875                    }
876                    // Retour
877                    return true;
878                }
879            });
880        </script>
880    <div id="sparkTableExportColumnWrapper" class=""><div class="notice fontBold" id="sparkTableExportColumnNotice"></div>
881                <label
882                    id="sparkTableExportColumnLabel"
883                >
884                    Exporter les lignes sélectionnées
885                    
886                    
887                </label>
888                <div class="formContent">
889        
890                <div id="sparkTableExportColumn_allWrapper" class="radioWrapper displayInlineBlock valignTop marginRight10 ">
891                    <label class="radio" for="sparkTableExportColumn_all">
892                        <input
893                            type="radio"
894                            name="sparkTableExportColumn"
895                            id="sparkTableExportColumn_all"
896                            value="all"
897                            
898                            
899                            class=""
900                        >
901                        <span id="sparkTableExportColumn_allLabel">Exporter toutes les colonnes</span>
902                    </label>
903                </div>
904                
904<script nonce="5d081074-e591-4db5-b4e8-1f7be8fc59c9">
905                    if(document.readyState === "complete"){
906                        $("#sparkTableExportColumn_all").radiocheck();
907                    }
908                </script>
908
909            
910                <div id="sparkTableExportColumn_filterWrapper" class="radioWrapper displayInlineBlock valignTop marginRight10 ">
911                    <label class="radio" for="sparkTableExportColumn_filter">
912                        <input
913                            type="radio"
914                            name="sparkTableExportColumn"
915                            id="sparkTableExportColumn_filter"
916                            value="filter"
917                            
918                            
919                            class=""
920                        >
921                        <span id="sparkTableExportColumn_filterLabel">Exporter uniquement les colonnes affichées</span>
922                    </label>
923                </div>
924                
924<script nonce="5d081074-e591-4db5-b4e8-1f7be8fc59c9">
925                    if(document.readyState === "complete"){
926                        $("#sparkTableExportColumn_filter").radiocheck();
927                    }
928                </script>
928
929            </div></div>    </form>
930                
930<script nonce="5d081074-e591-4db5-b4e8-1f7be8fc59c9">
931                    _spark.form.mail.initMailGroup("sparkTemplateTableExportColumns");
932                </script>
932
933                </div>
934
935<!-- Image de fond -->
936
937<!-- Template -->
938<div id="loginContentWrapper">
939	<div id="loginContent" class="backgroundLarge backgroundWhite">
940		
941<div id="loginContentMargin">
942
943	<h1>Connexion</h1>
944	<div class="spaceHorizontalTall"></div>
945
946	<!-- Login sso / mail / userInfo / password -->
947	<form id="loginForm" method="POST"><input type="hidden" name="_form" value="login"><input type="hidden" name="_origin" value="/contacts/login?redirect=%2Fpage%2F3728276-erasmus-student-network-a-lyon"><input type="hidden" name="_formMulti" value="6ac528a9bdc37|da60810d7bf15ec730566b9cdd84c938de429daf">
947<script nonce="5d081074-e591-4db5-b4e8-1f7be8fc59c9">
948            $("#loginForm").on("submit", function(){
949                var _this = $(this);
950                var renable = false;
951                if(_this.data("multi-submit-protection")){
952                    return false;
953                }
954                else{
955                    // Blocage à la prochaine soumission
956                    _this.data("multi-submit-protection", true);
957                    // Blocage & chargement sur les boutons
958                    _this.find("button[type='submit']").each(function(){
959                        var text = $(this).text();
960                        var buttonDOM = $(this);
961                        var buttonInterval;
962                        buttonDOM
963                            .addClass("disabled")
964                            .prop("disabled", true)
965                            .css("width", buttonDOM.outerWidth() + "px")
966                            .text(".")
967                            .inDOM(function() {
968                                // Il ne faut pas utiliser de gif car Safari est incompatible (fix #12514)
969                                buttonInterval = setInterval(function() {
970                                    if(buttonDOM.text().length === 3) {
971                                        buttonDOM.text(".");
972                                    }
973                                    else {
974                                        buttonDOM.text(buttonDOM.text() + ".");
975                                    }
976                                }, 300);
977                            });
978                        // Déblocage au bout de 1 seconde
979                        if(renable){
980                            window.setTimeout(function(){
981                                clearInterval(buttonInterval);
982                                buttonDOM
983                                    .prop("disabled", false)
984                                    .removeClass("disabled")
985                                    .removeAttr("style")
986                                    .text(text);
987                            }, 1000);
988                        }
989                    });
990                    // Déblocage au bout de 1 seconde
991                    if(renable){
992                        window.setTimeout(function(){
993                            _this.data("multi-submit-protection", false);
994                        }, 1000);
995                    }
996                    // Retour
997                    return true;
998                }
999            });
1000        </script>
1000
1001            <div  class="mailInputWrapper isSecondaryWrapper"><div class="notice fontBold" id="userMailNotice"></div>
1002                <label
1003                    id="userMailLabel"
1004                    for="userMail"
1005                >
1006                Votre adresse email
1007                
1008                
1009                </label>
1010                <input
1011                    type="email"
1012                    data-typo-check="false"
1013                    name="userMail"
1014                    class=""
1015                    value=""
1016                    placeholder="Votre adresse email"
1017                    autocomplete="email"
1018                    
1019                    
1020                    id="userMail"
1021                >
1022                
1023                <div class="clearBoth"></div>
1024            </div>
1025            
1025<script nonce="5d081074-e591-4db5-b4e8-1f7be8fc59c9">
1026                $("#userMail").on("change", function() {
1027                    _spark.form.mail.check("userMail");
1028                });
1029            </script>
1029
1030            
1031    <div class="spaceHorizontalTall"></div>
1032
1033    <div id="userPasswordWrapper">
1034        <div id="userPasswordWrapper"><div class="notice fontBold" id="userPasswordNotice"></div>
1035                <label
1036                    id="userPasswordLabel"
1037                    for="userPassword"
1038                >Votre mot de passe ESN CosmoLyon</label>
1039                <input
1040                    autocomplete="current-password"
1041                    id="userPassword"
1042                    placeholder="Votre mot de passe ESN CosmoLyon"
1043                    name="userPassword"
1044                    type="password"
1045                >
1046            </div>
1047                <div id="forgottenPasswordDesktop" class="floatRight marginTopMinus20">
1048            <a href="/contacts/password/reset?userMail=&amp;userInfoValue=">Mot de passe perdu ?</a>        </div>
1049    </div>
1050    <div class="clearBoth"></div>
1051    <div id="loginSubmitWrapper">
1052        <div class="spaceHorizontalTall"></div>
1053        
1054            <button
1055                type="submit"
1056                id="loginSubmit"
1057                class="
1058                    button
1059                    buttonOrange
1060                    textAlignCenter
1061                    buttonLarge
1062                    
1063                    
1064                "
1065                
1066            >
1067                
1068                <span class="valignInitial">Connexion</span>
1069            </button>
1070            </div>
1071    <div id="forgottenPasswordMobile" class="marginTop5 displayNone">
1072        <a href="/contacts/password/reset?userMail=&amp;userInfoValue=">Mot de passe perdu ?</a>    </div>
1073
1074        <div id="miscWrapper">
1075        <div class="spaceHorizontalTall"></div>
1076        Ou :        <div class="spaceHorizontalTall"></div>
1077    </div>
1078        
1079            <iframe
1080                src="https://app.assoconnect.com/services/sso/google/438331?scope[]=id&amp;scope[]=email"
1081                width="100%"
1082                height="50"
1083                style="margin:8px;overflow:hidden;"
1084                allow="identity-credentials-get"
1085                scrolling="no"
1086                class=""
1087            ></iframe>
1088                <div class="notice fontBold" id="ssoTokenNotice"></div>
1089            <input
1090                type="hidden"
1091                name="ssoToken"
1092                id="ssoToken"
1093                value=""
1094            >
1095            
1096	</form>
1097                
1097<script nonce="5d081074-e591-4db5-b4e8-1f7be8fc59c9">
1098                    _spark.form.mail.initMailGroup("login");
1099                </script>
1099
1100                
1101	
1102</div>
1103					            				<div class="marginTop20" id="propelledBy">
1104                    Propulsé par AssoConnect, le logiciel des associations				</div>
1105						</div>
1106	</div>
1107<div id="loginBackground"></div>
1108
1109<!-- Footer - Global -->
1110		</div>
1111		
1112		<!-- JS -->
1113		    
1113<script nonce="5d081074-e591-4db5-b4e8-1f7be8fc59c9">
1114        
1115/**
1116 * SSO
1117 */
1118window.addEventListener("message", function(event) {
1119    // Vérification de la source
1120    if (
1121        event.origin === "https:\/\/app.assoconnect.com"        && event.data.action === "sso.login"
1122    ) {
1123        // Remplissage
1124        $("#ssoToken").val(event.data.token);
1125        // Soumission
1126        $("#loginForm").submit();
1127    }
1128});
1129
1130document.querySelector('#userMail').addEventListener('input', function (event) {
1131    let userMail = event.target.value;
1132    let patterns = {
1133        'PROD' : /^[a-z\.]*[^+]@(assoconnect\.com|springly\.org)/
1134    }
1135    let env = "PROD";
1136    console.log(patterns[env], env);
1137    if (undefined === patterns[env]) {
1138        return;
1139    }
1140
1141    let items = document
1142        .querySelectorAll('#userPasswordWrapper, #forgottenPasswordMobile, #loginSubmitWrapper, #miscWrapper');
1143    if (null !== userMail.match(patterns[env])) {
1144        items.forEach((item) => $(item).hide());
1145    } else {
1146        items.forEach((item) => $(item).show());
1147    }
1148});
1149
1150(function() {
1151    let userPassword = document.querySelector('#userPassword'),
1152        checkboxSeePassword = _spark.form.model.checkbox('seePassword', trans("seePassword"), 1, 0).get(0),
1153        div = document.createElement('div')
1154
1155    div.classList = 'textAlignLeft';
1156    div.append(checkboxSeePassword);
1157    userPassword.after(div);
1158
1159    checkboxSeePassword.querySelector('input').addEventListener('change', function(){
1160        if(this.checked) {
1161            userPassword.type = 'text';
1162        } else {
1163            userPassword.type = 'password';
1164        }
1165    })
1166})();
1167    </script>
vendor: 1 bytes, line 1167
1167
1168<script nonce="5d081074-e591-4db5-b4e8-1f7be8fc59c9">
1169    if(window.console && window.console.log){
1170        // Affichage des notices non capturées
1171            }
1172</script>
1172
1173
1174		
1175					
1175<script
1176				nonce="5d081074-e591-4db5-b4e8-1f7be8fc59c9"
1177				src="https://cdn.hub-prod.team.blue/loader/widget-loader.js"
1178				data-teamblue-footer
1179				data-footer="hidden"
1180			></script>
1180
1181			</body>
1182</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.