<!DOCTYPE html> <html lang="fr"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"><script type="text/javascript">(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]},distributed_tracing:{enabled:true}};(window.NREUM||(NREUM={})).loader_config={agentID:"1276664113",accountID:"1555754",trustKey:"1555754",xpid:"VQMCVFFWDBABVlZUAQQAXlAC",licenseKey:"8603a57a05",applicationID:"1276657843"};;/*! For license information please see nr-loader-spa-1.290.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{D:()=>s,f:()=>a});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0};function a(e){try{return!!e.licenseKey&&!!e.errorBeacon&&!!e.applicationID}catch(e){return!1}}const s=e=>(0,i.a)(e,o)},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.290.0",i="PROD",o="CDN",a="^2.0.0-alpha.18"},6154:(e,t,r)=>{"use strict";r.d(t,{A4:()=>s,OF:()=>d,RI:()=>i,WN:()=>h,bv:()=>o,gm:()=>a,lR:()=>f,m:()=>u,mw:()=>c,sb:()=>l});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s="complete"===a?.document?.readyState,c=Boolean("hidden"===a?.document?.visibilityState),u=""+a?.location,d=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),l=d&&"undefined"==typeof SharedWorker,f=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),h=Date.now()-(0,n.t)()},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>o});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];if("*"===r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.split(":");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},3241:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(6154);const i="newrelic";function o(e={}){try{n.gm.dispatchEvent(new CustomEvent(i,{detail:e}))}catch(e){}}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),h(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)p(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function p(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>s,ee:()=>c});var n=r(384),i=r(8990),o=r(2646),a=r(5607);const s="nr@context:".concat(a.W),c=function e(t,r){var n={},a={},d={},l=!1;try{l=16===r.length&&u.initializedAgents?.[r]?.runtime.isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(c.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var s=h(n),u=g(e),d=u.length,l=0;l<d;l++)u[l].apply(s,r);var p=v()[a[e]];p&&p.push([f,e,r,s]);return s},get:m,listeners:g,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{a[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[a[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof o.y?e:e?(0,i.I)(e,s,(()=>new o.y(s))):new o.y(s)}function p(e,t){n[e]=g(e).concat(t)}function g(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),u=(0,n.Zm)();u.ee||(u.ee=c)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,ZF:()=>c,bz:()=>a,el:()=>u});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5701:(e,t,r)=>{"use strict";r.d(t,{B:()=>o,t:()=>a});var n=r(3241);const i=new Set,o={};function a(e,t){const r=t.agentIdentifier;o[r]??={},e&&"object"==typeof e&&(i.has(r)||(t.ee.emit("rumresp",[e]),o[r]=e,i.add(r),(0,n.W)({agentIdentifier:r,loaded:!0,drained:!0,type:"lifecycle",name:"load",feature:void 0,data:e})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},3496:(e,t,r)=>{"use strict";function n(e){return!e||!(!e.licenseKey||!e.applicationID)}function i(e,t){return!e||e.licenseKey===t.info.licenseKey&&e.applicationID===t.info.applicationID}r.d(t,{A:()=>i,I:()=>n})},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>u,Zm:()=>a,bQ:()=>c,dV:()=>s,pV:()=>d});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e,t){a()[e]=t}function d(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u="addEventListener",d="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],"-",p)}function p(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),c&&h(c.prototype,f),h(a.gm,f)),t.on(u+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(d+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{$v:()=>u,TZ:()=>n,Zp:()=>i,kd:()=>c,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3,c=["PageAction","UserAction","BrowserPerformance"],u={MARKS:"experimental.marks",MEASURES:"experimental.measures",RESOURCES:"experimental.resources"}},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{A$:()=>o,ET:()=>a,TZ:()=>s,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o={OFF:0,ERROR:1,WARN:2,INFO:3,DEBUG:4,TRACE:5},a="log",s=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>u});var n=r(9908),i=r(1863),o=r(860),a=r(8154),s=r(993);function c(e,t,r={},c=s.p_.INFO,u,d=(0,i.t)()){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[d,t,r,c,u],void 0,o.K7.logging,e)}function u(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},8154:(e,t,r)=>{"use strict";r.d(t,{z_:()=>o,XG:()=>s,TZ:()=>n,rs:()=>i,xV:()=>a});r(6154),r(9566),r(384);const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>d,G4:()=>o,Qb:()=>l,TZ:()=>i,Ug:()=>a,_s:()=>s,bc:()=>u,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},u={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},d=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>s,CT:()=>c,SR:()=>a,rF:()=>u});var n=r(384),i=r(7767),o=r(6154);function a(e){return!!(0,n.dV)().o.MO&&(0,i.V)(e)&&!0===e?.session_trace.enabled}function s(e){return!0===e?.session_replay.preload&&a(e)}function c(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:o.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(o.WN-t.correctedOriginTime)}}function u(e,t){try{if("string"==typeof t?.type){if("password"===t.type.toLowerCase())return"*".repeat(e?.length||0);if(void 0!==t?.dataset?.nrUnmask||t?.classList?.contains("nr-unmask"))return e}}catch(e){}return"string"==typeof e?e.replace(/[\S]/g,"*"):"*".repeat(e?.length||0)}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>s,Lc:()=>u,Rz:()=>d,TZ:()=>n,bD:()=>o,d3:()=>a,jx:()=>l,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState",l=1e3},3962:(e,t,r)=>{"use strict";r.d(t,{AM:()=>o,O2:()=>c,Qu:()=>u,TZ:()=>s,ih:()=>d,pP:()=>a,tC:()=>i});var n=r(860);const i=["click","keydown","submit","popstate"],o="api",a="initialPageLoad",s=n.K7.softNav,c={INITIAL_PAGE_LOAD:"",ROUTE_CHANGE:1,UNSPECIFIED:2},u={INTERACTION:1,AJAX:2,CUSTOM_END:3,CUSTOM_TRACER:4},d={IP:"in progress",FIN:"finished",CAN:"cancelled"}},7378:(e,t,r)=>{"use strict";r.d(t,{$p:()=>x,BR:()=>b,Kp:()=>w,L3:()=>y,Lc:()=>c,NC:()=>o,SG:()=>d,TZ:()=>i,U6:()=>p,UT:()=>m,d3:()=>R,dT:()=>f,e5:()=>A,gx:()=>v,l9:()=>l,oW:()=>h,op:()=>g,rw:()=>u,tH:()=>E,uP:()=>s,wW:()=>T,xq:()=>a});var n=r(384);const i=r(860).K7.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",l="remaining",f="interaction",h="spaNode",p="jsonpNode",g="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=(0,n.dV)().o.ST,R="-start",w="-end",x="-body",T="cb"+w,A="jsTime",E="fetch"},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>i});var n=r(6154);const i=e=>n.RI&&!0===e?.privacy.cookies_enabled},1741:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(944),i=r(4261);class o{#e(e,...t){if(this[e]!==o.prototype[e])return this[e](...t);(0,n.R)(35,e)}addPageAction(e,t){return this.#e(i.hG,e,t)}register(e){return this.#e(i.eY,e)}recordCustomEvent(e,t){return this.#e(i.fF,e,t)}setPageViewName(e,t){return this.#e(i.Fw,e,t)}setCustomAttribute(e,t,r){return this.#e(i.cD,e,t,r)}noticeError(e,t){return this.#e(i.o5,e,t)}setUserId(e){return this.#e(i.Dl,e)}setApplicationVersion(e){return this.#e(i.nb,e)}setErrorHandler(e){return this.#e(i.bt,e)}addRelease(e,t){return this.#e(i.k6,e,t)}log(e,t){return this.#e(i.$9,e,t)}start(){return this.#e(i.d3)}finished(e){return this.#e(i.BL,e)}recordReplay(){return this.#e(i.CH)}pauseReplay(){return this.#e(i.Tb)}addToTrace(e){return this.#e(i.U2,e)}setCurrentRouteName(e){return this.#e(i.PA,e)}interaction(){return this.#e(i.dT)}wrapLogger(e,t,r){return this.#e(i.Wb,e,t,r)}}},4261:(e,t,r)=>{"use strict";r.d(t,{$9:()=>l,BL:()=>u,Bu:()=>o,CH:()=>g,Dl:()=>x,Fw:()=>w,PA:()=>b,Pl:()=>n,Tb:()=>h,U2:()=>s,Wb:()=>A,bt:()=>R,cD:()=>y,d3:()=>T,dT:()=>d,eY:()=>m,fF:()=>p,hG:()=>a,hw:()=>i,k6:()=>c,nb:()=>v,o5:()=>f});const n="api-",i=n+"ixn-",o={},a="addPageAction",s="addToTrace",c="addRelease",u="finished",d="interaction",l="log",f="noticeError",h="pauseReplay",p="recordCustomEvent",g="recordReplay",m="register",v="setApplicationVersion",b="setCurrentRouteName",y="setCustomAttribute",R="setErrorHandler",w="setPageViewName",x="setUserId",T="start",A="wrapLogger"},5205:(e,t,r)=>{"use strict";r.d(t,{j:()=>_});var n=r(384),i=r(1741);var o=r(2555),a=r(3333);const s=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var c=r(2614),u=r(944),d=r(8122);const l="[data-nr-mask]",f=e=>(0,d.a)(e,(()=>{const e={feature_flags:[],experimental:{marks:!1,measures:!1,resources:!1},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0},api:{allow_registered_children:!0,duplicate_registered_data:!1},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{get capture_marks(){return e.feature_flags.includes(a.$v.MARKS)||e.experimental.marks},set capture_marks(t){e.experimental.marks=t},get capture_measures(){return e.feature_flags.includes(a.$v.MEASURES)||e.experimental.measures},set capture_measures(t){e.experimental.measures=t},capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(a.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:c.wk,inactiveMs:c.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){s(t)?e.mask_selector="".concat(t,",").concat(l):""===t||null===t?e.mask_selector=l:(0,u.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){s(t)?e.block_selector+=",".concat(t):""!==t&&(0,u.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,u.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},spa:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]}}})());var h=r(6154),p=r(9324);let g=0;const m={buildEnv:p.F3,distMethod:p.Xs,version:p.xv,originTime:h.WN},v={appMetadata:{},customTransaction:void 0,denyList:void 0,disabled:!1,entityManager:void 0,harvester:void 0,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,obfuscator:void 0,onerror:void 0,ptid:void 0,releaseIds:{},session:void 0,timeKeeper:void 0,get harvestCount(){return++g}},b=e=>{const t=(0,d.a)(e,v),r=Object.keys(m).reduce(((e,t)=>(e[t]={value:m[t],writable:!1,configurable:!0,enumerable:!0},e)),{});return Object.defineProperties(t,r)};var y=r(5701);const R=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};var w=r(7836),x=r(3241);const T={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},A=e=>(0,d.a)(e,T),E=new Set;function _(e,t={},r,a){let{init:s,info:c,loader_config:u,runtime:d={},exposed:l=!0}=t;if(!c){const e=(0,n.pV)();s=e.init,c=e.info,u=e.loader_config}e.init=f(s||{}),e.loader_config=A(u||{}),c.jsAttributes??={},h.bv&&(c.jsAttributes.isWorker=!0),e.info=(0,o.D)(c);const p=e.init,g=[c.beacon,c.errorBeacon];E.has(e.agentIdentifier)||(p.proxy.assets&&(R(p.proxy.assets),g.push(p.proxy.assets)),p.proxy.beacon&&g.push(p.proxy.beacon),function(e){const t=(0,n.pV)();Object.getOwnPropertyNames(i.W.prototype).forEach((r=>{const n=i.W.prototype[r];if("function"!=typeof n||"constructor"===n)return;let o=t[r];e[r]&&!1!==e.exposed&&"micro-agent"!==e.runtime?.loaderType&&(t[r]=(...t)=>{const n=e[r](...t);return o?o(...t):n})}))}(e),(0,n.US)("activatedFeatures",y.B),e.runSoftNavOverSpa&&=!0===p.soft_navigations.enabled&&p.feature_flags.includes("soft_nav")),d.denyList=[...p.ajax.deny_list||[],...p.ajax.block_internal?g:[]],d.ptid=e.agentIdentifier,d.loaderType=r,e.runtime=b(d),E.has(e.agentIdentifier)||(e.ee=w.ee.get(e.agentIdentifier),e.exposed=l,(0,x.W)({agentIdentifier:e.agentIdentifier,drained:!!y.B?.[e.agentIdentifier],type:"lifecycle",name:"initialize",feature:void 0,data:e.config})),E.add(e.agentIdentifier)}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>d,K7:()=>c,P3:()=>u,XX:()=>i,Yy:()=>s,df:()=>o,qY:()=>n,v4:()=>a});const n="events",i="jserrors",o="browser/blobs",a="rum",s="browser/logs",c={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},u={[c.pageViewEvent]:1,[c.pageViewTiming]:2,[c.metrics]:3,[c.jserrors]:4,[c.spa]:5,[c.ajax]:6,[c.sessionTrace]:7,[c.softNav]:8,[c.sessionReplay]:9,[c.logging]:10,[c.genericEvents]:11},d={[c.pageViewEvent]:a,[c.pageViewTiming]:n,[c.ajax]:n,[c.spa]:n,[c.softNav]:n,[c.metrics]:i,[c.jserrors]:i,[c.sessionTrace]:o,[c.sessionReplay]:o,[c.logging]:s,[c.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({212:"nr-spa-compressor",249:"nr-spa-recorder",478:"nr-spa"}[e]+"-1.290.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.290.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={478:"sha512-2i5RxuZ/m/YpRRVXPC98p06x6ZUBqY7d79xJrE5D++qb+LyCG1zPwnIZKCLQLL+QtkfmvLgEivuK6WL26UM0JQ==",249:"sha512-N7Qvs2GMRDH89dYp0xW+p8nQjO8ETs/DHU6TdtBDUycoZhxe3xpcZ17BWLrde2Ioc6b5G8luvRJjIx/JqF1uMw==",212:"sha512-a884ddTXBI44CBhRLEnBEZP7Tgtp2YErWns6rRu0FalosJSuCAvVHb8gFJ91PZ2IJ9ro1wFfjFjK4KSSjzlDUw=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={38:0,788:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.290.0.PROD"]=self["webpackChunk:NRBA-1.290.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(9566),t=i(1741);class r extends t.W{agentIdentifier=(0,e.LA)(16)}var n=i(860);const o=Object.values(n.K7);var a=i(5205);var s=i(9908),c=i(1863),u=i(4261),d=i(3241),l=i(944),f=i(5701),h=i(8154);function p(e,t,i,o){const a=o||i;!a||a[e]&&a[e]!==r.prototype[e]||(a[e]=function(){(0,s.p)(h.xV,["API/"+e+"/called"],void 0,n.K7.metrics,i.ee),(0,d.W)({agentIdentifier:i.agentIdentifier,drained:!!f.B?.[i.agentIdentifier],type:"data",name:"api",feature:u.Pl+e,data:{}});try{return t.apply(this,arguments)}catch(e){(0,l.R)(23,e)}})}function g(e,t,r,n,i){const o=e.info;null===r?delete o.jsAttributes[t]:e.info={...e.info,jsAttributes:{...o.jsAttributes,[t]:r}},(i||null===r)&&(0,s.p)(u.Pl+n,[(0,c.t)(),t,r],void 0,"session",e.ee)}var m=i(1687),v=i(4234),b=i(5289),y=i(6154),R=i(5270),w=i(7767),x=i(6389);class T extends v.W{constructor(e,t){super(e.agentIdentifier,t),this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,this.deferred=Promise.resolve(),!1===e.init[this.featureName].autoStart?this.deferred=new Promise(((t,r)=>{this.ee.on("manual-start-all",(0,x.J)((()=>{(0,m.Ak)(e.agentIdentifier,this.featureName),t()})))})):(0,m.Ak)(e.agentIdentifier,t)}importAggregator(e,t,r={}){if(this.featAggregate)return;let o;this.onAggregateImported=new Promise((e=>{o=e}));const a=async()=>{let a;await this.deferred;try{if((0,w.V)(e.init)){const{setupAgentSession:t}=await i.e(478).then(i.bind(i,6526));a=t(e)}}catch(e){(0,l.R)(20,e),this.ee.emit("internal-error",[e]),this.featureName===n.K7.sessionReplay&&this.abortHandler?.()}try{if(!this.#t(this.featureName,a,e.init))return(0,m.Ze)(this.agentIdentifier,this.featureName),void o(!1);const{Aggregate:n}=await t();this.featAggregate=new n(e,r),e.runtime.harvester.initializedAggregates.push(this.featAggregate),o(!0)}catch(e){(0,l.R)(34,e),this.abortHandler?.(),(0,m.Ze)(this.agentIdentifier,this.featureName,!0),o(!1),this.ee&&this.ee.abort()}};y.RI?(0,b.GG)((()=>a()),!0):a()}#t(e,t,r){switch(e){case n.K7.sessionReplay:return(0,R.SR)(r)&&!!t;case n.K7.sessionTrace:return!!t;default:return!0}}}var A=i(6630);class E extends T{static featureName=A.T;constructor(e){var t;super(e,A.T),t=e,p(u.Fw,(function(e,r){"string"==typeof e&&("/"!==e.charAt(0)&&(e="/"+e),t.runtime.customTransaction=(r||"http://custom.transaction")+e,(0,s.p)(u.Pl+u.Fw,[(0,c.t)()],void 0,void 0,t.ee))}),t),this.ee.on("api-send-rum",((e,t)=>(0,s.p)("send-rum",[e,t],void 0,this.featureName,this.ee))),this.importAggregator(e,(()=>i.e(478).then(i.bind(i,1983))))}}var _=i(384);var S=i(2843),N=i(3878),O=i(782);class I extends T{static featureName=O.T;constructor(e){super(e,O.T),y.RI&&((0,S.u)((()=>(0,s.p)("docHidden",[(0,c.t)()],void 0,O.T,this.ee)),!0),(0,N.sp)("pagehide",(()=>(0,s.p)("winPagehide",[(0,c.t)()],void 0,O.T,this.ee))),this.importAggregator(e,(()=>i.e(478).then(i.bind(i,9917)))))}}class P extends T{static featureName=h.TZ;constructor(e){super(e,h.TZ),y.RI&&document.addEventListener("securitypolicyviolation",(e=>{(0,s.p)(h.xV,["Generic/CSPViolation/Detected"],void 0,this.featureName,this.ee)})),this.importAggregator(e,(()=>i.e(478).then(i.bind(i,8351))))}}var j=i(6774),C=i(6344),k=i(3304);class L{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,k.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function H(e){return K(e)?e:new L(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function M(e){const t="Unhandled Promise Rejection: ";if(!e?.reason)return;if(K(e.reason)){try{e.reason.message.startsWith(t)||(e.reason.message=t+e.reason.message)}catch(e){}return H(e.reason)}const r=H(e.reason);return(r.message||"").startsWith(t)||(r.message=t+r.message),r}function D(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new L(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return K(e.error)?e.error:H(e)}function K(e){return e instanceof Error&&!!e.stack}var U=i(2614);function F(e,t,r,i,o=(0,c.t)()){"string"==typeof e&&(e=new Error(e)),(0,s.p)("err",[e,o,!1,t,!!u.Bu[r.agentIdentifier],void 0,i],void 0,n.K7.jserrors,r.ee)}var B=i(3496),G=i(993),W=i(3785);function V(e,{customAttributes:t={},level:r=G.p_.INFO}={},n,i,o=(0,c.t)()){(0,W.R)(n.ee,e,t,r,i,o)}function z(e,t,r,i,o=(0,c.t)()){(0,s.p)(u.Pl+u.hG,[o,e,t,i],void 0,n.K7.genericEvents,r.ee)}function Z(e){p(u.eY,(function(t){return function(e,t){const r={};let i,o;(0,l.R)(54,"newrelic.register"),e.init.api.allow_registered_children||(i=()=>(0,l.R)(55));t&&(0,B.I)(t)||(i=()=>(0,l.R)(48,t));const a={addPageAction:(n,i={})=>{u(z,[n,{...r,...i},e],t)},log:(n,i={})=>{u(V,[n,{...i,customAttributes:{...r,...i.customAttributes||{}}},e],t)},noticeError:(n,i={})=>{u(F,[n,{...r,...i},e],t)},setApplicationVersion:e=>{r["application.version"]=e},setCustomAttribute:(e,t)=>{r[e]=t},setUserId:e=>{r["enduser.id"]=e},metadata:{customAttributes:r,target:t,get connected(){return o||Promise.reject(new Error("Failed to connect"))}}};i?i():o=new Promise(((n,i)=>{try{const o=e.runtime?.entityManager;let s=!!o?.get().entityGuid,c=o?.getEntityGuidFor(t.licenseKey,t.applicationID),u=!!c;if(s&&u)t.entityGuid=c,n(a);else{const d=setTimeout((()=>i(new Error("Failed to connect - Timeout"))),15e3);function l(r){(0,B.A)(r,e)?s||=!0:t.licenseKey===r.licenseKey&&t.applicationID===r.applicationID&&(u=!0,t.entityGuid=r.entityGuid),s&&u&&(clearTimeout(d),e.ee.removeEventListener("entity-added",l),n(a))}e.ee.emit("api-send-rum",[r,t]),e.ee.on("entity-added",l)}}catch(f){i(f)}}));const u=async(t,r,a)=>{if(i)return i();const u=(0,c.t)();(0,s.p)(h.xV,["API/register/".concat(t.name,"/called")],void 0,n.K7.metrics,e.ee);try{await o;const n=e.init.api.duplicate_registered_data;(!0===n||Array.isArray(n)&&n.includes(a.entityGuid))&&t(...r,void 0,u),t(...r,a.entityGuid,u)}catch(e){(0,l.R)(50,e)}};return a}(e,t)}),e)}class q extends T{static featureName=j.T;#r=!1;constructor(e){var t;super(e,j.T),t=e,p(u.o5,((e,r)=>F(e,r,t)),t),u.Bu[t.agentIdentifier]??=U.g.OFF,t.ee.on(C.G4.REPLAY_RUNNING,(e=>{u.Bu[t.agentIdentifier]=e})),function(e){p(u.bt,(function(t){e.runtime.onerror=t}),e)}(e),function(e){let t=0;p(u.k6,(function(e,r){++t>10||(this.runtime.releaseIds[e.slice(-200)]=(""+r).slice(-200))}),e)}(e),Z(e);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",((e,t)=>{this.abortHandler&&(0,s.p)("ierr",[H(e),(0,c.t)(),!0,{},this.#r,t],void 0,this.featureName,this.ee)})),this.ee.on(C.G4.REPLAY_RUNNING,(e=>{this.#r=e})),y.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,s.p)("err",[M(e),(0,c.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,N.jT)(!1,this.removeOnAbort?.signal)),y.gm.addEventListener("error",(e=>{this.abortHandler&&(0,s.p)("err",[D(e),(0,c.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,N.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e,(()=>i.e(478).then(i.bind(i,5928))))}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var Y=i(8990);let X=1;function J(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===y.gm?0:(0,Y.I)(e,"nr@id",(function(){return X++}))}function Q(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,k.A)(e).length}catch(e){return}}}var ee=i(8139),te=i(7836),re=i(3434);const ne={},ie=["open","send"];function oe(e){var t=e||te.ee;const r=function(e){return(e||te.ee).get("xhr")}(t);if(void 0===y.gm.XMLHttpRequest)return r;if(ne[r.debugId]++)return r;ne[r.debugId]=1,(0,ee.u)(t);var n=(0,re.YM)(r),i=y.gm.XMLHttpRequest,o=y.gm.MutationObserver,a=y.gm.Promise,s=y.gm.setInterval,c="readystatechange",u=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],d=[],f=y.gm.XMLHttpRequest=function(e){const t=new i(e),o=r.context(t);try{r.emit("new-xhr",[t],o),t.addEventListener(c,(a=o,function(){var e=this;e.readyState>3&&!a.resolved&&(a.resolved=!0,r.emit("xhr-resolved",[],e)),n.inPlace(e,u,"fn-",b)}),(0,N.jT)(!1))}catch(e){(0,l.R)(15,e);try{r.emit("internal-error",[e])}catch(e){}}var a;return t};function h(e,t){n.inPlace(t,["onreadystatechange"],"fn-",b)}if(function(e,t){for(var r in e)t[r]=e[r]}(i,f),f.prototype=i.prototype,n.inPlace(f.prototype,ie,"-xhr-",b),r.on("send-xhr-start",(function(e,t){h(e,t),function(e){d.push(e),o&&(p?p.then(v):s?s(v):(g=-g,m.data=g))}(t)})),r.on("open-xhr-start",h),o){var p=a&&a.resolve();if(!s&&!a){var g=1,m=document.createTextNode(g);new o(v).observe(m,{characterData:!0})}}else t.on("fn-end",(function(e){e[0]&&e[0].type===c||v()}));function v(){for(var e=0;e<d.length;e++)h(0,d[e]);d.length&&(d=[])}function b(e,t){return t}return r}var ae="fetch-",se=ae+"body-",ce=["arrayBuffer","blob","json","text","formData"],ue=y.gm.Request,de=y.gm.Response,le="prototype";const fe={};function he(e){const t=function(e){return(e||te.ee).get("fetch")}(e);if(!(ue&&de&&y.gm.fetch))return t;if(fe[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[te.P]&&o[te.P].dt&&(e=o[te.P].dt);var a=i.apply(this,r);return t.emit(n+"start",[r,e],a),a.then((function(e){return t.emit(n+"end",[null,e],a),e}),(function(e){throw t.emit(n+"end",[e],a),e}))})}return fe[t.debugId]=1,ce.forEach((e=>{r(ue[le],e,se),r(de[le],e,se)})),r(y.gm,"fetch",ae),t.on(ae+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(ae+"done",[null,r],n)}else t.emit(ae+"done",[e],n)})),t}var pe=i(7485);class ge{constructor(e){this.agentRef=e}generateTracePayload(t){const r=this.agentRef.loader_config;if(!this.shouldGenerateTrace(t)||!r)return null;var n=(r.accountID||"").toString()||null,i=(r.agentID||"").toString()||null,o=(r.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,e.ZF)(),s=(0,e.el)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(t.sameOrigin||this.isAllowedOrigin(t)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(t.sameOrigin&&!this.excludeNewrelicHeader()||!t.sameOrigin&&this.isAllowedOrigin(t)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof y.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,k.A)(a))}shouldGenerateTrace(e){return this.agentRef.init?.distributed_tracing&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1;const r=this.agentRef.init?.distributed_tracing;if(e.sameOrigin)t=!0;else if(r?.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,pe.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}excludeNewrelicHeader(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=this.agentRef.init?.distributed_tracing;return!!e&&!!e.cors_use_tracecontext_headers}}var me=i(9300),ve=i(7295),be=["load","error","abort","timeout"],ye=be.length,Re=(0,_.dV)().o.REQ,we=(0,_.dV)().o.XHR;const xe="X-NewRelic-App-Data";class Te extends T{static featureName=me.T;constructor(e){super(e,me.T),this.dt=new ge(e),this.handler=(e,t,r,n)=>(0,s.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};y.gm?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},i={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};Ae(r,t.name),this.handler("xhr",[r,i,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,n.K7.ajax)}}))}catch(e){}he(this.ee),oe(this.ee),function(e,t,r,i){function o(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=A,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){E(t,e)}),(0,N.jT)(!1)),y.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,N.jT)(!1))}function a(e){this.params={method:e[0]},Ae(this,e[1]),this.metrics={}}function u(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var n=i.generateTracePayload(this.parsedOrigin);if(n){var o=!1;n.newrelicHeader&&(r.setRequestHeader("newrelic",n.newrelicHeader),o=!0),n.traceContextParentHeader&&(r.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&r.setRequestHeader("tracestate",n.traceContextStateHeader),o=!0),o&&(this.dt=n)}}function d(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=Q(i);a&&(n.txSize=a)}this.startTime=(0,c.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<ye;s++)r.addEventListener(be[s],this.listener,(0,N.jT)(!1))}function l(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function f(e,t){var r=""+J(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function p(e,t){var r=""+J(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function g(){this.endTime=(0,c.t)()}function m(e,r){r instanceof we&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function v(e,r){r instanceof we&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function b(e,t,r){t instanceof we&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,c.t)()))}function R(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,c.t)()-this.xhrCbStart,this.onload,r],r)}function w(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&y.RI&&(t=""+y.gm.location.href):e[0]&&e[0].url?t=e[0].url:y.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,pe.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var n=i.generateTracePayload(this.parsedOrigin);if(n&&(n.newrelicHeader||n.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,n)&&(this.dt=n);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,n)&&(this.dt=n),e.length>1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function x(e,t){this.params={},this.metrics={},this.startTime=(0,c.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof Re?r=i.url:y.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),Ae(this,r);var o=(""+(i&&i instanceof Re&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=Q(n.body)||0}function T(e,t){if(this.endTime=(0,c.t)(),this.params||(this.params={}),(0,ve.iW)(this.params))return;let i;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(i=+this.rxSize);const o={txSize:this.txSize,rxSize:i,duration:(0,c.t)()-this.startTime};r("xhr",[this.params,o,this.startTime,this.endTime,"fetch"],this,n.K7.ajax)}function A(e){const t=this.params,i=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<ye;t++)e.removeEventListener(be[t],this.listener,!1);t.aborted||(0,ve.iW)(t)||(i.duration=(0,c.t)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):E(this,e),i.cbTime=this.cbTime,r("xhr",[t,i,this.startTime,this.endTime,"xhr"],this,n.K7.ajax))}}function E(e,r){e.params.status=r.status;var i=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?Q(e.response):"text"===r||""===r||void 0===r?Q(e.responseText):void 0}(r,e.lastSize);if(i&&(e.metrics.rxSize=i),e.sameOrigin&&r.getAllResponseHeaders().indexOf(xe)>=0){var o=r.getResponseHeader(xe);o&&((0,s.p)(h.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,n.K7.metrics,t),e.params.cat=o.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",o),t.on("open-xhr-start",a),t.on("open-xhr-end",u),t.on("send-xhr-start",d),t.on("xhr-cb-time",l),t.on("xhr-load-added",f),t.on("xhr-load-removed",p),t.on("xhr-resolved",g),t.on("addEventListener-end",m),t.on("removeEventListener-end",v),t.on("fn-end",R),t.on("fetch-before-start",w),t.on("fetch-start",x),t.on("fn-start",b),t.on("fetch-done",T)}(e,this.ee,this.handler,this.dt),this.importAggregator(e,(()=>i.e(478).then(i.bind(i,3845))))}}function Ae(e,t){var r=(0,pe.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const Ee={},_e=["pushState","replaceState"];function Se(e){const t=function(e){return(e||te.ee).get("history")}(e);return!y.RI||Ee[t.debugId]++||(Ee[t.debugId]=1,(0,re.YM)(t).inPlace(window.history,_e,"-")),t}var Ne=i(3738);function Oe(e){p(u.BL,(function(t=(0,c.t)()){(0,s.p)(h.XG,[u.BL,{time:t}],void 0,n.K7.metrics,e.ee),e.addToTrace({name:u.BL,start:t+y.WN,origin:"nr"}),(0,s.p)(u.Pl+u.hG,[t,u.BL],void 0,n.K7.genericEvents,e.ee)}),e)}const{He:Ie,bD:Pe,d3:je,Kp:Ce,TZ:ke,Lc:Le,uP:He,Rz:Me}=Ne;class De extends T{static featureName=ke;constructor(e){var t;super(e,ke),t=e,p(u.U2,(function(e){if(!(e&&"object"==typeof e&&e.name&&e.start))return;const r={n:e.name,s:e.start-y.WN,e:(e.end||e.start)-y.WN,o:e.origin||"",t:"api"};(0,s.p)("bstApi",[r],void 0,n.K7.sessionTrace,t.ee)}),t),Oe(e);if(!(0,w.V)(e.init))return void this.deregisterDrain();const r=this.ee;let o;Se(r),this.eventsEE=(0,ee.u)(r),this.eventsEE.on(He,(function(e,t){this.bstStart=(0,c.t)()})),this.eventsEE.on(Le,(function(e,t){(0,s.p)("bst",[e[0],t,this.bstStart,(0,c.t)()],void 0,n.K7.sessionTrace,r)})),r.on(Me+je,(function(e){this.time=(0,c.t)(),this.startPath=location.pathname+location.hash})),r.on(Me+Ce,(function(e){(0,s.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,n.K7.sessionTrace,r)}));try{o=new PerformanceObserver((e=>{const t=e.getEntries();(0,s.p)(Ie,[t],void 0,n.K7.sessionTrace,r)})),o.observe({type:Pe,buffered:!0})}catch(e){}this.importAggregator(e,(()=>i.e(478).then(i.bind(i,575))),{resourceObserver:o})}}class Ke extends T{static featureName=C.TZ;#i;#o;constructor(e){var t;let r;super(e,C.TZ),t=e,p(u.CH,(function(){(0,s.p)(u.CH,[],void 0,n.K7.sessionReplay,t.ee)}),t),function(e){p(u.Tb,(function(){(0,s.p)(u.Tb,[],void 0,n.K7.sessionReplay,e.ee)}),e)}(e),this.replayRunning=!1,this.#o=e;try{r=JSON.parse(localStorage.getItem("".concat(U.H3,"_").concat(U.uh)))}catch(e){}(0,R.SR)(e.init)&&this.ee.on(C.G4.RECORD,(()=>this.#a())),this.#s(r)?(this.#i=r?.sessionReplayMode,this.#c()):this.importAggregator(this.#o,(()=>i.e(478).then(i.bind(i,6167)))),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,s.p)(C.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(C.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===U.g.FULL||e.sessionReplayMode===U.g.ERROR)||(0,R.Aw)(this.#o.init)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(478),i.e(249)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee,agentRef:this.#o}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,(()=>i.e(478).then(i.bind(i,6167))),{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==U.g.FULL&&this.featAggregate.initializeRecording(U.g.FULL,!0):(this.#i=U.g.FULL,this.#c(C.Qb.API),this.recorder&&this.recorder.parent.mode!==U.g.FULL&&(this.recorder.parent.mode=U.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ue=i(3962);function Fe(e){const t=e.ee.get("tracer");function r(){}p(u.dT,(function(e){return(new r).get("object"==typeof e?e:{})}),e);const i=r.prototype={createTracer:function(r,i){var o={},a=this,d="function"==typeof i;return(0,s.p)(h.xV,["API/createTracer/called"],void 0,n.K7.metrics,e.ee),e.runSoftNavOverSpa||(0,s.p)(u.hw+"tracer",[(0,c.t)(),r,o],a,n.K7.spa,e.ee),function(){if(t.emit((d?"":"no-")+"fn-start",[(0,c.t)(),a,d],o),d)try{return i.apply(this,arguments)}catch(e){const r="string"==typeof e?new Error(e):e;throw t.emit("fn-err",[arguments,this,r],o),r}finally{t.emit("fn-end",[(0,c.t)()],o)}}}};["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((t=>{p.apply(this,[t,function(){return(0,s.p)(u.hw+t,[(0,c.t)(),...arguments],this,e.runSoftNavOverSpa?n.K7.softNav:n.K7.spa,e.ee),this},e,i])})),p(u.PA,(function(){e.runSoftNavOverSpa?(0,s.p)(u.hw+"routeName",[performance.now(),...arguments],void 0,n.K7.softNav,e.ee):(0,s.p)(u.Pl+"routeName",[(0,c.t)(),...arguments],this,n.K7.spa,e.ee)}),e)}class Be extends T{static featureName=Ue.TZ;constructor(e){if(super(e,Ue.TZ),Fe(e),!y.RI||!(0,_.dV)().o.MO)return;const t=Se(this.ee);Ue.tC.forEach((e=>{(0,N.sp)(e,(e=>{a(e)}),!0)}));const r=()=>(0,s.p)("newURL",[(0,c.t)(),""+window.location],void 0,this.featureName,this.ee);t.on("pushState-end",r),t.on("replaceState-end",r);try{this.removeOnAbort=new AbortController}catch(e){}(0,N.sp)("popstate",(e=>(0,s.p)("newURL",[e.timeStamp,""+window.location],void 0,this.featureName,this.ee)),!0,this.removeOnAbort?.signal);let n=!1;const o=new((0,_.dV)().o.MO)(((e,t)=>{n||(n=!0,requestAnimationFrame((()=>{(0,s.p)("newDom",[(0,c.t)()],void 0,this.featureName,this.ee),n=!1})))})),a=(0,x.s)((e=>{(0,s.p)("newUIEvent",[e],void 0,this.featureName,this.ee),o.observe(document.body,{attributes:!0,childList:!0,subtree:!0,characterData:!0})}),100,{leading:!0});this.abortHandler=function(){this.removeOnAbort?.abort(),o.disconnect(),this.abortHandler=void 0},this.importAggregator(e,(()=>i.e(478).then(i.bind(i,4393))),{domObserver:o})}}var Ge=i(7378);const We={},Ve=["appendChild","insertBefore","replaceChild"];function ze(e){const t=function(e){return(e||te.ee).get("jsonp")}(e);if(!y.RI||We[t.debugId])return t;We[t.debugId]=!0;var r=(0,re.YM)(t),n=/[?&](?:callback|cb)=([^&#]+)/,i=/(.*)\.([^.]+)/,o=/^(\w+)(\.|$)(.*)$/;function a(e,t){if(!e)return t;const r=e.match(o),n=r[1];return a(r[3],t[n])}return r.inPlace(Node.prototype,Ve,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var o=(s=e.src,c=s.match(n),c?c[1]:null);var s,c;if(!o)return;var u=function(e){var t=e.match(i);if(t&&t.length>=3)return{key:t[2],parent:a(t[1],window)};return{key:e,parent:window}}(o);if("function"!=typeof u.parent[u.key])return;var d={};function l(){t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,N.jT)(!1)),e.removeEventListener("error",f,(0,N.jT)(!1))}function f(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",l,(0,N.jT)(!1)),e.removeEventListener("error",f,(0,N.jT)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",l,(0,N.jT)(!1)),e.addEventListener("error",f,(0,N.jT)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}const Ze={};function qe(e){const t=function(e){return(e||te.ee).get("promise")}(e);if(Ze[t.debugId])return t;Ze[t.debugId]=!0;var r=t.context,n=(0,re.YM)(t),i=y.gm.Promise;return i&&function(){function e(r){var o=t.context(),a=n(r,"executor-",o,null,!1);const s=Reflect.construct(i,[a],e);return t.context(s).getCtx=function(){return o},s}y.gm.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return i.toString()},Object.setPrototypeOf(e,i),["all","race"].forEach((function(r){const n=i[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=i[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=i.prototype;const o=i.prototype.then;i.prototype.then=function(...e){var i=this,a=r(i);a.promise=i,e[0]=n(e[0],"cb-",a,null,!1),e[1]=n(e[1],"cb-",a,null,!1);const s=o.apply(this,e);return a.nextPromise=s,t.emit("propagate",[i,!0],s,!1,!1),s},i.prototype.then[re.Jt]=o,t.on("executor-start",(function(e){e[0]=n(e[0],"resolve-",this,null,!1),e[1]=n(e[1],"resolve-",this,null,!1)})),t.on("executor-err",(function(e,t,r){e[1](r)})),t.on("cb-end",(function(e,r,n){t.emit("propagate",[n,!0],this.nextPromise,!1,!1)})),t.on("propagate",(function(e,r,n){this.getCtx&&!r||(this.getCtx=function(){if(e instanceof Promise)var r=t.context(e);return r&&r.getCtx?r.getCtx():this})}))}(),t}const Ye={},Xe="setTimeout",$e="setInterval",Je="clearTimeout",Qe="-start",et=[Xe,"setImmediate",$e,Je,"clearImmediate"];function tt(e){const t=function(e){return(e||te.ee).get("timer")}(e);if(Ye[t.debugId]++)return t;Ye[t.debugId]=1;var r=(0,re.YM)(t);return r.inPlace(y.gm,et.slice(0,2),Xe+"-"),r.inPlace(y.gm,et.slice(2,3),$e+"-"),r.inPlace(y.gm,et.slice(3),Je+"-"),t.on($e+Qe,(function(e,t,n){e[0]=r(e[0],"fn-",null,n)})),t.on(Xe+Qe,(function(e,t,n){this.method=n,this.timerDuration=isNaN(e[1])?0:+e[1],e[0]=r(e[0],"fn-",this,n)})),t}const rt={};function nt(e){const t=function(e){return(e||te.ee).get("mutation")}(e);if(!y.RI||rt[t.debugId])return t;rt[t.debugId]=!0;var r=(0,re.YM)(t),n=y.gm.MutationObserver;return n&&(window.MutationObserver=function(e){return this instanceof n?new n(r(e,"fn-")):n.apply(this,arguments)},MutationObserver.prototype=n.prototype),t}const{TZ:it,d3:ot,Kp:at,$p:st,wW:ct,e5:ut,tH:dt,uP:lt,rw:ft,Lc:ht}=Ge;class pt extends T{static featureName=it;constructor(e){if(super(e,it),Fe(e),!y.RI)return;try{this.removeOnAbort=new AbortController}catch(e){}let t,r=0;const n=this.ee.get("tracer"),o=ze(this.ee),a=qe(this.ee),u=tt(this.ee),d=oe(this.ee),l=this.ee.get("events"),f=he(this.ee),h=Se(this.ee),p=nt(this.ee);function g(e,t){h.emit("newURL",[""+window.location,t])}function m(){r++,t=window.location.hash,this[lt]=(0,c.t)()}function v(){r--,window.location.hash!==t&&g(0,!0);var e=(0,c.t)();this[ut]=~~this[ut]+e-this[lt],this[ht]=e}function b(e,t){e.on(t,(function(){this[t]=(0,c.t)()}))}this.ee.on(lt,m),a.on(ft,m),o.on(ft,m),this.ee.on(ht,v),a.on(ct,v),o.on(ct,v),this.ee.on("fn-err",((...t)=>{t[2]?.__newrelic?.[e.agentIdentifier]||(0,s.p)("function-err",[...t],void 0,this.featureName,this.ee)})),this.ee.buffer([lt,ht,"xhr-resolved"],this.featureName),l.buffer([lt],this.featureName),u.buffer(["setTimeout"+at,"clearTimeout"+ot,lt],this.featureName),d.buffer([lt,"new-xhr","send-xhr"+ot],this.featureName),f.buffer([dt+ot,dt+"-done",dt+st+ot,dt+st+at],this.featureName),h.buffer(["newURL"],this.featureName),p.buffer([lt],this.featureName),a.buffer(["propagate",ft,ct,"executor-err","resolve"+ot],this.featureName),n.buffer([lt,"no-"+lt],this.featureName),o.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),b(f,dt+ot),b(f,dt+"-done"),b(o,"new-jsonp"),b(o,"jsonp-end"),b(o,"cb-start"),h.on("pushState-end",g),h.on("replaceState-end",g),window.addEventListener("hashchange",g,(0,N.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",g,(0,N.jT)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){g(0,r>1)}),(0,N.jT)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e,(()=>i.e(478).then(i.bind(i,5592))))}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var gt=i(3333);class mt extends T{static featureName=gt.TZ;constructor(e){super(e,gt.TZ);const t=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled,e.init.performance.resources.enabled];var r;if(r=e,p(u.hG,((e,t)=>z(e,t,r)),r),function(e){p(u.fF,(function(){(0,s.p)(u.Pl+u.fF,[(0,c.t)(),...arguments],void 0,n.K7.genericEvents,e.ee)}),e)}(e),Oe(e),Z(e),y.RI&&(e.init.user_actions.enabled&&(gt.Zp.forEach((e=>(0,N.sp)(e,(e=>(0,s.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),gt.qN.forEach((e=>{const t=(0,x.s)((e=>{(0,s.p)("ua",[e],void 0,this.featureName,this.ee)}),500,{leading:!0});(0,N.sp)(e,t)}))),e.init.performance.resources.enabled&&y.gm.PerformanceObserver?.supportedEntryTypes.includes("resource"))){new PerformanceObserver((e=>{e.getEntries().forEach((e=>{(0,s.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)}))})).observe({type:"resource",buffered:!0})}t.some((e=>e))?this.importAggregator(e,(()=>i.e(478).then(i.bind(i,8019)))):this.deregisterDrain()}}var vt=i(2646);const bt=new Map;function yt(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||te.ee).get("logger")}(e),o=(0,re.YM)(i),a=new vt.y(te.P);a.level=n.level,a.customAttributes=n.customAttributes;const s=t[r]?.[re.Jt]||t[r];return bt.set(s,a),o.inPlace(t,[r],"wrap-logger-",(()=>bt.get(s))),i}class Rt extends T{static featureName=G.TZ;constructor(e){var t;super(e,G.TZ),t=e,p(u.$9,((e,r)=>V(e,r,t)),t),function(e){p(u.Wb,((t,r,{customAttributes:n={},level:i=G.p_.INFO}={})=>{yt(e.ee,t,r,{customAttributes:n,level:i})}),e)}(e),Z(e);const r=this.ee;yt(r,y.gm.console,"log",{level:"info"}),yt(r,y.gm.console,"error",{level:"error"}),yt(r,y.gm.console,"warn",{level:"warn"}),yt(r,y.gm.console,"info",{level:"info"}),yt(r,y.gm.console,"debug",{level:"debug"}),yt(r,y.gm.console,"trace",{level:"trace"}),this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,W.R)(r,e,n,t)})),this.importAggregator(e,(()=>i.e(478).then(i.bind(i,5288))))}}new class extends r{constructor(e){var t;(super(),y.gm)?(this.features={},(0,_.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(E),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===n.K7.softNav)),(0,a.j)(this,e,e.loaderType||"agent"),t=this,p(u.cD,(function(e,r,n=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof r)||null===r)return g(t,e,r,u.cD,n);(0,l.R)(40,typeof r)}else(0,l.R)(39,typeof e)}),t),function(e){p(u.Dl,(function(t){if("string"==typeof t||null===t)return g(e,"enduser.id",t,u.Dl,!0);(0,l.R)(41,typeof t)}),e)}(this),function(e){p(u.nb,(function(t){if("string"==typeof t||null===t)return g(e,"application.version",t,u.nb,!1);(0,l.R)(42,typeof t)}),e)}(this),function(e){p(u.d3,(function(){e.ee.emit("manual-start-all")}),e)}(this),this.run()):(0,l.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}get api(){return this}run(){try{const e=function(e){const t={};return o.forEach((r=>{t[r]=!!e[r]?.enabled})),t}(this.init),t=[...this.desiredFeatures];t.sort(((e,t)=>n.P3[e.featureName]-n.P3[t.featureName])),t.forEach((t=>{if(!e[t.featureName]&&t.featureName!==n.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&t.featureName===n.K7.spa)return;if(!this.runSoftNavOverSpa&&t.featureName===n.K7.softNav)return;const r=function(e){switch(e){case n.K7.ajax:return[n.K7.jserrors];case n.K7.sessionTrace:return[n.K7.ajax,n.K7.pageViewEvent];case n.K7.sessionReplay:return[n.K7.sessionTrace];case n.K7.pageViewTiming:return[n.K7.pageViewEvent];default:return[]}}(t.featureName).filter((e=>!(e in this.features)));r.length>0&&(0,l.R)(36,{targetFeature:t.featureName,missingDependencies:r}),this.features[t.featureName]=new t(this)}))}catch(e){(0,l.R)(22,e);for(const e in this.features)this.features[e].abortHandler?.();const t=(0,_.Zm)();delete t.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return t.ee.get(this.agentIdentifier).abort(),!1}}}({features:[Te,E,I,De,Ke,P,q,mt,Rt,Be,pt],loaderType:"spa"})})()})();</script> <title>Cours de dessin en ligne sur Dessindigo.com</title> <meta name="description" content="Des cours de dessin vidéos structurés et complets et de nombreux tutos intuitifs pour apprendre à dessiner étape par étape à l’aide de formations progressives sur Dessindigo.com"> <link rel="icon" type="image/png" href="https://dessindigo.com/img/layout/favicon.png" > <link rel="apple-touch-icon-precomposed" href="https://dessindigo.com/img/layout/apple-touch-icon-57.png"> <link rel="apple-touch-icon-precomposed" sizes="72x72" href="https://dessindigo.com/img/layout/apple-touch-icon-72.png"> <link rel="apple-touch-icon-precomposed" sizes="114x114" href="https://dessindigo.com/img/layout/apple-touch-icon-114.png"> <link rel="apple-touch-icon-precomposed" sizes="144x144" href="https://dessindigo.com/img/layout/apple-touch-icon-144.png"> <link rel="preconnect" href="https://www.google-analytics.com"> <link rel="preconnect" href="https://www.googletagmanager.com"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="_token" content="qMciRu1lIcZWzqDFsMGA5dqWoxAh20eeQBZ4691h"> <meta name="p:domain_verify" content="f85cb6dc139c4b36a7fdf07ffbe43882"/> <meta name="google-site-verification" content="RXRXCrwEVUApXPM_CC3Ge4VBXV1leRfcwuYyXU8bYuk" /> <meta property="og:url" content="https://dessindigo.com"> <meta property="og:title" content="Cours de dessin en ligne sur Dessindigo.com"> <meta property="og:type" content="website"> <meta property="og:image" content="https://dessindigo.com/assets/img/dessindigo_og.jpg"> <meta property="og:site_name" content="Dessindigo"> <meta property="og:description" content="Des cours de dessin vidéos structurés et complets et de nombreux tutos intuitifs pour apprendre à dessiner étape par étape à l’aide de formations progressives sur Dessindigo.com"> <!-- Google font--> <link media="print" onload="this.onload=null;this.removeAttribute('media');" href="https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,400,300,600,700&display=swap" rel="stylesheet"> <link media="print" onload="this.onload=null;this.removeAttribute('media');" href="https://fonts.googleapis.com/css?family=Cabin+Sketch&display=swap" rel="stylesheet"> <!-- Plugins css start--> <link rel="stylesheet" href="/css/theme/home.css?id=701935b5fdfad3c4f7a8"> <!-- Plugins css Ends--> <!-- Bootstrap css--> <link rel="stylesheet" type="text/css" href="https://dessindigo.com/back/css/bootstrap.css"> <!-- fontawesome css--> <!-- App css--> <link rel="preload" as="style" onload="this.rel='stylesheet'" type="text/css" href="https://dessindigo.com/css/app.css?3"> <!-- Responsive css--> <!-- <link rel="stylesheet" type="text/css" href="https://dessindigo.com/back/css/responsive.css"> --> <link href="/css/theme/theme.css?id=df05c497c13c833e8c1a?3" rel="stylesheet" type="text/css"> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-PW7LHPG');</script> <!-- End Google Tag Manager --> <link href="https://dessindigo.com/css/theme/landing.css" rel="stylesheet"> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap" rel="stylesheet"> </head> <body id="" style='background-image: url(https://dessindigo.com/storage/images/lp/Rectangle1.webp) !important; background-position: top; background-repeat: no-repeat;' > <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-PW7LHPG" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div class="main-container-wrapper"> <!-- Sidebar --> <link rel="preload" as="style" onload="this.rel='stylesheet'" type="text/css" href="https://dessindigo.com/css/theme/global_search.css?2"> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@algolia/autocomplete-theme-classic"> <link rel="preload" as="style" onload="this.rel='stylesheet'" type="text/css" href="https://dessindigo.com/css/theme/global_search.css?2"> <div class="d-block d-lg-none" id="sidebar-menu"> <div class="text-right pr-3"> <i class="fa fa-times fs-6" id="sidebar-menu-close"></i> </div> <img src="https://dessindigo.com/img/dessindigo-logo-blue.png" alt="dessindigo" class="w-50 d-block mx-auto mb-2" /> <li class="list-item-sidebar"> <a class="nav-link py-3 px-3" href="/cours-de-dessin">COURS</a> </li> <li class="list-item-sidebar"> <a class="nav-link py-3 px-3" href="https://web.dessindigo.com/produits">PRODUITS</a> </li> <li class="list-item-sidebar"> <a class="w-100 d-flex justify-content-between nav-link father-menu" href="#" data-toggle="collapse" data-target="#collapse-mobile_communaute" aria-expanded="false" aria-controls="collapse-mobile_communaute"> <div> COMMUNAUTÉ </div> <div><i class="middle fa fa-caret-right"></i></div> </a> </li> <ul class="collapse dropdown-sidebar" id="collapse-mobile_communaute"> <li class="submenu-item"> <a class="nav-link py-3 px-3" href="/forum"><i class="mr-3 fa fa-"></i>FORUM</a> </li> <li class="submenu-item"> <a class="nav-link py-3 px-3" href="/blog"><i class="mr-3 fa fa-"></i>BLOG</a> </li> </ul> <li class="list-item-sidebar"> <i class="pl-3 mr-1 fa fa-user"></i> <a class="nav-link py-3 px-3" href="/signin">SE CONNECTER</a> </li> <li class="subscription list-item-sidebar text-center border-0 py-3 px-3"> <a class="nav-link btn btn-success btn-submit text-white py-3" href="/subscription">ACCÈS ILLIMITÉ</a> </li> </div> <nav class="main-header navbar navbar-expand-lg d-flex justify-content-between navbar-fixed-top"> <div class="w-100 d-flex align-items-center justify-content-between d-lg-none mobile-block" style="display:none;"> <div> <button type="button" class="btn" id="sidebar-menu-toggle"> <i id="icon-sidebar" class="fa fa-bars text-white"></i> </button> </div> <div> <a href="https://dessindigo.com"> <img id="logo-navbar-middle" src="https://www.dessindigo.com/img/dessindigo-logo.png" alt="dessindigo" height="27"> </a> </div> <div> <a class="dropdown-toggle search-dropdown mr-2" href="#" type="button" id="search-dropdown" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <i id="search-icon" class="fas fa-search"></i> </a> <div class="dropdown-menu custom-dropdown dropdown-menu-right" style="min-width: 50rem!important; display:none!important" aria-labelledby="search-dropdown"> <div class="d-flex row"> <div class="col-12"> <div id="autocomplete-resp" class="autocomplete" style="display:none"></div> </div> </div> </div> </div> </div> <div class="mx-auto container-navbar justify-content-between w-100 d-none d-lg-flex"> <div class="main-header-nav d-flex w-100" id="navbarNav"> <a href="https://dessindigo.com" class="my-auto"> <img class="mr-4" id="logo-navbar-middle" src="https://www.dessindigo.com/img/dessindigo-logo.png" alt="dessindigo" height="27"> </a> <ul id="menu-header" class="navbar-nav ml-auto text-center w-100 ml-lg-0 d-lg-flex align-items-center justify-content-end"> <li class="main-nav-item"> <a class="dropdown-toggle search-dropdown mr-2" href="#" type="button" id="search-dropdown" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <i id="search-icon" class="fas fa-search"></i> </a> <div class="dropdown-menu custom-dropdown dropdown-menu-right" style="display:none!important" aria-labelledby="search-dropdown"> <div class="d-flex row"> <div class="col-12"> <div id="autocomplete-guest" class="autocomplete" style="display:none"></div> </div> </div> </div> </li> <li class="main-nav-item"> <a class="nav-link py-3 px-4" href="/cours-de-dessin"> COURS </a> </li> <li class="main-nav-item"> <a class="nav-link py-3 px-4" href="https://web.dessindigo.com/produits"> PRODUITS </a> </li> <li class="main-nav-item"> <div class="navbar-collapse" id="main_nav"> <ul class="nav navbar-nav"> <li class="nav-item px-2 dropdown"> <a class="nav-link text-uppercase" href="#" data-toggle="dropdown"> Communauté <i class="middle fa fa-angle-down"></i> </a> <ul class="dropdown-navbar dropdown-menu"> <li class="nav-item child-item"> <a class="nav-link py-2 px-2" href="/forum"> <div class="icon-user"></div> FORUM </a> </li> <li class="nav-item child-item"> <a class="nav-link py-2 px-2" href="/blog"> <div class="icon-user"></div> BLOG </a> </li> </ul> </li> </ul> </div> </li> <li class="main-nav-item"> <a class="nav-link py-3 px-4" href="/signin"> <i data-lucide='user' class='mr-3'></i> SE CONNECTER </a> </li> <li class="main-nav-item"> <a class="buy-item-menu nav-link py-3 px-4" href="/subscription"> ACCÈS ILLIMITÉ </a> </li> </ul> </div> <script src="https://cdn.jsdelivr.net/npm/@algolia/autocomplete-js"></script> <!-- search only version --> <script src="https://cdn.jsdelivr.net/npm/algoliasearch@4.22.0/dist/algoliasearch-lite.umd.js" integrity="sha256-/2SlAlnMUV7xVQfSkUQTMUG3m2LPXAzbS8I+xybYKwA=" crossorigin="anonymous"></script> <script> const { autocomplete, getAlgoliaResults } = window['@algolia/autocomplete-js']; </script> <script src='https://www.google.com/recaptcha/api.js'></script> <script src="https://cdn.jsdelivr.net/npm/@algolia/autocomplete-plugin-query-suggestions"></script> <script> const { createQuerySuggestionsPlugin } = window[ '@algolia/autocomplete-plugin-query-suggestions' ]; </script> <script src="https://cdn.jsdelivr.net/npm/@algolia/autocomplete-plugin-recent-searches"></script> <script> const { createLocalStorageRecentSearchesPlugin } = window[ '@algolia/autocomplete-plugin-recent-searches' ]; </script> <script> function debouncePromise(fn, time) { let timerId = undefined; return function debounced(...args) { if (timerId) { clearTimeout(timerId); } return new Promise((resolve) => { timerId = setTimeout(() => resolve(fn(...args)), time); }); }; } const debounced = debouncePromise((items) => Promise.resolve(items), 500); document.addEventListener('DOMContentLoaded', function() { var MIN_QUERY_LENGTH = 3; var APP_NAME = "dessindigo"; // Mapping of source names to display names var displayNames = { 'Tous': 'Tous', 'lessons': 'Cours', 'posts': 'Blogs', 'morceaux_ressources': 'Ressources', 'forums': 'Forums' }; const searchClient = algoliasearch( "Y6Y9FN02ZI", "7ae7efb15a384ef97854cd677467a9ad" ); const querySuggestionsPlugin = createQuerySuggestionsPlugin({ searchClient, indexName: 'lessons_query_suggestions', }); const recentSearchesPlugin = createLocalStorageRecentSearchesPlugin({ key: APP_NAME + '_' + 'recentSearches', }); const plugins = [ recentSearchesPlugin ]; // Use an API key with `listIndexes` ACL const indexExists = searchClient.initIndex('lessons_query_suggestions'); if (indexExists) { if (querySuggestionsPlugin) { plugins.push(querySuggestionsPlugin); } } else { console.error('Index does not exist'); } var autocompleteInstance = autocomplete({ insight: true, openOnFocus: true, container: '.autocomplete', placeholder: 'Chercher un cours, un article, un forum...', plugins, getSources({ query }) { if (query.length < MIN_QUERY_LENGTH) { return []; } var selectedSource = localStorage.getItem('selectedSource'); var HIT_PER_PAGE = 5; var dropdownMenuButtonCustomSearch = document.querySelector( '#dropdownMenuButtonCustomSearch'); if (selectedSource && selectedSource != 'Tous') { let activeButtonName = displayNames[selectedSource] || selectedSource; if (dropdownMenuButtonCustomSearch) { dropdownMenuButtonCustomSearch.innerHTML = activeButtonName; } const aaSourceElements = document.querySelectorAll('.aa-Source'); aaSourceElements.forEach(element => { element.style.width = '100%'; }); HIT_PER_PAGE = 50; } else { if (dropdownMenuButtonCustomSearch) { dropdownMenuButtonCustomSearch.innerHTML = '<i id="dropdownMenuButtonList" class="fas fa-list btn-transparent" title="Personnaliser la recherche"></i>'; } } // Define all sources var sources = [{ sourceId: 'lessons', getItemInputValue: ({ item }) => item.lesson_type_id, getItems() { return getAlgoliaResults({ searchClient, queries: [{ indexName: 'lessons', query, params: { hitsPerPage: HIT_PER_PAGE, filters: 'lesson_type_id=1' }, }, ], }); }, templates: { header({ html }) { return html`<span class="aa-SourceHeaderTitle">COURS</span><div class="aa-SourceHeaderLine" />` }, item({ item, components, html }) { var lessonBadge = ''; try { var hasAccess = item.trial_access; var noPremiumAccess = true; if (noPremiumAccess) { if (hasAccess) { lessonBadge = html`<span class="badge badge-gratuit badge-success mx-2">GRATUIT</span>`; } else { lessonBadge = html`<span class="badge badge-premium badge-danger mx-2">PREMIUM</span>`; } } } catch (error) { console.error('Error checking access:', error); } return html`<a class="aa-ItemLink" > <div class="aa-ItemContent"> <div class="aa-ItemContentBody"> <div class="aa-ItemContentTitle"> <a href="/${item.link}"> ${lessonBadge} ${components.Highlight({ hit: item, attribute: 'title' })} </a> </div> </div> <div class="aa-ItemActions"> <button class="aa-ItemActionButton aa-DesktopOnly aa-ActiveOnly" type="button" title="Select" > <svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor" > <path d="M18.984 6.984h2.016v6h-15.188l3.609 3.609-1.406 1.406-6-6 6-6 1.406 1.406-3.609 3.609h13.172v-4.031z" /> </svg> </button> </div> </div> </a>`; } }, getItemUrl({ item }) { return `/${item.link}`; } }, { sourceId: 'posts', getItems() { return getAlgoliaResults({ searchClient, queries: [{ indexName: 'posts', query, params: { hitsPerPage: HIT_PER_PAGE, }, }, ], }); }, templates: { header({ html }) { return html`<span class="aa-SourceHeaderTitle">BLOG</span><div class="aa-SourceHeaderLine" />` }, item({ item, components, html }) { return html`<a class="aa-ItemLink"> <div class="aa-ItemContent"> <div class="aa-ItemContentBody"> <div class="aa-ItemContentTitle"> <a href="${item.link}"> ${components.Highlight({ hit: item, attribute: 'title' })} </a> </div> </div> <div class="aa-ItemActions"> <button class="aa-ItemActionButton aa-DesktopOnly aa-ActiveOnly" type="button" title="Select" > <svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor" > <path d="M18.984 6.984h2.016v6h-15.188l3.609 3.609-1.406 1.406-6-6 6-6 1.406 1.406-3.609 3.609h13.172v-4.031z" /> </svg> </button> </div> </div> </a>`; } }, getItemUrl({ item }) { return `${item.link}`; } }, { sourceId: 'morceaux_ressources', getItems() { return getAlgoliaResults({ searchClient, queries: [{ indexName: 'lessons', query, params: { hitsPerPage: HIT_PER_PAGE, filters: 'lesson_type_id!=1' }, }, ], }); }, templates: { header({ html }) { return html`<span class="aa-SourceHeaderTitle">MORCEAUX ET RESSOURCES</span><div class="aa-SourceHeaderLine" />` }, item({ item, components, html }) { var lessonBadge = ''; try { var hasAccess = item.trial_access; var noPremiumAccess = true; if (noPremiumAccess) { if (hasAccess) { lessonBadge = html`<span class="badge badge-gratuit badge-success mx-2">GRATUIT</span>`; } else { lessonBadge = html`<span class="badge badge-premium badge-danger mx-2">PREMIUM</span>`; } } } catch (error) { console.error('Error checking access:', error); } return html`<a class="aa-ItemLink" > <div class="aa-ItemContent"> <div class="aa-ItemContentBody"> <div class="aa-ItemContentTitle"> <a href="/${item.link}"> ${lessonBadge} ${components.Highlight({ hit: item, attribute: 'title' })} </a> </div> </div> <div class="aa-ItemActions"> <button class="aa-ItemActionButton aa-DesktopOnly aa-ActiveOnly" type="button" title="Select" > <svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor" > <path d="M18.984 6.984h2.016v6h-15.188l3.609 3.609-1.406 1.406-6-6 6-6 1.406 1.406-3.609 3.609h13.172v-4.031z" /> </svg> </button> </div> </div> </a>`; } }, getItemUrl({ item }) { return `/${item.link}`; } }, { sourceId: 'forums', getItems() { return getAlgoliaResults({ searchClient, queries: [{ indexName: 'forums', query, params: { hitsPerPage: HIT_PER_PAGE, }, }, ], }); }, templates: { header({ html }) { return html`<span class="aa-SourceHeaderTitle">FORUM</span><div class="aa-SourceHeaderLine" />` }, item({ item, components, html }) { return html`<a class="aa-ItemLink" href="https://dessindigo.com/forum/${item.slug}"> <div class="aa-ItemContent"> <div class="aa-ItemContentBody"> <div class="aa-ItemContentTitle"> <a href="https://dessindigo.com/forum/${item.slug}"> ${components.Highlight({ hit: item, attribute: 'title' })} </a> </div> </div> <div class="aa-ItemActions"> <button class="aa-ItemActionButton aa-DesktopOnly aa-ActiveOnly" type="button" title="Select" > <svg viewBox="0 0 24 24" width="20" height="20" fill="currentColor" > <path d="M18.984 6.984h2.016v6h-15.188l3.609 3.609-1.406 1.406-6-6 6-6 1.406 1.406-3.609 3.609h13.172v-4.031z" /> </svg> </button> </div> </div> </a>`; } }, getItemUrl({ item }) { return `https://dessindigo.com/forum/${item.slug}`; } }, ]; if (selectedSource && selectedSource != 'Tous') { var filteredSources = sources.filter(function(source) { return source.sourceId === selectedSource; }); } else { var filteredSources = sources; } return debounced(filteredSources); }, detachedMediaQuery: '', }); // Get all elements with the class name "search-dropdown" const searchDropdownIcons = document.querySelectorAll('.search-dropdown'); // Add event listener to each search dropdown icon searchDropdownIcons.forEach(icon => { icon.addEventListener('click', () => { handleSearchIconClick(); }); }); document.addEventListener('click', (event) => { if (event.target.matches('.aa-Item *')) { // Function to check if autocomplete is open and open it if not const checkAndOpenAutocomplete = (timeout) => { setTimeout(() => { let autocompleteIsOpen = document.querySelector('.aa-Input'); if (!autocompleteIsOpen) { autocompleteInstance.setIsOpen(true); return; } }, timeout); }; // Call the function with different timeouts checkAndOpenAutocomplete(800); checkAndOpenAutocomplete(1000); checkAndOpenAutocomplete(1500); } }); document.addEventListener('keydown', function(event) { // Check if 'Ctrl' and 'K' are pressed together if (event.ctrlKey && event.key === 'k') { event.preventDefault(); // Prevent default action to avoid conflicts toggleAutocomplete(); // Open the autocomplete } }); function toggleAutocomplete() { const autocompleteIsOpen = document.querySelector('.aa-Input') if (autocompleteIsOpen) { autocompleteInstance.setIsOpen(false); } else { handleSearchIconClick(); // Ensure this function opens the autocomplete } } // Fonction qui attend que le modal soit prêt function waitForModal() { return new Promise((resolve) => { const checkModal = () => { const cancelButton = document.querySelector('.aa-DetachedCancelButton'); if (cancelButton) { modifyCancelButton(cancelButton); if (!document.querySelector('.aa-DetachedCustomButton')) { createCustomButton(cancelButton); } resolve(); } else { setTimeout(checkModal, 50); } }; checkModal(); }); } function modifyCancelButton(cancelButton) { cancelButton.textContent = 'Annuler'; cancelButton.classList.add("btn", "btn-transparent"); } function createCustomButton(cancelButton) { // Check if the custom button already exists const existingCustomButton = document.querySelector('.aa-DetachedCustomButton'); // If the custom button doesn't exist, create it if (!existingCustomButton && cancelButton) { const customButton = createButtonElement(); const dropdownMenu = createDropdownMenu(); insertElements(cancelButton, customButton, dropdownMenu); addEventListenerToCustomButton(customButton); addEventListenerToItemSource(); } } function createButtonElement() { let customButton = document.createElement('button'); customButton.setAttribute('type', 'button'); customButton.className = 'aa-DetachedCustomButton btn btn-secondary dropdown-toggle'; customButton.setAttribute('data-toggle', 'dropdown'); customButton.setAttribute('aria-haspopup', 'true'); customButton.setAttribute('aria-expanded', 'false'); customButton.innerHTML = '<i id="dropdownMenuButtonList" class="fas fa-list btn-transparent" title="Personnaliser la recherche"></i>'; return customButton; } function createDropdownMenu() { let dropdownMenu = document.createElement('div'); dropdownMenu.className = 'dropdown-menu'; dropdownMenu.setAttribute('aria-labelledby', 'dropdownMenuButtonList'); let sources = ['Tous', 'lessons', 'posts', 'morceaux_ressources', 'forums']; sources.forEach(source => { let dropdownItem = createDropdownItem(source); dropdownMenu.appendChild(dropdownItem); }); return dropdownMenu; } function createDropdownItem(source) { let dropdownItem = document.createElement('a'); dropdownItem.className = 'dropdown-item item-source'; dropdownItem.href = '#'; // Use the display name if it exists, otherwise use the source name dropdownItem.textContent = displayNames[source] || source; dropdownItem.dataset.source = source; dropdownItem.onclick = function(event) { event.preventDefault(); search(this.dataset.source); }; return dropdownItem; } function insertElements(cancelButton, customButton, dropdownMenu) { cancelButton.parentNode.insertBefore(customButton, cancelButton.nextSibling); customButton.parentNode.insertBefore(dropdownMenu, customButton.nextSibling); } function addEventListenerToCustomButton(customButton) { customButton.addEventListener('click', () => { // Custom action when the button is clicked }); } function addEventListenerToItemSource() { document.querySelectorAll('.item-source').forEach(function(item) { item.addEventListener('click', function(event) { event.preventDefault(); var selectedSource = this.getAttribute('data-source'); search(selectedSource); }); }); } var cancelButton = document.querySelector('.aa-DetachedCancelButton'); // Vérifiez si l'élément du bouton "Cancel" existe if (cancelButton) { // Mettez à jour le texte du bouton en français cancelButton.textContent = 'Annuler'; } // Fonction asynchrone pour gérer le clic sur l'icône 'search-dropdown' async function handleSearchIconClick() { // Programmatically open the Algolia autocomplete dropdown autocompleteInstance.setIsOpen(true); // Attendre que le modal soit prêt await waitForModal(); // Le code ici sera exécuté une fois que le modal est prêt } async function checkUserLessonAccess(lessonId) { try { const response = await $.ajax({ url: '/api/lesson-access/' + lessonId, method: 'GET' }); return response.access; } catch (error) { console.error('Error checking access:', error); throw error; // or handle the error as needed } } async function search(selectedSource) { // Store selectedSource in localStorage localStorage.setItem('selectedSource', selectedSource); autocompleteInstance.refresh() // Attendre que le modal soit prêt await waitForModal(); } }); </script> </div> </nav> <script> window.addEventListener("load", function(event) { var sidebarOpen = false; var page = 1; $('.father-menu').on('click', function () { if($($(this).attr('data-target')).hasClass('show')) { $(this).removeClass('orange') $(this).find("i").addClass('fa-angle-down') $(this).find("i").removeClass('fa-angle-up') } else { $(this).addClass('orange') $(this).find("i").removeClass('fa-angle-down') $(this).find("i").addClass('fa-angle-up') } }) $("#sidebar-menu-toggle").click(function() { $('#sidebar-menu').animate({left: 0}) }) $("#sidebar-menu-close").click(function() { $('#sidebar-menu').animate({left: '-100%'}) }); $("#menu-header").on('click', '.item-father', function() { var origin = $(this).attr('data-origin') $('.main-header').find('.fa-angle-up').each(function() { $(this).addClass('fa-angle-down') $(this).removeClass('fa-angle-up') }) $('.dropdown-list').each(function() { if ( $(this).attr('id') != 'dropdown-' + origin) { $(this).addClass('d-none') } }) if($('#dropdown-'+origin).hasClass('d-none')) { $('#dropdown-'+origin).removeClass('d-none') $('#icon-'+origin).removeClass('fa-angle-down') $('#icon-'+origin).addClass('fa-angle-up') } else { $('#dropdown-'+origin).addClass('d-none') $('#icon-'+origin).addClass('fa-angle-down') $('#icon-'+origin).removeClass('fa-angle-up') } }) $('body').click(function(e) { if(!Array.from(e.target.classList).includes('item-father')) { $('.main-header').find('.fa-angle-up').each(function() { $(this).addClass('fa-angle-down') $(this).removeClass('fa-angle-up') }) $('.main-header').find('.dropdown-list').each(function() { $(this).addClass('d-none') }) } }) $("#dropdownMenuButton").on('click', function () { $.ajax({ headers: { 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content') }, url: "https://dessindigo.com/notifications", type: "PUT", data: { 'user_id': "", } }).then(() => { $('#count-notif-block').text('0') $('#count-notif-block').addClass('d-none') }); }) $("#notif-list-block").on('click','#load-more-notif', function (event) { $.ajax({ headers: { 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content') }, url: "https://dessindigo.com/notifications", data: { 'user_id': "", 'page': page + 1, } }).then((data) => { if(data.data) { $('#load-more-notif').remove() page++ data.data.forEach((e) => { var html =`<a class="notif-item" href="`+e.url_to+`"> <div class="notif-item-block"> <div class="p-3 border-bottom row m-0"> <div class="col-2 my-auto icon-notif-item"><i class="fa fa-flag"></i></div> <div class="col-10"> <div class="notif-item-message"> `+e.message+` </div> <div class="mt-2 notif-item-time"> `+e.time+` </div> </div> </div> </div> </a>` $('#notif-list-block').append(html) }) if(data.total > data.to) { var html = `<a id="load-more-notif" class="notif-item" href="#"> <div class="px-3 py-2 text-center notif-item-message">Voir plus</div> </a>` $('#notif-list-block').append(html) } } }); }) $('.notif-list').on('click', function (e) { e.stopPropagation(); }); }); </script> <div class="main-content"> <div class="lp-home lp-content"> <h1>Cours de dessin en ligne</h1> <div class="w-100 text-center"> <a class="mx-auto btn btn-success btn-submit text-uppercase fs-6 p-4 mb-5" href="https://dessindigo.com/cours-de-dessin"> Voir les Cours </a> </div> <div class="card w-100 pb-5"> <div class="card-body px-3"> <h2 class="card-title text-uppercase text-center text-bold mt-5 mb-5"> apprendre à dessiner </h2> <p class="card-text col-md-12 text-center col-lg-8 offset-lg-2 mb-5"> Sur Dessindigo, nous avons pour but de vous <a href="/cours-de-dessin/bases-du-dessin"> apprendre à dessiner </a> en assimilant et en mettant en pratique les notions importantes pour vous permettre de réaliser vos créations. À l’aide de cours vidéo intuitifs et progressifs, les professeurs vous guident et vous donnent conseils et astuces pour que le dessin devienne un réel plaisir. </p> <div class="row w-100 mx-auto"> <div class="col-lg-3 col-md-3 col-sm-6 col-6 text-center mb-2"> <div class="p-2 p-md-5 h-100 border"> <div class="box-check p-4 border"><i data-lucide="check"></i></div> <p class="text-bold mt-5"> Cours vidéo progressifs pour vous guider pas à pas </p> </div> </div> <div class="col-lg-3 col-md-3 col-sm-6 col-6 text-center mb-2"> <div class="p-2 p-md-5 h-100 border"> <div class="box-check p-4 border"><i data-lucide="check"></i></div> <p class="text-bold mt-5"> Profs disponibles pour répondre à vos questions </p> </div> </div> <div class="col-lg-3 col-md-3 col-sm-6 col-6 text-center mb-2"> <div class="p-2 p-md-5 h-100 border"> <div class="box-check p-4 border"><i data-lucide="check"></i></div> <p class="text-bold mt-5"> Méthode efficace et suivi de votre progression </p> </div> </div> <div class="col-lg-3 col-md-3 col-sm-6 col-6 text-center mb-2"> <div class="p-2 p-md-5 h-100 border"> <div class="box-check p-4 border"><i data-lucide="check"></i></div> <p class="text-bold mt-5"> Exercices et supports de cours pour mettre en pratique </p> </div> </div> </div> </div> </div> <div class="card w-100"> <div class="row equal-height-row m-0"> <div class="col-12 d-lg-none"> <img src="https://dessindigo.com/img/lp/base_dessin.webp" alt="Les bases du dessin" class="img-fluid" width="1920" height="615"> </div> <div class="col-lg-6 col-12"> <h3 class="text-bold mb-5"> UN COURS DÉDIÉ AUX BASES DU DESSIN </h3> <p class="text-bold mb-5 mt-1"> Bien dessiner, c'est aussi et surtout avoir des bases solides. </p> <p class="mb-5 text-justify"> Nous allons parcourir avec vous tout ce qu'il faut savoir pour bien débuter, progresser et apprendre <a href="/les-bases-du-dessin"> les bases du dessin </a> . Allant des bons gestes à prendre, de l'observation en passant par des notions de perspectives, d'ombres et lumière ou encore de la représentation des personnages jusqu'à la création d'une illustration complète en fin de formation. </p> <p class="text-bold mb-5"> Vous aurez toutes les cartes en main pour vous améliorer pas à pas. </p> <p> <a class="btn btn-submit text-uppercase fs-6 p-4 text-white text-decoration-none" href="/cours-de-dessin/bases-du-dessin"> Voir les Cours </a> </p> </div> <div class="col-lg-6 d-none d-lg-block" style="background-image: url('https://dessindigo.com/img/lp/base_dessin.webp'); background-size: cover; background-position: center;"> </div> </div> </div> <div class="card w-100"> <div class="row equal-height-row m-0"> <div class="col-12 d-lg-none"> <img src="https://dessindigo.com/img/lp/manga.webp" alt="Dessin manga" class="img-fluid"> </div> <div class="col-lg-6 d-none d-lg-block" style="background-image: url('https://dessindigo.com/img/lp/manga.webp'); background-size: cover; background-position: center;"> </div> <div class="col-lg-6 col-12"> <h3 class="text-bold mb-5 text-uppercase"> Apprendre le dessin manga </h3> <p class="text-bold mb-5 mt-1"> Venez découvrir notre formation dédiée à l'apprentissage du dessin manga ! </p> <p class="mb-5 text-justify"> Les différents styles de dessin, les règles à respecter et toutes les notions essentielles seront abordés dans cette formation. Qu'il s'agisse du visage, des expressions et des mimiques ou encore du mouvement et des positions des personnages, nous vous donnerons toutes les clés pour vous aider à comprendre <a href="/dessin-manga"> comment dessiner un manga </a> à travers des cours progressifs et complets. <br><br> </p> <p class="text-bold mb-5"> Grâce à cette formation, vous allez maîtriser les codes du dessin manga et développer ainsi votre propre style et univers. </p> <p> <a class="btn btn-submit text-uppercase fs-6 p-4 text-white text-decoration-none" href="/cours-de-dessin/manga"> Voir les Cours </a> </p> </div> </div> </div> <div class="card w-100"> <div class="row equal-height-row m-0"> <div class="col-12 d-lg-none"> <img src="https://dessindigo.com/img/lp/digital_painting.webp" alt="Digital Painting" class="img-fluid"> </div> <div class="col-lg-6 col-12"> <h3 class="text-bold mb-5 text-uppercase"> Apprendre le digital painting </h3> <p class="text-bold mb-5 mt-1"> Passez à l’ère du numérique grâce à la formation sur le digital painting ! </p> <p class="mb-5 text-justify"> Apprivoisez les outils du dessin numérique et <a href="/digital-painting"> apprenez le digital painting </a> au travers de cette formation complète vous faisant progresser pas à pas au travers de cours et d’exercices complets et progressifs. Maitrisez le rendu numérique des couleurs, des contrastes, des ombres et lumières, de la perspective, des différentes parties du corps humain et bien plus encore. </p> <p class="text-bold mb-5"> Facilitez-vous la vie et laissez libre cours à votre imagination grâce au digital painting et ses outils aux possibilités infinies ! </p> <p> <a class="btn btn-submit text-uppercase fs-6 p-4 text-white text-decoration-none" href="/cours-de-dessin/digital-painting"> Voir les Cours </a> </p> </div> <div class="col-lg-6 d-none d-lg-block" style="background-image: url('https://dessindigo.com/img/lp/digital_painting.webp'); background-size: cover; background-position: center;"> </div> </div> </div> <div class="card w-100"> <div class="row equal-height-row m-0"> <div class="col-12 d-lg-none"> <img src="https://dessindigo.com/img/lp/bande-dessinee.jpg" alt="APPRENDRE LA BANDE DESSINÉE" class="img-fluid"> </div> <div class="col-lg-6 d-none d-lg-block" style="background-image: url('https://dessindigo.com/img/lp/bande-dessinee.jpg'); background-size: cover; background-position: center;"> </div> <div class="col-lg-6 col-12"> <h3 class="text-bold mb-5 text-uppercase"> APPRENDRE LA BANDE DESSINÉE </h3> <p class="text-bold mb-5 mt-1"> <b> "Paf" - "Waaaoouuhh" - "Doinnnng" - "Ding dong" ! Découvrez notre formation pour créer et construire sa propre BD. </b> </p> <p class="mb-5 text-justify"> Au travers d'une formation complète accompagnée par le dessinateur " Poulop ", vous aurez l'occasion d' <a href="/dessin-BD"> apprendre le dessin BD </a> étape par étape. </p> <p class="text-bold mb-5"> Vous saurez comment réaliser des personnages expressifs de la tête aux pieds et des décors vivants façon BD, comment écrire et découper votre scénario et faire bon usage des onomatopées et phylactères et bien plus encore. </p> <p> <a class="btn btn-submit text-uppercase fs-6 p-4 text-white text-decoration-none" href="/cours-de-dessin/bd"> Voir les Cours </a> </p> </div> </div> </div> <div class="card w-100"> <div class="row equal-height-row m-0"> <div class="col-12 d-lg-none"> <img src="https://dessindigo.com/img/lp/dessin_personnage.webp" alt="Le dessin de personnage" class="img-fluid"> </div> <div class="col-lg-6 col-12"> <h3 class="text-bold mb-5 text-uppercase"> Le dessin de personnage </h3> <p class="text-bold mb-5 mt-1"> Dessinez des personnages plein de charisme ! </p> <p class="mb-5 text-justify"> Découvrez comment <a href="/dessin-personnage"> dessiner des personnages </a> détaillés avec une identité forte grâce à cette formation enseignée par Yohan Lacroix. Comprenez et maîtrisez la complexité du visage, le mouvement du squelette ainsi que les volumes musculaires au travers de cette formation étape par étape et complète. </p> <p class="text-bold mb-5"> Travaillez également l’aspect asymétrique d’un personnage pour le rendre unique et accomplissez un projet regroupant toutes ces étapes jusqu’à l’encrage et la colorisation de votre dessin. </p> <p> <a class="btn btn-submit text-uppercase fs-6 p-4 text-white text-decoration-none" href="/cours-de-dessin/personnage"> Voir les Cours </a> </p> </div> <div class="col-lg-6 d-none d-lg-block" style="background-image: url('https://dessindigo.com/img/lp/dessin_personnage.webp'); background-size: cover; background-position: right;"> </div> </div> </div> <div class="card w-100"> <div class="row equal-height-row m-0"> <div class="col-12 d-lg-none"> <img src="https://dessindigo.com/img/lp/illustration_jeunesse.webp" alt="Cours d’illustration jeunesse" class="img-fluid"> </div> <div class="col-lg-6 d-none d-lg-block" style="background-image: url('https://dessindigo.com/img/lp/illustration_jeunesse.webp'); background-size: cover; background-position: left;"> </div> <div class="col-lg-6 col-12"> <h3 class="text-bold mb-5 text-uppercase"> Cours d’illustration jeunesse </h3> <p class="text-bold mb-5 mt-1"> Envie de dessiner pour vos enfants ou combler l’imagination des plus jeunes ? Cette formation sur l’illustration jeunesse est alors faite pour vous ! </p> <p class="mb-5 text-justify"> Tout au long d’une formation détaillée, étape par étape, vous allez apprendre à utiliser les différents codes de l’illustration jeunesse et ainsi créer une illustration de A à Z selon votre public cible. </p> <p class="text-bold mb-5"> Très jeunes enfants de 1 à 3 ans ou plus âgés, de 4 à 7 ans ? Selon l’âge, on s’adressera à eux de façon différente. C’est ce que votre professeure, Camille Raveau, va vous enseigner durant cette formation complète. </p> <p> <a class="btn btn-submit text-uppercase fs-6 p-4 text-white text-decoration-none" href="/cours-de-dessin/illustration-jeunesse"> Voir les Cours </a> </p> </div> </div> </div> <div class="card w-100"> <div class="row equal-height-row m-0"> <div class="col-12 d-lg-none"> <img src="https://dessindigo.com/img/lp/dessin_anatomie.webp" alt="Cours de dessin d’anatomie" class="img-fluid"> </div> <div class="col-lg-6 col-12"> <h3 class="text-bold mb-5 text-uppercase"> Cours de dessin d’anatomie </h3> <p class="text-bold mb-5 mt-1"> Le cursus pour apprendre à dessiner l’anatomie humaine en profondeur. Que ce soit les différents os, muscles, articulations ou tissus du corps humains, rien ne résistera à vos coups de crayon ! </p> <p class="mb-5 text-justify"> Cette <a href="/dessin-anatomie"> formation de dessin d’anatomie </a> unique est présentée par le dessinateur professionnel Yohan Lacroix, afin de vous faire découvrir tous les aspects du corps entourant la création de personnages vivants. Maîtrisez toutes les notions utiles pour décomposer pas à pas le corps humain pour gérer son squelette, ses muscles, ses postures et ses mouvements. </p> <p class="text-bold mb-5"> Avec ce cours, vous apprendrez à réaliser des dessins d’hommes et femmes emprunts d’un réalisme renversant ! </p> <p> <a class="btn btn-submit text-uppercase fs-6 p-4 text-white text-decoration-none" href="/cours-de-dessin/anatomie"> Voir les Cours </a> </p> </div> <div class="col-lg-6 d-none d-lg-block" style="background-image: url('https://dessindigo.com/img/lp/dessin_anatomie.webp'); background-size: cover; background-position: right;"> </div> </div> </div> <div class="card w-100"> <div class="row equal-height-row m-0"> <div class="col-12 d-lg-none"> <img src="https://dessindigo.com/img/lp/dessin_paysage.webp" alt="Carnet de voyage & paysages" class="img-fluid"> </div> <div class="col-lg-6 d-none d-lg-block" style="background-image: url('https://dessindigo.com/img/lp/dessin_paysage.webp'); background-size: cover; background-position: left;"> </div> <div class="col-lg-6"> <h3 class="text-bold mb-5 text-uppercase"> Carnet de voyage &amp; paysages </h3> <p class="text-bold mb-5 mt-1"> Le cursus pour découvrir comment dessiner rapidement et simplement les différents paysages que vous croiserez sur votre route. Que ce soit des ruisseaux, rivières, lacs, collines, montagnes, friches, champs, forêts, bâtiments ou monuments, ces paysages n’auront plus de secrets pour vous ! </p> <p class="mb-5 text-justify">La<a href="/dessin-paysage"> formation de dessin de paysage et carnet de voyage </a> vous plongera à la découverte des décors qui vous entourent. Vous y découvrirez tous les éléments utiles pour reproduire ces paysages et les rendre vivants. Apprenez les différentes méthodes pour décomposer ce que vos yeux observent et le retranscrire dans vos carnets de la plus belle des manières et de manière efficace. </p> <p class="text-bold mb-5"> Avec ce cours, devenez l’artiste et l’aventurier qui sommeille en vous ! </p> <p> <a class="btn btn-submit text-uppercase fs-6 p-4 text-white text-decoration-none" href="/cours-de-dessin/paysage-carnet-voyage"> Voir les Cours </a> </p> </div> </div> </div> <div class="card w-100"> <div class="card-title mt-5 mb-5 pl-3"> <h2 class="text-bold text-uppercase"> Visualisez votre progression dans les cours </h2> <p class="mt-5"> Parce que les progrès passent également par la motivation, nous avons mis à votre disposition des rapports de progrès personnalisés pour qu’à tout instant vous puissiez visualiser votre avancée dans les cours, y voir clair et garder votre motivation intacte. </p> </div> <div class="card-body"> <div class="col-lg-6 col-md-6 col-12"> <img class="chart img-fluid" src="https://dessindigo.com/img/lp/challenge_dessin.jpg" alt="La progression "> </div> <div class="col-lg-6 col-md-6 col-12"> <img class="chart img-fluid" src="https://dessindigo.com/img/lp/progression_dessin.jpg" alt="La progression "> </div> <div class="col-lg-12 col-md-12 col-12 mt-5 text-center"> <a class="btn btn-submit text-uppercase fs-6 p-4 text-white text-decoration-none" href="/cours-de-dessin/bases-du-dessin"> Voir les Cours </a> </div> </div> </div> <div class="card w-100 bg-transparent"> <div class="w-100 mx-0 px-0 row row-cols-1 row-cols-md-2 mb-5 mt-4"> <div class="col px-0 pr-md-2"> <div class="card mb-5 post h-100"> <div class="card-header p-0"> <img src="https://dessindigo.com/img/lp/tuto_dessin.jpg" class="img-fluid" alt="Tuto dessin"> </div> <div class="card-body"> <h3 class="text-uppercase text-bold"> Nos tutos dessin </h3> <p class="mb-5 text-justify"> En parallèle des cours de formation, vous retrouverez <a href="/blog/tuto-dessin"> des tutos dessin pour pratiquer </a> sur des cas concrets et mettre en réalisation les astuces que vous aurez apprises. Comment dessiner des objets, des véhicules, la faune, la flore et tout ce qui peut apparaître dans votre imaginaire ou dans la réalité. </p> <p class="text-bold mb-5 mt-1"> Notre but est de vous donner tous les éléments pour n’avoir plus aucune limite dans vos idées de créations. </p> </div> <div class="card-footer border-0"> <a class="btn btn-submit text-uppercase fs-6 p-4 text-white text-decoration-none mb-3" href="/cours-de-dessin/bases-du-dessin"> Voir les Cours </a> </div> </div> </div> <div class="col pl-md-2 px-0"> <div class="card mb-5 post h-100"> <div class="card-header p-0"> <img src="https://dessindigo.com/img/lp/dessin_facile.jpg" class="img-fluid" alt="Dessin facile"> </div> <div class="card-body"> <h3 class="text-uppercase text-bold"> Des dessins faciles </h3> <p class="mb-5 text-justify"> Les cours sur Dessindigo sont toujours organisés étape par étape. Des cours de <a href="/blog/dessins-faciles-a-faire"> dessin facile </a> à suivre où vos professeurs vous expliquent tout, tranquillement, afin que chacun puisse progresser à son rythme. </p> <p class="text-bold mb-5 mt-1"> Parce que oui, tout le monde, absolument tout le monde peut savoir dessiner. </p></div> <div class="card-footer border-0"> <a class="btn btn-submit text-uppercase fs-6 p-4 text-white text-decoration-none mb-3" href="/cours-de-dessin/bases-du-dessin"> Voir les Cours </a> </div> </div> </div> </div> </div> <link rel="stylesheet" href="https://unpkg.com/swiper/swiper-bundle.min.css"> <div class="card w-100 pb-5"> <div class="card-title pl-3"> <span class="align-middle"> <h3 class="text-uppercase text-bold" style="width: fit-content"> Les avis de nos élèves </h3> <div itemscope itemtype="http://schema.org/Product"> <meta itemprop="mpn" content="Dessindigo-cours"> <meta itemprop="name" content="Dessindigo - cours de dessin en ligne"> <link itemprop="image" href="/img/dessindigo-logo.png"> <meta itemprop="description" content="Découvrez l'art du dessin depuis chez vous avec nos cours de dessin en ligne ! Que vous soyez débutant ou artiste en herbe, notre plateforme vous offre des leçons interactives, des techniques éprouvées et des conseils d'experts pour libérer votre créativité. Rejoignez notre communauté artistique dès maintenant et laissez s'exprimer votre talent grâce à nos cours de dessin virtuels captivants et inspirants."> <div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating" class="rating-overall"> <i data-lucide="star" stroke-width="0" fill="#FFC107"></i> <i data-lucide="star" stroke-width="0" fill="#FFC107"></i> <i data-lucide="star" stroke-width="0" fill="#FFC107"></i> <i data-lucide="star" stroke-width="0" fill="#FFC107"></i> <i data-lucide="star-half" stroke-width="0" fill="#FFC107"></i> <span> Note moyenne du site <span itemprop="ratingValue">4.8</span>/<span itemprop="bestRating">5</span></span> <meta itemprop="worstRating" content="1"> <meta itemprop="ratingCount" content="104"> </div> </div> </span></div> <div class="swiper-container d-md-none position-relative"> <div class="swiper-wrapper"> <div class="swiper-slide mb-4 col-lg-4"> <div class="border p-4 m-3"> <meta itemprop="worstRating" content="1"> <meta itemprop="ratingValue" content="5"> <meta itemprop="bestRating" content="5"> <div class="client-testimonial"> <div class="client-testimonial-inner"> <div class="reviews-rate mb-4"> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> </div> <p> J'ai abordé les bases du dessin avec Grégoire pour comprendre mes lacunes techniques...et cela m'a déclenché une véritable fringale de savoir et je voudrais aborder tous les cours! Dommage que je n'ai pas connu DESSINDIGO avant....car je ne suis plus très... </p> </div> </div> </div> <p class="user pl-3">Chantou</p> <p class="date pl-3 mb-3">Le 01/03/2025</p> </div> <div class="swiper-slide mb-4 col-lg-4"> <div class="border p-4 m-3"> <meta itemprop="worstRating" content="1"> <meta itemprop="ratingValue" content="5"> <meta itemprop="bestRating" content="5"> <div class="client-testimonial"> <div class="client-testimonial-inner"> <div class="reviews-rate mb-4"> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> </div> <p> Super intéressant! </p> </div> </div> </div> <p class="user pl-3">Mirlou</p> <p class="date pl-3 mb-3">Le 18/02/2025</p> </div> <div class="swiper-slide mb-4 col-lg-4"> <div class="border p-4 m-3"> <meta itemprop="worstRating" content="1"> <meta itemprop="ratingValue" content="5"> <meta itemprop="bestRating" content="5"> <div class="client-testimonial"> <div class="client-testimonial-inner"> <div class="reviews-rate mb-4"> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> </div> <p> Je suis trait satisefait de dessindigo </p> </div> </div> </div> <p class="user pl-3">Milo2015</p> <p class="date pl-3 mb-3">Le 09/02/2025</p> </div> <div class="swiper-slide mb-4 col-lg-4"> <div class="border p-4 m-3"> <meta itemprop="worstRating" content="1"> <meta itemprop="ratingValue" content="5"> <meta itemprop="bestRating" content="5"> <div class="client-testimonial"> <div class="client-testimonial-inner"> <div class="reviews-rate mb-4"> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> </div> <p> Mon choix s est porté sur les cours de Camille en illustration jeunesse, car mon projet est de créer des livres pour enfants. Ses cours sont tops, clairs,nets, détaillés.... j ai adoré les suivre </p> </div> </div> </div> <p class="user pl-3">MichelleC</p> <p class="date pl-3 mb-3">Le 28/01/2025</p> </div> <div class="swiper-slide mb-4 col-lg-4"> <div class="border p-4 m-3"> <meta itemprop="worstRating" content="1"> <meta itemprop="ratingValue" content="5"> <meta itemprop="bestRating" content="5"> <div class="client-testimonial"> <div class="client-testimonial-inner"> <div class="reviews-rate mb-4"> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> </div> <p> C'est vraiment le bon endroit pour se former au monde du dessin; très structuré et pédagogique. J'apprécie aussi les exercices qui ponctuent les cours en ligne. </p> </div> </div> </div> <p class="user pl-3">Polo28</p> <p class="date pl-3 mb-3">Le 28/01/2025</p> </div> <div class="swiper-slide mb-4 col-lg-4"> <div class="border p-4 m-3"> <meta itemprop="worstRating" content="1"> <meta itemprop="ratingValue" content="5"> <meta itemprop="bestRating" content="5"> <div class="client-testimonial"> <div class="client-testimonial-inner"> <div class="reviews-rate mb-4"> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> </div> <p> Débutante, je trouve les cours de Grégoire très intéressants et super motivants pour une novice comme moi. Je découvre et apprend pleins de choses. C’est très bien expliqué, j’apprends pleins de choses, il n’y a plus qu’à bosser 🙂 merci Grégoire </p> </div> </div> </div> <p class="user pl-3">Izzy</p> <p class="date pl-3 mb-3">Le 25/01/2025</p> </div> <div class="swiper-slide mb-4 col-lg-4"> <div class="border p-4 m-3"> <meta itemprop="worstRating" content="1"> <meta itemprop="ratingValue" content="5"> <meta itemprop="bestRating" content="5"> <div class="client-testimonial"> <div class="client-testimonial-inner"> <div class="reviews-rate mb-4"> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> </div> <p> Après avoir essayé plusieurs sites de dessin en ligne dessindigo m'est apparu comme : * le plus professionnel (les videos, les ressources données à chaque cours...) * celui qui propose une pédagogie progressive * qui propose systématiquement une correc... </p> </div> </div> </div> <p class="user pl-3">Yves61</p> <p class="date pl-3 mb-3">Le 20/12/2024</p> </div> <div class="swiper-slide mb-4 col-lg-4"> <div class="border p-4 m-3"> <meta itemprop="worstRating" content="1"> <meta itemprop="ratingValue" content="5"> <meta itemprop="bestRating" content="5"> <div class="client-testimonial"> <div class="client-testimonial-inner"> <div class="reviews-rate mb-4"> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> </div> <p> Très bonne formation, les vidéos sont bien structurées et faciles à suivre. L'abonnement est un peu cher mais donne accès à tous les cours, j'en ai profité pour suivre aussi les cours sur les personnages avec Yohan. </p> </div> </div> </div> <p class="user pl-3">marina-crayon</p> <p class="date pl-3 mb-3">Le 28/09/2024</p> </div> <div class="swiper-slide mb-4 col-lg-4"> <div class="border p-4 m-3"> <meta itemprop="worstRating" content="1"> <meta itemprop="ratingValue" content="5"> <meta itemprop="bestRating" content="5"> <div class="client-testimonial"> <div class="client-testimonial-inner"> <div class="reviews-rate mb-4"> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> </div> <p> Formation parfaite pour les débutants en manga mais j'ai suivi en paralele la formation sur les bases du dessin qui m a énormèment aider. J'ai eu quelques bug vidéo au début de la formation mais tout est bon maintnenant. </p> </div> </div> </div> <p class="user pl-3">loic75</p> <p class="date pl-3 mb-3">Le 22/07/2024</p> </div> <div class="swiper-slide mb-4 col-lg-4"> <div class="border p-4 m-3"> <meta itemprop="worstRating" content="1"> <meta itemprop="ratingValue" content="5"> <meta itemprop="bestRating" content="5"> <div class="client-testimonial"> <div class="client-testimonial-inner"> <div class="reviews-rate mb-4"> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> </div> <p> Très bonne formation, les cours sont bien structurés et sympa. Je n'ai pas encore fini la formation mais je vais m'y remettre bientôt, </p> </div> </div> </div> <p class="user pl-3">neosketch42</p> <p class="date pl-3 mb-3">Le 15/07/2024</p> </div> <div class="swiper-slide mb-4 col-lg-4"> <div class="border p-4 m-3"> <meta itemprop="worstRating" content="1"> <meta itemprop="ratingValue" content="4"> <meta itemprop="bestRating" content="5"> <div class="client-testimonial"> <div class="client-testimonial-inner"> <div class="reviews-rate mb-4"> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="" stroke-width="0" fill="#FFC107"></i> </div> <p> Franchement top, mais les explications sur les brushes sont un peu rapide à mon goût </p> </div> </div> </div> <p class="user pl-3">grego23</p> <p class="date pl-3 mb-3">Le 12/07/2024</p> </div> <div class="swiper-slide mb-4 col-lg-4"> <div class="border p-4 m-3"> <meta itemprop="worstRating" content="1"> <meta itemprop="ratingValue" content="5"> <meta itemprop="bestRating" content="5"> <div class="client-testimonial"> <div class="client-testimonial-inner"> <div class="reviews-rate mb-4"> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> </div> <p> Les vidéos sont bien rythmées et faciles à suivre. Je recommande cette formation pour ceux qui veulent se lancer dans le dessin manga. </p> </div> </div> </div> <p class="user pl-3">liladessine</p> <p class="date pl-3 mb-3">Le 02/07/2024</p> </div> </div> <!-- Add Pagination --> <div class="swiper-pagination"></div> </div> <div class="row d-none d-md-flex"> <div class="mb-4 col-lg-4 d-block"> <div class="border p-4 m-3"> <meta itemprop="worstRating" content="1"> <meta itemprop="ratingValue" content="5"> <meta itemprop="bestRating" content="5"> <div class="client-testimonial"> <div class="client-testimonial-inner"> <div class="reviews-rate mb-4"> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> </div> <p> J'ai abordé les bases du dessin avec Grégoire pour comprendre mes lacunes techniques...et cela m'a déclenché une véritable fringale de savoir et je voudrais aborder tous les cours! Dommage que je n'ai pas connu DESSINDIGO avant....car je ne suis plus très... </p> </div> </div> </div> <p class="user pl-3">Chantou</p> <p class="date pl-3 mb-3">Le 01/03/2025</p> </div> <div class="mb-4 col-lg-4 d-none d-md-block"> <div class="border p-4 m-3"> <meta itemprop="worstRating" content="1"> <meta itemprop="ratingValue" content="5"> <meta itemprop="bestRating" content="5"> <div class="client-testimonial"> <div class="client-testimonial-inner"> <div class="reviews-rate mb-4"> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> </div> <p> Super intéressant! </p> </div> </div> </div> <p class="user pl-3">Mirlou</p> <p class="date pl-3 mb-3">Le 18/02/2025</p> </div> <div class="mb-4 col-lg-4 d-none d-md-block"> <div class="border p-4 m-3"> <meta itemprop="worstRating" content="1"> <meta itemprop="ratingValue" content="5"> <meta itemprop="bestRating" content="5"> <div class="client-testimonial"> <div class="client-testimonial-inner"> <div class="reviews-rate mb-4"> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> </div> <p> Je suis trait satisefait de dessindigo </p> </div> </div> </div> <p class="user pl-3">Milo2015</p> <p class="date pl-3 mb-3">Le 09/02/2025</p> </div> <div class="mb-4 col-lg-4 d-none d-md-block"> <div class="border p-4 m-3"> <meta itemprop="worstRating" content="1"> <meta itemprop="ratingValue" content="5"> <meta itemprop="bestRating" content="5"> <div class="client-testimonial"> <div class="client-testimonial-inner"> <div class="reviews-rate mb-4"> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> </div> <p> Mon choix s est porté sur les cours de Camille en illustration jeunesse, car mon projet est de créer des livres pour enfants. Ses cours sont tops, clairs,nets, détaillés.... j ai adoré les suivre </p> </div> </div> </div> <p class="user pl-3">MichelleC</p> <p class="date pl-3 mb-3">Le 28/01/2025</p> </div> <div class="mb-4 col-lg-4 d-none d-md-block"> <div class="border p-4 m-3"> <meta itemprop="worstRating" content="1"> <meta itemprop="ratingValue" content="5"> <meta itemprop="bestRating" content="5"> <div class="client-testimonial"> <div class="client-testimonial-inner"> <div class="reviews-rate mb-4"> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> </div> <p> C'est vraiment le bon endroit pour se former au monde du dessin; très structuré et pédagogique. J'apprécie aussi les exercices qui ponctuent les cours en ligne. </p> </div> </div> </div> <p class="user pl-3">Polo28</p> <p class="date pl-3 mb-3">Le 28/01/2025</p> </div> <div class="mb-4 col-lg-4 d-none d-md-block"> <div class="border p-4 m-3"> <meta itemprop="worstRating" content="1"> <meta itemprop="ratingValue" content="5"> <meta itemprop="bestRating" content="5"> <div class="client-testimonial"> <div class="client-testimonial-inner"> <div class="reviews-rate mb-4"> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> </div> <p> Débutante, je trouve les cours de Grégoire très intéressants et super motivants pour une novice comme moi. Je découvre et apprend pleins de choses. C’est très bien expliqué, j’apprends pleins de choses, il n’y a plus qu’à bosser 🙂 merci Grégoire </p> </div> </div> </div> <p class="user pl-3">Izzy</p> <p class="date pl-3 mb-3">Le 25/01/2025</p> </div> <div class="mb-4 col-lg-4 d-none d-md-block"> <div class="border p-4 m-3"> <meta itemprop="worstRating" content="1"> <meta itemprop="ratingValue" content="5"> <meta itemprop="bestRating" content="5"> <div class="client-testimonial"> <div class="client-testimonial-inner"> <div class="reviews-rate mb-4"> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> </div> <p> Après avoir essayé plusieurs sites de dessin en ligne dessindigo m'est apparu comme : * le plus professionnel (les videos, les ressources données à chaque cours...) * celui qui propose une pédagogie progressive * qui propose systématiquement une correc... </p> </div> </div> </div> <p class="user pl-3">Yves61</p> <p class="date pl-3 mb-3">Le 20/12/2024</p> </div> <div class="mb-4 col-lg-4 d-none d-md-block"> <div class="border p-4 m-3"> <meta itemprop="worstRating" content="1"> <meta itemprop="ratingValue" content="5"> <meta itemprop="bestRating" content="5"> <div class="client-testimonial"> <div class="client-testimonial-inner"> <div class="reviews-rate mb-4"> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> </div> <p> Très bonne formation, les vidéos sont bien structurées et faciles à suivre. L'abonnement est un peu cher mais donne accès à tous les cours, j'en ai profité pour suivre aussi les cours sur les personnages avec Yohan. </p> </div> </div> </div> <p class="user pl-3">marina-crayon</p> <p class="date pl-3 mb-3">Le 28/09/2024</p> </div> <div class="mb-4 col-lg-4 d-none d-md-block"> <div class="border p-4 m-3"> <meta itemprop="worstRating" content="1"> <meta itemprop="ratingValue" content="5"> <meta itemprop="bestRating" content="5"> <div class="client-testimonial"> <div class="client-testimonial-inner"> <div class="reviews-rate mb-4"> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> </div> <p> Formation parfaite pour les débutants en manga mais j'ai suivi en paralele la formation sur les bases du dessin qui m a énormèment aider. J'ai eu quelques bug vidéo au début de la formation mais tout est bon maintnenant. </p> </div> </div> </div> <p class="user pl-3">loic75</p> <p class="date pl-3 mb-3">Le 22/07/2024</p> </div> <div class="mb-4 col-lg-4 d-none d-md-block"> <div class="border p-4 m-3"> <meta itemprop="worstRating" content="1"> <meta itemprop="ratingValue" content="5"> <meta itemprop="bestRating" content="5"> <div class="client-testimonial"> <div class="client-testimonial-inner"> <div class="reviews-rate mb-4"> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> </div> <p> Très bonne formation, les cours sont bien structurés et sympa. Je n'ai pas encore fini la formation mais je vais m'y remettre bientôt, </p> </div> </div> </div> <p class="user pl-3">neosketch42</p> <p class="date pl-3 mb-3">Le 15/07/2024</p> </div> <div class="mb-4 col-lg-4 d-none d-md-block"> <div class="border p-4 m-3"> <meta itemprop="worstRating" content="1"> <meta itemprop="ratingValue" content="4"> <meta itemprop="bestRating" content="5"> <div class="client-testimonial"> <div class="client-testimonial-inner"> <div class="reviews-rate mb-4"> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="" stroke-width="0" fill="#FFC107"></i> </div> <p> Franchement top, mais les explications sur les brushes sont un peu rapide à mon goût </p> </div> </div> </div> <p class="user pl-3">grego23</p> <p class="date pl-3 mb-3">Le 12/07/2024</p> </div> <div class="mb-4 col-lg-4 d-none d-md-block"> <div class="border p-4 m-3"> <meta itemprop="worstRating" content="1"> <meta itemprop="ratingValue" content="5"> <meta itemprop="bestRating" content="5"> <div class="client-testimonial"> <div class="client-testimonial-inner"> <div class="reviews-rate mb-4"> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> <i data-lucide="star " stroke-width="0" fill="#FFC107"></i> </div> <p> Les vidéos sont bien rythmées et faciles à suivre. Je recommande cette formation pour ceux qui veulent se lancer dans le dessin manga. </p> </div> </div> </div> <p class="user pl-3">liladessine</p> <p class="date pl-3 mb-3">Le 02/07/2024</p> </div> </div> <div class="col my-4 d-block d-md-none"> <a class="text-uppercase link-more" href="/avis"> En savoir plus </a> </div> <div class="testimonial-rate col-md-12 text-center"></div> <div class="col-12 text-center"> <a class="btn btn-submit text-uppercase" href="https://dessindigo.com/avis"> En savoir plus </a> </div> <script src="https://unpkg.com/swiper/swiper-bundle.min.js"></script> <script> var swiper = new Swiper('.swiper-container', { slidesPerView: 1, centeredSlides: true, spaceBetween: 10, pagination: { el: '.swiper-pagination', clickable: true, }, }); </script> </div> <div class="w-100"> <h3 class="text-uppercase text-bold text-center"> L'actualité Dessindigo </h3> <div class="container px-0"> <div class="w-100 row mx-auto"> <div class="col-12 col-lg-3 col-md-6 mb-3 px-0"> <a href="https://dessindigo.com/blog/conseils/quelle-aquarelle-choisir"> <div class="card mx-3 mb-5 post h-100"> <div class="card-header p-0"> <img src="/storage/images/posts/choisir-aquarelle/image-garde-article-blog-dessindigo-tuto-bien-choisir-aquarelle.webp" class="img-fluid" alt="Comment bien choisir son aquarelle"> </div> <div class="card-body"> <h4 class="text-uppercase text-bold text-left">Comment bien choisir son aquarelle</h4> <div class="row mb-2"> <span class="col-4" style="color:#94A3B8"> <i class="fa fa-user"></i> Tristan de Dessindigo </span> <span class="col-3" style="color:#94A3B8"> <i class="fa fa-comment"></i> 0 </span> <span class="col-5 text-right" style="color:#94A3B8"> <i class="fa fa-calendar"></i> 09.05.2025 </span> </div> <p>Lorsque vous débutez l’aquarelle, choisir sa palette est une étape importante, souvent sous-estimée ou, au contraire, surestimée.</p> </div> </div> </a> </div> <div class="col-12 col-lg-3 col-md-6 mb-3 px-0"> <a href="https://dessindigo.com/blog/tuto-dessin/dessiner-paysage-fusain"> <div class="card mx-3 mb-5 post h-100"> <div class="card-header p-0"> <img src="/storage/images/posts/paysage-fusain/image-garde-article-blog-dessindigo-tuto-dessiner-paysage-fusain.webp" class="img-fluid" alt="Dessiner un paysage au fusain"> </div> <div class="card-body"> <h4 class="text-uppercase text-bold text-left">Dessiner un paysage au fusain</h4> <div class="row mb-2"> <span class="col-4" style="color:#94A3B8"> <i class="fa fa-user"></i> Tristan de Dessindigo </span> <span class="col-3" style="color:#94A3B8"> <i class="fa fa-comment"></i> 0 </span> <span class="col-5 text-right" style="color:#94A3B8"> <i class="fa fa-calendar"></i> 29.04.2025 </span> </div> <p>Envie de vous initier au paysage au fusain ? Dans cet article, vous verrez comment dessiner facilement une scène naturelle avec cet outil !</p> </div> </div> </a> </div> <div class="col-12 col-lg-3 col-md-6 mb-3 px-0"> <a href="https://dessindigo.com/blog/conseils/pastels-secs-gras-differences"> <div class="card mx-3 mb-5 post h-100"> <div class="card-header p-0"> <img src="/storage/images/posts/differences-pastels-secs-gras/image-garde-article-blog-dessindigo-tuto-differences-pastels-secs-gras.webp" class="img-fluid" alt="Pastels secs ou pastels gras : que choisir ?"> </div> <div class="card-body"> <h4 class="text-uppercase text-bold text-left">Pastels secs ou pastels gras : que choisir ?</h4> <div class="row mb-2"> <span class="col-4" style="color:#94A3B8"> <i class="fa fa-user"></i> Tristan de Dessindigo </span> <span class="col-3" style="color:#94A3B8"> <i class="fa fa-comment"></i> 0 </span> <span class="col-5 text-right" style="color:#94A3B8"> <i class="fa fa-calendar"></i> 24.04.2025 </span> </div> <p>Il existe deux types de pastels : secs et gras. Voyons leurs caractéristiques, avantages et inconvénients.</p> </div> </div> </a> </div> <div class="col-12 col-lg-3 col-md-6 mb-3 px-0"> <a href="https://dessindigo.com/blog/tuto-dessin/dessiner-nez-de-face"> <div class="card mx-3 mb-5 post h-100"> <div class="card-header p-0"> <img src="/storage/images/posts/nez-de-face/image-garde-article-blog-dessindigo-tuto-dessiner-nez-de-face.webp" class="img-fluid" alt="Dessiner un nez de face"> </div> <div class="card-body"> <h4 class="text-uppercase text-bold text-left">Dessiner un nez de face</h4> <div class="row mb-2"> <span class="col-4" style="color:#94A3B8"> <i class="fa fa-user"></i> Tristan de Dessindigo </span> <span class="col-3" style="color:#94A3B8"> <i class="fa fa-comment"></i> 1 </span> <span class="col-5 text-right" style="color:#94A3B8"> <i class="fa fa-calendar"></i> 22.04.2025 </span> </div> <p>Aujourd'hui, nous aborderons quelques techniques qui vous aideront à réaliser un nez de face réaliste !</p> </div> </div> </a> </div> </div> </div> <div class="col-12 text-center"> <a class="btn btn-submit text-uppercase" href="/blog"> Voir toutes les actualités </a> </div> </div> </div> </div> </div> <footer class="main-footer"> <div class="footer-nav px-5 px-lg-3"> <div class="row mx-auto" style="max-width:1400px;"> <div class="col-md-6 col-lg-3 col-12 footer-secure-payment"> <img id="logo-footer" src="https://dessindigo.com/img/dessindigo-logo.png" alt=" Dessindigo logo " height="27"> <div class="footer-secure-payment-inner"> <div class="gift d-md-block"> <a href="https://dessindigo.com/subscription?offer=1" class="gift-item d-flex d-md-block mr-1 mr-md-0 mb-4"> <i data-lucide="gift"></i> <span> Offrir un Abonnement </span> </a> <a href="/signup?promo=1" class="action_button gift-item ml-1 ml-md-0 d-flex d-md-block"> <i data-lucide="badge-percent"></i> <span> Vous avez un Code Coupon ? </span> </a> </div> </div> </div> <div class="col-lg-4 col-md-6 col-12 pl-3 pl-lg-3"> <ul class="nav-col-1 col-xs-6 col-sm-6 col-md-6 list"> <li class="mb-4"><a href="https://dessindigo.com/forum"> Forum </a></li> <li class="mb-4"><a href="https://dessindigo.com/blog"> Blog </a></li> <li class="mb-4"><a href="https://dessindigo.com/avis"> Avis des élèves </a></li> </ul> <ul class="nav-col-2 col-xs-6 col-sm-6 col-md-6 list"> <li class="mb-4"><a href="https://dessindigo.com/contact"> Contact </a></li> <li class="mb-4"><a href="https://dessindigo.com/faq"> FAQ </a></li> <li class="mb-4"><a href="https://dessindigo.com/programme-affiliation"> Affiliation </a></li> </ul> <div class="clearfix"></div> <hr> <div class="partners"> <h5 class="fs-6"> Ils parlent de nous </h5> <div class="row"> <div class="col-6 mb-4 text-center"> <img src="https://dessindigo.com/img/lp/Logo_francetv-desktop.webp" class="img-fluid" alt=" Logo France TV "> </div> <div class="col-6 mb-4 text-center"> <img src="https://dessindigo.com/img/lp/Logo_madame.webp" class="img-fluid" alt=" Logo Madame "> </div> <div class="col-6 mb-4 text-center"> <img src="https://dessindigo.com/img/lp/Logo_LeMonde.webp" class="img-fluid" alt=" Logo Le Monde "> </div> <div class="col-6 mb-4 text-center"> <img src="https://dessindigo.com/img/lp/Logo_BFMTV.webp" class="img-fluid" alt=" Logo BFMTV " style="max-height: 50px;"> </div> </div> </div> </div> <div class="col-12 col-md-12 col-lg-5 footer-newsletter-col justify-content-md-center"> <div class="footer-newsletter"> <h4 class="text-bold"> Recevez notre newsletter gratuite </h4> </div> <div class="newsletter-form"> <form method="POST" action="https://dessindigo.com/newsletter/subscribe" accept-charset="UTF-8"> <div class="d-flex"> <input type="text" id="nl_email" name="email" class="form-control col-lg-10 col-6" placeholder=" Votre adresse e-mail "> <input type="hidden" name="_token" value="qMciRu1lIcZWzqDFsMGA5dqWoxAh20eeQBZ4691h"> <button disabled data-sitekey="6LcUUy8qAAAAALb3jE2hig19eceCejCRvf4BWnFm" data-callback="onSubmit" type="button" class="g-recaptcha rounded px-2 btn btn-primary col-lg-2 col-6" id="newsletter_subscribe"> S'INSCRIRE </button> </div> <p> Ce site est protégé par reCAPTCHA et Google <br> <a href="https://policies.google.com/privacy"> Confidentialité </a>et<a href="https://policies.google.com/terms"> Conditions </a> </p> </form> </div> <div class="social-media"> <h5> Suivez-nous </h5> <ul> <li id="twitter-footer"><a href="https://twitter.com/Dessindigo_site" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="28" height="28" viewbox="0 0 50 50"> <path d="M 5.9199219 6 L 20.582031 27.375 L 6.2304688 44 L 9.4101562 44 L 21.986328 29.421875 L 31.986328 44 L 44 44 L 28.681641 21.669922 L 42.199219 6 L 39.029297 6 L 27.275391 19.617188 L 17.933594 6 L 5.9199219 6 z M 9.7167969 8 L 16.880859 8 L 40.203125 42 L 33.039062 42 L 9.7167969 8 z"></path> </svg></a></li> <li id="fcb-footer"><a href="https://www.facebook.com/Dessindigo-122862795016475/" target="_blank"><i class="fa fa-facebook"></i></a></li> <li><a href="https://youtube.com/channel/UCGbPLkUMMcJJrn55Z44UhmA" target="_blank"><i class="fa fa-youtube"></i></a></li> <li id="insta-footer"><a href="https://www.instagram.com/dessindigo/" target="_blank"><i class="fa fa-instagram"></i></a></li> <li id="pinterest-footer"><a href="https://www.pinterest.fr/apprendreledessinenligne/" target="_blank"><i class="fa fa-pinterest-p" aria-hidden="true"></i></a></li> </ul> </div> </div> </div> </div> <div class="footer-copyright"> <div class="container-fluid"> <div class="row d-none d-lg-flex"> <div class="col col-md-3 text-left"> <i class="icon ion-ios-locked"></i> Paiement sécurisé <i class="fa fa-cc-visa" aria-hidden="true"></i> <i class="fa fa-cc-mastercard" aria-hidden="true"></i> </div> <div class="col col-md-6"> © 2025 Hmonster Sarl - All Rights Reserved - Dessindigo.com | <a href="https://dessindigo.com/conditions-generales"> Conditions générales </a> </div> </div> <div class="d-flex flex-column d-lg-none"> <div class="text-center d-flex flex-row align-items-center mb-2"> <i class="icon ion-ios-locked"></i> Paiement sécurisé <i class="fa fa-cc-visa" aria-hidden="true"></i> <i class="fa fa-cc-mastercard" aria-hidden="true"></i> </div> <div class=""> © 2025 Hmonster Sarl - All Rights Reserved - Dessindigo.com | <a href="https://dessindigo.com/conditions-generales"> Conditions générales </a> </div> </div> </div> </div> <script src="https://dessindigo.com/back/js/sweet-alert/sweetalert.min.js" defer></script> <script> var fired = false; window.addEventListener('click', function () { var recaptchaScript = document.createElement('script'); recaptchaScript.src = 'https://www.google.com/recaptcha/api.js?render=6LcUUy8qAAAAALb3jE2hig19eceCejCRvf4BWnFm'; recaptchaScript.defer = true; document.body.appendChild(recaptchaScript); fired = true; }, true); function onSubmit() { grecaptcha.execute('6LcUUy8qAAAAALb3jE2hig19eceCejCRvf4BWnFm', {action: 'submit'}) .then(function(token){ $.ajax({ headers: { 'X-CSRF-TOKEN': $('input[name="_token"]').attr('value') }, 'url' : 'https://dessindigo.com/newsletter/subscribe', 'method' : 'POST', 'type' : 'json', 'data' : { 'email' : $('#nl_email').val(),'g-recaptcha-response':$('#g-recaptcha-response').val(), '_token' : $('input[name="_token"]').attr('value') }, }).done(function(response){ let message = response.success; swal("Succès", message, "success") }).fail(function(response){ console.log(response); let message = (response.responseJSON.errors) ? response.responseJSON.errors.email[0] : response.responseJSON.email; swal("Échec", message, "error") }); }) } </script> </footer> <script> // Vos scripts existants… window.addEventListener('load', function() { let toolbar_mobile = document.querySelector('.mobile-block') if (toolbar_mobile) { toolbar_mobile.removeAttribute('style') } document.querySelectorAll('#navbarNav .dropdown-list').forEach(element => { element.removeAttribute('style') }); }) </script> <script src="https://dessindigo.com/js/lucide.js"></script> <script src="https://dessindigo.com/js/app_visitor.js "></script> <script> window.addEventListener('load', function() { let tmp_css = document.querySelector('#tempo_bootstrap') if (tmp_css) { let parent = tmp_css.parentNode parent.removeChild(tmp_css) } setTimeout(() => { if (!cookies.get('toggle_cookie')) { $('body').append(` <div class="cookies-nav"> <i class="fas fa-cookie-bite fs-6 mr-2"></i> Nous utilisons des cookies pour vous garantir une meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considérerons que vous acceptez l'utilisation des cookies. <button id="accept-cookie-btn" class="btn btn-primary text-white ml-2">Ok j'ai compris !</button> </div> `); } $('#accept-cookie-btn').click(function() { $('.cookies-nav').remove(); cookies.set('toggle_cookie', true, { expires: 365 }); }); }, 3000); var user_id = ""; if (user_id != '') { // Channel pour tous les users Echo.channel('events').listen('RealTimeNotificationAllUsers', (e) => { toastr.options = { onclick: function() { window.location = e.notification.url; }, closeButton: true, timeOut: 10000, }; $('#count-notif-block').removeClass('d-none'); $('#count-notif-block').text(parseInt($('#count-notif-block').text()) + 1); var html = `<a class="notif-item" href="${e.notification.url}"> <div class="notif-item-block text-primary"> <div class="p-3 border-bottom row m-0"> <div class="col-2 my-auto icon-notif-item"><i class="fa fa-flag"></i></div> <div class="col-10"> <div class="notif-item-title">${e.notification.title}</div> <div class="notif-item-message">${e.notification.message}</div> <div class="mt-2 notif-item-time">${e.notification.time}</div> </div> </div> </div> </a>`; $('#notif-list-block').prepend(html); var toastHtml = ` <div class="row"> <span class="font-weight-bold fs-5"> <i class="text-primary mr-3 toast-icon fa fa-flag"></i> ${e.notification.title} </span> </div> <div>${e.notification.message}</div> `; toastr.success(toastHtml); }); // Channel privé Echo.private('App.Models.User.' + user_id).notification((notification) => { toastr.options = { onclick: function() { window.location = notification.url; }, closeButton: true, timeOut: 10000, }; $('#count-notif-block').removeClass('d-none'); $('#count-notif-block').text(parseInt($('#count-notif-block').text()) + 1); var html = `<a class="notif-item" href="${notification.url}"> <div class="notif-item-block text-primary"> <div class="p-3 border-bottom row m-0"> <div class="col-2 my-auto icon-notif-item"><i class="fa fa-flag"></i></div> <div class="col-10"> <div class="notif-item-title">${notification.title}</div> <div class="notif-item-message">${notification.message}</div> <div class="mt-2 notif-item-time">${notification.time}</div> </div> </div> </div> </a>`; $('#notif-list-block').prepend(html); var toastHtml = ` <div class="row"> <span class="font-weight-bold fs-5"> <i class="text-primary mr-3 toast-icon fa fa-flag"></i> ${notification.title} </span> </div> <div>${notification.message}</div> `; toastr.success(toastHtml); }); } }); document.addEventListener('DOMContentLoaded', function () { const localSelect = document.querySelector('#local'); if (localSelect) { localSelect.addEventListener('change', function() { changeLocal(this.value, this.options[this.selectedIndex].getAttribute('data-localizedurl')); }); } const localMobile = document.querySelector('#local-mobile'); if (localMobile) { localMobile.addEventListener('change', function() { changeLocal(this.value, this.options[this.selectedIndex].getAttribute('data-localizedurl')); }); } function changeLocal(lang, defaultLocalizedUrl) { if (window.currentModel && window.currentModel.id && window.currentModel.type) { $.ajax({ headers: { 'X-CSRF-TOKEN': document.querySelector('meta[name="_token"]').getAttribute('content') }, url: "https://dessindigo.com/lang/translate-url", type: 'POST', data: { lang: lang, id: window.currentModel.id, model: window.currentModel.type }, }).then((data) => { window.location.href = data.url; }); } else { // Fallback: localize current URL prefix window.location.href = defaultLocalizedUrl; } } }); </script> <script> window.loginUser = false; function initialize(i,t){var e;i.getElementById(t)? initFreshChat():((e=i.createElement("script")).id=t,e.async=!0, e.src="https://hmonster-help.freshchat.com/js/widget.js",e.onload=initFreshChat,i.head.appendChild(e))} function initiateCall(){initialize(document,"Freshchat-js-sdk")} window.addEventListener?window.addEventListener("load",initiateCall,!1): window.attachEvent("load",initiateCall,!1); function initFreshChat() { window.fcWidget.init({ token: "10ff4d06-afd1-4206-86c6-43849bece2ae", host: "https://hmonster-help.freshchat.com", widgetUuid: "84081191-5e0d-476f-b3f9-6ab8c89bdddf", siteId: "dessindigo", config: { eagerLoad: true, headerProperty: { //If you have multiple sites you can use the appName and appLogo to overwrite the values. appName: 'Dessindigo', appLogo: 'https://dessindigo.com/img/layout/apple-touch-icon-72.png', } }, content: { placeholders: { search_field: 'Rechercher', reply_field: 'Répondre', csat_reply: 'Ajouter votre commentaire' }, actions: { csat_yes: 'Oui', csat_no: 'Non', push_notify_yes: 'Oui', push_notify_no: 'Non', csat_submit: 'Envoyer' }, headers: { chat: 'Discutez avec nous', faq: 'Foire aux questions', faq_search_not_available: 'Pas d\'articles pour votre question : \{\{query\}\}', faq_useful: 'Cet article vous a aidé ?', faq_thankyou: 'Merci pour votre retour', faq_message_us: 'Contactez nous', push_notification: 'Ne rate pas ta réponse! Activez les notifications ?', csat_question: 'Avons-nous répondu à vos questions ?', csat_yes_question: 'Voulez-vous évaluer cette échange ?', csat_no_question: 'Comment aurions-nous pu mieux aider ?', csat_thankyou: 'Merci pour votre réponse', csat_rate_here: 'Envoyez votre évaluation', channel_response: { offline: 'Nous ne sommes pas en ligne. Laissez un message', online: { minutes: { one: "Nous répondons actuellement en {!time!} minutes ", more: "Nous répondons en moyenne en {!time!} minutes" }, hours: { one: "Nous répondons actuellement en 1 heure", more: "Nous répondons actuellement en {!time!} heures", } } } } } }); } </script> <script> setTimeout(() => { ( function(w,d,s){ var f=d.getElementsByTagName(s)[0] var j=d.createElement(s); j.async=true; j.setAttribute('data-account', '48637') j.setAttribute('data-user', '42769') j.src='https://a.optmnstr.com/app/js/api.min.js'; f.parentNode.insertBefore(j,f); })(window,document,'script'); }, 5000); </script> <script> $(function () { $(document).scroll(function () { var $nav = $(".main-header"); $nav.toggleClass('scrolled', $(this).scrollTop() > $nav.height()); }); }); </script> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-110490481-1', 'dessindigo.com'); ga('require', 'displayfeatures'); ga('require', 'ecommerce'); ga('send', 'pageview'); </script> <script src="https://apis.google.com/js/platform.js" async defer> {lang: 'fr'} </script> <script type="text/javascript"> (function() { window.sib = { equeue: [], client_key: "f8co69zf1g1voif9mgd56" }; window.sendinblue = {}; for (var j = ['track', 'identify', 'trackLink', 'page'], i = 0; i < j.length; i++) { (function(k) { window.sendinblue[k] = function() { var arg = Array.prototype.slice.call(arguments); (window.sib[k] || function() { var t = {}; t[k] = arg; window.sib.equeue.push(t);})(arg[0], arg[1], arg[2]);};})(j[i]);}var n = document.createElement("script"),i = document.getElementsByTagName("script")[0]; n.type = "text/javascript", n.id = "sendinblue-js", n.async = !0, n.src = "https://sibautomation.com/sa.js?key=" + window.sib.client_key, i.parentNode.insertBefore(n, i), window.sendinblue.page(); })(); </script> <!-- Start VWO Async SmartCode --> <link rel="preconnect" href="https://dev.visualwebsiteoptimizer.com" /> <script type='text/javascript' id='vwoCode'> window._vwo_code || (function() { var account_id=993597, version=2.1, settings_tolerance=2000, hide_element='body', hide_element_style = 'opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important;transition:none !important;', /* DO NOT EDIT BELOW THIS LINE */ f=false,w=window,d=document,v=d.querySelector('#vwoCode'),cK='_vwo_'+account_id+'_settings',cc={};try{var c=JSON.parse(localStorage.getItem('_vwo_'+account_id+'_config'));cc=c&&typeof c==='object'?c:{}}catch(e){}var stT=cc.stT==='session'?w.sessionStorage:w.localStorage;code={nonce:v&&v.nonce,use_existing_jquery:function(){return typeof use_existing_jquery!=='undefined'?use_existing_jquery:undefined},library_tolerance:function(){return typeof library_tolerance!=='undefined'?library_tolerance:undefined},settings_tolerance:function(){return cc.sT||settings_tolerance},hide_element_style:function(){return'{'+(cc.hES||hide_element_style)+'}'},hide_element:function(){if(performance.getEntriesByName('first-contentful-paint')[0]){return''}return typeof cc.hE==='string'?cc.hE:hide_element},getVersion:function(){return version},finish:function(e){if(!f){f=true;var t=d.getElementById('_vis_opt_path_hides');if(t)t.parentNode.removeChild(t);if(e)(new Image).src='https://dev.visualwebsiteoptimizer.com/ee.gif?a='+account_id+e}},finished:function(){return f},addScript:function(e){var t=d.createElement('script');t.type='text/javascript';if(e.src){t.src=e.src}else{t.text=e.text}v&&t.setAttribute('nonce',v.nonce);d.getElementsByTagName('head')[0].appendChild(t)},load:function(e,t){var n=this.getSettings(),i=d.createElement('script'),r=this;t=t||{};if(n){i.textContent=n;d.getElementsByTagName('head')[0].appendChild(i);if(!w.VWO||VWO.caE){stT.removeItem(cK);r.load(e)}}else{var o=new XMLHttpRequest;o.open('GET',e,true);o.withCredentials=!t.dSC;o.responseType=t.responseType||'text';o.onload=function(){if(t.onloadCb){return t.onloadCb(o,e)}if(o.status===200||o.status===304){_vwo_code.addScript({text:o.responseText})}else{_vwo_code.finish('&e=loading_failure:'+e)}};o.onerror=function(){if(t.onerrorCb){return t.onerrorCb(e)}_vwo_code.finish('&e=loading_failure:'+e)};o.send()}},getSettings:function(){try{var e=stT.getItem(cK);if(!e){return}e=JSON.parse(e);if(Date.now()>e.e){stT.removeItem(cK);return}return e.s}catch(e){return}},init:function(){if(d.URL.indexOf('__vwo_disable__')>-1)return;var e=this.settings_tolerance();w._vwo_settings_timer=setTimeout(function(){_vwo_code.finish();stT.removeItem(cK)},e);var t;if(this.hide_element()!=='body'){t=d.createElement('style');var n=this.hide_element(),i=n?n+this.hide_element_style():'',r=d.getElementsByTagName('head')[0];t.setAttribute('id','_vis_opt_path_hides');v&&t.setAttribute('nonce',v.nonce);t.setAttribute('type','text/css');if(t.styleSheet)t.styleSheet.cssText=i;else t.appendChild(d.createTextNode(i));r.appendChild(t)}else{t=d.getElementsByTagName('head')[0];var i=d.createElement('div');i.style.cssText='z-index: 2147483647 !important;position: fixed !important;left: 0 !important;top: 0 !important;width: 100% !important;height: 100% !important;background: white !important;display: block !important;';i.setAttribute('id','_vis_opt_path_hides');i.classList.add('_vis_hide_layer');t.parentNode.insertBefore(i,t.nextSibling)}var o=window._vis_opt_url||d.URL,s='https://dev.visualwebsiteoptimizer.com/j.php?a='+account_id+'&u='+encodeURIComponent(o)+'&vn='+version;if(w.location.search.indexOf('_vwo_xhr')!==-1){this.addScript({src:s})}else{this.load(s+'&x=true')}}};w._vwo_code=code;code.init();})(); </script> <!-- End VWO Async SmartCode --> <script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","licenseKey":"8603a57a05","applicationID":"1276657843","transactionName":"NAdRYRZZWhFTWxVYWQ1NclYQUVsMHVEPVVMb","queueTime":0,"applicationTime":525,"atts":"GEBSF15DSR8=","errorBeacon":"bam.nr-data.net","agent":""}</script></body> </html>