{"id":1703,"date":"2026-09-03T12:00:21","date_gmt":"2026-09-03T10:00:21","guid":{"rendered":"https:\/\/www.opera-executive.fr\/?page_id=1703"},"modified":"2026-09-03T18:04:17","modified_gmt":"2026-09-03T16:04:17","slug":"diagnostic-cybersecurite","status":"publish","type":"page","link":"https:\/\/www.opera-executive.fr\/index.php\/fr\/notre-offre\/diagnostic-cybersecurite\/","title":{"rendered":"Diagnostic cybers\u00e9curit\u00e9"},"content":{"rendered":"\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n<link rel=\"stylesheet\" href=\"https:\/\/fonts.googleapis.com\/css2?family=Spectral:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&#038;family=IBM+Plex+Sans:wght@400;500;600&#038;family=IBM+Plex+Mono:wght@400;500&#038;display=swap\">\n\n<style>\n\/* ============================================================\n   LES DEUX SEULES LIGNES \u00c0 MODIFIER\n   T\u00e9l\u00e9versez logo-opera.png et logo-cybermatch.png dans la\n   m\u00e9diath\u00e8que WordPress, puis collez ici les URL obtenues.\n   ============================================================ *\/\n:root{\n  --logo-opera:url(\"https:\/\/opera-executive.fr\/wp-content\/uploads\/logo-opera.png\");\n  --logo-cybermatch:url(\"https:\/\/opera-executive.fr\/wp-content\/uploads\/logo-cybermatch.png\");\n}\n\n:root{\n  --paper:#F2F4F8;\n  --surface:#FAFBFD;\n  --surface-2:#E9EDF6;\n  --ink:#101625;\n  --ink-soft:#4A5468;\n  --ink-faint:#79839A;\n  --rule:#D3DAE8;\n  --rule-strong:#B6C0D6;\n  --accent:#0B3AA8;\n  --accent-ink:#0B3AA8;\n  --accent-wash:#E4EAF8;\n  --cyber:#5A48D8;\n  --cyber-wash:#EDEAFC;\n  --r1:#A8BEE8;\n  --r2:#6E8FD4;\n  --r3:#2F5FBE;\n  --r4:#0B3AA8;\n  --alert:#C2402A;\n  --warn:#9A6410;\n  --alert-wash:#F7E7E3;\n  --shadow:0 1px 2px rgba(16,22,37,.05), 0 8px 24px -16px rgba(16,22,37,.28);\n  --maxw:50rem;\n}\n@media (prefers-color-scheme: dark){\n  :root:not([data-theme=\"light\"]){\n    --paper:#0D111C;\n    --surface:#131926;\n    --surface-2:#1A2233;\n    --ink:#E6EBF5;\n    --ink-soft:#9AA5BC;\n    --ink-faint:#6F7A91;\n    --rule:#232C40;\n    --rule-strong:#33405C;\n    --accent:#8FB2FF;\n    --accent-ink:#8FB2FF;\n    --accent-wash:#16203A;\n    --cyber:#A99BFF;\n    --cyber-wash:#1E1B3A;\n    --r1:#2A3E66;\n    --r2:#40639F;\n    --r3:#6D93D8;\n    --r4:#A8C3FF;\n    --alert:#E88A70;\n    --warn:#DCA84E;\n    --alert-wash:#2C1E1A;\n    --shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px -16px rgba(0,0,0,.7);\n  }\n}\n:root[data-theme=\"dark\"]{\n  --paper:#0D111C;\n  --surface:#131926;\n  --surface-2:#1A2233;\n  --ink:#E6EBF5;\n  --ink-soft:#9AA5BC;\n  --ink-faint:#6F7A91;\n  --rule:#232C40;\n  --rule-strong:#33405C;\n  --accent:#8FB2FF;\n  --accent-ink:#8FB2FF;\n  --accent-wash:#16203A;\n  --cyber:#A99BFF;\n  --cyber-wash:#1E1B3A;\n  --r1:#2A3E66;\n  --r2:#40639F;\n  --r3:#6D93D8;\n  --r4:#A8C3FF;\n  --alert:#E88A70;\n  --warn:#DCA84E;\n  --alert-wash:#2C1E1A;\n  --shadow:0 1px 2px rgba(0,0,0,.4), 0 8px 24px -16px rgba(0,0,0,.7);\n}\n\n*{box-sizing:border-box}\nbody{\n  margin:0;\n  background:var(--paper);\n  color:var(--ink);\n  font-family:\"IBM Plex Sans\",\"Helvetica Neue\",Arial,sans-serif;\n  font-size:16px;\n  line-height:1.6;\n  -webkit-font-smoothing:antialiased;\n  padding-bottom:5.5rem;\n}\n.wrap{max-width:var(--maxw);margin:0 auto;padding:0 1.5rem}\n\nh1,h2,h3,.serif{font-family:Spectral,Georgia,\"Times New Roman\",serif;text-wrap:balance}\n.mono{font-family:\"IBM Plex Mono\",ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}\n\n.eyebrow{\n  font-family:\"IBM Plex Mono\",ui-monospace,monospace;\n  font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;\n  color:var(--ink-faint);\n}\n\n\/* ---------- co-signature de marque ---------- *\/\n.brands{\n  display:inline-flex;align-items:center;gap:1.6rem;\n  background:#FFFFFF;border:1px solid #D3DAE8;\n  padding:1rem 1.4rem;max-width:100%;\n}\n.brands .brand-opera{display:block;width:137px;height:58px;\n  background:var(--logo-opera) center\/contain no-repeat}\n.brands .brand-cyber{display:block;width:74px;height:36px;\n  background:var(--logo-cybermatch) center\/contain no-repeat}\n.brand-sep{width:1px;height:40px;background:#D3DAE8;flex:0 0 1px}\n.brand-line{\n  font-family:\"IBM Plex Mono\",ui-monospace,monospace;\n  font-size:.68rem;letter-spacing:.11em;text-transform:uppercase;\n  color:var(--ink-faint);margin:.9rem 0 0;\n}\n.masthead .brands{margin-bottom:1.9rem}\nfooter .brands{margin:0 0 .9rem}\n@media (max-width:520px){\n  .brands{gap:.9rem;padding:.7rem .85rem}\n  .brands .brand-opera{width:99px;height:42px}\n  .brands .brand-cyber{width:54px;height:26px}\n}\n\n\/* ---------- masthead ---------- *\/\nheader.masthead{\n  border-bottom:1px solid var(--rule);\n  background:var(--surface);\n}\n.masthead-inner{padding:3.5rem 1.5rem 2.75rem;max-width:var(--maxw);margin:0 auto}\n.masthead h1{\n  font-size:clamp(2.1rem,5.5vw,3.15rem);\n  font-weight:500;line-height:1.1;margin:.9rem 0 0;letter-spacing:-.015em;\n}\n.masthead h1 em{font-style:italic;font-weight:300;color:var(--accent-ink)}\n.standfirst{\n  font-family:Spectral,Georgia,serif;\n  font-size:1.12rem;line-height:1.62;color:var(--ink-soft);\n  max-width:38rem;margin:1.15rem 0 0;\n}\n.standfirst strong{color:var(--ink);font-weight:500}\n\n\/* ---------- threat strip ---------- *\/\n.threats{\n  margin:2.25rem 0 0;border-top:1px solid var(--rule);padding-top:1.5rem;\n}\n.threat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule)}\n.threat{background:var(--surface);padding:1rem 1.1rem}\n.threat .num{\n  font-family:\"IBM Plex Mono\",monospace;font-variant-numeric:tabular-nums;\n  font-size:1.65rem;font-weight:500;color:var(--accent-ink);line-height:1.1;display:block;\n}\n.threat .lbl{font-size:.85rem;color:var(--ink);margin-top:.3rem;display:block;font-weight:500}\n.threat .sub{font-size:.75rem;color:var(--ink-faint);margin-top:.15rem;display:block}\n.threat-note{font-size:.83rem;color:var(--ink-soft);margin:.8rem 0 0;line-height:1.55}\n.threat-note b{color:var(--ink);font-weight:600}\n\n\/* ---------- how it works ---------- *\/\n.howto{\n  display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;margin:2rem 0 0;\n  padding-top:1.25rem;border-top:1px solid var(--rule);\n}\n.howto span{font-family:\"IBM Plex Mono\",monospace;font-size:.74rem;letter-spacing:.06em;color:var(--ink-faint)}\n.howto span b{color:var(--ink-soft);font-weight:500}\n\n\/* ---------- thesis ---------- *\/\n.thesis{\n  margin:2.5rem auto 0;max-width:var(--maxw);padding:0 1.5rem;\n}\n.thesis-box{\n  border-left:3px solid var(--accent);\n  background:var(--accent-wash);\n  padding:1.35rem 1.5rem;\n}\n.thesis-box p{margin:0;font-family:Spectral,Georgia,serif;font-size:1.02rem;line-height:1.62;color:var(--ink)}\n.thesis-box p + p{margin-top:.75rem}\n\n\/* ---------- volets ---------- *\/\n.volet{margin-top:3.25rem}\n.volet-head{\n  display:flex;align-items:baseline;gap:.85rem;\n  padding-bottom:.7rem;border-bottom:2px solid var(--ink);\n}\n.volet-head .idx{\n  font-family:\"IBM Plex Mono\",monospace;font-size:.78rem;font-weight:500;\n  color:var(--ink-faint);letter-spacing:.08em;\n}\n.volet-head h2{margin:0;font-size:1.32rem;font-weight:500;letter-spacing:-.01em;flex:1}\n.volet-head .pts{font-family:\"IBM Plex Mono\",monospace;font-size:.74rem;color:var(--ink-faint)}\n.volet-intro{font-size:.92rem;color:var(--ink-soft);margin:.85rem 0 0;line-height:1.6;max-width:40rem}\n\n\/* ---------- questions ---------- *\/\n.q{\n  background:var(--surface);border:1px solid var(--rule);\n  margin-top:1.25rem;box-shadow:var(--shadow);\n}\n.q.answered{border-color:var(--rule-strong)}\n.q-head{padding:1.15rem 1.35rem .95rem;border-bottom:1px solid var(--rule)}\n.q-meta{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin-bottom:.5rem}\n.q-no{\n  font-family:\"IBM Plex Mono\",monospace;font-size:.72rem;font-weight:500;\n  color:var(--surface);background:var(--ink);padding:.12rem .42rem;letter-spacing:.05em;\n}\n.chip{\n  font-family:\"IBM Plex Mono\",monospace;font-size:.66rem;letter-spacing:.09em;\n  text-transform:uppercase;padding:.16rem .5rem;border:1px solid var(--rule-strong);\n  color:var(--ink-faint);white-space:nowrap;\n}\n.chip.immediat{border-color:var(--cyber);color:var(--cyber);background:var(--cyber-wash);font-weight:500}\n.q-text{font-family:Spectral,Georgia,serif;font-size:1.09rem;line-height:1.45;margin:0;font-weight:400}\n.q-hint{font-size:.82rem;color:var(--ink-faint);margin:.5rem 0 0;line-height:1.5}\n\n.opts{display:flex;flex-direction:column}\n.opt{display:block;position:relative;cursor:pointer;border-bottom:1px solid var(--rule)}\n.opt:last-child{border-bottom:none}\n.opt input{position:absolute;opacity:0;width:1px;height:1px}\n.opt .row{\n  display:flex;gap:.85rem;align-items:flex-start;\n  padding:.72rem 1.35rem;transition:background .12s ease;\n}\n.opt .mark{\n  flex:0 0 auto;width:1.05rem;height:1.05rem;border:1.5px solid var(--rule-strong);\n  border-radius:50%;margin-top:.28rem;position:relative;transition:border-color .12s ease;\n}\n.opt .txt{font-size:.925rem;line-height:1.5;color:var(--ink-soft)}\n.opt:hover .row{background:var(--surface-2)}\n.opt input:focus-visible + .row{outline:2px solid var(--accent);outline-offset:-2px}\n.opt input:checked + .row{background:var(--accent-wash)}\n.opt input:checked + .row .mark{border-color:var(--accent);border-width:2px}\n.opt input:checked + .row .mark::after{\n  content:\"\";position:absolute;inset:2px;border-radius:50%;background:var(--accent);\n}\n.opt input:checked + .row .txt{color:var(--ink);font-weight:500}\n\n\/* ---------- sticky bar ---------- *\/\n.bar{\n  position:fixed;left:0;right:0;bottom:0;z-index:50;\n  background:var(--surface);border-top:1px solid var(--rule-strong);\n  box-shadow:0 -6px 24px -18px rgba(0,0,0,.5);\n}\n.bar-inner{\n  max-width:var(--maxw);margin:0 auto;padding:.75rem 1.5rem;\n  display:flex;align-items:center;gap:1rem;\n}\n.bar-count{font-family:\"IBM Plex Mono\",monospace;font-size:.8rem;color:var(--ink-soft);white-space:nowrap}\n.bar-count b{color:var(--ink);font-weight:500}\n.bar-track{flex:1;height:4px;background:var(--rule);position:relative;overflow:hidden}\n.bar-fill{position:absolute;inset:0 auto 0 0;width:0;background:var(--accent);transition:width .25s ease}\nbutton{\n  font-family:\"IBM Plex Sans\",sans-serif;font-size:.86rem;font-weight:500;\n  padding:.6rem 1.15rem;border:1px solid var(--ink);background:var(--ink);color:var(--paper);\n  cursor:pointer;transition:opacity .15s ease;white-space:nowrap;\n}\nbutton:hover{opacity:.86}\nbutton:focus-visible{outline:2px solid var(--accent);outline-offset:2px}\nbutton[disabled]{opacity:.35;cursor:not-allowed}\nbutton.ghost{background:transparent;color:var(--ink);border-color:var(--rule-strong)}\nbutton.ghost:hover{background:var(--surface-2);opacity:1}\n\n\/* ---------- bloc de restitution \u00e9crite ---------- *\/\n.resti{\n  margin-top:2.5rem;\n  border:1px solid var(--rule-strong);\n  border-top:3px solid var(--cyber);\n  background:var(--surface);\n  padding:1.6rem 1.5rem 1.4rem;\n}\n.resti h3{\n  font-family:Spectral,Georgia,serif;\n  font-size:1.2rem;font-weight:500;margin:0 0 .5rem;line-height:1.3;\n}\n.resti p{font-size:.92rem;line-height:1.6;color:var(--ink-soft);margin:0 0 1rem;max-width:40rem}\n.resti p:last-of-type{margin-bottom:0}\n.resti .legal{\n  font-size:.78rem;line-height:1.5;color:var(--ink-faint);\n  margin-top:1.1rem;padding-top:.9rem;border-top:1px solid var(--rule);\n}\n.resti .legal a{color:var(--ink-soft)}\n\/* champs Contact Form 7 rendus par WordPress *\/\n.oi-form-slot{margin-top:1.1rem}\n.oi-form-slot .wpcf7-form-control{\n  font-family:\"IBM Plex Sans\",sans-serif;font-size:.92rem;\n  padding:.6rem .7rem;border:1px solid var(--rule-strong);\n  background:var(--surface);color:var(--ink);border-radius:0;width:100%;max-width:24rem;\n}\n.oi-form-slot .wpcf7-submit{\n  background:var(--cyber);color:#fff;border-color:var(--cyber);\n  font-weight:500;cursor:pointer;width:auto;padding:.62rem 1.2rem;\n}\n.oi-form-slot .wpcf7-submit:hover{opacity:.88}\n.oi-form-slot label{display:block;font-size:.85rem;margin-bottom:.75rem;color:var(--ink)}\n.oi-form-slot .oi-hidden{display:none !important}\n\n\/* ---------- results ---------- *\/\n#results{display:none;margin-top:4rem;scroll-margin-top:1rem}\n#results.on{display:block}\n.res-head{border-top:3px solid var(--ink);padding-top:1.75rem}\n.score-block{display:flex;gap:1.75rem;align-items:flex-start;flex-wrap:wrap;margin-top:1.25rem}\n.score-num{\n  font-family:\"IBM Plex Mono\",monospace;font-variant-numeric:tabular-nums;\n  font-size:clamp(3.2rem,10vw,4.6rem);font-weight:400;line-height:.9;color:var(--ink);\n  letter-spacing:-.03em;\n}\n.score-num span{font-size:.32em;color:var(--ink-faint);letter-spacing:0}\n.score-side{flex:1;min-width:16rem}\n.score-level{font-family:Spectral,Georgia,serif;font-size:1.5rem;font-weight:500;margin:0;line-height:1.2}\n.score-level .lvl{font-family:\"IBM Plex Mono\",monospace;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);display:block;margin-bottom:.35rem;font-weight:400}\n.score-read{font-family:Spectral,Georgia,serif;font-size:1rem;line-height:1.6;color:var(--ink-soft);margin:.7rem 0 0}\n\n.res-sec{margin-top:3rem}\n.res-sec > h3{\n  font-size:1.12rem;font-weight:500;margin:0 0 .3rem;\n  padding-bottom:.55rem;border-bottom:1px solid var(--rule-strong);\n}\n.res-sec .lede{font-size:.9rem;color:var(--ink-soft);margin:.75rem 0 1.35rem;line-height:1.6;max-width:38rem}\n\n\/* bars *\/\n.bars{display:flex;flex-direction:column;gap:.95rem}\n.brow{display:grid;grid-template-columns:1fr;gap:.35rem}\n.brow-top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}\n.brow-name{font-size:.9rem;font-weight:500;color:var(--ink)}\n.brow-val{font-family:\"IBM Plex Mono\",monospace;font-size:.78rem;color:var(--ink-soft);white-space:nowrap}\n.brow-val .lvl-tag{color:var(--ink-faint)}\n.brow-val .lvl-tag.n1{color:var(--alert);font-weight:500}\n.brow-val .lvl-tag.n2{color:var(--warn);font-weight:500}\n.btrack{height:14px;background:var(--surface-2);border:1px solid var(--rule);position:relative}\n.bfill{position:absolute;inset:0 auto 0 0;width:0;border-radius:0 3px 3px 0;transition:width .6s cubic-bezier(.22,1,.36,1)}\n.bfill.n1{background:var(--r1)}\n.bfill.n2{background:var(--r2)}\n.bfill.n3{background:var(--r3)}\n.bfill.n4{background:var(--r4)}\n\n\/* nature of gaps *\/\n.nature{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border:1px solid var(--rule);margin-bottom:1.5rem}\n.nat{background:var(--surface);padding:1rem 1.1rem}\n.nat .n{font-family:\"IBM Plex Mono\",monospace;font-size:1.9rem;line-height:1;color:var(--ink);display:block;font-variant-numeric:tabular-nums}\n.nat .k{font-family:\"IBM Plex Mono\",monospace;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);display:block;margin-top:.45rem}\n.nat .d{font-size:.8rem;color:var(--ink-soft);display:block;margin-top:.3rem;line-height:1.45}\n.nat.hi .n{color:var(--accent-ink)}\n\n\/* action lists *\/\n.plan{display:flex;flex-direction:column;gap:1.75rem}\n.plan-group h4{\n  font-family:\"IBM Plex Mono\",monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;\n  margin:0 0 .1rem;color:var(--ink);font-weight:500;display:flex;align-items:baseline;gap:.6rem;\n}\n.plan-group h4 .when{color:var(--ink-faint);font-weight:400;letter-spacing:.06em}\n.plan-group .gnote{font-size:.82rem;color:var(--ink-faint);margin:.35rem 0 .7rem;line-height:1.5}\n.plan-group ol{margin:0;padding:0;list-style:none;border-top:1px solid var(--rule)}\n.plan-group li{\n  border-bottom:1px solid var(--rule);padding:.8rem 0 .8rem 0;\n  display:grid;grid-template-columns:2.4rem 1fr;gap:.3rem 0;align-items:baseline;\n}\n.plan-group li .qref{font-family:\"IBM Plex Mono\",monospace;font-size:.72rem;color:var(--ink-faint)}\n.plan-group li .act{font-size:.92rem;line-height:1.55;color:var(--ink)}\n.plan-group li .src{grid-column:2;font-size:.78rem;color:var(--ink-faint);margin-top:.25rem;line-height:1.45}\n.plan-empty{font-size:.88rem;color:var(--ink-faint);font-style:italic;padding:.7rem 0;border-top:1px solid var(--rule)}\n\n\/* signals *\/\n.signals{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7rem}\n.signals li{\n  padding:.85rem 1.1rem;background:var(--surface);border:1px solid var(--rule);\n  border-left:3px solid var(--alert);font-size:.9rem;line-height:1.55;\n}\n.signals li b{font-weight:600}\n\n.actions{display:flex;gap:.7rem;flex-wrap:wrap;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--rule)}\n.toast{font-size:.82rem;color:var(--accent-ink);align-self:center;opacity:0;transition:opacity .2s ease}\n.toast.on{opacity:1}\n\nfooter{\n  margin-top:4rem;border-top:1px solid var(--rule);background:var(--surface);\n}\nfooter .wrap{padding-top:2rem;padding-bottom:2.5rem}\nfooter p{font-size:.8rem;color:var(--ink-faint);line-height:1.6;margin:0 0 .6rem;max-width:42rem}\nfooter a{color:var(--ink-soft)}\n\n@media (max-width:640px){\n  .threat-grid,.nature{grid-template-columns:1fr}\n  .masthead-inner{padding-top:2.5rem}\n  .bar-count{font-size:.72rem}\n  .bar-inner{padding:.6rem 1rem;gap:.7rem}\n}\n@media (prefers-reduced-motion:reduce){\n  *{transition:none !important;animation:none !important}\n}\n@media print{\n  body{padding-bottom:0;background:#fff}\n  .bar{display:none}\n  .q{break-inside:avoid;box-shadow:none}\n  .actions{display:none}\n}\n<\/style>\n\n<header class=\"masthead\">\n  <div class=\"masthead-inner\">\n    <div class=\"brands\"><span class=\"brand-opera\" role=\"img\" aria-label=\"Opera International \u2014 Part of Talentor.com\"><\/span><span class=\"brand-sep\" aria-hidden=\"true\"><\/span><span class=\"brand-cyber\" role=\"img\" aria-label=\"Cybermatch\"><\/span><\/div>\n    <p class=\"eyebrow\">Diagnostic de maturit\u00e9 \u00b7 PME &amp; ETI \u00b7 20 questions<\/p>\n    <h1>La cybers\u00e9curit\u00e9 n&rsquo;est pas un budget informatique.<br><em>C&rsquo;est une question d&rsquo;organisation.<\/em><\/h1>\n    <p class=\"standfirst\">Ce diagnostic ne mesure pas votre \u00e9quipement. Il mesure <strong>qui d\u00e9cide, qui sait, qui v\u00e9rifie<\/strong> \u2014 et ce qui se passerait, chez vous, un lundi matin o\u00f9 plus rien ne d\u00e9marre. Vingt questions, six volets, une restitution qui s\u00e9pare ce que vous pouvez r\u00e9gler d&rsquo;une d\u00e9cision de ce qui demande un vrai investissement.<\/p>\n\n    <div class=\"threats\">\n      <p class=\"eyebrow\" style=\"margin:0 0 .8rem\">Les trois premi\u00e8res menaces visant les entreprises fran\u00e7aises en 2025<\/p>\n      <div class=\"threat-grid\">\n        <div class=\"threat\">\n          <span class=\"num\">21&#8239;%<\/span>\n          <span class=\"lbl\">Piratage de compte<\/span>\n          <span class=\"sub\">+52&#8239;% sur un an<\/span>\n        <\/div>\n        <div class=\"threat\">\n          <span class=\"num\">16&#8239;%<\/span>\n          <span class=\"lbl\">Hame\u00e7onnage<\/span>\n          <span class=\"sub\">+29&#8239;% sur un an<\/span>\n        <\/div>\n        <div class=\"threat\">\n          <span class=\"num\">13,5&#8239;%<\/span>\n          <span class=\"lbl\">Fraude au virement<\/span>\n          <span class=\"sub\">+93&#8239;% sur un an<\/span>\n        <\/div>\n      <\/div>\n      <p class=\"threat-note\">Source&nbsp;: Cybermalveillance.gouv.fr, demandes d&rsquo;assistance des professionnels, 2025. <b>Aucune de ces trois attaques ne se r\u00e8gle par l&rsquo;achat d&rsquo;un outil.<\/b> Toutes les trois passent par une personne, un processus de validation, ou une habitude de travail.<\/p>\n    <\/div>\n\n    <div class=\"howto\">\n      <span><b>20<\/b> questions<\/span>\n      <span><b>6<\/b> volets<\/span>\n      <span><b>12<\/b> minutes<\/span>\n      <span><b>60<\/b> points<\/span>\n      <span>Anonyme&nbsp;: rien n&rsquo;est transmis tant que vous ne le demandez pas<\/span>\n    <\/div>\n  <\/div>\n<\/header>\n\n<div class=\"thesis\">\n  <div class=\"thesis-box\">\n    <p>R\u00e9pondez en dirigeant, pas en informaticien. Si vous h\u00e9sitez entre deux r\u00e9ponses, prenez la plus basse&nbsp;: un dispositif dont vous n&rsquo;\u00eates pas certain qu&rsquo;il fonctionne est un dispositif qui ne fonctionne pas.<\/p>\n    <p>Sur les vingt leviers examin\u00e9s ici, <strong>deux seulement sont techniques<\/strong> \u2014 et tous deux consistent \u00e0 activer ce que vous payez d\u00e9j\u00e0.<\/p>\n  <\/div>\n<\/div>\n\n<main class=\"wrap\" id=\"form\"><\/main>\n\n<section class=\"wrap\" id=\"results\" aria-live=\"polite\"><\/section>\n\n<div class=\"bar\">\n  <div class=\"bar-inner\">\n    <span class=\"bar-count\"><b id=\"cnt\">0<\/b>&nbsp;\/&nbsp;20 r\u00e9pondues<\/span>\n    <div class=\"bar-track\" role=\"progressbar\" aria-valuemin=\"0\" aria-valuemax=\"20\" aria-valuenow=\"0\" aria-label=\"Progression\"><div class=\"bar-fill\" id=\"fill\"><\/div><\/div>\n    <button id=\"go\" disabled>Afficher le r\u00e9sultat<\/button>\n  <\/div>\n<\/div>\n\n<footer>\n  <div class=\"wrap\">\n    <div class=\"brands\"><span class=\"brand-opera\" role=\"img\" aria-label=\"Opera International \u2014 Part of Talentor.com\"><\/span><span class=\"brand-sep\" aria-hidden=\"true\"><\/span><span class=\"brand-cyber\" role=\"img\" aria-label=\"Cybermatch\"><\/span><\/div>\n    <p class=\"brand-line\">Un diagnostic Opera International &times; Cybermatch<\/p>\n    <p><strong>Opera International<\/strong> est un cabinet de recherche de dirigeants membre du r\u00e9seau Talentor. <strong>Cybermatch<\/strong> est son partenaire sur les m\u00e9tiers de la cybers\u00e9curit\u00e9. Ce diagnostic est mis \u00e0 disposition des dirigeants de PME et d&rsquo;ETI comme support de r\u00e9flexion.<\/p>\n    <p><strong>Cadres de r\u00e9f\u00e9rence.<\/strong> Les questions reprennent la logique des 13 mesures essentielles du guide ANSSI pour les TPE\/PME et de cybermalveillance.gouv.fr, ainsi que les axes de gouvernance de la directive NIS2 \u2014 dont la transposition fran\u00e7aise, le projet de loi relatif \u00e0 la r\u00e9silience des infrastructures critiques, \u00e9tait encore en cours d&rsquo;examen parlementaire \u00e0 l&rsquo;\u00e9t\u00e9 2026 (adoption au S\u00e9nat en mars 2025, passage en s\u00e9ance \u00e0 l&rsquo;Assembl\u00e9e annonc\u00e9 pour la rentr\u00e9e 2026). Les seuils d&rsquo;assujettissement et les obligations d\u00e9finitives d\u00e9pendront de la loi promulgu\u00e9e et de ses d\u00e9crets d&rsquo;application.<\/p>\n    <p>Ce diagnostic est un outil de dialogue, pas un audit de conformit\u00e9. Il n&rsquo;engage ni une certification, ni une appr\u00e9ciation juridique de votre situation au regard de NIS2.<\/p>\n  <\/div>\n<\/footer>\n\n<script>\n\/* ============================================================\n   Tout le code est enferm\u00e9 dans une fonction anonyme : aucune\n   variable ne rejoint l'espace global. Cela \u00e9vite tout conflit\n   de nom avec le th\u00e8me ou les extensions de WordPress \u2014 une\n   simple red\u00e9claration de \u00ab form \u00bb ou de \u00ab track \u00bb ailleurs\n   dans la page suffirait sinon \u00e0 emp\u00eacher ce script de tourner.\n   ============================================================ *\/\n(function () {\n\"use strict\";\n\nfunction oiDemarrer() {\n\nconst VOLETS = [\n  {id:\"A\", nom:\"Gouvernance\", sous:\"Ce que le dirigeant d\u00e9cide lui-m\u00eame\",\n   intro:\"Le premier \u00e9cart n'est presque jamais technique : c'est l'absence de propri\u00e9taire. Tant que le sujet n'a ni place \u00e0 l'ordre du jour, ni chiffre, ni ligne budg\u00e9taire, il n'appartient \u00e0 personne.\"},\n  {id:\"B\", nom:\"Comp\u00e9tences et RH\", sous:\"Qui fait quoi, avec quel m\u00e9tier\",\n   intro:\"La question n'est pas de savoir si vous avez un informaticien, mais si quelqu'un a explicitement pour mission la s\u00e9curit\u00e9 \u2014 et si les RH sont dans la boucle des arriv\u00e9es, des d\u00e9parts et des responsabilit\u00e9s.\"},\n  {id:\"C\", nom:\"Processus et organisation\", sous:\"L\u00e0 o\u00f9 l'argent part r\u00e9ellement\",\n   intro:\"La fraude au virement et le piratage de compte ne franchissent pas un pare-feu : ils franchissent une \u00e9tape de validation manquante. Ce volet mesure la solidit\u00e9 de vos processus, pas celle de vos machines.\"},\n  {id:\"D\", nom:\"Culture et facteur humain\", sous:\"Ce que vos \u00e9quipes osent dire\",\n   intro:\"Dans la majorit\u00e9 des incidents, quelqu'un a vu quelque chose avant l'attaque. La vraie question est de savoir s'il pouvait le dire sans risque, et si la direction elle-m\u00eame a \u00e9t\u00e9 form\u00e9e.\"},\n  {id:\"E\", nom:\"\u00c9cosyst\u00e8me et conformit\u00e9\", sous:\"Vos prestataires, vos clients, la loi\",\n   intro:\"Vous \u00eates autant expos\u00e9 par vos prestataires que par vous-m\u00eame \u2014 et vos donneurs d'ordre vous imposent d\u00e9j\u00e0 par contrat ce que la loi imposera bient\u00f4t.\"},\n  {id:\"F\", nom:\"Socle technique et reprise\", sous:\"Les deux seules questions mat\u00e9rielles\",\n   intro:\"Deux questions seulement, et aucune ne demande d'acheter quoi que ce soit : l'une consiste \u00e0 v\u00e9rifier, l'autre \u00e0 activer.\"}\n];\n\nconst EFFORTS = {\n  immediat:{label:\"30 jours\", full:\"Activable en 30 jours\", ordre:0},\n  trimestre:{label:\"1 trimestre\", full:\"Chantier d'un trimestre\", ordre:1},\n  structurel:{label:\"6 \u00e0 18 mois\", full:\"Chantier structurel\", ordre:2}\n};\n\nconst Q = [\n\/* --- A. Gouvernance --- *\/\n{v:\"A\", e:\"immediat\",\n t:\"Dans votre comit\u00e9 de direction, qui porte le sujet cybers\u00e9curit\u00e9 ?\",\n h:\"On cherche un nom, pas une fonction.\",\n o:[\"Personne. Le sujet n'a jamais \u00e9t\u00e9 mis \u00e0 l'ordre du jour.\",\n    \"L'informatique, interne ou prestataire. Le CODIR en entend parler quand il y a un incident.\",\n    \"Un membre du CODIR en est explicitement responsable, mais le sujet revient de fa\u00e7on ponctuelle.\",\n    \"Un membre du CODIR le porte, \u00e0 \u00e9ch\u00e9ance fixe \u00e0 l'ordre du jour, avec des indicateurs suivis dans le temps.\"],\n a:\"Inscrire un point cyber de vingt minutes \u00e0 l'ordre du jour du CODIR, \u00e0 \u00e9ch\u00e9ance fixe, et d\u00e9signer nomm\u00e9ment celui qui le pr\u00e9pare.\",\n s:\"Une d\u00e9cision d'agenda. Aucun co\u00fbt.\"},\n\n{v:\"A\", e:\"trimestre\",\n t:\"Sauriez-vous chiffrer aujourd'hui ce que vous co\u00fbterait un arr\u00eat complet de vos syst\u00e8mes pendant cinq jours ouvr\u00e9s ?\",\n h:\"Marge perdue, p\u00e9nalit\u00e9s de retard, co\u00fbts de reprise, clients perdus.\",\n o:[\"Non, la question ne s'est jamais pos\u00e9e.\",\n    \"\u00c0 la louche, sans qu'aucun chiffre n'ait jamais \u00e9t\u00e9 pos\u00e9 par \u00e9crit.\",\n    \"Une estimation existe, mais elle n'est ni partag\u00e9e ni actualis\u00e9e.\",\n    \"Le chiffrage existe, il est partag\u00e9 au comit\u00e9 de direction et il oriente les arbitrages budg\u00e9taires.\"],\n a:\"Faire chiffrer par le contr\u00f4le de gestion le co\u00fbt d'un arr\u00eat de cinq jours : marge perdue, p\u00e9nalit\u00e9s, co\u00fbts de reprise. Un chiffre, une page.\",\n s:\"Sans ce chiffre, toute d\u00e9pense de s\u00e9curit\u00e9 para\u00eet trop ch\u00e8re et toute n\u00e9gligence para\u00eet gratuite.\"},\n\n{v:\"A\", e:\"trimestre\",\n t:\"Vos activit\u00e9s et vos donn\u00e9es ont-elles \u00e9t\u00e9 hi\u00e9rarchis\u00e9es selon ce que vous ne pouvez pas vous permettre de perdre ?\",\n h:\"Tout prot\u00e9ger revient \u00e0 ne rien prot\u00e9ger.\",\n o:[\"Non, aucune hi\u00e9rarchisation.\",\n    \"Chacun a une id\u00e9e intuitive de ce qui est critique, rien n'est \u00e9crit.\",\n    \"Une cartographie a \u00e9t\u00e9 faite une fois, elle n'est pas maintenue.\",\n    \"Activit\u00e9s et donn\u00e9es essentielles sont identifi\u00e9es, prioris\u00e9es, et revues au moins une fois par an.\"],\n a:\"Lister les cinq activit\u00e9s sans lesquelles l'entreprise s'arr\u00eate, et les donn\u00e9es qui les portent. Une demi-journ\u00e9e de CODIR suffit pour la premi\u00e8re version.\",\n s:\"C'est la premi\u00e8re des 13 mesures essentielles de l'ANSSI : conna\u00eetre son syst\u00e8me d'information.\"},\n\n{v:\"A\", e:\"structurel\",\n t:\"Existe-t-il un budget cyber identifi\u00e9, distinct du budget informatique courant ?\",\n o:[\"Non, la d\u00e9pense se d\u00e9cide au coup par coup, apr\u00e8s incident.\",\n    \"Elle est noy\u00e9e dans le budget informatique, sans ligne d\u00e9di\u00e9e.\",\n    \"Une ligne existe, cal\u00e9e sur les renouvellements d'outils et de licences.\",\n    \"Une enveloppe pluriannuelle couvre outils, comp\u00e9tences, formation et exercices.\"],\n a:\"Isoler une ligne budg\u00e9taire cyber pluriannuelle couvrant outils, comp\u00e9tences et formation \u2014 et non les seuls renouvellements de licences.\",\n s:\"Un budget qui ne finance que des licences trahit une lecture technique du sujet.\"},\n\n\/* --- B. RH et comp\u00e9tences --- *\/\n{v:\"B\", e:\"immediat\",\n t:\"\u00c0 qui t\u00e9l\u00e9phonez-vous, personnellement, le samedi matin o\u00f9 vous d\u00e9couvrez que plus rien ne d\u00e9marre ?\",\n h:\"R\u00e9pondez avec le nom et le num\u00e9ro que vous auriez r\u00e9ellement sous la main.\",\n o:[\"Je ne saurais pas dire.\",\n    \"\u00c0 mon prestataire informatique, sans savoir s'il est engag\u00e9 sur un d\u00e9lai d'intervention.\",\n    \"\u00c0 un interlocuteur identifi\u00e9 et joignable, mais sans engagement contractuel de d\u00e9lai.\",\n    \"\u00c0 un interlocuteur identifi\u00e9, avec un d\u00e9lai d'intervention \u00e9crit et un num\u00e9ro d\u00e9j\u00e0 test\u00e9.\"],\n a:\"\u00c9crire sur une carte, dans le portefeuille : qui appelle qui, sur quel num\u00e9ro, sous quel d\u00e9lai. Puis appeler ce num\u00e9ro une fois, pour v\u00e9rifier qu'il r\u00e9pond.\",\n s:\"Le jour de l'incident, l'annuaire est souvent sur le serveur chiffr\u00e9.\"},\n\n{v:\"B\", e:\"structurel\",\n t:\"Quelle comp\u00e9tence en s\u00e9curit\u00e9 est r\u00e9ellement disponible dans l'entreprise ?\",\n o:[\"Aucune. L'informatique est g\u00e9r\u00e9e par quelqu'un dont ce n'est pas le m\u00e9tier.\",\n    \"Un informaticien polyvalent, sans formation ni temps d\u00e9di\u00e9 \u00e0 la s\u00e9curit\u00e9.\",\n    \"Une personne identifi\u00e9e y consacre une fraction formalis\u00e9e de son temps, ou un prestataire sp\u00e9cialis\u00e9 intervient r\u00e9guli\u00e8rement.\",\n    \"Un responsable s\u00e9curit\u00e9 \u2014 interne ou externalis\u00e9, \u00e0 temps plein ou partag\u00e9 \u2014 avec une lettre de mission et un rattachement clair.\"],\n a:\"Trancher le mod\u00e8le de comp\u00e9tence : recrutement, temps partag\u00e9 ou responsable externalis\u00e9 \u2014 avec une lettre de mission et un rattachement au comit\u00e9 de direction, pas \u00e0 la seule informatique.\",\n s:\"C'est le seul levier de ce diagnostic qui suppose vraiment de recruter ou de contractualiser.\"},\n\n{v:\"B\", e:\"immediat\",\n t:\"Que se passe-t-il, concr\u00e8tement, le jour du d\u00e9part d'un salari\u00e9 ?\",\n h:\"Y compris les applications en ligne souscrites par les m\u00e9tiers eux-m\u00eames.\",\n o:[\"Les acc\u00e8s restent souvent ouverts, et on ne sait pas toujours lesquels existent.\",\n    \"L'informatique coupe la messagerie, le reste se fait au fil de l'eau.\",\n    \"Une proc\u00e9dure de sortie existe et couvre l'essentiel des acc\u00e8s, sans contr\u00f4le a posteriori.\",\n    \"Une proc\u00e9dure RH-informatique commune couvre tous les acc\u00e8s, applications en ligne comprises, avec v\u00e9rification.\"],\n a:\"Ajouter au processus de sortie RH une check-list de r\u00e9vocation des acc\u00e8s, sign\u00e9e conjointement par les ressources humaines et l'informatique.\",\n s:\"Une page de check-list. C'est le levier le plus RH et le moins co\u00fbteux du diagnostic.\"},\n\n{v:\"B\", e:\"trimestre\",\n t:\"La s\u00e9curit\u00e9 figure-t-elle dans vos documents RH structurants ?\",\n h:\"Fiches de poste, contrats, charte informatique, parcours d'int\u00e9gration.\",\n o:[\"Non, nulle part.\",\n    \"Une charte informatique existe : sign\u00e9e \u00e0 l'embauche, jamais expliqu\u00e9e.\",\n    \"La charte est expliqu\u00e9e \u00e0 l'arriv\u00e9e, et quelques fiches de poste \u00e9voquent la s\u00e9curit\u00e9.\",\n    \"Responsabilit\u00e9s inscrites dans les fiches de poste expos\u00e9es, charte \u00e0 jour et expliqu\u00e9e, int\u00e9gration incluant un volet s\u00e9curit\u00e9.\"],\n a:\"Faire entrer la s\u00e9curit\u00e9 dans les documents RH : charte expliqu\u00e9e \u00e0 l'arriv\u00e9e, responsabilit\u00e9s inscrites dans les fiches de poste des fonctions expos\u00e9es.\",\n s:\"Tant que ce n'est \u00e9crit nulle part, ce n'est le travail de personne.\"},\n\n\/* --- C. Processus --- *\/\n{v:\"C\", e:\"immediat\",\n t:\"Comment traitez-vous un changement de coordonn\u00e9es bancaires d'un fournisseur ?\",\n h:\"La fraude au virement a progress\u00e9 de 93 % en un an.\",\n o:[\"Sur la base du courriel re\u00e7u, s'il para\u00eet l\u00e9gitime.\",\n    \"Le comptable v\u00e9rifie s'il a un doute, sans r\u00e8gle \u00e9crite.\",\n    \"Une r\u00e8gle de double v\u00e9rification existe, appliqu\u00e9e de fa\u00e7on variable selon les personnes.\",\n    \"Contre-appel syst\u00e9matique sur un num\u00e9ro d\u00e9j\u00e0 connu, double validation au-del\u00e0 d'un seuil, r\u00e8gle \u00e9crite et test\u00e9e.\"],\n a:\"\u00c9crire la r\u00e8gle du contre-appel : tout changement de RIB est valid\u00e9 par t\u00e9l\u00e9phone, sur un num\u00e9ro d\u00e9j\u00e0 connu \u2014 jamais celui indiqu\u00e9 dans le courriel.\",\n s:\"La mesure la plus rentable de tout ce questionnaire. Elle co\u00fbte une note de service.\"},\n\n{v:\"C\", e:\"immediat\",\n t:\"Comment un salari\u00e9 signale-t-il un courriel douteux, ou une erreur qu'il vient de commettre ?\",\n h:\"La deuxi\u00e8me moiti\u00e9 de la question compte davantage que la premi\u00e8re.\",\n o:[\"Il n'existe pas de canal, et en pratique on pr\u00e9f\u00e8re ne rien dire.\",\n    \"Il en parle \u00e0 son manager ou \u00e0 l'informatique, si le courage lui en vient.\",\n    \"Un canal existe et il est connu, mais l'erreur reste mal vue.\",\n    \"Un canal unique connu de tous, et une r\u00e8gle explicite de non-sanction pour tout signalement de bonne foi.\"],\n a:\"Annoncer publiquement la r\u00e8gle de non-sanction pour tout signalement de bonne foi, et donner un canal unique.\",\n s:\"C'est un message du dirigeant, pas un projet informatique. Le d\u00e9lai entre l'erreur et son signalement d\u00e9termine le co\u00fbt de l'incident.\"},\n\n{v:\"C\", e:\"trimestre\",\n t:\"Qui dispose de droits d'administration sur vos syst\u00e8mes, et qui le sait ?\",\n o:[\"Je ne saurais pas le dire.\",\n    \"Le prestataire et quelques personnes en interne, sans liste tenue.\",\n    \"Une liste existe, elle n'est pas revue r\u00e9guli\u00e8rement.\",\n    \"Liste tenue \u00e0 jour, revue p\u00e9riodique, comptes d'administration distincts des comptes de travail courants.\"],\n a:\"Faire produire la liste des comptes \u00e0 privil\u00e8ges, la faire valider par un membre du comit\u00e9 de direction, et la revoir chaque trimestre.\",\n s:\"Un compte d'administration oubli\u00e9 est la porte d'entr\u00e9e la plus utilis\u00e9e apr\u00e8s l'hame\u00e7onnage.\"},\n\n{v:\"C\", e:\"structurel\",\n t:\"Que se passerait-il si votre outil de gestion principal \u00e9tait indisponible une semaine ?\",\n h:\"ERP, GPAO, logiciel de paie, outil de prise de commande.\",\n o:[\"L'activit\u00e9 s'arr\u00eaterait, sans solution de repli.\",\n    \"On improviserait, chacun \u00e0 sa mani\u00e8re.\",\n    \"Un mode d\u00e9grad\u00e9 existe dans les t\u00eates, mais pas sur le papier.\",\n    \"Un mode d\u00e9grad\u00e9 est \u00e9crit, connu des \u00e9quipes, et il a d\u00e9j\u00e0 \u00e9t\u00e9 essay\u00e9 au moins une fois.\"],\n a:\"\u00c9crire le mode d\u00e9grad\u00e9 du processus le plus critique \u2014 commandes, exp\u00e9ditions ou paie \u2014 et le faire essayer une fois par ceux qui devront le tenir.\",\n s:\"C'est un chantier m\u00e9tier, men\u00e9 par les op\u00e9rations, pas par l'informatique.\"},\n\n\/* --- D. Culture --- *\/\n{v:\"D\", e:\"trimestre\",\n t:\"Quand vos \u00e9quipes ont-elles \u00e9t\u00e9 sensibilis\u00e9es pour la derni\u00e8re fois, et sous quelle forme ?\",\n o:[\"Jamais, ou il y a plus de deux ans.\",\n    \"Un courriel ou une note de rappel, diffus\u00e9 \u00e0 l'occasion d'une actualit\u00e9.\",\n    \"Une session annuelle pour tous, sans mise en situation.\",\n    \"Un programme continu, diff\u00e9renci\u00e9 par m\u00e9tier, avec mises en situation et suivi des populations les plus expos\u00e9es.\"],\n a:\"Passer d'un rappel annuel \u00e0 un programme diff\u00e9renci\u00e9 : la comptabilit\u00e9, la direction, le commerce et la production ne sont pas expos\u00e9s aux m\u00eames attaques.\",\n s:\"Sensibiliser tout le monde de la m\u00eame fa\u00e7on revient \u00e0 ne cibler personne.\"},\n\n{v:\"D\", e:\"trimestre\",\n t:\"Le dirigeant et le comit\u00e9 de direction ont-ils \u00e9t\u00e9 form\u00e9s sp\u00e9cifiquement ?\",\n h:\"Form\u00e9s \u00e0 leurs responsabilit\u00e9s propres, pas aux gestes de l'utilisateur.\",\n o:[\"Non. La formation est vue comme un sujet de collaborateurs.\",\n    \"Le dirigeant s'informe par lui-m\u00eame, sans formation formalis\u00e9e.\",\n    \"Le comit\u00e9 de direction a suivi une sensibilisation g\u00e9n\u00e9rale, la m\u00eame que les \u00e9quipes.\",\n    \"Le comit\u00e9 de direction a \u00e9t\u00e9 form\u00e9 \u00e0 ses responsabilit\u00e9s propres : d\u00e9cider en crise, communiquer, r\u00e9pondre de ses obligations.\"],\n a:\"Former le comit\u00e9 de direction \u00e0 ses responsabilit\u00e9s propres : d\u00e9cider en crise, communiquer, r\u00e9pondre de ses obligations.\",\n s:\"NIS2 pr\u00e9voit une obligation de formation des organes de direction et une responsabilit\u00e9 personnelle des dirigeants pour les entit\u00e9s concern\u00e9es.\"},\n\n{v:\"D\", e:\"immediat\",\n t:\"Un exercice de crise a-t-il d\u00e9j\u00e0 \u00e9t\u00e9 jou\u00e9 dans l'entreprise ?\",\n h:\"Sans le syst\u00e8me d'information, sans la messagerie, avec les vraies personnes.\",\n o:[\"Jamais.\",\n    \"On en a parl\u00e9, sans jamais le faire.\",\n    \"Un exercice sur table a eu lieu, entre initi\u00e9s de l'informatique.\",\n    \"Un exercice est jou\u00e9 avec le comit\u00e9 de direction au moins une fois par an, avec un retour d'exp\u00e9rience \u00e9crit et des actions suivies.\"],\n a:\"Programmer un exercice de crise d'une demi-journ\u00e9e avec le comit\u00e9 de direction, sans l'informatique aux commandes, et en \u00e9crire le retour d'exp\u00e9rience.\",\n s:\"Une demi-journ\u00e9e. C'est le levier qui r\u00e9v\u00e8le le plus d'\u00e9carts pour le moins d'argent.\"},\n\n\/* --- E. \u00c9cosyst\u00e8me --- *\/\n{v:\"E\", e:\"structurel\",\n t:\"Vos contrats avec vos prestataires informatiques pr\u00e9cisent-ils ce qui se passe en cas d'incident ?\",\n o:[\"Je ne sais pas ce que disent ces contrats.\",\n    \"Ils couvrent la maintenance, mais ni la s\u00e9curit\u00e9 ni les d\u00e9lais de r\u00e9tablissement.\",\n    \"Des engagements existent, mais ils n'ont jamais \u00e9t\u00e9 v\u00e9rifi\u00e9s.\",\n    \"D\u00e9lais de r\u00e9tablissement engag\u00e9s, obligation de notification, r\u00e9versibilit\u00e9 et droit d'audit, revus p\u00e9riodiquement.\"],\n a:\"Rouvrir le contrat du prestataire informatique : d\u00e9lai de r\u00e9tablissement engag\u00e9, obligation de notification, r\u00e9versibilit\u00e9, droit d'audit.\",\n s:\"Se r\u00e8gle au rythme des \u00e9ch\u00e9ances contractuelles, d'o\u00f9 le d\u00e9lai.\"},\n\n{v:\"E\", e:\"trimestre\",\n t:\"Vos clients ou donneurs d'ordre vous adressent-ils des questionnaires de s\u00e9curit\u00e9, et comment y r\u00e9pondez-vous ?\",\n o:[\"Nous n'en recevons pas, ou nous ne savons pas quoi en faire.\",\n    \"Nous en recevons et nous r\u00e9pondons dans l'urgence, au mieux de ce que nous savons.\",\n    \"Nous r\u00e9pondons correctement, en mobilisant chaque fois les m\u00eames personnes en urgence.\",\n    \"Un dossier de r\u00e9ponse est tenu \u00e0 jour, et il constitue d\u00e9sormais un argument commercial.\"],\n a:\"Constituer un dossier de r\u00e9ponse aux questionnaires de s\u00e9curit\u00e9 clients, tenu \u00e0 jour.\",\n s:\"Les donneurs d'ordre imposent d\u00e9j\u00e0 leurs exigences par contrat, sans attendre la loi. Bien r\u00e9pondre devient un diff\u00e9renciateur \u00e0 l'appel d'offres.\"},\n\n{v:\"E\", e:\"immediat\",\n t:\"Savez-vous si NIS2 vous concerne, directement ou par ricochet ?\",\n h:\"Environ 15 000 entit\u00e9s fran\u00e7aises seraient concern\u00e9es, contre quelques centaines auparavant.\",\n o:[\"Je ne connais pas le sujet.\",\n    \"J'en ai entendu parler, sans savoir si nous sommes concern\u00e9s.\",\n    \"Nous avons v\u00e9rifi\u00e9 notre \u00e9ligibilit\u00e9 \u2014 secteur et seuils \u2014 sans engager de mise en conformit\u00e9.\",\n    \"\u00c9ligibilit\u00e9 v\u00e9rifi\u00e9e, \u00e9carts identifi\u00e9s, feuille de route engag\u00e9e. Ou, si nous ne sommes pas assujettis, les exigences nous sont d\u00e9j\u00e0 transmises par contrat.\"],\n a:\"Passer quinze minutes sur le simulateur MonEspaceNIS2 de l'ANSSI pour savoir si vous \u00eates assujetti, directement ou par vos donneurs d'ordre.\",\n s:\"La v\u00e9rification est imm\u00e9diate et gratuite. C'est la mise en conformit\u00e9, elle, qui est un chantier.\"},\n\n\/* --- F. Socle --- *\/\n{v:\"F\", e:\"immediat\",\n t:\"Vos sauvegardes : quand a-t-on v\u00e9rifi\u00e9 pour la derni\u00e8re fois qu'une restauration fonctionne ?\",\n h:\"Non pas que la sauvegarde tourne \u2014 qu'elle se restaure.\",\n o:[\"Nous ne savons pas si des sauvegardes existent, ou aucune restauration n'a jamais \u00e9t\u00e9 tent\u00e9e.\",\n    \"Des sauvegardes tournent, mais personne n'a jamais test\u00e9 de restauration.\",\n    \"Une restauration a \u00e9t\u00e9 test\u00e9e, il y a plus d'un an.\",\n    \"Restauration test\u00e9e dans l'ann\u00e9e, au moins une copie hors ligne ou d\u00e9connect\u00e9e, et un d\u00e9lai de reprise connu.\"],\n a:\"Faire restaurer une sauvegarde pour de vrai, chronom\u00e8tre en main, et exiger le compte rendu.\",\n s:\"Une sauvegarde jamais restaur\u00e9e n'est pas une sauvegarde : c'est une hypoth\u00e8se.\"},\n\n{v:\"F\", e:\"immediat\",\n t:\"L'authentification \u00e0 plusieurs facteurs est-elle en place sur la messagerie et les acc\u00e8s \u00e0 distance ?\",\n h:\"Le piratage de compte est la premi\u00e8re menace visant les entreprises fran\u00e7aises.\",\n o:[\"Non, ou je ne sais pas.\",\n    \"Seulement pour quelques personnes, au cas par cas.\",\n    \"Sur la messagerie, mais pas sur l'ensemble des acc\u00e8s distants ni sur les comptes d'administration.\",\n    \"Sur la messagerie, les acc\u00e8s distants, les comptes d'administration et les outils en ligne critiques.\"],\n a:\"Activer l'authentification \u00e0 plusieurs facteurs sur la messagerie, les acc\u00e8s distants et les comptes d'administration.\",\n s:\"C'est une case \u00e0 cocher dans un abonnement que vous payez d\u00e9j\u00e0. Aucun achat, aucun projet.\"}\n];\n\nconst NIVEAUX = [\n  {n:1, nom:\"Expos\u00e9\", cls:\"n1\",\n   read:\"Le sujet n'a pas encore de propri\u00e9taire dans l'entreprise. Ce n'est pas une question d'\u00e9quipement : c'est que personne n'a \u00e9t\u00e9 d\u00e9sign\u00e9, que rien n'a \u00e9t\u00e9 chiffr\u00e9, et qu'aucune r\u00e8gle \u00e9crite ne prot\u00e8ge vos processus de paiement ni vos acc\u00e8s. La bonne nouvelle est m\u00e9canique : \u00e0 ce niveau, l'essentiel des \u00e9carts se referme par des d\u00e9cisions, pas par des d\u00e9penses.\"},\n  {n:2, nom:\"Conscient, mais d\u00e9pendant\",\n   cls:\"n2\",\n   read:\"Le sujet existe, mais il repose sur des personnes plut\u00f4t que sur des r\u00e8gles \u2014 souvent sur un prestataire, parfois sur une seule bonne volont\u00e9 interne. Le dispositif tient tant que ces personnes sont l\u00e0 et disponibles. Le passage au niveau sup\u00e9rieur consiste \u00e0 \u00e9crire ce qui n'existe aujourd'hui que dans les t\u00eates.\"},\n  {n:3, nom:\"Structur\u00e9\", cls:\"n3\",\n   read:\"Les r\u00e8gles existent et elles sont appliqu\u00e9es. Ce qui manque rel\u00e8ve d\u00e9sormais de la preuve : v\u00e9rifier que le dispositif fonctionne \u2014 restaurations test\u00e9es, exercices jou\u00e9s, revues d'acc\u00e8s, engagements des prestataires v\u00e9rifi\u00e9s \u2014 et non plus seulement l'affirmer. C'est aussi le niveau \u00e0 partir duquel votre maturit\u00e9 devient un argument commercial.\"},\n  {n:4, nom:\"Pilot\u00e9\", cls:\"n4\",\n   read:\"Le dispositif est port\u00e9 par la direction, document\u00e9, v\u00e9rifi\u00e9 et exerc\u00e9. L'enjeu se d\u00e9place vers la tenue dans la dur\u00e9e : maintenir la comp\u00e9tence disponible, entretenir la culture au fil des arriv\u00e9es et des d\u00e9parts, et suivre l'exigence croissante de vos donneurs d'ordre et du cadre r\u00e9glementaire.\"}\n];\n\n\/* ============================================================\n   MESURE ET RESTITUTION\n   GA4 est d\u00e9j\u00e0 charg\u00e9 sur opera-executive.fr par Site Kit.\n   Tous les appels sont prot\u00e9g\u00e9s : la page fonctionne \u00e0 l'identique\n   si gtag est absent (ouverture du fichier en local, par exemple).\n   ============================================================ *\/\nfunction oiTrack(nom, params){\n  try{\n    if (typeof window.gtag === \"function\") window.gtag(\"event\", nom, params || {});\n    if (Array.isArray(window.dataLayer)) window.dataLayer.push(Object.assign({event:nom}, params || {}));\n  }catch(e){}\n}\n\n\/* Le formulaire Contact Form 7 est pos\u00e9 par WordPress dans un bloc\n   \u00ab Code court \u00bb juste apr\u00e8s ce bloc HTML, dans un conteneur portant\n   la classe .oi-cf7. On le d\u00e9place ici et on le masque jusqu'au r\u00e9sultat. *\/\nlet oiFormNode = null;\nfunction oiCaptureForm(){\n  if (oiFormNode) return oiFormNode;\n  const src = document.querySelector(\".oi-cf7\");\n  if (!src) return null;\n  oiFormNode = src;\n  src.style.display = \"none\";\n  return oiFormNode;\n}\nfunction oiMountForm(donnees){\n  const slot = document.getElementById(\"oi-form-slot\");\n  const form = oiCaptureForm();\n  if (!slot || !form) return false;\n  slot.appendChild(form);\n  form.style.display = \"\";\n  const set = (nom, valeur) => {\n    const champ = form.querySelector('[name=\"' + nom + '\"]');\n    if (champ) champ.value = valeur;\n    const enveloppe = champ && champ.closest(\".wpcf7-form-control-wrap\");\n    if (enveloppe) enveloppe.classList.add(\"oi-hidden\");\n  };\n  set(\"oi-score\", donnees.score + \"\/60\");\n  set(\"oi-niveau\", \"Niveau \" + donnees.niveau + \" \u2014 \" + donnees.niveauNom);\n  set(\"oi-volets\", donnees.volets);\n  set(\"oi-ecarts\", donnees.ecarts);\n  set(\"oi-plan\", donnees.plan);\n  return true;\n}\n\ndocument.addEventListener(\"wpcf7mailsent\", function(e){\n  oiTrack(\"diagnostic_restitution_envoyee\", {});\n  const resti = document.getElementById(\"resti\");\n  if (resti) {\n    resti.innerHTML = '<h3>C\\'est envoy\u00e9<\/h3><p>Votre plan d\\'action part vers l\\'adresse indiqu\u00e9e. ' +\n      'S\\'il n\\'arrive pas dans les minutes qui viennent, pensez \u00e0 regarder dans vos ind\u00e9sirables.<\/p>';\n  }\n}, false);\n\nfunction niveauFromPct(p){ if(p<0.35) return NIVEAUX[0]; if(p<0.58) return NIVEAUX[1]; if(p<0.80) return NIVEAUX[2]; return NIVEAUX[3]; }\n\n\/* ---------- render ---------- *\/\nconst form = document.getElementById(\"form\");\nVOLETS.forEach((v, vi) => {\n  const qs = Q.map((q,i)=>({q,i})).filter(x=>x.q.v===v.id);\n  const sec = document.createElement(\"section\");\n  sec.className = \"volet\";\n  sec.innerHTML =\n    '<div class=\"volet-head\"><span class=\"idx\">VOLET '+v.id+'<\/span>'+\n    '<h2>'+v.nom+'<\/h2><span class=\"pts\">'+(qs.length*3)+' pts<\/span><\/div>'+\n    '<p class=\"volet-intro\"><strong>'+v.sous+'.<\/strong> '+v.intro+'<\/p>';\n  qs.forEach(({q,i}) => {\n    const card = document.createElement(\"div\");\n    card.className = \"q\";\n    card.id = \"q\"+(i+1);\n    const eff = EFFORTS[q.e];\n    let html = '<div class=\"q-head\"><div class=\"q-meta\">'+\n      '<span class=\"q-no\">Q'+String(i+1).padStart(2,\"0\")+'<\/span>'+\n      '<span class=\"chip'+(q.e===\"immediat\"?\" immediat\":\"\")+'\">'+eff.full+'<\/span>'+\n      '<\/div><p class=\"q-text\">'+q.t+'<\/p>'+\n      (q.h ? '<p class=\"q-hint\">'+q.h+'<\/p>' : '')+\n      '<\/div><div class=\"opts\" role=\"radiogroup\" aria-label=\"Question '+(i+1)+'\">';\n    q.o.forEach((label, oi) => {\n      html += '<label class=\"opt\"><input type=\"radio\" name=\"q'+i+'\" value=\"'+oi+'\">'+\n        '<span class=\"row\"><span class=\"mark\" aria-hidden=\"true\"><\/span>'+\n        '<span class=\"txt\">'+label+'<\/span><\/span><\/label>';\n    });\n    html += '<\/div>';\n    card.innerHTML = html;\n    sec.appendChild(card);\n  });\n  form.appendChild(sec);\n});\n\nconst answers = new Array(Q.length).fill(null);\nconst cnt = document.getElementById(\"cnt\");\nconst fill = document.getElementById(\"fill\");\nconst go = document.getElementById(\"go\");\nconst track = document.querySelector(\".bar-track\");\n\nlet oiDemarre = false;\nform.addEventListener(\"change\", e => {\n  if(e.target.type !== \"radio\") return;\n  if(!oiDemarre){ oiDemarre = true; oiTrack(\"diagnostic_demarre\", {}); }\n  const i = parseInt(e.target.name.slice(1), 10);\n  answers[i] = parseInt(e.target.value, 10);\n  e.target.closest(\".q\").classList.add(\"answered\");\n  const done = answers.filter(a => a !== null).length;\n  cnt.textContent = done;\n  fill.style.width = (done \/ Q.length * 100) + \"%\";\n  track.setAttribute(\"aria-valuenow\", done);\n  go.disabled = done < Q.length;\n});\n\n\/* ---------- results ---------- *\/\ngo.addEventListener(\"click\", render);\n\nfunction render(){\n  const total = answers.reduce((s,a)=>s+(a||0),0);\n  const niv = niveauFromPct(total\/60);\n\n  const parVolet = VOLETS.map(v => {\n    const idx = Q.map((q,i)=>({q,i})).filter(x=>x.q.v===v.id).map(x=>x.i);\n    const max = idx.length*3;\n    const sc = idx.reduce((s,i)=>s+(answers[i]||0),0);\n    return {v, sc, max, pct: sc\/max, niv: niveauFromPct(sc\/max)};\n  });\n\n  const ecarts = Q.map((q,i)=>({q,i})).filter(x => (answers[x.i]||0) <= 1);\n  const buckets = {immediat:[], trimestre:[], structurel:[]};\n  ecarts.forEach(x => buckets[x.q.e].push(x));\n\n  const R = document.getElementById(\"results\");\n  let h = '';\n\n  \/* head *\/\n  h += '<div class=\"res-head\"><p class=\"eyebrow\">Restitution<\/p>'+\n    '<div class=\"score-block\">'+\n    '<div class=\"score-num mono\">'+total+'<span>&thinsp;\/&thinsp;60<\/span><\/div>'+\n    '<div class=\"score-side\">'+\n    '<p class=\"score-level\"><span class=\"lvl\">Niveau '+niv.n+' sur 4<\/span>'+niv.nom+'<\/p>'+\n    '<p class=\"score-read\">'+niv.read+'<\/p>'+\n    '<\/div><\/div><\/div>';\n\n  \/* bars *\/\n  h += '<div class=\"res-sec\"><h3>Maturit\u00e9 par volet<\/h3>'+\n    '<p class=\"lede\">La barre mesure le score obtenu sur le maximum du volet. Le niveau est indiqu\u00e9 en toutes lettres : la couleur ne porte aucune information \u00e0 elle seule.<\/p>'+\n    '<div class=\"bars\">';\n  parVolet.forEach(p => {\n    const tagCls = p.niv.n<=2 ? \" n\"+p.niv.n : \"\";\n    h += '<div class=\"brow\"><div class=\"brow-top\">'+\n      '<span class=\"brow-name\">'+p.v.id+'. '+p.v.nom+'<\/span>'+\n      '<span class=\"brow-val\">'+p.sc+'&thinsp;\/&thinsp;'+p.max+' \u00b7 <span class=\"lvl-tag'+tagCls+'\">Niveau '+p.niv.n+' \u2014 '+p.niv.nom+'<\/span><\/span>'+\n      '<\/div><div class=\"btrack\"><div class=\"bfill '+p.niv.cls+'\" data-w=\"'+(p.pct*100)+'\"><\/div><\/div><\/div>';\n  });\n  h += '<\/div><\/div>';\n\n  \/* nature *\/\n  const nImm = buckets.immediat.length, nTri = buckets.trimestre.length, nStr = buckets.structurel.length;\n  const nTot = ecarts.length;\n  h += '<div class=\"res-sec\"><h3>La nature de vos \u00e9carts<\/h3>'+\n    '<p class=\"lede\">'+(nTot===0\n      ? 'Aucun \u00e9cart significatif : sur les vingt leviers, aucun n\\'est au niveau le plus bas. La question qui reste est celle de la preuve et de la tenue dans la dur\u00e9e.'\n      : '<b>'+nTot+' \u00e9cart'+(nTot>1?'s':'')+' sur 20.<\/b> Voici ce qu\\'il faudrait, en pratique, pour les refermer \u2014 et c\\'est l\u00e0 que se joue l\\'argument : la majorit\u00e9 ne rel\u00e8ve ni d\\'un achat, ni d\\'un projet informatique.')+'<\/p>'+\n    '<div class=\"nature\">'+\n    '<div class=\"nat'+(nImm>0?' hi':'')+'\"><span class=\"n mono\">'+nImm+'<\/span><span class=\"k\">Une d\u00e9cision<\/span><span class=\"d\">R\u00e9glables sous 30 jours, sans achat, par une note de service ou une consigne de direction.<\/span><\/div>'+\n    '<div class=\"nat\"><span class=\"n mono\">'+nTri+'<\/span><span class=\"k\">Un chantier<\/span><span class=\"d\">Un trimestre de travail interne : \u00e9crire, cartographier, former, mettre \u00e0 jour des documents RH.<\/span><\/div>'+\n    '<div class=\"nat\"><span class=\"n mono\">'+nStr+'<\/span><span class=\"k\">Un investissement<\/span><span class=\"d\">6 \u00e0 18 mois : budget d\u00e9di\u00e9, comp\u00e9tence \u00e0 recruter ou contractualiser, contrats \u00e0 ren\u00e9gocier.<\/span><\/div>'+\n    '<\/div>'+\n    '<p class=\"lede\" style=\"margin-bottom:0\">Rappel de structure du diagnostic : sur les vingt leviers examin\u00e9s, <b>deux seulement sont techniques<\/b> \u2014 le test de restauration et l\\'authentification \u00e0 plusieurs facteurs \u2014 et tous deux consistent \u00e0 v\u00e9rifier ou \u00e0 activer ce que vous payez d\u00e9j\u00e0.<\/p>'+\n    '<\/div>';\n\n  \/* plan *\/\n  h += '<div class=\"res-sec\"><h3>Votre plan d\\'action<\/h3>'+\n    '<p class=\"lede\">Class\u00e9 par ce que chaque action exige de vous, et non par gravit\u00e9. Les trois premiers blocs reprennent les leviers o\u00f9 vous avez retenu l\\'une des deux premi\u00e8res r\u00e9ponses ; le dernier, ceux qui sont engag\u00e9s sans \u00eatre encore d\u00e9montr\u00e9s.<\/p>'+\n    '<div class=\"plan\">';\n  [[\"immediat\",\"Ce que vous pouvez d\u00e9cider seul\",\"Sous 30 jours \u00b7 co\u00fbt quasi nul \u00b7 aucune comp\u00e9tence technique requise\"],\n   [\"trimestre\",\"Ce qui demande un chantier d'organisation\",\"Un trimestre \u00b7 ressources internes \u00b7 direction, RH et m\u00e9tiers\"],\n   [\"structurel\",\"Ce qui demande un vrai investissement\",\"6 \u00e0 18 mois \u00b7 budget, comp\u00e9tence, contrats\"]].forEach(([key,titre,note]) => {\n    const items = buckets[key];\n    h += '<div class=\"plan-group\"><h4>'+titre+' <span class=\"when\">'+items.length+' action'+(items.length>1?'s':'')+'<\/span><\/h4>'+\n      '<p class=\"gnote\">'+note+'<\/p>';\n    if(items.length === 0){\n      h += '<p class=\"plan-empty\">Rien \u00e0 engager ici : vos r\u00e9ponses situent d\u00e9j\u00e0 ces leviers au-dessus du seuil d\\'alerte.<\/p>';\n    } else {\n      h += '<ol>';\n      items.forEach(x => {\n        h += '<li><span class=\"qref\">Q'+String(x.i+1).padStart(2,\"0\")+'<\/span>'+\n          '<span class=\"act\">'+x.q.a+'<\/span>'+\n          (x.q.s ? '<span class=\"src\">'+x.q.s+'<\/span>' : '')+'<\/li>';\n      });\n      h += '<\/ol>';\n    }\n    h += '<\/div>';\n  });\n  h += '<\/div>';\n\n  \/* consolidation : r\u00e9ponses \u00e0 mi-parcours *\/\n  const mid = Q.map((q,i)=>({q,i})).filter(x => (answers[x.i]||0) === 2);\n  if(mid.length){\n    h += '<div class=\"plan-group\" style=\"margin-top:1.75rem\"><h4>Ce qui reste \u00e0 prouver <span class=\"when\">'+mid.length+' levier'+(mid.length>1?'s':'')+'<\/span><\/h4>'+\n      '<p class=\"gnote\">Ces dispositifs existent chez vous, mais \u00e0 un niveau interm\u00e9diaire \u2014 souvent affirm\u00e9s plut\u00f4t que v\u00e9rifi\u00e9s. Voici, pour chacun, la formulation de l\\'\u00e9tape suivante.<\/p><ol>';\n    mid.forEach(x => {\n      h += '<li><span class=\"qref\">Q'+String(x.i+1).padStart(2,\"0\")+'<\/span>'+\n        '<span class=\"act\">'+x.q.o[3]+'<\/span>'+\n        '<span class=\"src\">'+x.q.t+'<\/span><\/li>';\n    });\n    h += '<\/ol><\/div>';\n  }\n  h += '<\/div>';\n\n  \/* signals *\/\n  const sc = i => (answers[i]||0);\n  const sig = [];\n  if(sc(5) <= 1) sig.push(\"<b>Aucune comp\u00e9tence s\u00e9curit\u00e9 identifi\u00e9e.<\/b> Le sujet repose sur une personne dont ce n'est pas le m\u00e9tier, ou sur un prestataire non sp\u00e9cialis\u00e9. C'est la seule question du diagnostic dont la r\u00e9ponse suppose de recruter, de partager un temps, ou de contractualiser une expertise.\");\n  if(sc(0) <= 1 &#038;&#038; sc(3) <= 1) sig.push(\"<b>Ni ordre du jour, ni ligne budg\u00e9taire.<\/b> Le sujet n'a de propri\u00e9taire nulle part dans l'entreprise : il ne progressera pas tant que la direction ne se l'attribue pas explicitement.\");\n  if(sc(17) >= 2 && sc(5) <= 1) sig.push(\"<b>Assujettissement identifi\u00e9, comp\u00e9tence absente.<\/b> Vous savez que le cadre r\u00e9glementaire vous concerne, mais personne dans l'entreprise n'a la mission de le porter. C'est l'\u00e9cart le plus co\u00fbteux \u00e0 laisser courir.\");\n  if(sc(6) <= 1 || sc(7) <= 1) sig.push(\"<b>La fonction RH n'est pas dans la boucle.<\/b> Arriv\u00e9es, d\u00e9parts et responsabilit\u00e9s restent hors du dispositif de s\u00e9curit\u00e9, alors que ce sont les moments o\u00f9 les acc\u00e8s se cr\u00e9ent et survivent.\");\n  if(sc(12) <= 1 &#038;&#038; sc(13) <= 1) sig.push(\"<b>Ni les \u00e9quipes ni la direction ne sont form\u00e9es.<\/b> Le premier vecteur d'attaque en France reste non trait\u00e9, alors que la formation des dirigeants figure parmi les obligations pr\u00e9vues par NIS2.\");\n  if(sc(18) <= 1) sig.push(\"<b>Capacit\u00e9 de reprise non d\u00e9montr\u00e9e.<\/b> Sans restauration test\u00e9e, le risque n'est pas op\u00e9rationnel mais existentiel : vous ne savez pas si l'entreprise red\u00e9marre.\");\n  if(sc(8) <= 1) sig.push(\"<b>Processus de paiement non prot\u00e9g\u00e9.<\/b> La fraude au virement a progress\u00e9 de 93 % en un an et ne rencontre, chez vous, aucune r\u00e8gle \u00e9crite de contre-v\u00e9rification.\");\n  if(sc(16) >= 2 && sc(15) <= 1) sig.push(\"<b>Exigence client sans ma\u00eetrise de la cha\u00eene.<\/b> Vos donneurs d'ordre vous interrogent d\u00e9j\u00e0 sur votre s\u00e9curit\u00e9, mais vos propres prestataires ne sont engag\u00e9s sur rien.\");\n\n  if(sig.length){\n    h += '<div class=\"res-sec\"><h3>Ce que ces r\u00e9ponses disent de votre organisation<\/h3>'+\n      '<p class=\"lede\">Points de vigilance d\u00e9duits des combinaisons de r\u00e9ponses. Ils d\u00e9signent des manques de comp\u00e9tence ou de responsabilit\u00e9, pas des manques d\\'outils.<\/p>'+\n      '<ul class=\"signals\">'+sig.map(s=>'<li>'+s+'<\/li>').join('')+'<\/ul><\/div>';\n  }\n\n  h += '<div class=\"resti\" id=\"resti\">'+\n    '<h3>Recevoir votre plan d\\'action complet<\/h3>'+\n    '<p>Votre score et vos six volets s\\'affichent ci-dessus, gratuitement et sans rien nous transmettre. '+\n    'Si vous souhaitez le <b>plan d\\'action d\u00e9taill\u00e9 des vingt leviers<\/b>, mis en forme et adapt\u00e9 \u00e0 vos r\u00e9ponses, '+\n    'nous vous l\\'envoyons par courriel.<\/p>'+\n    '<div class=\"oi-form-slot\" id=\"oi-form-slot\"><\/div>'+\n    '<p class=\"legal\">Vos r\u00e9ponses restent dans votre navigateur. Si vous demandez la restitution \u00e9crite, '+\n    'seuls votre score, la liste de vos leviers prioritaires et les coordonn\u00e9es que vous saisissez nous sont '+\n    'transmis. Opera International et Cybermatch pourront utiliser votre adresse professionnelle pour vous '+\n    'recontacter au sujet de votre diagnostic et de sujets li\u00e9s \u00e0 votre fonction. Vous pouvez vous y opposer '+\n    '\u00e0 tout moment, simplement et gratuitement, par un lien de d\u00e9sinscription pr\u00e9sent dans chaque message '+\n    'ou en \u00e9crivant \u00e0 <a href=\"mailto:paris@opera-executive.fr\">paris@opera-executive.fr<\/a>.<\/p>'+\n    '<\/div>';\n\n  h += '<div class=\"actions\">'+\n    '<button id=\"copy\">Copier la synth\u00e8se<\/button>'+\n    '<button class=\"ghost\" id=\"print\">Imprimer<\/button>'+\n    '<button class=\"ghost\" id=\"reset\">Recommencer<\/button>'+\n    '<span class=\"toast\" id=\"toast\">Synth\u00e8se copi\u00e9e<\/span>'+\n    '<\/div>';\n\n  R.innerHTML = h;\n  R.classList.add(\"on\");\n  go.textContent = \"Revoir le r\u00e9sultat\";\n\n  \/* --- mesure --- *\/\n  oiTrack(\"diagnostic_termine\", {\n    score: total,\n    niveau: niv.n,\n    niveau_nom: niv.nom,\n    ecarts: nTot,\n    ecarts_decision: nImm,\n    ecarts_chantier: nTri,\n    ecarts_investissement: nStr\n  });\n\n  \/* --- restitution : remplissage des champs cach\u00e9s --- *\/\n  const lignesPlan = [];\n  [[\"immediat\",\"\u00c0 D\u00c9CIDER SOUS 30 JOURS\"],[\"trimestre\",\"CHANTIERS DU TRIMESTRE\"],[\"structurel\",\"INVESTISSEMENTS STRUCTURELS\"]].forEach(([k,l]) => {\n    if(!buckets[k].length) return;\n    lignesPlan.push(l);\n    buckets[k].forEach(x => lignesPlan.push(\"  - [Q\"+String(x.i+1).padStart(2,\"0\")+\"] \"+x.q.a));\n  });\n  if (oiMountForm({\n        score: total,\n        niveau: niv.n,\n        niveauNom: niv.nom,\n        volets: parVolet.map(p => p.v.id+\". \"+p.v.nom+\" : \"+p.sc+\"\/\"+p.max+\" (niveau \"+p.niv.n+\")\").join(\" | \"),\n        ecarts: nTot+\"\/20 \u2014 \"+nImm+\" par d\u00e9cision, \"+nTri+\" par chantier, \"+nStr+\" par investissement\",\n        plan: lignesPlan.join(\"\\n\")\n      })) {\n    oiTrack(\"diagnostic_restitution_affichee\", {});\n  }\n  requestAnimationFrame(() => {\n    R.querySelectorAll(\".bfill\").forEach(b => { b.style.width = b.dataset.w + \"%\"; });\n    R.scrollIntoView({behavior:\"smooth\", block:\"start\"});\n  });\n\n  document.getElementById(\"print\").addEventListener(\"click\", () => window.print());\n  document.getElementById(\"reset\").addEventListener(\"click\", () => {\n    form.querySelectorAll(\"input[type=radio]\").forEach(r => r.checked = false);\n    form.querySelectorAll(\".q\").forEach(c => c.classList.remove(\"answered\"));\n    answers.fill(null); cnt.textContent = \"0\"; fill.style.width = \"0%\";\n    track.setAttribute(\"aria-valuenow\", 0);\n    go.disabled = true; go.textContent = \"Afficher le r\u00e9sultat\";\n    if (oiFormNode && oiFormNode.parentNode) { oiFormNode.style.display = \"none\"; document.body.appendChild(oiFormNode); }\n    oiDemarre = false;\n    R.classList.remove(\"on\"); R.innerHTML = \"\";\n    window.scrollTo({top:0, behavior:\"smooth\"});\n  });\n  document.getElementById(\"copy\").addEventListener(\"click\", () => {\n    let t = \"DIAGNOSTIC CYBERS\u00c9CURIT\u00c9 \u2014 20 QUESTIONS\\n\";\n    t += \"Score global : \"+total+\"\/60 \u2014 Niveau \"+niv.n+\" sur 4 : \"+niv.nom+\"\\n\\n\";\n    t += \"PAR VOLET\\n\";\n    parVolet.forEach(p => { t += \"  \"+p.v.id+\". \"+p.v.nom+\" : \"+p.sc+\"\/\"+p.max+\" \u2014 Niveau \"+p.niv.n+\" (\"+p.niv.nom+\")\\n\"; });\n    t += \"\\n\u00c9CARTS : \"+nTot+\"\/20 \u2014 \"+nImm+\" par d\u00e9cision (30 j), \"+nTri+\" par chantier (1 trim.), \"+nStr+\" par investissement (6-18 mois)\\n\";\n    [[\"immediat\",\"\u00c0 D\u00c9CIDER SOUS 30 JOURS\"],[\"trimestre\",\"CHANTIERS DU TRIMESTRE\"],[\"structurel\",\"INVESTISSEMENTS STRUCTURELS\"]].forEach(([k,l]) => {\n      if(!buckets[k].length) return;\n      t += \"\\n\"+l+\"\\n\";\n      buckets[k].forEach(x => { t += \"  \u00b7 [Q\"+String(x.i+1).padStart(2,\"0\")+\"] \"+x.q.a+\"\\n\"; });\n    });\n    navigator.clipboard.writeText(t).then(() => {\n      const to = document.getElementById(\"toast\");\n      to.classList.add(\"on\"); setTimeout(()=>to.classList.remove(\"on\"), 2200);\n    });\n  });\n}\n\n}\n\nif (document.readyState === \"loading\") {\n  document.addEventListener(\"DOMContentLoaded\", oiDemarrer, { once: true });\n} else {\n  oiDemarrer();\n}\n})();\n<\/script>\n\n\n<p>[wpcode id=\u00a0\u00bb1724&Prime;]<\/p>\n\n\n\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f1702-o1\" lang=\"fr-FR\" dir=\"ltr\" data-wpcf7-id=\"1702\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/index.php\/wp-json\/wp\/v2\/pages\/1703#wpcf7-f1702-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Formulaire de contact\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"1702\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.7\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"fr_FR\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f1702-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/>\n<\/fieldset>\n<p><label>Votre nom<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oi-nom\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oi-nom\" \/><\/span> <\/label>\n<\/p>\n<p><label>Votre adresse professionnelle<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oi-email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"email\" name=\"oi-email\" \/><\/span> <\/label>\n<\/p>\n<p><label>Votre entreprise<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oi-entreprise\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oi-entreprise\" \/><\/span> <\/label>\n<\/p>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"oi-score\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"oi-niveau\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"oi-volets\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"oi-ecarts\" \/>\n<input class=\"wpcf7-form-control wpcf7-hidden\" value=\"\" type=\"hidden\" name=\"oi-plan\" \/>\n<p><input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"Recevoir mon plan d&#039;action\" \/>\n<\/p><p style=\"display: none !important;\" class=\"akismet-fields-container\" data-prefix=\"_wpcf7_ak_\"><label>&#916;<textarea name=\"_wpcf7_ak_hp_textarea\" cols=\"45\" rows=\"8\" maxlength=\"100\"><\/textarea><\/label><input type=\"hidden\" id=\"ak_js_1\" name=\"_wpcf7_ak_js\" value=\"236\"\/><script>\ndocument.getElementById( \"ak_js_1\" ).setAttribute( \"value\", ( new Date() ).getTime() );\n<\/script>\n<\/p><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Diagnostic de maturit\u00e9 \u00b7 PME &amp; ETI \u00b7 20 questions La cybers\u00e9curit\u00e9 n&rsquo;est pas un budget informatique.C&rsquo;est une question d&rsquo;organisation. Ce diagnostic ne mesure pas votre \u00e9quipement. Il mesure qui d\u00e9cide, qui sait, qui v\u00e9rifie \u2014 et ce qui se passerait, chez vous, un lundi matin o\u00f9 plus rien ne d\u00e9marre. Vingt questions, six volets, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":1071,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1703","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Diagnostic cybers\u00e9curit\u00e9 - Opera International<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.opera-executive.fr\/index.php\/fr\/notre-offre\/diagnostic-cybersecurite\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Diagnostic cybers\u00e9curit\u00e9 - Opera International\" \/>\n<meta property=\"og:description\" content=\"Diagnostic de maturit\u00e9 \u00b7 PME &amp; ETI \u00b7 20 questions La cybers\u00e9curit\u00e9 n&rsquo;est pas un budget informatique.C&rsquo;est une question d&rsquo;organisation. Ce diagnostic ne mesure pas votre \u00e9quipement. Il mesure qui d\u00e9cide, qui sait, qui v\u00e9rifie \u2014 et ce qui se passerait, chez vous, un lundi matin o\u00f9 plus rien ne d\u00e9marre. Vingt questions, six volets, [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.opera-executive.fr\/index.php\/fr\/notre-offre\/diagnostic-cybersecurite\/\" \/>\n<meta property=\"og:site_name\" content=\"Opera International\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-03T16:04:17+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.opera-executive.fr\\\/index.php\\\/fr\\\/notre-offre\\\/diagnostic-cybersecurite\\\/\",\"url\":\"https:\\\/\\\/www.opera-executive.fr\\\/index.php\\\/fr\\\/notre-offre\\\/diagnostic-cybersecurite\\\/\",\"name\":\"Diagnostic cybers\u00e9curit\u00e9 - Opera International\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.opera-executive.fr\\\/#website\"},\"datePublished\":\"2026-09-03T10:00:21+00:00\",\"dateModified\":\"2026-09-03T16:04:17+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.opera-executive.fr\\\/index.php\\\/fr\\\/notre-offre\\\/diagnostic-cybersecurite\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.opera-executive.fr\\\/index.php\\\/fr\\\/notre-offre\\\/diagnostic-cybersecurite\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.opera-executive.fr\\\/index.php\\\/fr\\\/notre-offre\\\/diagnostic-cybersecurite\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.opera-executive.fr\\\/index.php\\\/fr\\\/1557-2\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Nos services\",\"item\":\"https:\\\/\\\/www.opera-executive.fr\\\/index.php\\\/fr\\\/notre-offre\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Diagnostic cybers\u00e9curit\u00e9\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.opera-executive.fr\\\/#website\",\"url\":\"https:\\\/\\\/www.opera-executive.fr\\\/\",\"name\":\"Opera International\",\"description\":\"Your gateway\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.opera-executive.fr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.opera-executive.fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.opera-executive.fr\\\/#organization\",\"name\":\"Opera International\",\"url\":\"https:\\\/\\\/www.opera-executive.fr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.opera-executive.fr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.opera-executive.fr\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/Logo-International-Vectoriel-1.png\",\"contentUrl\":\"https:\\\/\\\/www.opera-executive.fr\\\/wp-content\\\/uploads\\\/2024\\\/10\\\/Logo-International-Vectoriel-1.png\",\"width\":840,\"height\":227,\"caption\":\"Opera International\"},\"image\":{\"@id\":\"https:\\\/\\\/www.opera-executive.fr\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/operainternational\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Diagnostic cybers\u00e9curit\u00e9 - Opera International","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.opera-executive.fr\/index.php\/fr\/notre-offre\/diagnostic-cybersecurite\/","og_locale":"fr_FR","og_type":"article","og_title":"Diagnostic cybers\u00e9curit\u00e9 - Opera International","og_description":"Diagnostic de maturit\u00e9 \u00b7 PME &amp; ETI \u00b7 20 questions La cybers\u00e9curit\u00e9 n&rsquo;est pas un budget informatique.C&rsquo;est une question d&rsquo;organisation. Ce diagnostic ne mesure pas votre \u00e9quipement. Il mesure qui d\u00e9cide, qui sait, qui v\u00e9rifie \u2014 et ce qui se passerait, chez vous, un lundi matin o\u00f9 plus rien ne d\u00e9marre. Vingt questions, six volets, [&hellip;]","og_url":"https:\/\/www.opera-executive.fr\/index.php\/fr\/notre-offre\/diagnostic-cybersecurite\/","og_site_name":"Opera International","article_modified_time":"2026-09-03T16:04:17+00:00","twitter_card":"summary_large_image","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.opera-executive.fr\/index.php\/fr\/notre-offre\/diagnostic-cybersecurite\/","url":"https:\/\/www.opera-executive.fr\/index.php\/fr\/notre-offre\/diagnostic-cybersecurite\/","name":"Diagnostic cybers\u00e9curit\u00e9 - Opera International","isPartOf":{"@id":"https:\/\/www.opera-executive.fr\/#website"},"datePublished":"2026-09-03T10:00:21+00:00","dateModified":"2026-09-03T16:04:17+00:00","breadcrumb":{"@id":"https:\/\/www.opera-executive.fr\/index.php\/fr\/notre-offre\/diagnostic-cybersecurite\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.opera-executive.fr\/index.php\/fr\/notre-offre\/diagnostic-cybersecurite\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.opera-executive.fr\/index.php\/fr\/notre-offre\/diagnostic-cybersecurite\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.opera-executive.fr\/index.php\/fr\/1557-2\/"},{"@type":"ListItem","position":2,"name":"Nos services","item":"https:\/\/www.opera-executive.fr\/index.php\/fr\/notre-offre\/"},{"@type":"ListItem","position":3,"name":"Diagnostic cybers\u00e9curit\u00e9"}]},{"@type":"WebSite","@id":"https:\/\/www.opera-executive.fr\/#website","url":"https:\/\/www.opera-executive.fr\/","name":"Opera International","description":"Your gateway","publisher":{"@id":"https:\/\/www.opera-executive.fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.opera-executive.fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.opera-executive.fr\/#organization","name":"Opera International","url":"https:\/\/www.opera-executive.fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.opera-executive.fr\/#\/schema\/logo\/image\/","url":"https:\/\/www.opera-executive.fr\/wp-content\/uploads\/2024\/10\/Logo-International-Vectoriel-1.png","contentUrl":"https:\/\/www.opera-executive.fr\/wp-content\/uploads\/2024\/10\/Logo-International-Vectoriel-1.png","width":840,"height":227,"caption":"Opera International"},"image":{"@id":"https:\/\/www.opera-executive.fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/operainternational"]}]}},"_links":{"self":[{"href":"https:\/\/www.opera-executive.fr\/index.php\/wp-json\/wp\/v2\/pages\/1703","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.opera-executive.fr\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.opera-executive.fr\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.opera-executive.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.opera-executive.fr\/index.php\/wp-json\/wp\/v2\/comments?post=1703"}],"version-history":[{"count":15,"href":"https:\/\/www.opera-executive.fr\/index.php\/wp-json\/wp\/v2\/pages\/1703\/revisions"}],"predecessor-version":[{"id":1730,"href":"https:\/\/www.opera-executive.fr\/index.php\/wp-json\/wp\/v2\/pages\/1703\/revisions\/1730"}],"up":[{"embeddable":true,"href":"https:\/\/www.opera-executive.fr\/index.php\/wp-json\/wp\/v2\/pages\/1071"}],"wp:attachment":[{"href":"https:\/\/www.opera-executive.fr\/index.php\/wp-json\/wp\/v2\/media?parent=1703"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}