{"id":75,"date":"2026-09-14T15:39:34","date_gmt":"2026-09-14T13:39:34","guid":{"rendered":"https:\/\/go-onagency.es\/modulos\/prestaward-facet-shield\/"},"modified":"2026-10-16T19:09:15","modified_gmt":"2026-10-16T17:09:15","slug":"prestaward-facet-shield","status":"publish","type":"page","link":"https:\/\/go-onagency.es\/fr\/modulos\/prestaward-facet-shield\/","title":{"rendered":"PrestaWard Facet Shield"},"content":{"rendered":"<section class=\"section product-hero product-hero--prestaward\">\n<div class=\"container product-hero__inner\">\n<div class=\"product-hero__copy\">\n<p class=\"eyebrow\">Module PrestaShop<\/p>\n<h1>PrestaWard Facet Shield<\/h1>\n<p><strong>Protection op\u00e9rationnelle pour la navigation \u00e0 facettes de PrestaShop.<\/strong> D\u00e9tecte les requ\u00eates de filtrage excessivement complexes et permet de limiter uniquement celles susceptibles de nuire au bon fonctionnement de la boutique.<\/p>\n<p><strong>Distribution exclusive sur PrestaShop Marketplace (Addons).<\/strong><\/p>\n<div class=\"product-hero__actions\">\n        <a class=\"button button--ghost\" href=\"https:\/\/go-onagency.es\/prestaward-facet-shield\/changelog\/fr\/\">Historique des modifications<\/a><br \/>\n        <a class=\"button button--ghost\" href=\"https:\/\/go-onagency.es\/prestaward-facet-shield\/prestaward-facet-shield-user-guide.pdf\" target=\"_blank\" rel=\"noopener\">Guide au format PDF<\/a>\n      <\/div>\n<div id=\"facet-shield-gallery\" style=\"margin-top:20px\">\n<p style=\"margin:0 0 8px;font-size:13px;font-weight:600;color:#b6bcc7\">Captures d&rsquo;\u00e9cran<\/p>\n<div style=\"display:flex;flex-wrap:wrap;gap:12px\"><a href=\"\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-facet-shield-gallery\/v0116-es-01-limites.png\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"display:block;width:150px;text-decoration:none;color:inherit\"><img decoding=\"async\" src=\"\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-facet-shield-gallery\/v0116-es-01-limites-thumb.png\" alt=\"PrestaWard Facet Shield 0.1.16 : politique de protection avec mode \u00ab Observation \u00bb et limites par requ\u00eate\" width=\"150\" height=\"125\" loading=\"lazy\" style=\"display:block;width:150px;height:auto;border:1px solid #dce4eb;border-radius:6px\"><span style=\"display:block;margin-top:4px;font-size:12px;color:#b6bcc7\">Limites et mode<\/span><\/a><a href=\"\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-facet-shield-gallery\/v0116-es-02-trafico.png\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"display:block;width:150px;text-decoration:none;color:inherit\"><img decoding=\"async\" src=\"\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-facet-shield-gallery\/v0116-es-02-trafico-thumb.png\" alt=\"PrestaWard Facet Shield 0.1.16 : limite du nombre de requ\u00eates par adresse et d\u00e9tection des bots\" width=\"150\" height=\"125\" loading=\"lazy\" style=\"display:block;width:150px;height:auto;border:1px solid #dce4eb;border-radius:6px\"><span style=\"display:block;margin-top:4px;font-size:12px;color:#b6bcc7\">Trafic et bots<\/span><\/a><a href=\"\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-facet-shield-gallery\/v0116-es-03-estadisticas.png\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"display:block;width:150px;text-decoration:none;color:inherit\"><img decoding=\"async\" src=\"\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-facet-shield-gallery\/v0116-es-03-estadisticas-thumb.png\" alt=\"PrestaWard Facet Shield 0.1.16 : requ\u00eates analys\u00e9es, limites et blocages r\u00e9els\" width=\"150\" height=\"125\" loading=\"lazy\" style=\"display:block;width:150px;height:auto;border:1px solid #dce4eb;border-radius:6px\"><span style=\"display:block;margin-top:4px;font-size:12px;color:#b6bcc7\">Statistiques de trafic<\/span><\/a><a href=\"\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-facet-shield-gallery\/v0116-es-04-configuracion.png\" target=\"_blank\" rel=\"noopener noreferrer\" style=\"display:block;width:150px;text-decoration:none;color:inherit\"><img decoding=\"async\" src=\"\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-facet-shield-gallery\/v0116-es-04-configuracion-thumb.png\" alt=\"PrestaWard Facet Shield 0.1.16 : alertes par e-mail, auto-v\u00e9rification et simulateur de requ\u00eates\" width=\"150\" height=\"125\" loading=\"lazy\" style=\"display:block;width:150px;height:auto;border:1px solid #dce4eb;border-radius:6px\"><span style=\"display:block;margin-top:4px;font-size:12px;color:#b6bcc7\">Alertes et simulateur<\/span><\/a><\/div>\n<p style=\"margin:7px 0 0;font-size:11px;color:#b6bcc7\">Interface en espagnol \u00b7 version 0.1.16<\/p>\n<\/div><\/div>\n<div class=\"product-hero__card\">\n      <span>Observation + Protection + preuves<\/span><\/p>\n<ul class=\"product-hero__checks\">\n<li>Ne modifiez pas ps_facetedsearch<\/li>\n<li>Commencez toujours par Observation<\/li>\n<li>Statistiques agr\u00e9g\u00e9es ; aucune adresse IP enregistr\u00e9e<\/li>\n<li>PrestaShop 1.7, 8 et 9<\/li>\n<\/ul><\/div>\n<\/p><\/div>\n<\/section>\n<section class=\"section product-page-main product-page-main--prestaward\">\n<div class=\"container product-page-layout\">\n<article class=\"product-page-content product-page-content--editable\">\n<h2>Ce qu\u2019il fait<\/h2>\n<p>La recherche par facettes peut g\u00e9n\u00e9rer des combinaisons de filtres tr\u00e8s gourmandes en ressources. Un faible volume de requ\u00eates anormales peut \u00e9puiser les ressources, ralentir les cat\u00e9gories ou rendre une boutique inaccessible. PrestaWard Facet Shield analyse cette complexit\u00e9 avant que le module de facettes ne traite la requ\u00eate.<\/p>\n<p>Il ne remplace pas le moteur de recherche et ne modifie pas ses index. Il agit comme un disjoncteur cibl\u00e9 : il analyse le mod\u00e8le de chaque requ\u00eate et, uniquement lorsque la politique est express\u00e9ment activ\u00e9e, rejette les combinaisons qui d\u00e9passent les limites configur\u00e9es.<\/p>\n<h2>Comment \u00e7a marche<\/h2>\n<ol>\n<li><strong>Observez d\u2019abord.<\/strong> Enregistrez de mani\u00e8re agr\u00e9g\u00e9e la complexit\u00e9 des requ\u00eates HTML et AJAX li\u00e9es \u00e0 la navigation par facettes.<\/li>\n<li><strong>Consultez les preuves.<\/strong> Le Back Office affiche les requ\u00eates analys\u00e9es, les requ\u00eates dans la limite, les d\u00e9passements, les blocages r\u00e9els, les histogrammes et la p\u00e9riode statistique.<\/li>\n<li><strong>Ajustez les limites.<\/strong> Vous pouvez contr\u00f4ler les filtres, les valeurs par facette et les requ\u00eates mal form\u00e9es en fonction du comportement r\u00e9el de votre catalogue, avec des limites sp\u00e9cifiques \u00e0 une cat\u00e9gorie ou \u00e0 toutes celles d&rsquo;un niveau du catalogue.<\/li>\n<li><strong>N&rsquo;activez la Protection que lorsqu&rsquo;elle a \u00e9t\u00e9 valid\u00e9e.<\/strong> La modification n\u00e9cessite une confirmation et est propre \u00e0 chaque boutique.<\/li>\n<\/ol>\n<h2>Ce que cela comprend<\/h2>\n<ul>\n<li>Mode \u00ab Observation s\u00e9curis\u00e9e \u00bb par d\u00e9faut et mode \u00ab Protection explicite \u00bb.<\/li>\n<li>Inscription automatique \u00e0 l\u2019Integrity API : aucun compte ni cl\u00e9 \u00e0 configurer.<\/li>\n<li>Analyse pr\u00e9coce de la complexit\u00e9 des requ\u00eates de navigation \u00e0 facettes en HTML et AJAX.<\/li>\n<li>Limites configurables par boutique pour les facettes, les valeurs et le contexte de la requ\u00eate.<\/li>\n<li>Tableau de bord avec agr\u00e9gats par minute, histogramme de complexit\u00e9 et motifs d&rsquo;exc\u00e8s traduits.<\/li>\n<li>Panneau des limites sugg\u00e9r\u00e9es : \u00e0 partir du trafic enregistr\u00e9 en mode Observation, il propose une valeur pour chaque limite, indique le nombre de requ\u00eates bloqu\u00e9es par les limites actuelles et celui qui serait bloqu\u00e9 par la suggestion, et explique la cause principale en langage clair, par exemple quel filtre de quelle cat\u00e9gorie est \u00e0 l\u2019origine de la majeure partie du d\u00e9passement. Un bouton permet d\u2019appliquer les quatre limites sugg\u00e9r\u00e9es \u00e0 la boutique s\u00e9lectionn\u00e9e sans modifier le mode.<\/li>\n<li>Suggestions robustes : une suggestion n\u2019est jamais plus stricte que la limite par d\u00e9faut et ne va jamais au-del\u00e0 de la politique sign\u00e9e d\u2019Integrity. Si quelques cat\u00e9gories concentrent les requ\u00eates d\u00e9passant une limite, la suggestion est calcul\u00e9e \u00e0 partir des autres cat\u00e9gories, sans assouplir cette limite, et le tableau de bord explique quelle part du d\u00e9passement provient de combien de cat\u00e9gories.<\/li>\n<li>Statistiques avec dur\u00e9e de conservation configurable (90 jours par d\u00e9faut, comprise entre 30 et 365) : les enregistrements par minute sont regroup\u00e9s par heure et ceux qui ont expir\u00e9 sont supprim\u00e9s par lots en arri\u00e8re-plan, jamais pendant la mise \u00e0 disposition d\u2019une page \u00e0 un client.<\/li>\n<li>Le diagnostic des bots conserve les \u00e9chantillons les plus r\u00e9cents (500 par d\u00e9faut, configurable entre 50 et 5 000) et supprime les plus anciens au lieu de cesser l&rsquo;enregistrement.<\/li>\n<li>Le panneau de cache des facettes, qui distingue les tables de cache de celles des index, montre l\u2019\u00e9volution de la taille au cours des derniers jours, avec une alerte en cas de croissance rapide, et renvoie vers la configuration native de <code>ps_facetedsearch<\/code>, o\u00f9 se trouvent les outils permettant de reconstruire les index et de vider le cache. Facet Shield se contente de lire ces tables et ne les modifie ni ne les supprime jamais.<\/li>\n<li>Panneau nettement plus rapide dans les boutiques enregistrant un trafic important : il calcule les statistiques, les tendances et les limites sugg\u00e9r\u00e9es \u00e0 partir de deux relev\u00e9s et conserve le r\u00e9sultat pendant dix minutes dans un fichier cache temporaire.<\/li>\n<li>Synchronisation avec Integrity \u00e0 l&rsquo;ouverture du panneau, via une requ\u00eate en arri\u00e8re-plan qui ne ralentit pas le chargement de la page, \u00e0 raison d&rsquo;au maximum une fois par minute et par boutique.<\/li>\n<li>Limites par cat\u00e9gorie et par niveau du catalogue : une cat\u00e9gorie, ou toutes celles d\u2019un m\u00eame niveau, peut disposer de ses propres limites (taille de la requ\u00eate, facettes, valeurs totales et valeurs au sein d\u2019une facette) ; une limite laiss\u00e9e vide utilise le niveau suivant et les limites globales restent la base. La politique sign\u00e9e d\u2019Integrity limite \u00e9galement les limites par cat\u00e9gorie.<\/li>\n<li>Limites sugg\u00e9r\u00e9es par cat\u00e9gorie : le panneau r\u00e9pertorie les cat\u00e9gories n\u00e9cessitant une autre limite, en indiquant le nombre de requ\u00eates \u00e0 partir duquel le blocage s\u2019appliquerait actuellement ainsi que la suggestion, et permet d\u2019appliquer une cat\u00e9gorie d\u2019un simple clic. Une cat\u00e9gorie identifi\u00e9e comme relevant d\u2019une exploration automatis\u00e9e ne fait jamais l\u2019objet d\u2019un assouplissement.<\/li>\n<li>Protection pilote par cat\u00e9gorie : lorsque la boutique est en mode \u00ab Observation \u00bb, vous pouvez faire en sorte que seules les cat\u00e9gories de votre choix soient bloqu\u00e9es, tandis que les autres restent en mode \u00ab Observation \u00bb. Cela n\u00e9cessite une politique d\u2019Integrity valide et sign\u00e9e, ainsi qu\u2019une confirmation explicite par cat\u00e9gorie ; pour d\u00e9sactiver cette fonction, un simple clic suffit.<\/li>\n<li>Limite de requ\u00eates par adresse (facultatif) : compte le nombre de requ\u00eates filtr\u00e9es par minute et par adresse (30 par minute par d\u00e9faut, entre 5 et 600). Au-del\u00e0 de cette limite, en mode \u00ab Protection \u00bb, l\u2019adresse est temporairement bloqu\u00e9e (une heure par d\u00e9faut, jusqu\u2019\u00e0 24 heures) avec le code HTTP 429 et l\u2019en-t\u00eate Retry-After ; en mode \u00ab Observation \u00bb, elle est simplement comptabilis\u00e9e. Aucune adresse IP n\u2019est enregistr\u00e9e, seulement un hachage avec une cl\u00e9 qui est supprim\u00e9 peu apr\u00e8s la fin du blocage ; il n\u2019y a donc pas de liste noire permanente. Les adresses et plages de votre liste blanche ne sont jamais comptabilis\u00e9es et une d\u00e9faillance de la base de donn\u00e9es ne bloque jamais un client.<\/li>\n<li>Moteurs de recherche v\u00e9rifi\u00e9s : dans la section \u00ab Protection \u00bb, un Googlebot ou un Bingbot dont les DNS inverses et directs correspondent aux serveurs officiels re\u00e7oit une r\u00e9ponse all\u00e9g\u00e9e avec l\u2019attribut \u00ab noindex \u00bb et l\u2019URL canonique de la cat\u00e9gorie au lieu d\u2019un code d\u2019erreur 403, de sorte que l\u2019URL du filtre soit retir\u00e9e de l\u2019index sans ex\u00e9cuter de requ\u00eate SQL de filtrage. Seuls ceux qui se pr\u00e9sentent comme l\u2019un de ces moteurs de recherche sont interrog\u00e9s.<\/li>\n<li>Signes de faux positifs : les requ\u00eates qui d\u00e9passent les limites sont \u00e9galement comptabilis\u00e9es lorsqu\u2019elles proviennent d\u2019un client connect\u00e9, d\u2019un moteur de recherche v\u00e9rifi\u00e9 ou d\u2019une rafale rapide de dix requ\u00eates ou plus par minute, et les statistiques indiquent ces trois chiffres ainsi que leur proportion.<\/li>\n<li>Alertes par e-mail (facultatives), avec les param\u00e8tres de messagerie de la boutique : augmentation rapide de la taille du cache (au maximum une fois par jour), pics de requ\u00eates bloqu\u00e9es (au maximum toutes les six heures) et un r\u00e9capitulatif hebdomadaire, pour un maximum de cinq destinataires de votre choix, avec un bouton d\u2019envoi d\u2019e-mail de test. Pas de PDF ni de liens dans le texte, et les e-mails sont envoy\u00e9s depuis la maintenance en arri\u00e8re-plan, jamais lors de l\u2019affichage d\u2019une page \u00e0 un client.<\/li>\n<li>Vid\u00e9age automatique du cache (facultatif) : lorsque le cache de la recherche par facettes d\u00e9passe la taille que vous avez choisie, Facet Shield demande \u00e0 <code>ps_facetedsearch<\/code> de vider son propre cache \u00e0 l\u2019aide de la m\u00e9thode propos\u00e9e par ce module, au maximum une fois par jour, et consigne cette op\u00e9ration dans le journal d\u2019assistance. Si la version install\u00e9e ne dispose pas de cette m\u00e9thode, aucune modification n\u2019est effectu\u00e9e.<\/li>\n<li>Avertissement concernant les versions vuln\u00e9rables d\u2019 <code>ps_facetedsearch<\/code> (de la 3.0.0 \u00e0 la 4.0.3, CVE-2026-54159, corrig\u00e9e dans la version 4.0.4), \u00e0 partir d\u2019un petit tableau inclus dans le module, sans aucun t\u00e9l\u00e9chargement.<\/li>\n<li>Panneau \u00e0 onglets (Aper\u00e7u, Limites et cat\u00e9gories, Trafic et bots, Statistiques, Cache et maintenance et Configuration, plus un onglet Assistance, toujours le dernier) : seul l&rsquo;onglet ouvert est pris en compte et l\u2019aper\u00e7u affiche le mode, les derni\u00e8res 24 heures, une action principale et, au maximum, une ligne d\u2019alerte.<\/li>\n<li>R\u00e9initialisation prot\u00e9g\u00e9e des statistiques par boutique.<\/li>\n<li>Onglet \u00ab Limites et cat\u00e9gories \u00bb organis\u00e9 sous forme de fiches : limites globales, impact des suggestions avec des boutons de taille normale et tableau des r\u00e8gles par cat\u00e9gorie avec un formulaire permettant d\u2019en ajouter une autre. L\u2019onglet \u00ab Cache \u00bb utilise des blocs repliables et une seule ligne de statistiques.<\/li>\n<li>E-mails d&rsquo;alerte comportant le logo de votre boutique dans l&rsquo;en-t\u00eate et, en pied de page, le logo de GO ON Agency accompagn\u00e9 de la mention \u00ab PrestaWard by GO ON Agency \u00bb.<\/li>\n<li>Aspect unifi\u00e9 du panneau dans les quatre modules PrestaWard : en-t\u00eates de section, fiches de formulaire aux bordures neutres et blocs repliables communs, statistiques sur une seule ligne et un logo GO ON Agency plus grand dans l\u2019en-t\u00eate. Le bouton principal adopte d\u00e9sormais une couleur unie conforme \u00e0 l\u2019identit\u00e9 visuelle de la marque, sans d\u00e9grad\u00e9.<\/li>\n<li>R\u00e9ponses de blocage compr\u00e9hensibles (HTTP 403 ou HTTP 429 avec Retry-After dans la limite par adresse), sans d\u00e9voiler les d\u00e9tails internes de la politique.<\/li>\n<li>Exclusion de certaines cat\u00e9gories de l\u2019analyse de complexit\u00e9, avec des modifications v\u00e9rifiables.<\/li>\n<li>Avertissement dans le tableau de bord lorsque la taille estim\u00e9e du cache de la recherche par facettes atteint la limite que vous avez d\u00e9finie.<\/li>\n<li>Panneau d\u2019assistance de GO ON Agency proposant un rapport de diagnostic t\u00e9l\u00e9chargeable. Celui-ci est t\u00e9l\u00e9charg\u00e9 par un employ\u00e9 disposant d\u2019une autorisation de modification, apr\u00e8s avoir s\u00e9lectionn\u00e9 une boutique. Il ne contient que des versions, des \u00e9tats et des compteurs ; il n\u2019inclut ni URL de requ\u00eates, ni adresses IP, ni identifiants, et n\u2019est pas envoy\u00e9 automatiquement.<\/li>\n<li>Connexion \u00e0 PrestaWard Integrity, dont la politique sign\u00e9e ne peut que renforcer vos limites, jamais les assouplir. Sur l&rsquo;\u00e9cran du module, le bouton \u00ab Synchroniser \u00bb actualise la connexion.<\/li>\n<li>Panneau de configuration et traductions en neuf langues.<\/li>\n<\/ul>\n<h2>Contr\u00f4les effectu\u00e9s<\/h2>\n<p>Avant que PrestaShop ne construise la requ\u00eate de produits, Facet Shield examine le param\u00e8tre des filtres de la recherche par facettes. Les limites initiales sont de 256 octets pour le filtre, 8 facettes, 16 valeurs au total et 6 valeurs par facette ; les requ\u00eates comportant des filtres mal form\u00e9s sont rejet\u00e9es. Vous pouvez les modifier pour chaque boutique et, en outre, d\u00e9finir vos propres limites pour une cat\u00e9gorie ou pour toutes les cat\u00e9gories d\u2019un niveau du catalogue. Toute requ\u00eate d\u00e9passant l\u2019une de ces limites est consid\u00e9r\u00e9e comme un d\u00e9passement.<\/p>\n<h2>Exigences<\/h2>\n<ul>\n<li>PrestaShop de la version 1.7.7 \u00e0 la version 9, ainsi que la version de PHP requise par votre version de PrestaShop (PHP 7.1 ou sup\u00e9rieur pour PrestaShop 1.7).<\/li>\n<li>Une boutique utilisant la recherche \u00e0 facettes de PrestaShop : le module analyse le param\u00e8tre des filtres (<code>q<\/code>) des pages de cat\u00e9gories et de recherche.<\/li>\n<li>Pour activer la Protection, la boutique doit avoir enregistr\u00e9 au moins une requ\u00eate de facettes en mode Observation.<\/li>\n<li>Les alertes par e-mail utilisent les param\u00e8tres de messagerie de la boutique.<\/li>\n<li>Les limites, le mode et les statistiques sont propres \u00e0 chaque boutique. Pour t\u00e9l\u00e9charger le rapport d&rsquo;assistance ou modifier le diagnostic des bots, s\u00e9lectionnez une boutique sp\u00e9cifique.<\/li>\n<\/ul>\n<h2>Confidentialit\u00e9 et champ d&rsquo;application<\/h2>\n<p>Par d\u00e9faut, Facet Shield n&rsquo;enregistre que des m\u00e9triques agr\u00e9g\u00e9es de complexit\u00e9. Si vous activez le diagnostic des bots, qui est d\u00e9sactiv\u00e9 par d\u00e9faut, il conserve un \u00e9chantillon limit\u00e9 des requ\u00eates d\u00e9passant les limites : jusqu\u2019\u00e0 512 caract\u00e8res du filtre de facettes, le motif, le type de page, la cat\u00e9gorie, l\u2019agent utilisateur (jusqu\u2019\u00e0 255 caract\u00e8res), le compteur et les dates. Il n\u2019enregistre jamais les adresses IP, les cookies ni les URL compl\u00e8tes. Si vous activez la limite par adresse, il n\u2019enregistre qu\u2019un hachage avec cl\u00e9 de l\u2019adresse, qui est automatiquement supprim\u00e9 peu apr\u00e8s la fin du blocage. Les \u00e9chantillons les plus anciens sont automatiquement supprim\u00e9s d\u00e8s que le nombre maximal que vous avez d\u00e9fini (500 par d\u00e9faut) est d\u00e9pass\u00e9 ; l\u2019administrateur peut les supprimer depuis le module et ils peuvent \u00eatre export\u00e9s.<\/p>\n<p>Son champ d\u2019application couvre la navigation \u00e0 facettes dans les cat\u00e9gories et les recherches, tant pour les requ\u00eates normales que pour les requ\u00eates AJAX. Il n\u2019analyse pas les requ\u00eates sans filtres, ni le panier, la commande, les formulaires, les clients ou l\u2019acc\u00e8s administratif ; pour cela, des contr\u00f4les sp\u00e9cifiques sont n\u00e9cessaires.<\/p>\n<h2>Ce qu\u2019il ne fait pas<\/h2>\n<ul>\n<li>Il ne s&rsquo;agit pas d&rsquo;un pare-feu d&rsquo;applications web (WAF) : il s&rsquo;agit d&rsquo;une protection suppl\u00e9mentaire limit\u00e9e aux filtres de recherche par facettes.<\/li>\n<li>Il ne remplace ni ne corrige <code>ps_facetedsearch<\/code> et n\u2019en modifie pas les index. Il ne vide pas les caches de son propre chef : uniquement si vous activez la purge automatique, il demande \u00e0 ce module de vider son propre cache \u00e0 l\u2019aide de la m\u00e9thode qu\u2019il propose, au maximum une fois par jour, et ne supprime jamais ses tables. Vous devez maintenir \u00e0 jour PrestaShop et ce module.<\/li>\n<li>Il ne bloque rien en mode \u00ab Observation \u00bb, \u00e0 l\u2019exception des cat\u00e9gories que vous avez express\u00e9ment plac\u00e9es en \u00ab Protection pilote \u00bb, et ce uniquement tant qu\u2019une politique d\u2019Integrity valide a \u00e9t\u00e9 sign\u00e9e. Si la politique expire, le module se limite \u00e0 nouveau \u00e0 l\u2019observation jusqu\u2019\u00e0 ce qu\u2019elle soit renouvel\u00e9e.<\/li>\n<li>Il ne conserve pas de listes noires permanentes d\u2019adresses : le blocage li\u00e9 \u00e0 la limite par adresse est temporaire et s\u2019efface de lui-m\u00eame.<\/li>\n<li>Il ne fait rien si la requ\u00eate ne comporte pas de filtres.<\/li>\n<li>Le pied de page des e-mails du module ne contient ni liens, ni coordonn\u00e9es, ni images h\u00e9berg\u00e9es en dehors de votre boutique : le logo de GO ON Agency est un fichier provenant du module lui-m\u00eame et diffus\u00e9 depuis votre boutique.<\/li>\n<\/ul>\n<h2>Compatibilit\u00e9 et validation<\/h2>\n<p>Le module est d\u00e9clar\u00e9 compatible avec PrestaShop 1.7.7 \u00e0 9. La version 0.1.16 a pass\u00e9 avec succ\u00e8s les tests en laboratoire sur PrestaShop 1.7, 8 et 9 le 15 octobre 2026, aussi bien sur une installation vierge que lors d\u2019une mise \u00e0 jour depuis la version 0.1.15. Avant de l\u2019activer, veuillez v\u00e9rifier l\u2019installation, les filtres habituels, l\u2019Observation, la Protection, la mise \u00e0 jour et la d\u00e9sinstallation dans votre configuration sp\u00e9cifique de PrestaShop, PHP, th\u00e8me et modules.<\/p>\n<h2>Utilisation s\u00e9curis\u00e9e<\/h2>\n<p>N\u2019activez pas la Protection lors de l\u2019installation. Laissez le module en mode Observation, naviguez parmi les cat\u00e9gories et les filtres habituels, consultez les statistiques et d\u00e9finissez des limites qui n\u2019affectent pas les clients l\u00e9gitimes. Si une limite bloque la navigation r\u00e9elle, revenez en mode Observation, corrigez le seuil et validez \u00e0 nouveau.<\/p>\n<h2>Mise \u00e0 jour de s\u00e9curit\u00e9 requise<\/h2>\n<p>Facet Shield ajoute une protection sp\u00e9cifique contre les signatures compl\u00e8tes de s\u00e9rialisation PHP dans les requ\u00eates de facettes, m\u00eame si une cat\u00e9gorie est exclue. Il ne remplace pas le correctif officiel : pour rem\u00e9dier \u00e0 la vuln\u00e9rabilit\u00e9 connue du module de facettes, vous devez mettre \u00e0 jour <code>ps_facetedsearch<\/code> vers la version <strong>4.0.4 ou une version ult\u00e9rieure<\/strong>. Le tableau de bord vous avertit s\u2019il d\u00e9tecte une version concern\u00e9e (de la 3.0.0 \u00e0 la 4.0.3, CVE-2026-54159).<\/p>\n<h2>Licence<\/h2>\n<p>PrestaWard Facet Shield est distribu\u00e9 sous la licence Academic Free License 3.0 (AFL-3.0). Vous pouvez l\u2019utiliser, l\u2019\u00e9tudier, le modifier et le redistribuer conform\u00e9ment \u00e0 ses conditions. Le paquet du module comprend la licence compl\u00e8te.<\/p>\n<h2 id=\"registro-de-cambios\">Historique des versions<\/h2>\n<p>Ce journal des modifications r\u00e9sume, version par version, l&rsquo;impact pour les boutiques et les \u00e9quipes de commerce \u00e9lectronique.<\/p>\n<h3>0.1.16<\/h3>\n<ul>\n<li>Nouveau : limites par cat\u00e9gorie et par niveau du catalogue. Une cat\u00e9gorie, ou toutes celles d\u2019un m\u00eame niveau, peut disposer de ses propres limites (taille de la requ\u00eate, facettes, valeurs totales et valeurs au sein d\u2019une facette) ; une limite laiss\u00e9e vide utilise le niveau suivant et les limites globales restent la base. Une politique sign\u00e9e par Integrity limite \u00e9galement celles des cat\u00e9gories.<\/li>\n<li>Nouveau : limites sugg\u00e9r\u00e9es par cat\u00e9gorie. Le panneau r\u00e9pertorie les cat\u00e9gories n\u00e9cessitant une limite diff\u00e9rente, en indiquant le nombre de requ\u00eates \u00e0 partir duquel le blocage s\u2019appliquerait actuellement ainsi que la suggestion, et permet d\u2019appliquer une limite \u00e0 une cat\u00e9gorie d\u2019un simple clic. Il reprend la r\u00e8gle stricte de la suggestion globale : une cat\u00e9gorie qui semble relever d\u2019une exploration automatis\u00e9e ne fait jamais l\u2019objet d\u2019un assouplissement.<\/li>\n<li>Nouveau : Protection pilote par cat\u00e9gorie. Lorsque la boutique est en mode \u00ab Observation \u00bb, les cat\u00e9gories de votre choix peuvent bloquer l\u2019acc\u00e8s tandis que les autres se contentent d\u2019observer. Cela n\u00e9cessite une politique Integrity sign\u00e9e et valide (sans laquelle Facet Shield se contente d\u2019observer, comme auparavant) ainsi qu\u2019une confirmation explicite par cat\u00e9gorie ; il suffit d\u2019un clic pour mettre fin au mode pilote.<\/li>\n<li>Nouveau : limite de requ\u00eates par adresse, facultative. Compte les requ\u00eates filtr\u00e9es par minute et par adresse (30 par minute par d\u00e9faut, entre 5 et 600) ; au-del\u00e0 de cette limite, en mode \u00ab Protection \u00bb, l\u2019adresse est temporairement bloqu\u00e9e (une heure par d\u00e9faut, jusqu\u2019\u00e0 24 heures) avec le code d\u2019\u00e9tat HTTP 429 et l\u2019en-t\u00eate \u00ab Retry-After \u00bb, tandis qu\u2019en mode \u00ab Observation \u00bb, elle est simplement comptabilis\u00e9e. Aucune adresse IP n\u2019est enregistr\u00e9e : seul un hachage avec cl\u00e9 est conserv\u00e9, qui est supprim\u00e9 peu apr\u00e8s la fin du blocage ; il n\u2019y a donc pas de liste noire permanente. L\u2019adresse est celle que PrestaShop r\u00e9sout (\u00e0 l\u2019aide des proxys de confiance) ; les adresses et plages de votre liste blanche ne sont jamais comptabilis\u00e9es et un probl\u00e8me de base de donn\u00e9es ne bloque jamais un client.<\/li>\n<li>Nouveau : moteurs de recherche v\u00e9rifi\u00e9s. Dans la section \u00ab Protection \u00bb, un Googlebot ou un Bingbot dont les DNS inverses et directs correspondent aux serveurs officiels re\u00e7oit une r\u00e9ponse all\u00e9g\u00e9e avec \u00ab noindex \u00bb et l\u2019URL canonique de la cat\u00e9gorie au lieu d\u2019un code 403 ; ainsi, l\u2019URL du filtre est retir\u00e9e de l\u2019index et aucune requ\u00eate SQL de facettes n\u2019est ex\u00e9cut\u00e9e. Seuls ceux qui se pr\u00e9sentent comme l\u2019un de ces moteurs de recherche sont interrog\u00e9s ; le verdict est mis en cache (24 heures s\u2019il est valide, une heure dans le cas contraire) et les requ\u00eates sont limit\u00e9es par minute pour l\u2019ensemble des boutiques.<\/li>\n<li>Signes de faux positifs : les requ\u00eates qui d\u00e9passent les limites sont \u00e9galement comptabilis\u00e9es lorsqu\u2019elles proviennent d\u2019un client connect\u00e9, d\u2019un robot d\u2019indexation v\u00e9rifi\u00e9 ou d\u2019une rafale rapide de dix requ\u00eates ou plus par minute, et les statistiques indiquent ces trois chiffres avec leur proportion respective. Les rafales sont mesur\u00e9es tant que la limite par adresse est activ\u00e9e.<\/li>\n<li>Nouveau : alertes par e-mail, facultatives, via les param\u00e8tres de messagerie de la boutique : augmentation rapide de la taille du cache (au maximum une fois par jour), pics de requ\u00eates bloqu\u00e9es (au maximum toutes les six heures) et un r\u00e9capitulatif hebdomadaire distinct, pour un maximum de cinq destinataires de votre choix et avec un bouton d\u2019envoi d\u2019e-mail de test. Pas de PDF ni de liens dans le texte. Elles sont envoy\u00e9es depuis la maintenance en arri\u00e8re-plan, jamais lors de la mise \u00e0 disposition d\u2019une page \u00e0 un client.<\/li>\n<li>Nouveau : vidage automatique du cache, facultatif. Lorsque le cache de la recherche par facettes d\u00e9passe la taille que vous avez choisie, Facet Shield demande \u00e0 ps_facetedsearch de vider son propre cache \u00e0 l\u2019aide de la m\u00e9thode propos\u00e9e par ce module, au maximum une fois par jour, et consigne cette op\u00e9ration dans le journal d\u2019assistance. Si la version install\u00e9e ne dispose pas de cette m\u00e9thode, rien n\u2019est modifi\u00e9. Facet Shield continue de ne jamais effacer les tables d\u2019un autre module.<\/li>\n<li>Avertissement concernant les versions vuln\u00e9rables d\u2019 ps_facetedsearch, d\u2019apr\u00e8s un petit tableau inclus dans le module (aucun t\u00e9l\u00e9chargement n\u2019est n\u00e9cessaire) : les versions 3.0.0 \u00e0 4.0.3 sont concern\u00e9es par la faille CVE-2026-54159, corrig\u00e9e dans la version 4.0.4, et le panel recommande de proc\u00e9der \u00e0 la mise \u00e0 jour.<\/li>\n<li>Le panneau est organis\u00e9 en onglets (R\u00e9sum\u00e9, Limites et cat\u00e9gories, Trafic et bots, Statistiques, Cache et maintenance, et Configuration). L\u2019onglet R\u00e9sum\u00e9 affiche uniquement le mode, les derni\u00e8res 24 heures, une action principale et, au maximum, une ligne d\u2019alerte ; seul l\u2019onglet ouvert est pris en compte dans le calcul. Le tableau de bord d\u2019assistance de GO ON Agency dispose de son propre onglet, \u00ab Assistance \u00bb, toujours le dernier, et l\u2019\u00e9tat d\u2019Integrity appara\u00eet \u00e0 la fin de tous les onglets. L\u2019en-t\u00eate affiche d\u00e9sormais le logo de GO ON Agency.<\/li>\n<li>L&rsquo;onglet \u00ab Limites et cat\u00e9gories \u00bb est organis\u00e9 en fiches : limites globales, impact des suggestions avec des boutons de taille normale et tableau des r\u00e8gles par cat\u00e9gorie avec un formulaire permettant d&rsquo;en ajouter une autre. L&rsquo;onglet \u00ab Cache \u00bb utilise des blocs repliables et une seule ligne de statistiques.<\/li>\n<li>Les e-mails d&rsquo;alerte affichent le logo de votre boutique dans l&rsquo;en-t\u00eate (avec le nom de la boutique comme texte alternatif) et un pied de page commun comportant le logo de GO ON Agency et la signature \u00ab PrestaWard by GO ON Agency \u00bb, sans liens ni coordonn\u00e9es. Le logo du pied de page est un fichier provenant du module lui-m\u00eame et mis \u00e0 disposition depuis vos boutiques.<\/li>\n<li>Aspect unifi\u00e9 du panneau dans les quatre modules PrestaWard : en-t\u00eates de section, fiches de formulaire aux bordures neutres et blocs repliables communs, statistiques sur une seule ligne et un logo GO ON Agency plus grand dans l\u2019en-t\u00eate. Le bouton principal adopte d\u00e9sormais une couleur unie conforme \u00e0 l\u2019identit\u00e9 visuelle de la marque, sans d\u00e9grad\u00e9.<\/li>\n<li>Corrige le fait que, dans PrestaShop 9, le th\u00e8me d&rsquo;administration affichait les onglets soulign\u00e9s comme des liens et les titres de section en majuscules. Les styles communs neutralisent cet effet uniquement au sein du panneau PrestaWard ; ainsi, PrestaShop 1.7 et 8 s&rsquo;affichent comme auparavant.<\/li>\n<li>Corrige le fait que, dans PrestaShop 1.7, la feuille de style du module \u00e9tait ignor\u00e9e lorsqu\u2019elle \u00e9tait enregistr\u00e9e avec le num\u00e9ro de version dans l\u2019adresse. D\u00e9sormais, le fichier est v\u00e9rifi\u00e9 et enregistr\u00e9 sans param\u00e8tres, de sorte que le nouveau th\u00e8me s\u2019affiche dans les versions 1.7, 8 et 9.<\/li>\n<li>Corrige le fait que, dans PrestaShop 9, les formulaires d\u2019action du panneau et la synchronisation avec Integrity v\u00e9rifiaient le jeton de s\u00e9curit\u00e9 \u00e0 l\u2019aide d\u2019une m\u00e9thode que PrestaShop 9 n\u2019utilise pas, ce qui pouvait entra\u00eener leur rejet. La validation s\u2019effectue d\u00e9sormais via le service de PrestaShop 9 ; dans PrestaShop 1.7 et 8, la v\u00e9rification reste inchang\u00e9e.<\/li>\n<li>Lorsque la connexion \u00e0 Integrity ne peut pas \u00eatre mise \u00e0 jour pour le moment, le panneau affiche un seul message : la connexion enregistr\u00e9e reste valide et une nouvelle tentative sera effectu\u00e9e automatiquement. Les libell\u00e9s de tous les onglets sont traduits dans les neuf langues.<\/li>\n<li>Corrige la d\u00e9gradation de la connexion avec Integrity dans le contexte \u00ab toutes les boutiques \u00bb : l\u2019identit\u00e9 de l\u2019installation est d\u00e9sormais lue en une seule fois \u00e0 partir de la port\u00e9e globale (ou de la boutique qui la stocke) quel que soit le contexte ; la mise \u00e0 jour transf\u00e8re vers la port\u00e9e globale une identit\u00e9 stock\u00e9e dans une boutique sans la r\u00e9g\u00e9n\u00e9rer et, si elle ne peut pas \u00eatre lue, l\u2019\u00e9tat d\u2019Integrity reste inchang\u00e9.<\/li>\n<li>Corrige le d\u00e9calage de quelques pixels du tableau de l&rsquo;onglet \u00ab Cache \u00bb sur les ordinateurs de bureau : le conteneur occupe d\u00e9sormais l&rsquo;espace entre ses marges.<\/li>\n<li>Tous les nouveaux textes sont disponibles dans les neuf langues du module. La mise \u00e0 jour ajoute un petit tableau et trois compteurs aux statistiques de requ\u00eates et n\u2019active rien en soi ; le contrat avec l\u2019Integrity API reste inchang\u00e9 et seule une politique sign\u00e9e valide peut encore renforcer les limites.<\/li>\n<\/ul>\n<h3>0.1.15<\/h3>\n<ul>\n<li>Les statistiques de requ\u00eates ne continuent plus \u00e0 cro\u00eetre ind\u00e9finiment : toutes les heures, les enregistrements par minute datant de plus d\u2019une heure sont regroup\u00e9s en un seul par heure sans modifier les totaux ni les graphiques, et ceux ant\u00e9rieurs \u00e0 la nouvelle dur\u00e9e \u00ab Conservation des statistiques (jours) \u00bb (90 par d\u00e9faut, comprise entre 30 et 365) sont supprim\u00e9s par petits lots en arri\u00e8re-plan, jamais pendant qu\u2019une page est servie \u00e0 un client.<\/li>\n<li>Le diagnostic des bots ne cesse plus de collecter des \u00e9chantillons une fois le seuil de 500 atteint : il conserve les plus r\u00e9cents et supprime les plus anciens. Ce comportement est contr\u00f4l\u00e9 par le param\u00e8tre \u00ab \u00c9chantillons de diagnostic \u00e0 conserver \u00bb (500 par d\u00e9faut, entre 50 et 5 000).<\/li>\n<li>Nouveau panneau \u00ab Limites sugg\u00e9r\u00e9es \u00bb : \u00e0 partir du trafic enregistr\u00e9 en mode Observation, il propose une valeur pour chaque limite (taille de la requ\u00eate, facettes, valeurs totales et valeurs dans une facette), indique le nombre de requ\u00eates bloqu\u00e9es par les limites actuelles et celui que bloquerait la suggestion, et explique la cause principale, par exemple quel filtre de quelle cat\u00e9gorie entra\u00eene le plus de d\u00e9passements. Un bouton permet d\u2019appliquer les quatre limites sugg\u00e9r\u00e9es \u00e0 la boutique s\u00e9lectionn\u00e9e sans changer de mode.<\/li>\n<li>Les suggestions ne sont jamais plus strictes que la limite par d\u00e9faut, elles n\u2019assouplissent jamais une limite et respectent la politique d\u2019Integrity sign\u00e9e lorsqu\u2019elle est plus stricte. Si quelques cat\u00e9gories concentrent les requ\u00eates d\u00e9passant une limite, la suggestion est calcul\u00e9e sur le reste ; le tableau de bord indique quelle part du d\u00e9passement provient de combien de cat\u00e9gories et cette limite n\u2019est pas modifi\u00e9e lors de l\u2019application.<\/li>\n<li>Le panneau de cache de la recherche par facettes distingue les tables de cache des tables d\u2019index, affiche l\u2019\u00e9volution de leur taille au cours des derniers jours avec une alerte en cas de croissance rapide, r\u00e9pertorie les boutiques o\u00f9 ps_facetedsearch est manquant ou d\u00e9sactiv\u00e9 et renvoie vers sa configuration native. Facet Shield se contente de lire ces tables : il ne les modifie ni ne les supprime jamais.<\/li>\n<li>Le panneau est nettement plus rapide dans les boutiques enregistrant un trafic important : avec plus d\u2019un demi-million d\u2019enregistrements, le temps de chargement passe d\u2019environ 20 secondes \u00e0 quelques secondes, et \u00e0 une fraction de seconde si vous le rouvrez dans les dix minutes. Les chiffres affich\u00e9s ne changent pas.<\/li>\n<li>Tous les nouveaux textes sont disponibles dans les neuf langues du module.<\/li>\n<li>Le panneau d\u2019assistance et de diagnostic est plac\u00e9 juste avant la section Integrity, comme dans les autres modules PrestaWard, et dans le contexte \u00ab toutes les boutiques \u00bb, il ne dispara\u00eet plus : cela indique qu\u2019il faut s\u00e9lectionner une boutique.<\/li>\n<li>Se synchronise avec Integrity \u00e0 chaque ouverture du tableau de bord, via une requ\u00eate en arri\u00e8re-plan qui ne ralentit jamais le chargement de la page, \u00e0 raison d\u2019au maximum une fois par minute et par boutique.<\/li>\n<\/ul>\n<h3>0.1.14<\/h3>\n<ul>\n<li>Cesse de r\u00e9essayer l\u2019inscription \u00e0 Integrity lorsque la cl\u00e9 d\u2019enregistrement de la boutique change et affiche un message d\u2019avertissement clair.<\/li>\n<li>Renouvelle la politique Integrity sign\u00e9e avant son expiration et conserve la politique en vigueur ainsi que ses limites en cas d&rsquo;\u00e9chec du renouvellement.<\/li>\n<li>Une politique Integrity sign\u00e9e ne peut que renforcer les limites configur\u00e9es dans la boutique, jamais les assouplir : pour la taille, le nombre de facettes, de valeurs et de valeurs par facette, c\u2019est la plus petite valeur entre votre limite et celle de la politique qui s\u2019applique, et c\u2019est vous qui d\u00e9cidez du mode (Observation ou Protection).<\/li>\n<li>Corrige la cl\u00e9 de politique incluse afin qu\u2019elle fonctionne sous PHP 7.1 et 7.2.<\/li>\n<li>Ajoute le panneau d\u2019assistance de GO ON Agency en neuf langues, avec un rapport de diagnostic t\u00e9l\u00e9chargeable qui ne contient pas de donn\u00e9es clients et n\u2019est pas envoy\u00e9 automatiquement. Seul un employ\u00e9 disposant d\u2019une autorisation de modification et ayant s\u00e9lectionn\u00e9 une boutique peut le t\u00e9l\u00e9charger.<\/li>\n<li>D\u00e9clare la compatibilit\u00e9 \u00e0 partir de PrestaShop 1.7.7.0, la version la plus ancienne test\u00e9e.<\/li>\n<\/ul>\n<h3>0.1.13<\/h3>\n<ul>\n<li>Corrige le test d&rsquo;inscription et les t\u00e2ches du Back Office dans PrestaShop 9.<\/li>\n<li>Accepte les deux formats valides d\u2019URL de test de propri\u00e9t\u00e9 avec une validation stricte.<\/li>\n<li>Am\u00e9liore le diagnostic et les nouvelles tentatives d&rsquo;inscription dans Integrity.<\/li>\n<\/ul>\n<h3>0.1.12<\/h3>\n<ul>\n<li>La d\u00e9sinstallation supprime \u00e9galement la table des exclusions par cat\u00e9gorie ainsi que toutes les cl\u00e9s de configuration d\u2019Integrity (phase d\u2019installation, test d\u2019inscription, identifiant scell\u00e9 et cl\u00e9s), sans laisser de trace.<\/li>\n<li>Ajoute les <code>index.php<\/code> de protection manquants ainsi que la v\u00e9rification d\u2019acc\u00e8s direct via <code>_PS_VERSION_<\/code> dans le contr\u00f4leur du Back Office et dans les trois derniers scripts de mise \u00e0 jour, tout comme dans les autres points d\u2019entr\u00e9e du module.<\/li>\n<li>Adopte le syst\u00e8me de design partag\u00e9 de PrestaWard : le tableau de bord du Back Office utilise l\u2019en-t\u00eate sombre commun, l\u2019indicateur d\u2019\u00e9tat unifi\u00e9 (D\u00e9sactiv\u00e9\/Observe\/Prot\u00e8ge) et le panneau \u00ab Surveillance GO ON \u00bb, servis depuis une feuille de style unique, partag\u00e9e et h\u00e9berg\u00e9e en local.<\/li>\n<\/ul>\n<h3>0.1.11 \u2014 mise \u00e0 jour de s\u00e9curit\u00e9<\/h3>\n<ul>\n<li>Les exclusions par cat\u00e9gorie ne font qu\u2019\u00e9viter l\u2019analyse normale de complexit\u00e9 : les signatures compl\u00e8tes de s\u00e9rialisation PHP continuent d\u2019\u00eatre analys\u00e9es, enregistr\u00e9es et bloqu\u00e9es syst\u00e9matiquement en mode Protection.<\/li>\n<li>La documentation pr\u00e9cise que <code>ps_facetedsearch<\/code> 4.0.4 ou une version ult\u00e9rieure est n\u00e9cessaire pour corriger la vuln\u00e9rabilit\u00e9 CVE-2026-54159 ; Facet Shield reste un dispositif de d\u00e9fense en profondeur, et ne remplace pas le correctif officiel.<\/li>\n<\/ul>\n<h3>0.1.10<\/h3>\n<ul>\n<li>Simulateur d&rsquo;URL local ou <code>q<\/code>, tendance quotidienne bas\u00e9e sur les agr\u00e9gats existants et les exportations CSV limit\u00e9es.<\/li>\n<li>Exclusions v\u00e9rifiables par cat\u00e9gorie, avec motif obligatoire et suppression logique ; les adresses IP et les user-agents ne sont pas exclus.<\/li>\n<li>La premi\u00e8re activation de la Protection n\u00e9cessite des preuves issues de l\u2019Observation et calcule une estimation prudente de l\u2019impact avec la politique candidate ; en l\u2019absence de requ\u00eates observ\u00e9es, elle ne permet pas d\u2019activer le blocage.<\/li>\n<li>Tous les r\u00e9pertoires de production du pack contiennent un fichier <code>index.php<\/code> qui met fin \u00e0 l&rsquo;ex\u00e9cution, y compris <code>views\/js<\/code>.<\/li>\n<li>Ce guide explique comment r\u00e9inscrire Integrity par boutique apr\u00e8s avoir effectu\u00e9 une rotation de <code>_COOKIE_KEY_<\/code>, sans r\u00e9cup\u00e9rer ni partager la cl\u00e9 pr\u00e9c\u00e9dente.<\/li>\n<li>Protection suppl\u00e9mentaire contre les en-t\u00eates de s\u00e9rialisation PHP complets dans les requ\u00eates de facettes, sans bloquer les valeurs normales contenant du texte telles que <code>O:<\/code>.<\/li>\n<li>Avis configurable par boutique lorsque l&rsquo;estimation du cache de recherche \u00e0 facettes d\u00e9passe le seuil d\u00e9fini ; le module ne supprime ni ne met \u00e0 jour quoi que ce soit automatiquement.<\/li>\n<li>Les tentatives de reconnexion et les \u00ab heartbeats \u00bb d\u2019Integrity ne s\u2019ex\u00e9cutent plus au sein du rendu synchrone d\u2019aucune page du Back Office : ils sont programm\u00e9s via une requ\u00eate asynchrone authentifi\u00e9e et limit\u00e9e.<\/li>\n<li>La requ\u00eate du r\u00e9sum\u00e9 d&rsquo;\u00e9v\u00e9nements h\u00e9rit\u00e9 est supprim\u00e9e sans effacer les donn\u00e9es historiques, et le panneau de mises \u00e0 jour existant est conserv\u00e9 comme unique avis de nouvelles versions.<\/li>\n<\/ul>\n<h3>0.1.9<\/h3>\n<ul>\n<li>L&rsquo;inscription utilise d\u00e9sormais le r\u00e9partiteur de modules natif de PrestaShop et ne d\u00e9pend plus des URL conviviales, des r\u00e8gles de <code>.htaccess<\/code> ou des caches de routes.<\/li>\n<li>La mise \u00e0 jour \u00e0 partir des versions ant\u00e9rieures corrige de mani\u00e8re idempotente les hooks n\u00e9cessaires sans supprimer les politiques ni les statistiques.<\/li>\n<li>\u00c0 l&rsquo;ouverture du tableau de bord, le syst\u00e8me v\u00e9rifie automatiquement s&rsquo;il existe une nouvelle version, avec un cache de six heures et sans bloquer le Back Office si le manifeste ne r\u00e9pond pas.<\/li>\n<li>Fonctionnement valid\u00e9 sur PrestaShop 1.7, 8 et 9.<\/li>\n<\/ul>\n<h3>0.1.8<\/h3>\n<ul>\n<li>La protection se limite aux contr\u00f4leurs r\u00e9els de cat\u00e9gorie et de recherche, ce qui \u00e9vite de bloquer les param\u00e8tres <code>q<\/code> qui ne rel\u00e8vent pas des facettes.<\/li>\n<li>Les requ\u00eates <code>HEAD<\/code> bloqu\u00e9es renvoient uniquement des en-t\u00eates, sans corps.<\/li>\n<li>Le diagnostic identifie l\u2019agent tel qu\u2019il est d\u00e9clar\u00e9 et explique correctement l\u2019extrait abr\u00e9g\u00e9 de l\u2019agent utilisateur qui est conserv\u00e9 de mani\u00e8re facultative.<\/li>\n<li>Integrity se pr\u00e9sente avec un minimum d&rsquo;informations sur la connexion et la synchronisation, sans d\u00e9tails internes susceptibles de d\u00e9router l&rsquo;utilisateur.<\/li>\n<li>Compatibilit\u00e9 fonctionnelle valid\u00e9e sur PrestaShop 1.7, 8 et 9.<\/li>\n<\/ul>\n<h3>0.1.7<\/h3>\n<ul>\n<li>Heartbeat automatique sans cron : le trafic de la boutique d\u00e9clenche une requ\u00eate locale limit\u00e9e et le serveur confirme sa pr\u00e9sence aupr\u00e8s de l\u2019Integrity API sans exposer les identifiants au navigateur.<\/li>\n<li>Verrouillage atomique par boutique, intervalle de six heures et d\u00e9lai d\u2019attente de quinze minutes apr\u00e8s les \u00e9checs afin d\u2019\u00e9viter les envois en double.<\/li>\n<li>La synchronisation manuelle d\u2019Integrity renouvelle \u00e9galement le \u00ab heartbeat \u00bb.<\/li>\n<li>Compatibilit\u00e9 valid\u00e9e avec PrestaShop 1.7, 8 et 9.<\/li>\n<\/ul>\n<h3>0.1.6<\/h3>\n<ul>\n<li>Heartbeat authentifi\u00e9, tentatives automatiques et diagnostic d\u00e9taill\u00e9 de la connexion avec l\u2019Integrity API.<\/li>\n<li>Diagnostic facultatif \u00e9galement disponible en mode Observation, avec identification de l\u2019agent, filtres par bot et motif, pagination et \u00e9chantillon restreint issu de la combinaison des facettes.<\/li>\n<li>Conservation contr\u00f4l\u00e9e par l\u2019administrateur : nombre d\u2019\u00e9chantillons, espace estim\u00e9 et suppression manuelle depuis le Back Office.<\/li>\n<li>Indicateurs visuels et en lecture seule concernant la taille, le nombre estim\u00e9 d&rsquo;enregistrements et les tables du cache des facettes.<\/li>\n<li>Interface r\u00e9organis\u00e9e : modes et activation de la Protection sous \u00ab Ce qu\u2019il fait \u00bb, sections d\u00e9limit\u00e9es et Integrity API rel\u00e9gu\u00e9e \u00e0 la fin.<\/li>\n<li>Pas d\u2019adresse IP, de cookies ni d\u2019URL compl\u00e8tes ; textes disponibles en neuf langues.<\/li>\n<li>Installation, blocage, diagnostic, cache, d\u00e9sinstallation et r\u00e9installation v\u00e9rifi\u00e9s sur PrestaShop 1.7, 8 et 9.<\/li>\n<\/ul>\n<h3>0.1.5<\/h3>\n<ul>\n<li>Inscription automatique et non bloquante dans l\u2019Integrity API via un test de v\u00e9rification de la boutique.<\/li>\n<li>L&rsquo;installation ne n\u00e9cessite ni compte, ni cl\u00e9 API, ni \u00e9tape d&rsquo;enregistrement manuel.<\/li>\n<li>Les politiques sign\u00e9es ont \u00e9t\u00e9 v\u00e9rifi\u00e9es \u00e0 l&rsquo;aide d&rsquo;ancres de confiance incluses dans la version.<\/li>\n<\/ul>\n<h3>0.1.4<\/h3>\n<ul>\n<li>Histogrammes de complexit\u00e9 et de comptage atomique pour toutes les requ\u00eates analys\u00e9es.<\/li>\n<li>Limites des valeurs par facette, requ\u00eates mal form\u00e9es et contexte de requ\u00eate restreint.<\/li>\n<li>Statut Observation, d\u00e9but de la p\u00e9riode statistique et r\u00e9initialisation prot\u00e9g\u00e9e par boutique.<\/li>\n<li>Motifs et statistiques traduits.<\/li>\n<\/ul>\n<h3>0.1.3<\/h3>\n<ul>\n<li>Indicateurs des requ\u00eates analys\u00e9es, des requ\u00eates dans la limite, des d\u00e9passements et des blocages r\u00e9els.<\/li>\n<li>Agr\u00e9gats par boutique et par minute, sans adresse IP, URL, agent utilisateur ni valeurs s\u00e9lectionn\u00e9es.<\/li>\n<li>S\u00e9lecteur de mode accessible et shell visuel PrestaWard pour ordinateur de bureau et mobile.<\/li>\n<\/ul>\n<h3>0.1.2<\/h3>\n<ul>\n<li>Identit\u00e9 d&rsquo;installation et de boutique pr\u00e9par\u00e9e pour Integrity API.<\/li>\n<li>Politique sign\u00e9e avec le dernier statut valide par boutique et retour s\u00e9curis\u00e9 au mode Observation.<\/li>\n<li>\u00c9tat de la connexion et nouvelle tentative manuelle depuis le Back Office, sans appel depuis le Front-Office.<\/li>\n<\/ul>\n<\/article>\n<aside class=\"product-page-aside\">\n<div class=\"product-page-aside__card product-page-aside__card--cta\">\n<h2>Guide et assistance<\/h2>\n<p>Installez-le d&rsquo;abord en mode Observation et n&rsquo;activez les limites qu&rsquo;avec des donn\u00e9es r\u00e9elles.<\/p>\n<p><a href=\"https:\/\/go-onagency.es\/prestaward-facet-shield\/prestaward-facet-shield-user-guide.pdf\" target=\"_blank\" rel=\"noopener\">Ouvrir le guide d&rsquo;utilisation<\/a><\/p>\n<\/p><\/div>\n<div class=\"product-page-aside__card product-page-aside__card--contact\">\n<p class=\"eyebrow\">GO ON Agency<\/p>\n<h2>Avez-vous besoin de v\u00e9rifier les limites ?<\/h2>\n<p>Nous pouvons vous aider \u00e0 analyser le trafic li\u00e9 aux facettes et \u00e0 d\u00e9finir une politique s\u00e9curis\u00e9e pour votre catalogue.<\/p>\n<p><a class=\"product-page-contact-link\" href=\"mailto:hola@go-onagency.es\">hola@go-onagency.es<\/a><\/p>\n<\/p><\/div>\n<\/aside><\/div>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>Module PrestaShop PrestaWard Facet Shield Protection op\u00e9rationnelle pour la navigation \u00e0 facettes de PrestaShop. D\u00e9tecte les requ\u00eates de filtrage excessivement complexes et permet de limiter uniquement celles susceptibles de nuire au bon fonctionnement de la boutique. Distribution exclusive sur PrestaShop Marketplace (Addons). Historique des modifications Guide au format PDF Captures d&rsquo;\u00e9cran Limites et modeTrafic et [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":0,"parent":27,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template-product-page.php","meta":{"_joinchat":[],"footnotes":""},"class_list":["post-75","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/go-onagency.es\/fr\/wp-json\/wp\/v2\/pages\/75","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/go-onagency.es\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/go-onagency.es\/fr\/wp-json\/wp\/v2\/types\/page"}],"replies":[{"embeddable":true,"href":"https:\/\/go-onagency.es\/fr\/wp-json\/wp\/v2\/comments?post=75"}],"version-history":[{"count":15,"href":"https:\/\/go-onagency.es\/fr\/wp-json\/wp\/v2\/pages\/75\/revisions"}],"predecessor-version":[{"id":177,"href":"https:\/\/go-onagency.es\/fr\/wp-json\/wp\/v2\/pages\/75\/revisions\/177"}],"up":[{"embeddable":true,"href":"https:\/\/go-onagency.es\/fr\/wp-json\/wp\/v2\/pages\/27"}],"wp:attachment":[{"href":"https:\/\/go-onagency.es\/fr\/wp-json\/wp\/v2\/media?parent=75"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}