(function () { var widgetContainers = [], widgetIdBase = 'is-WidgetWrapper', widgetIdSuffix = '', widgetId = '', journeySearchId = '#is-PlaceSubmitButton', scheduleSearchId = '#is-ScheduleSubmitButton'; widgetIdSuffix = 'Schedule'; widgetId = widgetIdBase + (widgetIdSuffix !== '' ? '_' + widgetIdSuffix : ''); widgetContainers[0] = document.getElementById(widgetId); if(!widgetContainers[0]){ widgetContainers[0] = document.getElementById(widgetIdBase); } var mapContainer = document.getElementById('is-MapWrapper'); var mapInnerHTML = '
'; if ( !widgetContainers[0] ) { console.log('Le\u0020conteneur\u0020du\u0020widget\u0020n\u0027a\u0020pas\u0020\u00E9t\u00E9\u0020trouv\u00E9.'); } else { var hasJquery = false; function checkJqueryOlderVersion(version) { var versionTab = version.split('.'); var ourVersion = [3,5,1]; for (var i = 0; i < versionTab.length; i++) { if (parseInt(versionTab[i]) < ourVersion[i]) { return true; } else if (parseInt(versionTab[i]) > ourVersion[i]) { return false; } } return false; } function appendScript(src, baseUrl) { var script = document.createElement('script'); script.src = baseUrl + src; script.type = 'text/javascript'; document.getElementsByTagName('body')[0].appendChild(script); return script; } function appendCss(href) { var link = document.createElement('link'); link.rel = 'stylesheet'; link.href = 'https\u003A\/\/sim\u002Dweb.61.prod.instant\u002Dsystem.com' + '/css/'+ href; document.getElementsByTagName('head')[0].appendChild(link); } function loadWidgetScripts(){ var usingMomentWidgets = ['journey', 'schedule', 'journeybooking', 'full'], bNeedMoment = false, momentSrc = 'https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.23.0/moment.min.js'; if (hasJquery === true) { jQuery = jQuery.noConflict(true); } if (window.$ === undefined) { window.$ = jQuery; } window.oConfig = { subjectsInformationZou: '{"":"","form.choices.subject_information.zou_student_pass":"form.choices.subject_information.zou_student_pass","form.choices.subject_information.zou_student_pass_refund":"form.choices.subject_information.zou_student_pass_refund","form.choices.subject_information.my_trip":"form.choices.subject_information.my_trip","form.choices.subject_information.order_online":"form.choices.subject_information.order_online","form.choices.subject_information.animal_object":"form.choices.subject_information.animal_object","form.choices.subject_information.website":"form.choices.subject_information.website","form.choices.subject_information.my_zou_card":"form.choices.subject_information.my_zou_card","form.choices.subject_information.other":"form.choices.subject_information.other"}', subjectsClaimZou: '{"":"","form.choices.subject_information.zou_student_pass":"form.choices.subject_information.zou_student_pass","form.choices.subject_information.zou_student_pass_refund":"form.choices.subject_information.zou_student_pass_refund","form.choices.subject_claim.object_loose":"form.choices.subject_claim.object_loose","form.choices.subject_claim.reception":"form.choices.subject_claim.reception","form.choices.subject_claim.late":"form.choices.subject_claim.late","form.choices.subject_claim.taking":"form.choices.subject_claim.taking","form.choices.subject_claim.confort":"form.choices.subject_claim.confort","form.choices.subject_claim.security":"form.choices.subject_claim.security","form.choices.subject_claim.driver":"form.choices.subject_claim.driver","form.choices.subject_claim.accident":"form.choices.subject_claim.accident"}', baseUrl: 'https://sim-web.61.prod.instant-system.com', locale: 'fr', networkId: '61', networkTimezone: 'Europe/Paris', deviceType: 'desktop', deviceOS: 'unknown', networkTimezone: 'Europe/Paris', external: 0, simModule: 1, ticketingModule: 1, widgetModule: 1, refererBaseDir: '/./', homeUrl: '/', outdatedBrowserUrl: '/fr/outdated-browser', defaultColor: '#666', brandColor: '#0d3082', hideNavLabelsBreakpoint: 768, maxDate: '2025-17-06', enableIsochrones: '', linesRedirectToSchedules: '', useLatencyInPlacesSearch: true, faviconUrl: 'https://storage.googleapis.com/is-assets-prod/61/web/global/favicon/', boundariesUrl: '/data/boundaries.json', events: { resultsLoaded: 'is.results.loaded' }, trans: { line: 'ligne', departure_stop: 'Arrêt de départ', arrival_stop: 'Arrêt d'arrivée', no_destination_stoparea: 'Aucune ligne ne peut être proposée au départ de cette gare.', journey_not_reservable: 'Trajet non réservable', booking_date_unavailable: 'Aucun trajet disponible pour cette date.', validate_btn: 'Valider', validate_in_progress_btn: 'Validation en cours ...', unknown_remaining_seats: 'Places restantes inconnues', remaining_seat: '%remainingSeats% place restante', remaining_seats: '%remainingSeats% places restantes', amount_error: 'Le montant doit être compris entre ', and: 'et', modes: { bus: 'Bus', transport: 'Transports en commun', airport: 'Aéroport', walk: 'Marche', metro: 'Métro', tram: 'Tramway', coach: 'Autocar', bike: 'Vélo', bikepark: 'Parking à vélo', bikesharing: 'Vélo en libre-service', car: 'Voiture', train: 'Train', railshuttle: 'Navette ferroviaire', rapidtransit: 'RER', train_rapidtransit: 'Train RER', shuttle: 'Navette', parkandride: 'Parking relais', park: 'Parking', airpark: 'Parking aérien', flight: 'Vol', ridesharing: 'Covoiturage', ridesharing_external: 'Covoiturage', ridesharingad: 'Covoiturage', bikesharingstation: 'Station de vélo en libre-service', carrental: 'Location de voiture', carrentalcheckin: 'Station d'autopartage', carrentalcheckout: 'Restitution de la voiture de location', ridesharingcheckin: 'Prise en charge', ridesharingcheckout: 'Fin de covoiturage' }, pendingSearch: 'Recherche en cours...', back: 'Retour', datetimeChosenValue: 'Vous avez sélectionné le %date% à %time%', dateChosenValue: 'Vous avez sélectionné le %date%', timeChosenValue: 'Vous avez sélectionné %time%', selectYear: 'Sélectionner l'année', selectMonth: 'Sélectionner le mois', selectDay: 'Sélectionner le jour', selectHour: 'Sélectionner l'heure', selectMinute: 'Sélectionner les minutes', months: { january: 'Janvier', february: 'Février', march: 'Mars', april: 'Avril', may: 'Mai', june: 'Juin', july: 'Juillet', august: 'Août', september: 'Septembre', october: 'Octobre', november: 'Novembre', december: 'Décembre' }, autocomplete: { searchLoading: 'Recherche en cours…', defaultNotice: 'Lorsque les options de l'autocomplete sont disponibles, utiliser les touches flèche du haut et du bas pour les passer en revue et entrée pour les sélectionner', selectedValue: '%selectedValue% sélectionné(e)', noSuggestion: "Aucune\u0020suggestion\u0020n\u0027a\u0020\u00E9t\u00E9\u0020trouv\u00E9e\u0020pour\u0020le\u0020texte\u0020recherch\u00E9,\u0020vous\u0020pouvez\u0020nous\u0020signaler\u0020vos\u0020difficult\u00E9s\u0020\u003Ca\u0020href\u003D\u0022https\u003A\/\/www.lametropolemobilite.fr\/\/fr\/contactez\u002Dnous\u0022\u0020target\u003D\u0022_blank\u0022\u003Evia\u0020ce\u0020formulaire\u003C\/a\u003E.", noExactSuggestion: 'Pas\u0020de\u0020correspondance\u0020exacte\u0020trouv\u00E9e,\u0020mais\u0020voici\u0020quelques\u0020suggestions\u0020se\u0020basant\u0020sur\u0020ce\u0020que\u0020vous\u0020avez\u0020renseign\u00E9\u0020dans\u0020le\u0020champ\u0020ou\u0020sur\u0020votre\u0020historique\u0020de\u0020recherches.\u0020Vous\u0020pouvez\u0020nous\u0020signaler\u0020vos\u0020difficult\u00E9s\u0020\u003Ca\u0020href\u003D\u0022https\u003A\/\/www.lametropolemobilite.fr\/\/fr\/contactez\u002Dnous\u0022\u0020target\u003D\u0022_blank\u0022\u003Evia\u0020ce\u0020formulaire\u003C\/a\u003E.', suggestionsFound: '%suggestionsLength% suggestions disponibles. Utiliser les touches flèche du haut et du bas pour les passer en revue et entrée pour les sélectionner.', resetLabel: 'Vider le champ', checkLabel: 'Vérifier la saisie', resultsFound: 'Une liste de %resultsCount% suggestions est disponible', noSuggestionSelected: 'Vous devez sélectionner une suggestion dans la liste de choix.', notice: 'Utiliser les flèches du bas et du haut pour naviguer parmi les suggestions. Confirmez votre choix avec la touche Entrée ou fermer la liste de suggestion avec la touche Échap', my_position: 'Ma position' }, loader: { search: 'Recherche en cours…', journeySearch: 'Recherche d'itinéraires en cours…', localitySearch: 'Chargement des lignes passant par cette ville…', stopareaSearch: 'Chargement des prochains départs à cet arrêt…', lineSearch: 'Chargement des horaires de la ligne…', stoppointSearch: 'Chargement des horaires de la ligne pour cet arrêt…' }, error: { ticketing_download: 'Votre téléchargement a échoué', journey_same_address: 'Vous avez saisi la même adresse d'arrivée et de départ. Veuillez saisir des adresses différentes.', select_payment_card: 'Vous devez sélectionner une carte de paiement', outward_return_dates_error: 'La date de retour ne peut pas précéder la date de départ' }, direction: 'Direction', ticketing: { payment: { success: 'Vous allez recevoir un SMS sur votre mobile pour continuer le paiement.', failure: 'L’initialisation du paiement a échoué', error_select: 'Vous devez d'abord choisir un opérateur' } }, forms: { agreeTerms: "Vous devez accepter les conditions", selectAddress: "Vous devez sélectionner une adresse", captcha: "Veuillez saisir le captcha", error: "Une erreur est survenue. Les informations n'ont pu être récupérées correctement." }, loading: 'Chargement', crop_empty: 'Vous devez valider la sélection de l'image' }, switchMapMobile: '', enableHurryTraveler: '' }; var journeyConfig = null, ticketingConfig = null, schedulesConfig = null, disruptionConfig = null, mapConfig = null, accountConfig = null, newsConfig = null, alertingConfig = null, widgetConfig; journeyConfig = { placeListPath: oConfig.baseUrl + '/fr/lieux', journeyListPath: oConfig.baseUrl + '/fr/itineraire', placeFavoritePostPath: oConfig.baseUrl + '/fr/lieux/favoris', placeFavoriteDeletePath: oConfig.baseUrl + '/fr/lieux/favoris', journeySchedulePath: oConfig.baseUrl + '/fr/itineraire/horaires', contactUrl: 'https://www.lametropolemobilite.fr//fr/contactez-nous', transitPassListPath: '/fr/transitpass', transitPassPostPath: '/fr/transitpass/update', isTransitPassEnabled: 0, sendLogUrl: oConfig.baseUrl + '/fr/sendlog' }; disruptionConfig = { disruptionPath: oConfig.baseUrl + '/fr/traffic-infos', linesAndPoiPath: oConfig.baseUrl + '/fr/lignes-et-poi' }; alertingConfig = { alertingCreateSubscriptionsPath: oConfig.baseUrl + '/fr/alerte/abonnement', alertingDeleteSubscriptionsPath: oConfig.baseUrl + '/fr/alerte/desabonnement' }; maasConfig = { libeloCheckPasswordUrl: 'https://sim-web.61.prod.instant-system.com/fr/libelo/checkPassword', libeloValidateGiftCertificate: 'https://sim-web.61.prod.instant-system.com/fr/libelo/validateGiftCertificate' }; schedulesConfig = { schedulesPath: oConfig.baseUrl + '/fr/horaires', lineDirectionListPath: oConfig.baseUrl + '/fr/ligne/ligne-direction', lineSchedulesPath: oConfig.baseUrl + '/fr/horaires/%5Bissubnet%5D/%5Bismode%5D/ligne/%5Bislsn%5D/direction/%5Bisdir%5D/%5Bislid%5D', stopareaSchedulesPath: oConfig.baseUrl + '/fr/horaires/%5Bislocv%5D/arret/%5Bissav%5D/%5Bissaid%5D', lineSchedulesTodPath: oConfig.baseUrl + '/fr/horaires/%5Bissubnet%5D/%5Bismode%5D/ligne/%5Bislsn%5D/%5Bislid%5D', localityLinesPath: oConfig.baseUrl + '/fr/horaires/%5Bislocv%5D/plan-lignes-transport/%5Bislocid%5D', getStopPointSchedules: oConfig.baseUrl + '/fr/horaires/ligne/%5Bislid%5D/direction/%5Bisdir%5D/arret/%5Bisspv%5D/%5Bisspid%5D', scheduleListPath: oConfig.baseUrl + '/fr/horaires/list', bookingStopAreasListPath: oConfig.baseUrl + '/fr/compte/reservations/arrets', bookingStopAreasDestinationListPath: oConfig.baseUrl + '/fr/compte/reservations/destination', bookingStopAreasTimeSheetsListPath: oConfig.baseUrl + '/fr/compte/reservations/timesheets', createLineStoppointDirectionSchedulePath: oConfig.baseUrl + '/fr/horaires/favoris/ligne/point-arret/direction', scheduleFavoriteListPath: oConfig.baseUrl + '/fr/horaires/favoris/liste', scheduleFavoriteDeletePath: oConfig.baseUrl + '/fr/horaires/favoris', scheduleFavoriteLinelistPath: oConfig.baseUrl + '/fr/ligne/favoris/list', scheduleFavoriteLinePostPath: oConfig.baseUrl + '/fr/ligne/favoris', scheduleFavoriteLineDeletePath: oConfig.baseUrl + '/fr/ligne/favoris', displayAllLinesOnEmptyInputFocus: true }; mapConfig = { zoomDelta: 0, maxZoom: 18, minZoom: 7, geoserver: 'http://apisix-gateway/geoserver/ows', defaultTileLayer: 'https://fr-osm.prod.instant-system.com/tile/{z}/{x}/{y}.png', vectorTiles: '1', vectorStyle: 'https://tsgl.prod.instant-system.com/styles/bright-world/style.json', defaultLatLon: [43.304276079135, 5.3865249641799], defaultZoom: 12, defaultPoiZoom: 22, stoppointUrl: oConfig.baseUrl + '/fr/map/stop', addressUrl: oConfig.baseUrl + '/fr/map/address', tramUrl: oConfig.baseUrl + '/fr/map/stop', aerialliftUrl: oConfig.baseUrl + '/fr/map/stop', metroUrl: oConfig.baseUrl + '/fr/map/stop', busUrl: oConfig.baseUrl + '/fr/map/stop', coachUrl: oConfig.baseUrl + '/fr/map/stop', trainUrl: oConfig.baseUrl + '/fr/map/stop', parkUrl: oConfig.baseUrl + '/fr/map/park', markersUrl: oConfig.baseUrl + '/fr/map/markers', checkCustomIconUrl: oConfig.baseUrl + '/fr/map/check-icon', linesShapeUrl: oConfig.baseUrl + '/fr/map/linesshape', getAllLinesUrl: oConfig.baseUrl + '/fr/lines-and-poi/all-lines', getLinesBySubnetworkUrl: oConfig.baseUrl + '/fr/lines-and-poi/line-by-subnetwork', isochronesUrl: oConfig.baseUrl + '/fr/map/isochrones', parkandrideUrl: oConfig.baseUrl + '/fr/carte/parkandrides', bikesharingstationUrl: oConfig.baseUrl + '/fr/carte/bikesharingstation', carsharingstationUrl: oConfig.baseUrl + '/fr/carte/carsharingstation', securebikeparkUrl: oConfig.baseUrl + '/fr/carte/securebikepark', bikeparkUrl: oConfig.baseUrl + '/fr/carte/bikepark', chargingstationUrl: oConfig.baseUrl + '/fr/carte/chargingstation', bikerentalagencyUrl: oConfig.baseUrl + '/fr/carte/bikerentalagency', ridesharingparkUrl: oConfig.baseUrl + '/fr/map/rideSharingPark', pointofsaleUrl: oConfig.baseUrl + '/fr/carte/pointdeventes', pointofinterestUrl: oConfig.baseUrl + '/fr/map/pointofinterest', taxistationUrl: oConfig.baseUrl + '/fr/map/taxistation', vehicleUrl: oConfig.baseUrl + '/fr/map/vehicle', stopAreaUrl: oConfig.baseUrl + '/fr/map/stopArea', lineByStopPointUrl: oConfig.baseUrl + '/fr/map/lineByStopPoint', getRideSharingParksUrl: oConfig.baseUrl + '/fr/map/ridesharingparks', userPosition: { latitude: '', longitude: '' }, networkPosition: { latitude: 43.304276079135, longitude: 5.3865249641799, }, widgetPosition: { latitude: '', longitude: '' }, operators: '', icons: {"bucket":{"layer_and_data_type":{"pointofinterest":{"geoserver":"subcategoryid","ws":"subCategory.id"}}},"default":{"layer_and_data_type":{"pointofinterest":{"geoserver":"subcategoryid","ws":"subCategory.id"},"stoppoint":{"geoserver":"mode","ws":"mode"}}}}, assetsBucketUrl: 'https://storage.googleapis.com/is-assets-prod/' }; accountConfig = { putAccountAddress: '/fr/compte/informations', addAddress: '/fr/compte/adresse/creer', deleteAddress: '/fr/account/delete-address', saveAddress: '/fr/account/save-address', homeUserAccountUrl : '/fr/compte', loginUrl: 'https://sim-web.61.prod.instant-system.com/fr/compte/utilisateur/login?isModal=true', resetPasswordUrl: 'https://sim-web.61.prod.instant-system.com/fr/utilisateur/resetPassword', referer: '', updateAccountImagePath: oConfig.baseUrl + '/fr/account/image', loginMode: 'kas', isLoggedIn: false, }; widgetConfig = { isWidget: true, widgetRequestReferer: '', isRedirection: false, isInternal: false, isSplit: true, widgetTarget: '', isPartner: '', istoken: '', isfid: "", isfv: "", istid: "", istv: "", isflat: "", isflon: "", istlat: "", istlon: "", islid: '', isdir: '', issaid: '', issav: '', islocid: '', isspid: '', issubnet: '', ismode: '', islsn: '', issubnetworks: '', widgetParams: { css: true, autocompleteModal: false }, widgetType: 'schedule', }; window.i18n = { showMenu: "Afficher le menu", hideMenu: "Masquer le menu", datetimeFormat: "YYYY-MM-DDTHH:mm:ssZ", dateFormat: "YYYY-MM-DD", displayedDateFormat: "ddd D MMMM", labelDateFormat: "dddd D MMMM YYYY", timeFormat: "HH:mm", displayedTimeFormat: "HH:mm", prevDateButtonLabel: "Atteindre le jour précédent, %prevDay%", nextDateButtonLabel: "Atteindre le jour suivant, %nextDay%", prevTimeButtonLabel: "Trajets précédents", nextTimeButtonLabel: "Trajets suivants", departureTime: "Heure de départ", close: "Fermer", leaveFrom: "Partir d'ici", goTo: "Y aller", centerHere: "Centrer ici", accessTime: "Temps d’accès", address: "adresse", zoomIn: 'Zoom +', zoomOut: 'Zoom -', start: 'départ', arrival: 'arrivée', stage_placeholder: 'arrêt, adresse, lieu...', from : 'De', deleteAccountSuccess: 'Votre compte a été supprimé avec succès.', label: { dateNotAvailable: "Les horaires pour les prochaines dates seront bientôt disponibles." }, popup: { leave: "En partir", goTo: "Y aller", stepVia: "Étape via", streetView: "StreetView", favorite: "Ajouter aux favoris" }, messagesErrors: { errorInternetConnection: "Houston, nous avons un problème ! Vérifiez votre connexion internet, elle semble être coupée :)", refreshBrowser: "Rafraîchir", errorServer: "Une erreur est survenue, vérifiez votre saisie ou réessayer ultérieurement.", itineraryNotAvailable: "Aucun itinéraire disponible pour le moment", tryLater: "Veuillez réessayer plus tard.", emptyVia: "Veuillez saisir une étape.", emptySchedule: "Veuillez entrer une ville, un arrêt ou une ligne.", invalidSchedule: "Saisie inexacte, veuillez vérifier vos informations.", emptyModes: "Veuillez choisir un mode de transport.", emptyDeparture: "Veuillez saisir un lieu de départ.", emptyArrival: "Veuillez saisir un lieu d'arrivée.", emptyDepartureArrival: "Le départ et l'arrivée sont requis.", invalidDeparture: "Le départ est invalide, veuillez vérifier vos informations.", invalidArrival: "L'arrivée est invalide, veuillez vérifier vos informations.", invalidVia: "L'étape est invalide, veuillez vérifier vos informations.", emptyUsername: "L'identifiant est requis.", emptyPassword: "Le mot de passe est requis.", wrongUsername: "Le nom d'utilisateur est invalide, veuillez vérifier vos informations.", infoPassword: "Le mot de passe doit comporter au minimum %nbChars% caractères, une majuscule, une minuscule, un chiffre et un caractère spécial.", Email: "L'email est requis.", emptyCode: "Le code de verification est requis.", emptyFirstname: "Le prénom est requis.", emptyLastname: "Le nom est requis.", emptyPassword: "Le mot de passe est requis.", emptyPasswordConfirm: "Le nouveau mot de passe est requis.", wrongPasswordAndConfirm: "Vos mots de passe ne correspondent pas", helpMessageItinerary: "Arrêt, adresse ou lieu... doit être choisi parmi les suggestions proposées.", errorOccured: "Une erreur est survenue, veuillez réessayer." }, positive_elevation: "Dénivelé positif ", distance_km: "Distance (km) ", altitude_m: "Altitude (m) ", geolocation_not_supported_by_browser: "La géolocalisation n'est pas supportée par ce navigateur ", favoriteAddButton: "Ajouter", favoriteEditButton: "Modifier", favorite: { addModalLabel: "Ajouter un favori", addModalValidate: "Valider", editModalLabel: "Modifier un favori", deleteConfirm: "Êtes-vous sûr de vouloir supprimer ce favori ?", deleteLabel: "Supprimer un favori", deleteValidate: "Confirmer", picto: { 'home': "Domicile", 'work': "Travail", 'unset': "Favoris" }, editModalTitle: { 'home': "Définir un lieu de domicile", 'work': "Définir un lieu de travail" }, editModalSave: "Enregistrer", editModalUpdate: "Enregistrer", editModalCancel: "Annuler", editModalPlaceholder: "Adresse du lieu", subscribeAlert: "Ajouter aux alertes infos trafic", unsubscribeAlert: "Retirer des alertes infos trafic", subscribeAlertSuccess: "L'abonnement aux alertes infos trafic a eu lieu avec succès.", subscribeAlertError: "Une erreur s'est produite lors de l'abonnement aux infos trafic. Veuillez réessayer.", unsubscribeAlertSuccess: "Le désabonnement aux alertes infos trafic a eu lieu avec succès.", unsubscribeAlertError: "Une erreur s'est produite lors du désabonnement aux infos trafic. Veuillez réessayer.", scheduleSubscribeAlertSuccess: "Favori enregistré ! Vous pouvez désormais consulter les prochains départs de cet arrêt.", scheduleSubscribeAlertError: "Une erreur s'est produite lors de l'enregistrement de ce favori. Veuillez réessayer.", scheduleUnsubscribeAlertSuccess: "L'arrêt a bien été supprimé de vos favoris.", scheduleUnsubscribeAlertError: "Une erreur s'est produite lors de la suppresion de l'arrêt des favoris. Veuillez réessayer.", noResultMessage: "Aucune adresse enregistrée", schedule: { addModalLabel: "Ajouter un arrêt favori", deleteConfirm: "Êtes-vous sûr de vouloir supprimer ce favori ?", linePlaceholder: "rechercher line", directionPlaceholder: "rechercher direction", stoppointPlaceholder: "rechercher stoppoint", lineLabel: "label line", directionLabel: "label direction", stoppointLabel: "label stoppoint", addModalSave: "Ajouter cet arrêt", addModalCancel: "Annuler", addNewButton: "Ajouter un arrêt favori", noResultMessage: "Aucun arrêt enregistré. Ajoutez un arrêt en favori pour visualiser les prochains départs à cet arrêt" } }, schedules: { modalInputLabel: 'Horaires', nextDepartures: 'Prochains départs', stopAreaLines: 'Lignes parcourant cet arrêt', direction: 'Direction', add_to_favorites: "Ajouter aux favoris", remove_from_favorites: "Retirer des favoris" }, poi: { totalPark: 'places', covered: 'couvert', notCovered: 'non couvert', network: 'Réseau', availableParks: "%availableParks% place(s) disponible(s)", bikesAvailable: "%availableBikes% vélo(s) disponible(s)", bikeChance: "%chance% % de chance d'avoir un vélo", standChance: "%chance% % de chance d'avoir une place", capacity: 'Capacité : %parkCapacity% places', bikepark: 'Parc à vélos ', bikerentalagency: 'Agence de location de vélo', plateNumber: 'Numéro de plaque d'immatriculation: ', parkAndRide: ' Parking Relais', ridesharingpark: 'Parking de covoiturage', carsharingstation: ' Stations de voitures en libre-service', parking: ' Parking', securebikepark: ' Parking à vélo sécurisé', taxistation: ' Station de taxi', chargingstation: ' Station de recharge électrique', bikesharingstation: 'Station de vélo en libre-service', parkandride: 'Parking relais' }, alt: { park: 'Sélection du parking', parkandride: 'Sélection du parking-relais', bikesharingstation: 'Sélection de la station', bikepark: 'Parc à vélos proches de votre arrivée', chargingstation: 'Choisir une station électrique', freefloatingvehiclecheckin: 'Choisir un autre véhicule' }, disruption: { network: 'Réseau' }, addToCalendar: { addToMyCalendar: 'Ajouter à mon agenda', journey: { title: 'Trajet vers %arrival%', desc: { departure: 'Départ: %departure%', arrival: 'Arrivée: %arrival%', from: 'De: %departure%', to: 'À: %arrival%' } } }, travellerProfile: { noSubscription: 'Aucun abonnement', emptySubscriptionListError: 'La liste des abonnements du réseau n’est pas disponible pour l’instant. Veuillez réessayer plus tard.', mySubscriptions: 'Mes abonnements', publicTransportsTitle: 'Transports publics', publicTransportsSubtitle: 'Sélectionnez votre abonnement de transports en commun', othersModesTitle: 'Autres modes', othersModesSubtitle: 'Sélectionnez votre abonnement de trottinette, vélo en libre-service, etc.', saveAndLeave: 'Enregistrer et quitter', continue: 'Continuer', back: 'Retour', leave: 'Quitter', i_understood: 'J'ai compris', configurationRecordingError: 'Une erreur est survenue, vos paramètres n’ont pas pu être enregistrés. Veuillez réessayer plus tard.', configurationSavedTitle: 'Paramètres enregistrés', configurationSavedMessage: 'Les tarifs affichés dans vos recherches d’itinéraire seront désormais calculés en fonction de vos abonnements.' }, ticketing: { refundConfirmationTitle: 'Remboursement effectué', arrival_city: 'ticketing.zou_etudes.informations_form.journey.arrival_city.label', departure_city: 'ticketing.zou_etudes.informations_form.journey.departure_city.label', arrival_station: 'ticketing.zou_etudes.informations_form.journey.arrival_station.label', departure_station: 'ticketing.zou_etudes.informations_form.journey.departure_station.label', choose: 'Choisir' }, meta: { appTitle: "La Métropole Mobilité", journeyTitle: "Itinéraires, horaires et infos trafic", journeyDescription: "Votre itinéraire de %departure% à %arrival%. Plan réseau de transport", journeyKeywords: "Tous vos déplacements", scheduleTitle: "Horaires transports en commun", scheduleDescription: "Horaires {subNetwork} {modeText} {lineName}. Plan réseau de transport", scheduleKeywords: "meta.schedule.keywords", scheduleText: "Horaires", disruptionTitle: "Infos trafic", disruptionDescription: "Voir les perturbations du réseau. Plan réseau de transport", disruptionKeywords: "Infos Trafic Perturbations", disruptionText: "Ligne", mapTitle: "Lignes et points d'intérêt", mapDescription: "Sélections de lignes et points d'intérêt du réseau", mapKeywords: "Sélections de lignes et points d'intérêt du réseau", scheduleText: "Horaires" } }; var extend = function(out) { out = out || {}; for (var i = 1; i < arguments.length; i++) { var obj = arguments[i]; if (!obj) { continue; } for (var key in obj) { if (obj.hasOwnProperty(key)) { out[key] = obj[key]; } } } return out; }; extend(window.oConfig, window.oConfig, newsConfig, journeyConfig, ticketingConfig, schedulesConfig, alertingConfig, maasConfig, disruptionConfig, mapConfig, accountConfig, widgetConfig); appendScript('https://cdnjs.cloudflare.com/ajax/libs/jquery-placeholder/2.3.1/jquery.placeholder.min.js', ''); appendScript('\/bundles\/fosjsrouting\/js\/router.min.js', 'https\u003A\/\/sim\u002Dweb.61.prod.instant\u002Dsystem.com'); appendScript('\/js\/routing\u003Fcallback\u003Dfos.Router.setData', 'https\u003A\/\/sim\u002Dweb.61.prod.instant\u002Dsystem.com'); bNeedMoment = bNeedMoment || (usingMomentWidgets.indexOf('schedule') >= 0); //Check if moment is required or already included before adding it if(bNeedMoment && document.querySelector("script[src='" + momentSrc + "']") === null){ var momentScript = appendScript(momentSrc, ''); momentScript.onload = function () { var momentTzScript = appendScript('https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.26/moment-timezone-with-data.min.js', ''); momentTzScript.onload = function () { appendScript('/js/' + 'schedule-map-widget.min.js', 'https\u003A\/\/sim\u002Dweb.61.prod.instant\u002Dsystem.com'); } } } else { appendScript('/js/' + 'schedule-map-widget.min.js', 'https\u003A\/\/sim\u002Dweb.61.prod.instant\u002Dsystem.com'); } } function googleAnalyticsClickOnWidget() { var script = document.createElement('script'); script.type = "text/javascript"; script.async = true; script.src = "https://www.googletagmanager.com/gtag/js?id="; document.getElementsByTagName('head')[0].appendChild(script); script.onload = function () { window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', '', { 'anonymize_ip':true, 'cookie_prefix':'IS', 'cookie_expires': '34214400', 'cookie_update': false, 'custom_map': { 'dimension1':'site_tiers' } }); if (!oConfig.isWidget) { return false; } var referer = 'none'; if (oConfig.widgetRequestReferer) { referer = oConfig.widgetRequestReferer; } $(journeySearchId + ' button, ' + scheduleSearchId + ' button').on('click', function() { var label = $(this).data('label'); gtag('event', 'click', { 'event_category': 'widget', 'event_label': label, 'site_tiers': referer }); }); } } function include(library) { switch(library) { case 'jquery': var jqueryScript = document.createElement('script'); jqueryScript.src = 'https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js'; jqueryScript.type = 'text/javascript'; document.getElementsByTagName('body')[0].appendChild(jqueryScript); jqueryScript.onload = function (ev) { include('leaflet'); }; break; case 'leaflet': var leafletScript = document.createElement('script'); leafletScript.src = 'https\u003A\/\/sim\u002Dweb.61.prod.instant\u002Dsystem.com' + '/js/is-leaflet.min.js'; leafletScript.type = 'text/javascript'; document.getElementsByTagName('body')[0].appendChild(leafletScript); leafletScript.onload = function (ev) { loadWidgetScripts(); }; break; default: loadWidgetScripts(); break; } } widgetContainers[0].innerHTML = '\u003Csection\u0020class\u003D\u0022is\u002DWidget\u0022\u003E\n\u0020\u0020\u0020\u0020\u003Cscript\u0020src\u003D\u0022https\u003A\/\/sim\u002Dweb.61.prod.instant\u002Dsystem.com\/js\/common\u002Dbody\u002Dbegin.min.js\u003Fisb\u003D577a208b\u0022\u003E\u003C\/script\u003E\u003Cscript\u0020type\u003D\u0022text\/javascript\u0022\u003Eif\u0028osName\u0020\u003D\u003D\u003D\u0020undefined\u0029\u0020\u007B\u0020var\u0020osName\u0020\u003D\u0020\u0027\u0027\u003B\u0020if\u0020\u0028\/iphone\u007Cipad\u007Cipod\/i.test\u0028navigator.userAgent\u0029\u0029\u0020\u007B\u0020osName\u0020\u003D\u0020\u0027ios\u0027\u003B\u0020\u007D\u0020else\u0020if\u0020\u0028\/android\/i.test\u0028navigator.userAgent\u0029\u0029\u0020\u007B\u0020osName\u0020\u003D\u0020\u0027android\u0027\u003B\u0020\u007D\u0020\u007D\u0020if\u0028browserName\u0020\u003D\u003D\u003D\u0020undefined\u0029\u0020\u007B\u0020var\u0020browserName\u0020\u003D\u0020\u0027\u0027\u003B\u0020\u007D\u0020if\u0028browserVersion\u0020\u003D\u003D\u003D\u0020undefined\u0029\u0020\u007B\u0020var\u0020browserVersion\u0020\u003D\u0020\u002D1\u003B\u0020\u007D\u0020if\u0028ie\u0020\u003D\u003D\u003D\u0020undefined\u0029\u0020\u007B\u0020var\u0020ie\u0020\u003D\u0020false\u003B\u0020\u007D\u0020if\u0028ie8\u0020\u003D\u003D\u003D\u0020undefined\u0029\u0020\u007B\u0020var\u0020ie8\u0020\u003D\u0020false\u003B\u0020\u007D\u0020if\u0028ie9\u0020\u003D\u003D\u003D\u0020undefined\u0029\u0020\u007B\u0020var\u0020ie9\u0020\u003D\u0020false\u003B\u0020\u007D\u0020if\u0028ie9Inf\u0020\u003D\u003D\u003D\u0020undefined\u0029\u0020\u007B\u0020var\u0020ie9Inf\u0020\u003D\u0020false\u003B\u0020\u007D\u0020if\u0028firefox\u0020\u003D\u003D\u003D\u0020undefined\u0029\u0020\u007B\u0020var\u0020firefox\u0020\u003D\u0020false\u003B\u0020\u007D\u003C\/script\u003E\u003C\u0021\u002D\u002D\u005Bif\u0020IE\u00209\u005D\u003E\u003Cscript\u0020type\u003D\u0022text\/javascript\u0022\u003EbrowserName\u0020\u003D\u0020\u0027MSIE\u0027\u003B\u0020browserVersion\u0020\u003D\u00209\u003B\u0020ie\u0020\u003D\u0020true,\u0020ie9\u0020\u003D\u0020true,\u0020ie9Inf\u0020\u003D\u0020true\u003B\u0020document.body.className\u0020\u002B\u003D\u0020\u0027\u0020is\u002Die9\u0020is\u002Die9Inf\u0027\u003B\u003C\/script\u003E\u003C\u0021\u005Bendif\u005D\u002D\u002D\u003E\u003C\u0021\u002D\u002D\u005Bif\u0020IE\u00208\u005D\u003E\u003Cscript\u0020type\u003D\u0022text\/javascript\u0022\u003EbrowserName\u0020\u003D\u0020\u0027MSIE\u0027\u003B\u0020browserVersion\u0020\u003D\u00208\u003B\u0020ie\u0020\u003D\u0020true,\u0020ie8\u0020\u003D\u0020true,\u0020ie9Inf\u0020\u003D\u0020true\u003B\u0020document.body.className\u0020\u002B\u003D\u0020\u0027\u0020is\u002Die8\u0020is\u002Die9Inf\u0027\u003B\u003C\/script\u003E\u003C\u0021\u005Bendif\u005D\u002D\u002D\u003E\u003C\u0021\u002D\u002D\u005Bif\u0020\u0021IE\u005D\u003E\u003C\u002D\u002D\u003E\u003Cscript\u0020type\u003D\u0022text\/javascript\u0022\u003EbrowserName\u0020\u003D\u0020navigator.sayswho\u005B0\u005D\u003B\u0020browserVersion\u0020\u003D\u0020navigator.sayswho\u005B1\u005D\u003B\u0020firefox\u0020\u003D\u0020\/firefox\/i.test\u0028navigator.userAgent\u0029\u003B\u0020ie\u0020\u003D\u0020\u0028ie9Inf\u0020\u007C\u007C\u0020\u0028\u0021ie9Inf\u0020\u0026\u0026\u0020\u0028navigator.appVersion.indexOf\u0028\u0027MSIE\u002010\u0027\u0029\u0020\u0021\u003D\u003D\u0020\u002D1\u0020\u007C\u007C\u0020\u0028\u0021\u0021window.MSInputMethodContext\u0020\u0026\u0026\u0020\u0021\u0021document.documentMode\u0029\u0029\u0029\u0029\u003B\u0020document.body.className\u0020\u002B\u003D\u0020\u0028osName\u0020\u0021\u003D\u003D\u0020\u0027\u0027\u0020\u003F\u0020\u0027\u0020is\u002D\u0027\u0020\u002B\u0020osName\u0020\u003A\u0020\u0027\u0027\u0029\u0020\u002B\u0020\u0027\u0020is\u002D\u0027\u0020\u002B\u0020browserName.toLocaleLowerCase\u0028\u0029\u0020\u002B\u0020\u0027\u0020is\u002D\u0027\u0020\u002B\u0020browserName.toLocaleLowerCase\u0028\u0029\u0020\u002B\u0020\u0027\u002D\u0027\u0020\u002B\u0020browserVersion\u003B\u003C\/script\u003E\u003C\u0021\u002D\u002D\u003E\u003C\u0021\u005Bendif\u005D\u002D\u002D\u003E\u0020\u0020\u0020\u0020\u003Cdiv\u0020id\u003D\u0022is\u002DSchedule\u0022\u003E\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\n\u0020\u0020\u0020\u0020\n\u0020\u0020\u0020\u0020\n\u003Cform\u0020id\u003D\u0022is\u002DScheduleForm\u0022\u0020autocomplete\u003D\u0022off\u0022\u0020\u003E\n\u0020\u0020\u0020\u0020\u003Cdiv\u0020class\u003D\u0022is\u002DInputWrapper\u0022\u0020id\u003D\u0022is\u002DSchedulesInput\u002DWrapper\u0022\u003E\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003Clabel\u0020class\u003D\u0022is\u002Dsr\u002Donly\u0022\u0020for\u003D\u0022is\u002DSchedulesInput\u0022\u003ERechercher\u0020une\u0020ligne\u0020ou\u0020un\u0020arr\u00EAt\u0020\u0028Champs\u0020requis\u0029\u003C\/label\u003E\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003Cinput\u0020value\u003D\u0022\u0022\u0020data\u002Ddirection\u002Did\u003D\u0022OUTWARD\u0022\u0020data\u002Dline\u002Did\u003D\u0022\u0022\u0020id\u003D\u0022is\u002DSchedulesInput\u0022\u0020class\u003D\u0022is\u002DInput\u0022\u0020type\u003D\u0022text\u0022\u0020required\u0020placeholder\u003D\u0022Rechercher\u0020une\u0020ligne\u0020ou\u0020un\u0020arr\u00EAt\u0022\u0020autocomplete\u003D\u0022off\u0022\u0020aria\u002Dlabel\u003D\u0022Rechercher\u0020une\u0020ligne\u0020ou\u0020un\u0020arr\u00EAt\u0022\u0020aria\u002Dautocomplete\u003D\u0022list\u0022\u0020aria\u002Downs\u003D\u0022is\u002DScheduleInput\u002DSuggestions\u0022\u0020role\u003D\u0022combobox\u0022\u0020\/\u003E\n\u0020\u0020\u0020\u0020\u003C\/div\u003E\n\u0020\u0020\u0020\u0020\u003Cdiv\u0020class\u003D\u0022is\u002Dmsg\u002Derror\u0022\u0020id\u003D\u0022is\u002Dmsg\u002Derror\u0022\u003E\u003C\/div\u003E\n\u0020\u0020\u0020\u0020\u003Cinput\u0020type\u003D\u0022hidden\u0022\u0020name\u003D\u0022token\u0022\u0020value\u003D\u00229b9ba12c2bbb.qysIbREBfy9uo9EeQI3_IdeCpGAQDFVjgut8ZdN5n8w.zFlGCyJNTmA40uUnJuyXEob47gZyT3gVsbINPZ0686THE301QXVJSVvOpg\u0022\/\u003E\n\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003Cdiv\u0020id\u003D\u0022is\u002DScheduleSubmitButton\u0022\u0020class\u003D\u0022is\u002DButtonArea\u0022\u003E\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003Cbutton\u0020data\u002Dlabel\u003D\u0022HORAIRE_INTEGRE\u0022\u0020type\u003D\u0022button\u0022\u0020class\u003D\u0022is\u002DButton\u0020is\u002DButton_Search\u0020is\u002Dfull\u002Dwidth\u0022\u0020aria\u002Dlabel\u003D\u0022Rechercher\u0020une\u0020ligne\u0020ou\u0020un\u0020arr\u00EAt\u0022\u003ERechercher\u003C\/button\u003E\n\u0020\u0020\u0020\u0020\u003C\/div\u003E\n\u0020\u0020\u0020\u0020\u003C\/form\u003E\n\u003C\/div\u003E\n\u0020\u0020\u0020\u0020\u003Cdiv\u0020class\u003D\u0022is\u002DWidgetResultsArea\u0022\u003E\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\n\u003Cdiv\u0020id\u003D\u0022is\u002DSchedule\u002DResults\u0022\u0020class\u003D\u0022is\u002DWidgetResults\u0020\u0022\u003E\n\u0020\u0020\u0020\u0020\n\u0020\u0020\u0020\u0020\u003C\/div\u003E\n\n\n\u0020\u0020\u0020\u0020\u003C\/div\u003E\n\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003C\/section\u003E\n'; if (mapContainer) { mapContainer.innerHTML = mapInnerHTML; } else { console.log('Le\u0020conteneur\u0020de\u0020la\u0020carte\u0020n\u0027a\u0020pas\u0020\u00E9t\u00E9\u0020trouv\u00E9.'); } appendCss('widget-schedule.min.css'); if (!window.jQuery || checkJqueryOlderVersion(window.jQuery.fn.jquery) ) { include('jquery'); } else if (true && !window.L) { hasJquery = true; include('leaflet'); } else { hasJquery = true; include('widgetScripts'); } } })()