{
  "genereLe": "2026-11-15T17:59:51.045Z",
  "shell": {
    "nom": "@coeur-historique/website-shell",
    "version": "0.3.0",
    "commit": "6107395744d5ddf6de93fb2bb7895698fc98846e"
  },
  "site": {
    "domaine": "https://www.s-omsp.be",
    "commit": "e0c58aab0d1254ffdb529b7c3ede8e8504e95746"
  },
  "mode": "bloquant",
  "pages": 34,
  "redirections": 1,
  "resume": {
    "erreurs": 0,
    "avertissements": 15,
    "bloquant": false
  },
  "openGraph": {
    "rapport": "/seo-report.json",
    "resume": {
      "ok": 2,
      "avertissement": 31,
      "erreur": 0
    }
  },
  "controles": [
    {
      "id": "pages-construites",
      "ok": true,
      "niveau": "erreur",
      "message": "Au moins une page HTML construite",
      "pages": [],
      "bloquant": true
    },
    {
      "id": "restes-gabarit",
      "ok": true,
      "niveau": "erreur",
      "message": "Aucun reste de syntaxe de gabarit visible ( )} {/* */} <> )",
      "pages": [],
      "bloquant": true
    },
    {
      "id": "marqueur-og-source",
      "ok": true,
      "niveau": "erreur",
      "message": "Marqueur shell:og-source retiré (intégration seo-share déclarée)",
      "pages": [],
      "bloquant": true
    },
    {
      "id": "structure-page",
      "ok": true,
      "niveau": "erreur",
      "message": "Structure de page : canonique, UTF-8, langue, H1 unique, balises meta, identifiants, footer",
      "pages": [],
      "bloquant": true
    },
    {
      "id": "json-ld",
      "ok": true,
      "niveau": "erreur",
      "message": "Graphe JSON-LD @graph présent et valide",
      "pages": [],
      "bloquant": true
    },
    {
      "id": "politique-seo",
      "ok": true,
      "niveau": "erreur",
      "message": "Politique SEO de la page : indexation, entité, fil d’Ariane, hreflang",
      "pages": [],
      "bloquant": true
    },
    {
      "id": "apercu-open-graph",
      "ok": true,
      "niveau": "erreur",
      "message": "Page /open-graph/ présente quand le footer y renvoie",
      "pages": [],
      "bloquant": true
    },
    {
      "id": "liens-internes",
      "ok": true,
      "niveau": "erreur",
      "message": "Liens internes vers des pages ou fichiers construits",
      "pages": [],
      "bloquant": true
    },
    {
      "id": "ancres",
      "ok": true,
      "niveau": "erreur",
      "message": "Ancres des liens internes présentes dans la page cible",
      "pages": [],
      "bloquant": true
    },
    {
      "id": "medias",
      "ok": true,
      "niveau": "erreur",
      "message": "Images et ressources locales présentes, alt et dimensions des images",
      "pages": [],
      "bloquant": true
    },
    {
      "id": "redirections",
      "ok": true,
      "niveau": "erreur",
      "message": "Redirections vers des pages construites",
      "pages": [],
      "bloquant": true
    },
    {
      "id": "traductions-seo",
      "ok": true,
      "niveau": "erreur",
      "message": "Traductions SEO (hreflang) canoniques et réciproques",
      "pages": [],
      "bloquant": true
    },
    {
      "id": "banniere",
      "ok": false,
      "niveau": "avertissement",
      "message": "Bannière du shell en premier élément de <main>, avec le H1 : 15 problème(s)",
      "pages": [
        "/fr/aviq/",
        "/fr/contact/",
        "/fr/entreprises/",
        "/fr/etudiant/",
        "/fr/",
        "/fr/objectif/excellence/",
        "/fr/onboarding/",
        "/fr/presse/",
        "/fr/recrutement/agent-administratif/",
        "/fr/recrutement/assistant-magasin/",
        "/fr/recrutement/chauffeur-prive/",
        "/fr/recrutement/delegue-commercial/",
        "/fr/recrutement/developpeur-symfony/",
        "/fr/recrutement/",
        "/fr/recrutement/phra-custom/"
      ],
      "details": [
        "/fr/aviq/: the first element of <main> is not the page banner (section.banniere)",
        "/fr/contact/: the first element of <main> is not the page banner (section.contact-entete)",
        "/fr/entreprises/: the first element of <main> is not the page banner (section.banniere)",
        "/fr/etudiant/: the first element of <main> is not the page banner (section.banniere)",
        "/fr/: the first element of <main> is not the page banner (main)",
        "/fr/objectif/excellence/: the first element of <main> is not the page banner (section.banniere)",
        "/fr/onboarding/: the first element of <main> is not the page banner (section.banniere)",
        "/fr/presse/: the first element of <main> is not the page banner (section.banniere)",
        "/fr/recrutement/agent-administratif/: the first element of <main> is not the page banner (section.banniere)",
        "/fr/recrutement/assistant-magasin/: the first element of <main> is not the page banner (section.banniere)",
        "/fr/recrutement/chauffeur-prive/: the first element of <main> is not the page banner (section.banniere)",
        "/fr/recrutement/delegue-commercial/: the first element of <main> is not the page banner (section.banniere)",
        "/fr/recrutement/developpeur-symfony/: the first element of <main> is not the page banner (section.banniere)",
        "/fr/recrutement/: the first element of <main> is not the page banner (section.banniere)",
        "/fr/recrutement/phra-custom/: the first element of <main> is not the page banner (section.banniere)"
      ],
      "bloquant": false
    },
    {
      "id": "sitemap-noindex",
      "ok": true,
      "niveau": "erreur",
      "message": "Aucune page noindex dans le sitemap",
      "pages": [],
      "bloquant": true
    },
    {
      "id": "fichiers-shell-exclus",
      "ok": true,
      "niveau": "info",
      "message": "Fichiers générés par le shell exclus des contrôles de pages : /open-graph/index.html, /seo-report.json, /quality-report.json",
      "pages": [],
      "bloquant": false
    }
  ]
}
