<!DOCTYPE html>
<html lang="fr">
<head>
<script>
(function() {
const userAgent = window.navigator.userAgent || window.navigator.vendor || window.opera;
const url = window.location.href;
// Désactivé: pas de redirection spécifique app/navigateur sur mobile
// if (userAgent.includes('Mobile') && (userAgent.includes('iPhone') || userAgent.includes('iPad')) && userAgent.includes('LinkedInApp')) {
// window.location.href = 'x-safari-' + url;
// return;
// }
// // Pour Android
// if (/android/i.test(navigator.userAgent)) {
// window.location.href = `googlechrome://${window.location.href.replace(/^https?:\/\//, '')}`;
// return;
// }
// var userAgent = navigator.userAgent || navigator.vendor || window.opera;
// // Détection WebView Android (nouvelle méthode)
// var isAndroidWebView = /; wv\)/.test(userAgent) ||
// /Android.*(WebView|wv)/.test(userAgent);
// // Détection WebView iOS (méthode existante améliorée)
// var isIOSWebView = /(iPhone|iPod|iPad).*AppleWebKit(?!.*Safari)/i.test(userAgent);
// if (isAndroidWebView || isIOSWebView) {
// var url = window.location.href;
// window.location.href = "googlechrome://" + url.replace(/^https?:\/\//, ""); // Redirige vers Chrome sur Android
// }
})();
</script>
<!-- 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-M5WKRR9G');
</script>
<!-- End Google Tag Manager -->
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-GN99KS5KX3"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'G-GN99KS5KX3');
</script>
{% set isTransparent = (isTransparent|default(false)) %}
<title>
{% block title %}
WorkDispo: missions
{{ 'now'|date('Y') }}
sur toute la France | WorkDispo
{% endblock %}
</title>
<link rel="canonical" href="{{ app.request.getSchemeAndHttpHost() ~ app.request.getRequestUri()|split('?')[0]|replace({'/index.php': ''}) }}" />
{% block meta_date_desc %}
<script type="application/ld+json">
{
"@context" : "https://schema.org",
"@type" : "Organization",
"name" : "WorkDispo",
"url" : "https://www.workdispo.com/",
"logo" : "https://www.workdispo.com/images/logo.webp.svg"
}
</script>
{% endblock %}
{% block meta %}
<meta name="robots" content="max-snippet:160">
<meta charset="utf-8">
<meta name="description" content="WorkDispo est une plateforme sans commission de mise en relation entre freelances et recruteurs de l’informatique. C’est 100% gratuit pour les freelances.">
<meta name="keywords" content="freelance, dispo, missions, it">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=3">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<script type="text/javascript">
(window.NREUM || (NREUM =
{})).init = {
ajax: {
deny_list: ["bam.nr-data.net"]
}
};
(window.NREUM || (NREUM =
{})).loader_config = {
licenseKey: "NRJS-8c6c895b97ea60d5ee0",
applicationID: "1333848373"
};
window.NREUM || (NREUM =
{}),
__nr_require = function (t, e, n) {
function r(n) {
if (! e[n]) {
var i = e[n] = {
exports: {}
};
t[n][0].call(i.exports, function (e) {
var i = t[n][1][e];
return r(i || e)
}, i, i.exports)
}
return e[n].exports
}
if ("function" == typeof __nr_require)
return __nr_require;
for (var i = 0; i < n.length; i++)
r(n[i]);
return r
}({
1: [
function (t, e, n) {
function r() {}
function i(t, e, n, r) {
return function () {
return s.recordSupportability("API/" + e + "/called"),
o(t + e, [u.now()].concat(c(arguments)), n ? null : this, r),
n ? void 0 : this
}
}
var o = t("handle"),
a = t(9),
c = t(10),
f = t("ee").get("tracer"),
u = t("loader"),
s = t(4),
d = NREUM;
"undefined" == typeof window.newrelic && (newrelic = d);
var p = [
"setPageViewName",
"setCustomAttribute",
"setErrorHandler",
"finished",
"addToTrace",
"inlineHit",
"addRelease"
],
l = "api-",
v = l + "ixn-";
a(p, function (t, e) {
d[e] = i(l, e, !0, "api")
}),
d.addPageAction = i(l, "addPageAction", !0),
d.setCurrentRouteName = i(l, "routeName", !0),
e.exports = newrelic,
d.interaction = function () {
return(new r).get()
};
var m = r.prototype = {
createTracer: function (t, e) {
var n = {},
r = this,
i = "function" == typeof e;
return o(v + "tracer", [
u.now(), t, n
], r),
function () {
if (f.emit((i ? "" : "no-") + "fn-start", [
u.now(), r, i
], n), i)
try {
return e.apply(this, arguments)
}
catch (t) {
throw f.emit("fn-err", [
arguments, this, t
], n),
t
} finally {
f.emit("fn-end", [u.now()], n)
}
}
}
};
a("actionText,setName,setAttribute,save,ignore,onEnd,getContext,end,get".split(","), function (t, e) {
m[e] = i(v, e)
}),
newrelic.noticeError = function (t, e) {
"string" == typeof t && (t = new Error(t)),
s.recordSupportability("API/noticeError/called"),
o("err", [
t,
u.now(),
!1,
e
])
}
}, {}
],
2: [
function (t, e, n) {
function r(t) {
if (NREUM.init) {
for (var e = NREUM.init, n = t.split("."), r = 0; r < n.length - 1; r++)
if (e = e[n[r]], "object" != typeof e)
return;
return e = e[n[n.length - 1]]
}
}
e.exports = {
getConfiguration: r
}
}, {}
],
3: [
function (t, e, n) {
var r = !1;
try {
var i = Object.defineProperty({}, "passive", {
get: function () {
r = !0
}
});
window.addEventListener("testPassive", null, i),
window.removeEventListener("testPassive", null, i)
} catch (o) {}e.exports = function (t) {
return r ? {
passive: !0,
capture: !! t
} : !! t
}
}, {}
],
4: [
function (t, e, n) {
function r(t, e) {
var n = [
a, t, {
name: t
},
e
];
return o("storeMetric", n, null, "api"),
n
}
function i(t, e) {
var n = [
c, t, {
name: t
},
e
];
return o("storeEventMetrics", n, null, "api"),
n
}
var o = t("handle"),
a = "sm",
c = "cm";
e.exports = {
constants: {
SUPPORTABILITY_METRIC: a,
CUSTOM_METRIC: c
},
recordSupportability: r,
recordCustom: i
}
}, {}
],
5: [
function (t, e, n) {
function r() {
return c.exists && performance.now ? Math.round(performance.now()) : (o = Math.max((new Date).getTime(), o)) - a
}
function i() {
return o
}
var o = (new Date).getTime(),
a = o,
c = t(11);
e.exports = r,
e.exports.offset = a,
e.exports.getLastTimestamp = i
}, {}
],
6: [
function (t, e, n) {
function r(t, e) {
var n = t.getEntries();
n.forEach(function (t) {
"first-paint" === t.name ? l("timing", [
"fp", Math.floor(t.startTime)
]) : "first-contentful-paint" === t.name && l("timing", [
"fcp", Math.floor(t.startTime)
])
})
}
function i(t, e) {
var n = t.getEntries();
if (n.length > 0) {
var r = n[n.length - 1];
if (u && u < r.startTime)
return;
var i = [r],
o = a({});
o && i.push(o),
l("lcp", i)
}
}
function o(t) {
t.getEntries().forEach(function (t) {
t.hadRecentInput || l("cls", [t])
})
}
function a(t) {
var e = navigator.connection || navigator.mozConnection || navigator.webkitConnection;
if (e)
return e.type && (t["net-type"] = e.type),
e.effectiveType && (t["net-etype"] = e.effectiveType),
e.rtt && (t["net-rtt"] = e.rtt),
e.downlink && (t["net-dlink"] = e.downlink),
t
}
function c(t) {
if (t instanceof y && !w) {
var e = Math.round(t.timeStamp),
n = {
type: t.type
};
a(n),
e <= v.now() ? n.fid = v.now() - e : e > v.offset && e <= Date.now() ? (e -= v.offset, n.fid = v.now() - e) : e = v.now(),
w = !0,
l("timing", ["fi", e, n])
}
}
function f(t) {
"hidden" === t && (u = v.now(), l("pageHide", [u]))
}
if (!("init" in NREUM && "page_view_timing" in NREUM.init && "enabled" in NREUM.init.page_view_timing && NREUM.init.page_view_timing.enabled === !1)) {
var u,
s,
d,
p,
l = t("handle"),
v = t("loader"),
m = t(8),
g = t(3),
y = NREUM.o.EV;
if ("PerformanceObserver" in window && "function" == typeof window.PerformanceObserver) {
s = new PerformanceObserver(r);
try {
s.observe({entryTypes: ["paint"]})
} catch (h) {}d = new PerformanceObserver(i);
try {
d.observe({entryTypes: ["largest-contentful-paint"]})
} catch (h) {}p = new PerformanceObserver(o);
try {
p.observe({
type: "layout-shift",
buffered: !0
})
} catch (h) {}
}
if ("addEventListener" in document) {
var w = !1,
b = [
"click",
"keydown",
"mousedown",
"pointerdown",
"touchstart"
];
b.forEach(function (t) {
document.addEventListener(t, c, g(!1))
})
}
m(f)
}
}, {}
],
7: [
function (t, e, n) {
function r(t, e) {
if (!i)
return !1;
if (t !== i)
return !1;
if (! e)
return !0;
if (!o)
return !1;
for (var n = o.split("."), r = e.split("."), a = 0; a < r.length; a++)
if (r[a] !== n[a])
return !1;
return !0
}
var i = null,
o = null,
a = /Version\/(\S+)\s+Safari/;
if (navigator.userAgent) {
var c = navigator.userAgent,
f = c.match(a);
f && c.indexOf("Chrome") === -1 && c.indexOf("Chromium") === -1 && (i = "Safari", o = f[1])
}
e.exports = {
agent: i,
version: o,
match: r
}
}, {}
],
8: [
function (t, e, n) {
function r(t) {
function e() {
t(c && document[c] ? document[c] : document[o] ? "hidden" : "visible")
}
"addEventListener" in document && a && document.addEventListener(a, e, i(!1))
}
var i = t(3);
e.exports = r;
var o,
a,
c;
"undefined" != typeof document.hidden ? (o = "hidden", a = "visibilitychange", c = "visibilityState") : "undefined" != typeof document.msHidden ? (o = "msHidden", a = "msvisibilitychange") : "undefined" != typeof document.webkitHidden && (o = "webkitHidden", a = "webkitvisibilitychange", c = "webkitVisibilityState")
}, {}
],
9: [
function (t, e, n) {
function r(t, e) {
var n = [],
r = "",
o = 0;
for (r in t)
i.call(t, r) && (n[o] = e(r, t[r]), o += 1);
return n
}
var i = Object.prototype.hasOwnProperty;
e.exports = r
}, {}
],
10: [
function (t, e, n) {
function r(t, e, n) {
e || (e = 0),
"undefined" == typeof n && (n = t ? t.length : 0);
for (var r = -1, i = n - e || 0, o = Array(i < 0 ? 0 : i); ++ r < i;)
o[r] = t[e + r];
return o
}
e.exports = r
}, {}
],
11: [
function (t, e, n) {
e.exports = {
exists: "undefined" != typeof window.performance && window.performance.timing && "undefined" != typeof window.performance.timing.navigationStart
}
}, {}
],
ee: [
function (t, e, n) {
function r() {}
function i(t) {
function e(t) {
return t && t instanceof r ? t : t ? u(t, f, a) : a()
}
function n(n, r, i, o, a) {
if (a !== !1 && (a =! 0), !l.aborted || o) {
t && a && t(n, r, i);
for (var c = e(i), f = m(n), u = f.length, s = 0; s < u; s++)
f[s].apply(c, r);
var p = d[w[n]];
return p && p.push([b, n, r, c]),
c
}
}
function o(t, e) {
h[t] = m(t).concat(e)
}
function v(t, e) {
var n = h[t];
if (n)
for (var r = 0; r < n.length; r++)
n[r] === e && n.splice(r, 1)
}
function m(t) {
return h[t] || []
}
function g(t) {
return p[t] = p[t] || i(n)
}
function y(t, e) {
l.aborted || s(t, function (t, n) {
e = e || "feature",
w[n] = e,
e in d || (d[e] =[])
})
}
var h = {},
w = {},
b = {
on: o,
addEventListener: o,
removeEventListener: v,
emit: n,
get: g,
listeners: m,
context: e,
buffer: y,
abort: c,
aborted: !1
};
return b
}
function o(t) {
return u(t, f, a)
}
function a() {
return new r
}
function c() {
(d.api || d.feature) && (l.aborted =! 0, d = l.backlog =
{})
}
var f = "nr@context",
u = t("gos"),
s = t(9),
d = {},
p = {},
l = e.exports = i();
e.exports.getOrSetContext = o,
l.backlog = d
}, {}
],
gos: [
function (t, e, n) {
function r(t, e, n) {
if (i.call(t, e))
return t[e];
var r = n();
if (Object.defineProperty && Object.keys)
try {
return Object.defineProperty(t, e, {
value: r,
writable: !0,
enumerable: !1
}),
r
}
catch (o) {}
return t[e] = r,
r
}
var i = Object.prototype.hasOwnProperty;
e.exports = r
}, {}
],
handle: [
function (t, e, n) {
function r(t, e, n, r) {
i.buffer([t], r),
i.emit(t, e, n)
}
var i = t("ee").get("handle");
e.exports = r,
r.ee = i
}, {}
],
id: [
function (t, e, n) {
function r(t) {
var e = typeof t;
return ! t || "object" !== e && "function" !== e ? -1 : t === window ? 0 : a(t, o, function () {
return i++
})
}
var i = 1,
o = "nr@id",
a = t("gos");
e.exports = r
}, {}
],
loader: [
function (t, e, n) {
function r() {
if (!M ++) {
var t = T.info = NREUM.info,
e = m.getElementsByTagName("script")[0];
if (setTimeout(u.abort, 3e4), !(t && t.licenseKey && t.applicationID && e))
return u.abort();
f(x, function (e, n) {
t[e] || (t[e] = n)
});
var n = a();
c("mark", [
"onload",
n + T.offset
], null, "api"),
c("timing", ["load", n]);
var r = m.createElement("script");
0 === t.agent.indexOf("http://") || 0 === t.agent.indexOf("https://") ? r.src = t.agent : r.src = l + "://" + t.agent,
e.parentNode.insertBefore(r, e)
}
}
function i() {
"complete" === m.readyState && o()
}
function o() {
c("mark", [
"domContent",
a() + T.offset
], null, "api")
}
var a = t(5),
c = t("handle"),
f = t(9),
u = t("ee"),
s = t(7),
d = t(2),
p = t(3),
l = d.getConfiguration("ssl") === !1 ? "http" : "https",
v = window,
m = v.document,
g = "addEventListener",
y = "attachEvent",
h = v.XMLHttpRequest,
w = h && h.prototype,
b = !1;
NREUM.o = {
ST: setTimeout,
SI: v.setImmediate,
CT: clearTimeout,
XHR: h,
REQ: v.Request,
EV: v.Event,
PR: v.Promise,
MO: v.MutationObserver
};
var E = "" + location,
x = {
beacon: "bam.nr-data.net",
errorBeacon: "bam.nr-data.net",
agent: "js-agent.newrelic.com/nr-1216.min.js"
},
O = h && w && w[g] && !/CriOS/.test(navigator.userAgent),
T = e.exports = {
offset: a.getLastTimestamp(),
now: a,
origin: E,
features: {},
xhrWrappable: O,
userAgent: s,
disabled: b
};
if (! b) {
t(1),
t(6),
m[g] ? (m[g]("DOMContentLoaded", o, p(!1)), v[g]("load", r, p(!1))) : (m[y]("onreadystatechange", i), v[y]("onload", r)),
c("mark", [
"firstbyte", a.getLastTimestamp()
], null, "api");
var M = 0
}
}, {}
],
"wrap-function": [
function (t, e, n) {
function r(t, e) {
function n(e, n, r, f, u) {
function nrWrapper() {
var o,
a,
s,
p;
try {
a = this,
o = d(arguments),
s = "function" == typeof r ? r(o, a) : r || {}
} catch (l) {
i([
l,
"",
[
o, a, f
],
s
], t)
}
c(n + "start", [
o, a, f
], s, u);
try {
return p = e.apply(a, o)
} catch (v) {
throw c(n + "err", [
o, a, v
], s, u),
v
} finally {
c(n + "end", [
o, a, p
], s, u)
}
}
return a(e) ? e : (n || (n = ""), nrWrapper[p] = e, o(e, nrWrapper, t), nrWrapper)
}
function r(t, e, r, i, o) {
r || (r = "");
var c,
f,
u,
s = "-" === r.charAt(0);
for (u = 0; u < e.length; u++)
f = e[u],
c = t[f],
a(c) || (t[f] = n(c, s ? f + r : r, i, f, o))
}
function c(n, r, o, a) {
if (!v || e) {
var c = v;
v = !0;
try {
t.emit(n, r, o, e, a)
} catch (f) {
i([
f, n, r, o
], t)
}
v = c
}
}
return t || (t = s),
n.inPlace = r,
n.flag = p,
n
}
function i(t, e) {
e || (e = s);
try {
e.emit("internal-error", t)
} catch (n) {}
}
function o(t, e, n) {
if (Object.defineProperty && Object.keys)
try {
var r = Object.keys(t);
return r.forEach(function (n) {
Object.defineProperty(e, n, {
get: function () {
return t[n]
},
set: function (e) {
return t[n] = e,
e
}
})
}),
e
}
catch (o) {
i([o], n)
}
for (var a in t)
l.call(t, a) && (e[a] = t[a]);
return e
}
function a(t) {
return !(t && t instanceof Function && t.apply && ! t[p])
}
function c(t, e) {
var n = e(t);
return n[p] = t,
o(t, n, s),
n
}
function f(t, e, n) {
var r = t[e];
t[e] = c(r, n)
}
function u() {
for (var t = arguments.length, e = new Array(t), n = 0; n < t; ++ n)
e[n] = arguments[n];
return e
}
var s = t("ee"),
d = t(10),
p = "nr@original",
l = Object.prototype.hasOwnProperty,
v = !1;
e.exports = r,
e.exports.wrapFunction = c,
e.exports.wrapInPlace = f,
e.exports.argsToArray = u
}, {}
]
}, {}, ["loader"]);
</script>
<meta property="og:image" content="{{ absolute_url(asset('images/logo_freelance_new.png')) }}">
<meta property="og:image:secure_url" content="{{ absolute_url(asset('images/logo_freelance_new.png')) }}">
<meta property="og:title" content="Offres d’emploi et missions freelance sur WorkDispo"/>
<meta property="og:type" content="WorkDispo"/>
<meta property="og:url" content="{{ app.request.getBaseURL() }}"/>
<meta name="Content-Language" content="fr">
<meta name="author" content="www.workdispo.com">
<meta name="revisit-after" content="revisit-after">
<meta name="pragma" content="no-cache">
<meta name="classification" content="WorkDispo: des missions sans commission">
<meta property="og:site_name" data-js-id="meta-og_site_name" content="WorkDispo">
<meta http-equiv="Cache-Control" content="max-age=31536000">
{% endblock %}
<link rel="apple-touch-icon" sizes="180x180" href="{{ asset('favicon-wd.png') }}">
<link rel="icon" type="image/png" sizes="32x32" href="{{ asset('favicon_32.png') }}">
<link rel="icon" type="image/png" sizes="16x16" href="{{ asset('favicon_16.png') }}">
<link rel="manifest" href="{{ asset('site.webmanifest') }}">
<link rel='dns-prefetch' href='//www.google.com'/>
<link rel='dns-prefetch' href='//fonts.googleapis.com'/>
<link rel="stylesheet" href="{{ absolute_url(asset('css/style.min.css')) }}">
<link rel="stylesheet" href="{{ absolute_url(asset('css/colors/blue.css')) }}">
<link rel="canonical" href="{{ app.request.uri }}"/>
{% block stylesheets %}
{{ encore_entry_link_tags('app') }}
{% endblock %}
<style>
/*.termsfeed-com---nb .cc-nb-title {*/
/* color: red !important;*/
/*}*/
.termsfeed-com---nb .cc-cp-foot-byline {
display: none !important;
}
.termsfeed-com---nb button,
.cc-cp-foot-save {
background-color: #2a41e8 !important;
}
.termsfeed-com---nb button.cc-nb-changep {
background-color: #eaeaea !important;
}
.termsfeed-com---pc-dialog input[type="checkbox"].cc-custom-checkbox {
position: relative !important;
}
.termsfeed-com---pc-dialog .cc-pc-head-lang-select {
display: none !important;
}
.termsfeed-com---palette-light.termsfeed-com---nb {
background-color: #f2f2f2;
color: #111;
border-radius: 0.8rem !important;
}
.termsfeed-com---nb .cc-nb-main-container {
padding: 1rem !important;
}
.termsfeed-com---nb .cc-nb-title {
font-size: 19px !important;
font-weight: 600;
}
.termsfeed-com---nb .cc-nb-text {
font-size: 12px !important;
margin: 0 0 1.25rem;
}
.mobileshow {
display: none;
}
@media screen and(max-width: 500px) {
.mobileshow {
display: block;
}
#logo {
transform: translateY(10px);
}
.termsfeed-com---nb-simple {
display: none !important;
}
}
</style>
{# NAV DISPONIBILITY #}
<style>
.nav-disponibility ul li ul {
top: inherit !important;
}
.nav-disponibility ul ul:after {
border-bottom: 5px solid #ffffff !important;
}
.nav-disponibility ul ul {
background-color: #ffffff !important;
}
.nav-disponibility ul ul.dropdown-nav ul.dropdown-nav ul.dropdown-nav li:hover a,
#navigation ul ul.dropdown-nav ul.dropdown-nav li:hover a,
#navigation ul ul.dropdown-nav li:hover a {
color: #aaa !important;
}
body .nav-disponibility ul ul {
margin-top: inherit !important;
}
#navigation ul li a:after,
#navigation ul ul li a:after {
content: none;
}
#navigation ul ul.dropdown-nav li a {
color: #000000 !important;
}
</style>
{# COOKIES CONCENT #}
<style>
@media screen and(min-width: 600px) {
.termsfeed-com---nb-simple {
max-width: 25% !important;
}
}
@media screen and (max-width: 600px) {
.termsfeed-com---nb-simple {
max-width: 100% !important;
}
}
@media screen and(max-width: 500px) {
.termsfeed-com---palette-light.termsfeed-com---nb {
display: none !important;
}
#header-container {
position: sticky !important;
top: 0; /* Spécifiez la distance par rapport au haut de la fenêtre */
/*z-index: 1000; !* Définissez un index de position pour empiler l'élément au-dessus des autres contenus *!*/
max-height: calc(100vh - 50px); /* Ajoutez cette ligne pour spécifier la hauteur maximale de l'élément */
/*overflow-y: auto; !* Ajoutez cette ligne pour activer le défilement vertical si le contenu dépasse la hauteur maximale *!*/
}
/*#header .header-widget {*/
/* border: none !important;*/
/* padding: 0 !important;*/
/*}*/
#header .mmenu-trigger {
margin: 0 -16px 0 15px !important;
}
#logo img {
max-width: 170px !important;
}
.btn-inscription-mobile {
display: block !important;
}
.simplebar-content {
padding-bottom: 0 !important;
}
}
</style>
</head>
<body>
<!-- Google Tag Manager (noscript) -->
<noscript>
<iframe src="https://www.googletagmanager.com/ns.html?id=GTM-M5WKRR9G" height="0" width="0" style="display:none;visibility:hidden"></iframe>
</noscript>
<!-- End Google Tag Manager (noscript) -->
<div id="wrapper">
<div id="browserRedirect" style="display:none;">
<a id="redirectLink" href="" target="_blank">Cliquez ici si vous n'êtes pas redirigé automatiquement</a>
</div>
{% include 'common/header.html.twig' %}
{% block body %}{% endblock %}
{% include 'common/modal/complete_cv_modal.html.twig' %}
{% include 'common/modal/package_other.html.twig' %}
{% include 'common/footer.html.twig' %}
</div>
<!-- Global site tag (gtag.js) - Google Analytics -->
<script defer src="https://www.googletagmanager.com/gtag/js?id=G-25WK3Q7QHY"></script>
<script defer>
window.dataLayer = window.dataLayer || [];
function gtag() {
dataLayer.push(arguments);
}
gtag('js', new Date());
gtag('config', 'G-25WK3Q7QHY');
</script>
<script src="{{ absolute_url(asset('js/jquery-3.6.0.min.js')) }}"></script>
<script src="{{ absolute_url(asset('js/jquery-migrate-3.3.2.min.js')) }}"></script>
<script src="{{ absolute_url(asset('js/mmenu.min.js')) }}"></script>
<script src="{{ absolute_url(asset('js/tippy.all.min.js')) }}"></script>
<script defer src="{{ absolute_url(asset('js/simplebar.min.js')) }}"></script>
<script defer src="{{ absolute_url(asset('js/bootstrap-slider.min.js')) }}"></script>
<script src="{{ absolute_url(asset('js/bootstrap-select.min.js')) }}?v={{ random() }}"></script>
<script src="{{ absolute_url(asset('js/snackbar.js')) }}"></script>
<script src="{{ absolute_url(asset('js/clipboard.min.js')) }}"></script>
<script defer src="{{ absolute_url(asset('js/counterup.min.js')) }}"></script>
<script defer src="{{ absolute_url(asset('js/magnific-popup.min.js')) }}"></script>
<script defer src="{{ absolute_url(asset('js/slick.min.js')) }}"></script>
<script src="{{ absolute_url(asset('js/custom.min.js')) }}"></script>
<script defer type="text/javascript" src="https://www.termsfeed.com/public/cookie-consent/4.0.0/cookie-consent.js" charset="UTF-8"></script>
<script defer type="text/javascript" charset="UTF-8">
document.addEventListener('DOMContentLoaded', function () {
cookieconsent.run({
"notice_banner_type": "simple",
"consent_type": "express",
"palette": "light",
"language": "fr",
"page_load_consent_levels": ["strictly-necessary"],
"notice_banner_reject_button_hide": false,
"preferences_center_close_button_hide": false,
"page_refresh_confirmation_buttons": false
});
});
</script>
{% block javascripts %}
{{ encore_entry_script_tags('app') }}
{% endblock %}
<script type="text/javascript">
_linkedin_partner_id = "7188001";
window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || [];
window._linkedin_data_partner_ids.push(_linkedin_partner_id);
</script>
<script type="text/javascript">
(function (l) {
if (! l) {
window.lintrk = function (a, b) {
window.lintrk.q.push([a, b])
};
window.lintrk.q = []
}
var s = document.getElementsByTagName("script")[0];
var b = document.createElement("script");
b.type = "text/javascript";
b.async = true;
b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js";
s.parentNode.insertBefore(b, s);
})(window.lintrk);
</script>
<noscript>
<img height="1" width="1" style="display:none;" alt="" src="https://px.ads.linkedin.com/collect/?pid=7188001&fmt=gif"/>
</noscript>
</body>
</html>