Skip to content

[FEAT] Gérer les bandeaux de consentement (CMP) avant l'analyse des pages #477

@fpinto75015

Description

@fpinto75015

Description

Sur les sites qui conditionnent l'affichage de leur footer (et donc
de leur mention d'accessibilité) à l'acceptation ou au refus des
cookies, les checks AccessibilityMention et FindAccessibilityPage
échouent silencieusement : la page est chargée mais la mention
d'accessibilité n'est pas encore visible dans le DOM au moment
de l'analyse.

Ce cas est fréquent sur les sites de collectivités et d'opérateurs
publics français utilisant des CMP comme Didomi, Axeptio ou
TarteAuCitron.

Critères d'acceptation

  • Avant toute analyse, le browser tente de rejeter ou fermer
    le bandeau cookie s'il est présent
  • Les CMP les plus répandues sur les sites publics français
    sont couvertes en priorité : Didomi, Axeptio, TarteAuCitron,
    OneTrust, Cookiebot
  • La préférence est donnée au rejet ("Refuser",
    "Continuer sans accepter") plutôt qu'à l'acceptation
  • En l'absence de bandeau, le comportement est inchangé
  • Des tests RSpec couvrent les cas principaux

Notes / Contexte

J'ai implémenté cette logique côté Python/Selenium sur un corpus
de plusieurs centaines de sites publics et privés français, ce qui
m'a permis de constituer une liste de sélecteurs CSS fiables pour
les principaux fournisseurs.

Le point d'insertion naturel dans le code actuel me semble être
dans Browser#get, juste après page.network.wait_for_idle,
via un module ConsentHandler inclus dans Browser.

Je suis prêt à proposer une PR adaptée au contexte Ferrum.
Pouvez-vous confirmer que cette direction vous convient
et s'il existe des contraintes d'architecture à prendre
en compte avant que je poste une suggestion ? J'ai déjà "une bonne base" avec des outils en cours d'exploitation... ;-)

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureFeature or enhancement task

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions