{"id":38,"date":"2026-07-29T12:36:55","date_gmt":"2026-07-29T10:36:55","guid":{"rendered":"https:\/\/go-onagency.es\/modulos\/prestaward-snapshot\/"},"modified":"2026-10-16T19:03:09","modified_gmt":"2026-10-16T17:03:09","slug":"prestaward-snapshot","status":"publish","type":"page","link":"https:\/\/go-onagency.es\/fr\/modulos\/prestaward-snapshot\/","title":{"rendered":"PrestaWard Snapshot"},"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 Snapshot<\/h1>\n<p><strong>Contr\u00f4le d\u2019int\u00e9grit\u00e9 pour les boutiques PrestaShop.<\/strong> Cr\u00e9e une base de r\u00e9f\u00e9rence des fichiers, compare les modifications et vous alerte par e-mail en cas de d\u00e9placement d\u2019un \u00e9l\u00e9ment sensible.<\/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-snapshot\/changelog\/fr\/\">Historique des modifications<\/a><br \/>\n        <a class=\"button button--ghost\" href=\"https:\/\/go-onagency.es\/prestaward-snapshot\/prestaward-snapshot-user-guide.pdf\" target=\"_blank\" rel=\"noopener\">Guide au format PDF<\/a><br \/>\n        <a class=\"button button--ghost\" href=\"\/ayuda\/prestaward-snapshot\/\">Guide d&rsquo;aide<\/a>\n      <\/div>\n<div id=\"snapshot-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-snapshot-gallery\/v018-es-01-resumen.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-snapshot-gallery\/v018-es-01-resumen-thumb.png\" alt=\"PrestaWard Snapshot 0.1.8 : r\u00e9sum\u00e9 du dernier snapshot, de la derni\u00e8re analyse et des modifications r\u00e9centes\" 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\">R\u00e9sum\u00e9 de l&rsquo;\u00e9tat<\/span><\/a><a href=\"\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-snapshot-gallery\/v018-es-02-trabajos.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-snapshot-gallery\/v018-es-02-trabajos-thumb.png\" alt=\"PrestaWard Snapshot 0.1.8 : historique des t\u00e2ches de base de r\u00e9f\u00e9rence et comparaison\" 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\">Historique des t\u00e2ches<\/span><\/a><a href=\"\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-snapshot-gallery\/v018-es-03-comprobaciones.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-snapshot-gallery\/v018-es-03-comprobaciones-thumb.png\" alt=\"PrestaWard Snapshot 0.1.8 : v\u00e9rification des fichiers du c\u0153ur et audit de la configuration de s\u00e9curit\u00e9\" 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\">Audit de s\u00e9curit\u00e9<\/span><\/a><a href=\"\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-snapshot-gallery\/v018-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-snapshot-gallery\/v018-es-04-configuracion-thumb.png\" alt=\"PrestaWard Snapshot 0.1.8 : configuration des alertes par e-mail, \u00e9tat de sant\u00e9 du cron et fid\u00e9lisation\" 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 cron<\/span><\/a><\/div>\n<p style=\"margin:7px 0 0;font-size:11px;color:#b6bcc7\">Interface en espagnol \u00b7 version 0.1.8<\/p>\n<\/div><\/div>\n<div class=\"product-hero__card\">\n      <img decoding=\"async\" src=\"https:\/\/go-onagency.es\/wp-content\/themes\/go-on-agency\/assets\/img\/prestaward-snapshot-logo.svg\" alt=\"PrestaWard Snapshot\"><br \/>\n      <span>R\u00e9f\u00e9rence + comparaison + alertes<\/span><\/p>\n<ul class=\"product-hero__checks\">\n<li>T\u00e2ches dont la progression a \u00e9t\u00e9 enregistr\u00e9e<\/li>\n<li>Fichiers sensibles sous contr\u00f4le<\/li>\n<li>PrestaShop 1.7, 8 et 9<\/li>\n<li>Laboratoire multiversion<\/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>Une boutique \u00e9volue constamment. PrestaWard Snapshot cr\u00e9e une r\u00e9f\u00e9rence technique et affiche les fichiers ajout\u00e9s, modifi\u00e9s ou supprim\u00e9s afin que vous puissiez distinguer une intervention pr\u00e9vue d\u2019un changement inattendu.<\/p>\n<p>Il analyse \u00e9galement le code suspect des fichiers nouveaux ou modifi\u00e9s, attribue un niveau de risque \u00e0 chaque modification et regroupe les mises \u00e0 jour des modules et des th\u00e8mes, afin que ce qui m\u00e9rite votre attention ne se perde pas parmi les modifications de routine.<\/p>\n<p>V\u00e9rifiez \u00e9galement le code JavaScript du th\u00e8me actif et des modules de paiement \u00e0 la recherche de signes de skimmers de cartes, surveillez le volume des dossiers multim\u00e9dias et contr\u00f4lez 14 points de la configuration de s\u00e9curit\u00e9. Un panneau \u00e0 onglets, avec un r\u00e9sum\u00e9 succinct, vous indique en une ligne ce qui n\u00e9cessite votre attention. Il fonctionne en lecture seule sur vos fichiers : il ne les modifie pas, ne les restaure pas et ne les supprime pas, et n\u2019\u00e9crit que dans son propre espace de travail et dans sa base de donn\u00e9es.<\/p>\n<h2>Comment \u00e7a marche<\/h2>\n<ul>\n<li>Il enregistre une empreinte SHA-256 de chaque fichier, ainsi que son chemin d&rsquo;acc\u00e8s relatif, sa taille et sa date de modification. Il ne conserve ni de copies des fichiers ni de leur contenu.<\/li>\n<li>Compare la boutique \u00e0 la derni\u00e8re base de r\u00e9f\u00e9rence et classe chaque modification comme courante, suspecte ou critique. Les fichiers ex\u00e9cutables et les fichiers de configuration sensibles font toujours l\u2019objet d\u2019une surveillance.<\/li>\n<li>V\u00e9rifie les modules, les passerelles de paiement, les th\u00e8mes, les classes du c\u0153ur, l\u2019administration, la configuration, <code>override<\/code>, <code>src<\/code>, <code>vendor<\/code>, <code>upload<\/code>, <code>download<\/code>, <code>img<\/code>, <code>js<\/code> ainsi que les fichiers de la racine. Les dossiers temporaires de PrestaShop, tels que <code>img\/tmp<\/code> et les caches de ressources du th\u00e8me, ne sont pas analys\u00e9s.<\/li>\n<li>Les exclusions sont d\u00e9finies par nom exact ou chemin relatif. Avant de les activer, un aper\u00e7u est obligatoire, et les dossiers exclus continuent d\u2019\u00eatre surveill\u00e9s \u00e0 la recherche de fichiers ex\u00e9cutables.<\/li>\n<li>Lancez la comparaison depuis le Back Office ou via une t\u00e2che cron prot\u00e9g\u00e9e par un jeton. Dans les boutiques comportant un tr\u00e8s grand nombre de fichiers, une t\u00e2che peut n\u00e9cessiter l\u2019ex\u00e9cution de la commande <code>bin\/snapshot-worker.php<\/code>, que l\u2019administrateur du serveur doit lancer manuellement : le module ne la lance jamais de lui-m\u00eame.<\/li>\n<li>Si une analyse \u00e9choue ou est annul\u00e9e, la derni\u00e8re base de r\u00e9f\u00e9rence valide est conserv\u00e9e. Les r\u00e9sultats d\u2019une comparaison ne s\u2019affichent que lorsque la t\u00e2che est enti\u00e8rement termin\u00e9e.<\/li>\n<li>Il envoie une alerte par e-mail lorsqu\u2019il d\u00e9tecte des modifications importantes. Les destinataires sont configur\u00e9s dans le module et, par d\u00e9faut, il s\u2019agit de l\u2019adresse e-mail de la boutique. Dans l\u2019en-t\u00eate de l\u2019e-mail figure le logo de votre boutique et le pied de page comporte le logo de GO ON Agency ainsi que la signature \u00ab PrestaWard by GO ON Agency \u00bb.<\/li>\n<li>L&rsquo;historique est conserv\u00e9 pendant la dur\u00e9e que vous configurez (90 jours par d\u00e9faut) et les v\u00e9rifications en attente ne sont pas supprim\u00e9es.<\/li>\n<li>Le panneau est divis\u00e9 en onglets (R\u00e9sum\u00e9, Modifications, T\u00e2ches, V\u00e9rifications, Configuration et Historique des modifications) et ne prend en compte que l\u2019onglet que vous avez ouvert ; il s\u2019ouvre donc plus rapidement dans les grandes boutiques. Un dernier onglet, \u00ab Assistance \u00bb, regroupe le panneau d\u2019assistance de GO ON Agency, tandis que l\u2019\u00e9tat d\u2019Integrity appara\u00eet \u00e0 la fin de la liste. L\u2019onglet \u00ab R\u00e9sum\u00e9 \u00bb affiche la base de r\u00e9f\u00e9rence, la derni\u00e8re comparaison, une action principale (\u00ab Cr\u00e9er un instantan\u00e9 \u00bb s\u2019il n\u2019y a pas de base de r\u00e9f\u00e9rence et \u00ab Comparer maintenant \u00bb s\u2019il y en a une) et, au maximum, une ligne : la t\u00e2che en cours ou l\u2019alerte la plus importante, suivie de \u00ab et N autres \u00bb s\u2019il y en a d\u2019autres.<\/li>\n<li>Les t\u00e2ches termin\u00e9es sont conserv\u00e9es pendant 90 jours et peuvent \u00eatre consult\u00e9es dans l\u2019onglet \u00ab T\u00e2ches \u00bb, dans un tableau permettant de filtrer par type, statut et dates. Chaque t\u00e2che dispose de ses d\u00e9tails (chronologie, fichiers, m\u00e9moire maximale, notifications avec des dossiers d\u2019exemple et t\u00e9l\u00e9chargement du diagnostic) et, lorsque les d\u00e9tails des fichiers sont effac\u00e9s, un r\u00e9sum\u00e9 de ce qui s\u2019est pass\u00e9 est conserv\u00e9.<\/li>\n<li>Une t\u00e2che n\u00e9cessitant une op\u00e9ration en ligne de commande s&rsquo;affiche en orange, avec la description en langage clair et la commande exacte accompagn\u00e9e d&rsquo;un bouton permettant de la copier. Dans le navigateur, il n&rsquo;y a pas de bouton \u00ab Reprendre \u00bb.<\/li>\n<\/ul>\n<h2>Exigences<\/h2>\n<ul>\n<li>PrestaShop 1.7, 8 ou 9, y compris les installations multiboutiques, et la version de PHP requise par votre version de PrestaShop (PHP 7.1 ou sup\u00e9rieur pour PrestaShop 1.7).<\/li>\n<li>Tables de base de donn\u00e9es utilisant le moteur InnoDB. Le module v\u00e9rifie cela et convertit ses propres tables lors de la mise \u00e0 jour.<\/li>\n<li>Une fois l&rsquo;installation termin\u00e9e, seul le profil administrateur y a acc\u00e8s. Les autres profils sont autoris\u00e9s avec les droits natifs de PrestaShop : lecture, cr\u00e9ation et modification.<\/li>\n<li>Panneau de configuration et messages en neuf langues.<\/li>\n<\/ul>\n<h2>Ce qu\u2019il ne fait pas<\/h2>\n<ul>\n<li>Il ne s&rsquo;agit pas d&rsquo;une sauvegarde et ce module ne restaure pas les fichiers : il d\u00e9tecte qu&rsquo;un changement est intervenu, mais ne le r\u00e9cup\u00e8re pas. Il vient compl\u00e9ter vos sauvegardes et votre gestion des versions, il ne les remplace pas.<\/li>\n<li>Il ne s\u2019agit ni d\u2019un antivirus ni d\u2019un scanner de logiciels malveillants. Il recherche les sch\u00e9mas courants des web shells et du code obscurci dans les fichiers PHP et JavaScript nouveaux ou modifi\u00e9s (jusqu\u2019\u00e0 512 Ko chacun) et surveille tout particuli\u00e8rement les fichiers ex\u00e9cutables, y compris ceux qui dissimulent du code PHP derri\u00e8re une extension trompeuse. Une correspondance signifie \u00ab v\u00e9rifiez ce fichier \u00bb, et non pas une preuve d\u2019attaque ; un fichier ne pr\u00e9sentant aucune correspondance n\u2019est pas pour autant consid\u00e9r\u00e9 comme s\u00fbr.<\/li>\n<li>Les indicateurs de skimming de cartes en JavaScript sont heuristiques : ils signalent une raison d\u2019examiner le fichier, mais ne prouvent pas une compromission, et une adresse g\u00e9n\u00e9r\u00e9e par le code lors de son ex\u00e9cution n\u2019est pas d\u00e9tect\u00e9e. Les adresses de la boutique elle-m\u00eame et des passerelles de paiement ne sont pas consid\u00e9r\u00e9es comme des sites web distincts.<\/li>\n<li>Il n&rsquo;analyse pas la base de donn\u00e9es.<\/li>\n<li>Il n\u2019envoie ni fichiers, ni chemins d\u2019acc\u00e8s, ni contenu \u00e0 aucun service externe. La connexion \u00e0 PrestaWard Integrity transmet l\u2019identifiant de l\u2019installation et de la boutique, le domaine, l\u2019empreinte du pack install\u00e9 et l\u2019empreinte r\u00e9capitulative de chaque instantan\u00e9, sans aucune donn\u00e9e personnelle des clients.<\/li>\n<li>Il n\u2019emp\u00eache ni ne bloque les modifications apport\u00e9es aux boutiques : il vous en informe une fois qu\u2019elles ont eu lieu.<\/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>Principales fonctionnalit\u00e9s<\/h2>\n<ul>\n<li>Instantan\u00e9 des modules, des passerelles de paiement, des th\u00e8mes, du c\u0153ur, de l&rsquo;administration et des param\u00e8tres.<\/li>\n<li>Analyse du code suspect dans les fichiers PHP et JavaScript nouveaux ou modifi\u00e9s : recherche les sch\u00e9mas caract\u00e9ristiques des web shells et du code obscurci, puis explique le r\u00e9sultat en langage clair. Un fichier d\u00e9passant la limite de taille est marqu\u00e9 comme n\u2019ayant \u00e9t\u00e9 v\u00e9rifi\u00e9 que partiellement.<\/li>\n<li>D\u00e9tection d\u2019images dissimul\u00e9es (avec un en-t\u00eate incorrect ou contenant du code PHP) dans tous les dossiers, y compris ceux exclus, et, dans la mesure o\u00f9 le temps et la taille le permettent, dans les dossiers temporaires tels que <code>img\/tmp<\/code>.<\/li>\n<li>Niveau de risque associ\u00e9 \u00e0 chaque modification (\u00e9lev\u00e9, \u00e0 v\u00e9rifier ou faible), visible et filtrable dans la v\u00e9rification des modifications, inclus dans le CSV d\u2019audit et dans les e-mails d\u2019alerte.<\/li>\n<li>Les mises \u00e0 jour des modules et des th\u00e8mes sont regroup\u00e9es dans un seul \u00e9l\u00e9ment avec l&rsquo;ancienne et la nouvelle version, et le code PHP modifi\u00e9 dans le cadre d&rsquo;une mise \u00e0 jour d\u00e9tect\u00e9e pr\u00e9sente un faible risque et ne g\u00e9n\u00e8re pas d&rsquo;e-mails d&rsquo;alerte.<\/li>\n<li>Panneau des fichiers du c\u0153ur : il les compare \u00e0 la liste officielle des sommes de contr\u00f4le de votre version de PrestaShop, par lots reprenables. Seule la liste officielle est t\u00e9l\u00e9charg\u00e9e ; aucun fichier n\u2019est envoy\u00e9. Une diff\u00e9rence ne prouve pas une intrusion, et si la liste n\u2019est pas disponible, le panneau indique que le c\u0153ur n\u2019a pas \u00e9t\u00e9 v\u00e9rifi\u00e9.<\/li>\n<li>Audit de la configuration de s\u00e9curit\u00e9 avec une note de 0 \u00e0 100 et 14 points de contr\u00f4le : mode d\u00e9bogage, dossier d\u2019administration, droits d\u2019acc\u00e8s \u00e0 la configuration, dossiers d\u2019installation, sauvegardes et fichiers compress\u00e9s \u00e0 la racine du site, version de PHP, HTTPS, erreurs PHP visibles, renforcement de la s\u00e9curit\u00e9 PHP (allow_url_include et expose_php), dossiers de contr\u00f4le de version et fichiers d\u2019environnement (.git, .svn, .hg, .env et variantes) \u00e0 la racine du site et au sein des modules et des th\u00e8mes, cl\u00e9s de service web permettant l&rsquo;\u00e9criture sur de nombreuses ressources, v\u00e9rification de l&rsquo;adresse IP via le cookie et comptes inactifs conservant le profil SuperAdmin. En ce qui concerne les cl\u00e9s, seul leur nombre est pris en compte, sans les lire ni les afficher, et pour les comptes, seul leur nombre est pris en compte, sans mentionner les noms ni les adresses. Chaque point fait l\u2019objet d\u2019une explication et d\u2019une solution, et ce qui ne peut \u00eatre v\u00e9rifi\u00e9 est indiqu\u00e9 comme \u00ab non v\u00e9rifi\u00e9 \u00bb et ne donne pas lieu \u00e0 des points.<\/li>\n<li>Heuristiques relatives au skimming de cartes dans le code JavaScript nouveau ou modifi\u00e9 du th\u00e8me actif et des modules de paiement : code lisant le num\u00e9ro, la date d\u2019expiration ou le code de s\u00e9curit\u00e9 de la carte et les transmettant \u00e0 un autre site web (risque \u00e9lev\u00e9), donn\u00e9es transmises \u00e0 un autre site \u00e0 partir du code de la commande ou du paiement, et code fortement obscurci \u00e0 proximit\u00e9 du code de la commande ou du paiement (ces deux cas doivent \u00eatre v\u00e9rifi\u00e9s). Chaque constat est expliqu\u00e9 dans le rapport de r\u00e9vision des modifications.<\/li>\n<li>Devis de volume multim\u00e9dia : pour chaque dossier (img, upload, uploads et download), il comptabilise le nombre de fichiers et le nombre d\u2019octets \u00e0 chaque base de r\u00e9f\u00e9rence et \u00e0 chaque comparaison, sans acc\u00e9der \u00e0 d\u2019autres fichiers ni enregistrer de donn\u00e9es par fichier. La rubrique \u00ab V\u00e9rifications \u00bb affiche le total par dossier et l\u2019augmentation par rapport \u00e0 la base de r\u00e9f\u00e9rence, tandis que la rubrique \u00ab Configuration \u00bb permet de d\u00e9finir un nombre maximal de fichiers, une taille maximale en Go et une augmentation maximale en pourcentage (50 % par d\u00e9faut ; la valeur 0 d\u00e9sactive la limite). Tout d\u00e9passement de limite appara\u00eet dans le \u00ab R\u00e9sum\u00e9 \u00bb et dans l\u2019e-mail d\u2019alerte.<\/li>\n<li>Limite de surveillance visible : si une analyse atteint la limite de 250 000 noms lus dans les dossiers exclus, le \u00ab R\u00e9sum\u00e9 \u00bb et les \u00ab V\u00e9rifications \u00bb indiquent le nombre de dossiers restant non surveill\u00e9s, et le volume multim\u00e9dia est marqu\u00e9 comme \u00ab partiel \u00bb.<\/li>\n<li>Notification concernant une t\u00e2che cron qui ne s\u2019est jamais ex\u00e9cut\u00e9e et alerte sp\u00e9cifique relative aux dossiers et aux copies de sauvegarde des modules pr\u00e9sents dans le r\u00e9pertoire racine du site.<\/li>\n<li>Fen\u00eatre de maintenance de 1 \u00e0 4 heures : elle met en sourdine les e-mails d\u2019alerte mais continue d\u2019enregistrer les modifications ; \u00e0 la fin de la fen\u00eatre, elle envoie un r\u00e9capitulatif regroupant les actions \u00ab Accepter ces modifications \u00bb ou \u00ab Fermer sans accepter \u00bb. Snapshot ne cr\u00e9e jamais de base de r\u00e9f\u00e9rence de son propre chef.<\/li>\n<li>V\u00e9rification des modifications adapt\u00e9e aux r\u00e9sultats tr\u00e8s volumineux : pagination par fen\u00eatres avec acc\u00e8s direct \u00e0 une page, r\u00e9sum\u00e9 regroup\u00e9 par dossier, \u00e9tat et niveau de risque, et file en attente dans laquelle chaque fichier appara\u00eet une fois par base de r\u00e9f\u00e9rence.<\/li>\n<li>Base de r\u00e9f\u00e9rence rapide dans les grandes boutiques : la publication ne lit que les lignes de sa propre t\u00e2che et les donn\u00e9es temporaires des t\u00e2ches termin\u00e9es sont supprim\u00e9es par lots d\u00e9limit\u00e9s, sans s\u2019accumuler.<\/li>\n<li>Comparaison depuis le Back Office ou une t\u00e2che cron prot\u00e9g\u00e9e par un jeton.<\/li>\n<li>Alertes par e-mail avec un r\u00e9sum\u00e9, les cat\u00e9gories concern\u00e9es et un lien vers le tableau de bord.<\/li>\n<li>Panneau \u00e0 onglets comprenant un r\u00e9sum\u00e9 succinct, l\u2019historique des t\u00e2ches sur 90 jours avec filtres et d\u00e9tails, la couverture, les modifications r\u00e9centes, les journaux d\u2019activit\u00e9 et un onglet \u00ab Assistance \u00bb contenant le diagnostic, qui doit toujours figurer en dernier.<\/li>\n<li>Barre de filtres commune dans la v\u00e9rification des modifications et dans l\u2019historique des t\u00e2ches : les s\u00e9lecteurs sont r\u00e9partis dans une grille de largeur \u00e9gale, le champ de recherche et le bouton \u00ab Filtrer \u00bb se trouvent sur la m\u00eame ligne, et les actions secondaires, telles que l\u2019exportation de l\u2019audit au format CSV, sont align\u00e9es \u00e0 droite.<\/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>E-mails comportant l&rsquo;en-t\u00eate de votre boutique : le logo de la boutique en haut et, en bas de page, le logo de GO ON Agency accompagn\u00e9 de la mention \u00ab PrestaWard by GO ON Agency \u00bb. L&rsquo;objet ne reprend plus le nom de la boutique.<\/li>\n<li>T\u00e2ches de base de r\u00e9f\u00e9rence et de comparaison reprenant \u00e0 partir de la progression enregistr\u00e9e.<\/li>\n<li>Exclusions configurables avec aper\u00e7u et nouvelle base de r\u00e9f\u00e9rence s\u00e9curis\u00e9e.<\/li>\n<li>Surveillance obligatoire des fichiers ex\u00e9cutables et des param\u00e8tres sensibles, m\u00eame au sein des dossiers exclus.<\/li>\n<li>Connexion automatique \u00e0 PrestaWard Integrity, sans bloquer la boutique, avec des re\u00e7us sign\u00e9s et cha\u00een\u00e9s \u00e0 partir de l\u2019empreinte de chaque instantan\u00e9. Sur l\u2019\u00e9cran du module, le bouton \u00ab Synchroniser \u00bb actualise la connexion.<\/li>\n<li>Heartbeat et \u00e9tat du cron pour d\u00e9tecter les ex\u00e9cutions en retard ou ayant \u00e9chou\u00e9.<\/li>\n<li>Analyse incr\u00e9mentielle avec rehash obligatoire des zones critiques et analyse compl\u00e8te p\u00e9riodique.<\/li>\n<li>Tri, filtres, pagination, v\u00e9rification des modifications et exportation CSV des modifications.<\/li>\n<li>Comparaison s\u00e9curis\u00e9e des m\u00e9tadonn\u00e9es, dur\u00e9e de conservation configurable et nettoyage s\u00e9curis\u00e9.<\/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 les versions, les \u00e9tats et les compteurs ; il n\u2019inclut ni chemins d\u2019acc\u00e8s, ni contenu de fichiers, ni identifiants, et n\u2019est pas envoy\u00e9 automatiquement.<\/li>\n<\/ul>\n<h2>Compatibilit\u00e9 v\u00e9rifi\u00e9e<\/h2>\n<p>La version 0.1.8 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.7. La version 0.1.7 a pass\u00e9 avec succ\u00e8s les tests en laboratoire le 13 octobre 2026 ; elle a \u00e9t\u00e9 test\u00e9e avec un volume r\u00e9el de 151 440 fichiers et a servi de version \u00ab canary \u00bb dans une boutique en production r\u00e9elle. La version 0.1.3 a \u00e9galement pass\u00e9 avec succ\u00e8s les tests d\u2019installation, de d\u00e9sinstallation, de r\u00e9installation, d\u2019acc\u00e8s authentifi\u00e9, des tests adversariaux d\u2019exclusions et la validation cryptographique sur PrestaShop 1.7.8.11 avec PHP 7.4, PrestaShop 8.2.7 avec PHP 8.1 et PrestaShop 9.1.4 avec PHP 8.5.<\/p>\n<h2>Utilisation s\u00e9curis\u00e9e<\/h2>\n<p>Cr\u00e9ez une base de r\u00e9f\u00e9rence uniquement lorsque la boutique a \u00e9t\u00e9 v\u00e9rifi\u00e9e et nettoy\u00e9e. Effectuez des comparaisons apr\u00e8s chaque intervention et ne normalisez pas les modifications que vous n\u2019avez pas encore identifi\u00e9es. Le module vient compl\u00e9ter, mais ne remplace pas, les sauvegardes ni le contr\u00f4le de version.<\/p>\n<h2 id=\"registro-de-cambios\">Journal des modifications<\/h2>\n<h3>0.1.8<\/h3>\n<ul>\n<li>Le panneau est divis\u00e9 en onglets (R\u00e9sum\u00e9, Modifications, T\u00e2ches, V\u00e9rifications, Configuration et Historique des modifications) et ne prend en compte que l&rsquo;onglet ouvert, ce qui permet un chargement plus rapide dans les grandes boutiques. Le panneau d\u2019assistance de GO ON Agency dispose de son propre onglet, \u00ab Assistance \u00bb, toujours le dernier, et la section Integrity se trouve \u00e0 la fin de tous les onglets.<\/li>\n<li>R\u00e9sum\u00e9 minimal : la base de r\u00e9f\u00e9rence actuelle, la derni\u00e8re comparaison et son r\u00e9sultat, une action principale et, au maximum, une ligne indiquant la t\u00e2che en cours ou l\u2019alerte la plus importante (modifications en attente de r\u00e9vision, dossiers nouveaux ou non couverts n\u00e9cessitant une nouvelle base de r\u00e9f\u00e9rence, une fen\u00eatre de maintenance \u00e0 fermer, une t\u00e2che cron qui ne s\u2019est jamais ex\u00e9cut\u00e9e ou qui est en retard, des sauvegardes dans la racine du site). S\u2019il y a d\u2019autres alertes, la ligne ajoute \u00ab et N autres \u00bb.<\/li>\n<li>Onglet \u00ab T\u00e2ches \u00bb : la t\u00e2che en cours s\u2019affiche sous forme de fiche indiquant ses phases (d\u00e9couvrir, calculer les empreintes, valider, comparer ou publier, effectuer l\u2019attestation), le compteur de fichiers, le temps \u00e9coul\u00e9, la derni\u00e8re mise \u00e0 jour et qui l\u2019ex\u00e9cute (Back Office, cron ou ligne de commande). Une t\u00e2che n\u00e9cessitant un traitement en ligne de commande s\u2019affiche en orange, avec la raison indiqu\u00e9e en langage clair et la commande exacte accompagn\u00e9e d\u2019un bouton permettant de la copier ; dans le navigateur, il n\u2019y a pas de bouton \u00ab Reprendre \u00bb.<\/li>\n<li>Historique des t\u00e2ches sur 90 jours dans un seul tableau (type, origine, employ\u00e9, d\u00e9but, dur\u00e9e, statut, r\u00e9sultat et alertes) avec des filtres par type, statut et dates, ainsi qu\u2019une pagination, au lieu de la limite pr\u00e9c\u00e9dente des 20 derni\u00e8res t\u00e2ches ou des 7 derniers jours. Le r\u00e9sultat d\u2019une comparaison renvoie vers les modifications d\u00e9tect\u00e9es et une v\u00e9rification des fichiers du c\u0153ur renvoie vers l\u2019onglet \u00ab V\u00e9rifications \u00bb.<\/li>\n<li>D\u00e9tails de chaque t\u00e2che : chronologie, fichiers, m\u00e9moire maximale, hachage de la politique, base de r\u00e9f\u00e9rence et comparaison li\u00e9es, notifications avec des dossiers d\u2019exemple, une erreur traduite en cas d\u2019\u00e9chec et t\u00e9l\u00e9chargement du rapport de diagnostic. Lorsque les d\u00e9tails des fichiers d\u2019une t\u00e2che termin\u00e9e sont supprim\u00e9s, un r\u00e9sum\u00e9 est conserv\u00e9 (nombre d\u2019alertes avec des dossiers d\u2019exemple et des dossiers non enti\u00e8rement couverts) et la page indique que les d\u00e9tails ont \u00e9t\u00e9 supprim\u00e9s.<\/li>\n<li>La couverture par cat\u00e9gorie est d\u00e9plac\u00e9e \u00e0 la fin de la section \u00ab Modifications \u00bb ; les v\u00e9rifications de la boutique (sauvegardes, fichiers du c\u0153ur, audit de la configuration et \u00e9tat de sant\u00e9 des modules) sont regroup\u00e9es dans la section \u00ab V\u00e9rifications \u00bb ; et les r\u00e9glages relatifs \u00e0 la messagerie, au cron, \u00e0 la politique d&rsquo;analyse, \u00e0 la fen\u00eatre de maintenance et au stockage se trouvent dans la section \u00ab Configuration \u00bb.<\/li>\n<li>L&rsquo;audit de configuration de s\u00e9curit\u00e9 passe \u00e0 14 v\u00e9rifications. Nouveaut\u00e9s : renforcement de la s\u00e9curit\u00e9 PHP (allow_url_include et expose_php), dossiers de gestion de versions et fichiers d\u2019environnement (.git, .svn, .hg, .env et variantes) \u00e0 la racine du site et au sein des modules et des th\u00e8mes, cl\u00e9s de service Web permettant l\u2019\u00e9criture sur de nombreuses ressources (seul leur nom est comptabilis\u00e9 ; aucune cl\u00e9 n\u2019est jamais lue ni affich\u00e9e), v\u00e9rification de l\u2019adresse IP associ\u00e9e au cookie et des comptes inactifs conservant le profil SuperAdmin (ils sont simplement comptabilis\u00e9s, sans nom ni adresse). Chacune fait l\u2019objet d\u2019une explication et d\u2019une solution, et ce qui ne peut \u00eatre lu est indiqu\u00e9 comme \u00ab non v\u00e9rifi\u00e9 \u00bb. Les fichiers .git, .svn et .env situ\u00e9s \u00e0 la racine du site web sont transf\u00e9r\u00e9s de la v\u00e9rification des fichiers d\u2019installation et des copies vers la nouvelle v\u00e9rification, afin de ne pas les compter deux fois.<\/li>\n<li>Heuristiques de d\u00e9tection de skimming de cartes bancaires pour JavaScript : le code JavaScript nouveau ou modifi\u00e9 du th\u00e8me actif et des modules de paiement est \u00e9galement analys\u00e9 \u00e0 la recherche de trois signaux : du code qui lit le num\u00e9ro, la date d\u2019expiration ou le code de s\u00e9curit\u00e9 et envoie des donn\u00e9es vers un autre site web (risque \u00e9lev\u00e9), des donn\u00e9es envoy\u00e9es vers un autre site \u00e0 partir du code de commande ou de paiement (\u00e0 v\u00e9rifier) et du code fortement obscurci \u00e0 proximit\u00e9 du code de commande ou de paiement (\u00e0 v\u00e9rifier). Les adresses de la boutique elle-m\u00eame, des passerelles de paiement et, pour les indices les plus faibles, des serveurs d\u2019analyse connus ne sont pas consid\u00e9r\u00e9s comme un autre site. Une correspondance constitue un motif d\u2019examen du fichier, et non une preuve de compromission, et une adresse g\u00e9n\u00e9r\u00e9e par le code lors de son ex\u00e9cution n\u2019est pas d\u00e9tect\u00e9e.<\/li>\n<li>Estimation du volume multim\u00e9dia : pour chaque base de r\u00e9f\u00e9rence et chaque comparaison, le syst\u00e8me comptabilise, pour chaque dossier multim\u00e9dia (img, upload, uploads et download), les fichiers et les octets d\u00e9j\u00e0 parcourus, sans acc\u00e9der \u00e0 d\u2019autres fichiers ni enregistrer de donn\u00e9es par fichier. La section \u00ab V\u00e9rifications \u00bb affiche le total par dossier, l\u2019augmentation par rapport \u00e0 la base de r\u00e9f\u00e9rence et indique si une limite est d\u00e9pass\u00e9e. La section \u00ab Configuration \u00bb comporte trois limites : nombre maximal de fichiers, taille maximale en Go et augmentation maximale par rapport \u00e0 la base de r\u00e9f\u00e9rence en pourcentage (50 % par d\u00e9faut ; 0 d\u00e9sactive la limite). Tout d\u00e9passement de limite appara\u00eet dans le \u00ab R\u00e9sum\u00e9 \u00bb et dans l\u2019e-mail d\u2019alerte, qui est \u00e9galement envoy\u00e9 lorsqu\u2019aucun fichier n\u2019a suffisamment \u00e9volu\u00e9 pour d\u00e9clencher cette alerte \u00e0 lui seul.<\/li>\n<li>Limite de surveillance visible : une analyse lit au maximum 250 000 noms dans les dossiers exclus, et les dossiers suivants \u00e9taient enregistr\u00e9s comme non couverts mais n\u2019apparaissaient que dans la t\u00e2che. D\u00e9sormais, cela se traduit par une ligne d\u2019alerte dans le \u00ab R\u00e9sum\u00e9 \u00bb et une notification dans \u00ab V\u00e9rifications \u00bb indiquant le nombre de dossiers non surveill\u00e9s, et le volume multim\u00e9dia est marqu\u00e9 comme \u00ab partiel \u00bb s\u2019il a \u00e9t\u00e9 mesur\u00e9 en dessous de cette limite.<\/li>\n<li>Corrige le probl\u00e8me de d\u00e9gradation de la connexion avec Integrity depuis le Back Office dans le contexte \u00ab toutes les boutiques \u00bb ou lorsqu\u2019une boutique autre que la premi\u00e8re servait le test d\u2019inscription : la boutique connect\u00e9e passait \u00e0 l\u2019\u00e9tat \u00ab inscription en attente \u00bb et le test ne pouvait pas \u00eatre sign\u00e9. L\u2019identit\u00e9 de l\u2019installation est d\u00e9sormais lue comme une entit\u00e9 unique \u00e0 partir de la port\u00e9e globale (ou \u00e0 partir de la boutique qui la stocke) dans n\u2019importe quel 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>Nouveau : barre de filtres commune. La v\u00e9rification des modifications et l\u2019historique des t\u00e2ches l\u2019utilisent : les s\u00e9lecteurs sont r\u00e9partis dans une grille de largeur \u00e9gale, le champ de recherche et le bouton \u00ab Filtrer \u00bb se trouvent sur la m\u00eame ligne et les actions secondaires, telles que l\u2019exportation de l\u2019audit au format CSV, sont align\u00e9es \u00e0 droite. Auparavant, les filtres s\u2019entassaient et les boutons se chevauchaient.<\/li>\n<li>Les e-mails d\u2019alerte, de r\u00e9sum\u00e9 de maintenance et de test affichent le logo de votre boutique dans l\u2019en-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 aucun lien ni coordonn\u00e9es. Le logo du pied de page est un fichier provenant du module lui-m\u00eame, mis \u00e0 disposition depuis votre boutique.<\/li>\n<li>Corrige le fait que l&rsquo;objet des e-mails comporte deux fois le nom de la boutique.<\/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 actions du panneau (les requ\u00eates pour des t\u00e2ches et le t\u00e9l\u00e9chargement du rapport d\u2019assistance, ainsi que 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&rsquo;effectue 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>L\u2019en-t\u00eate du produit affiche \u00e0 nouveau le logo de GO ON Agency et la signature \u00ab PrestaWard by GO ON Agency \u00bb, sans liens. Le format de la base de r\u00e9f\u00e9rence, les octets du manifeste et le contrat avec l\u2019API Integrity restent inchang\u00e9s ; la mise \u00e0 jour ajoute des colonnes (deux au tableau des t\u00e2ches et celles relatives au volume multim\u00e9dia par dossier, par t\u00e2che et par base de r\u00e9f\u00e9rence).<\/li>\n<\/ul>\n<h3>0.1.7<\/h3>\n<ul>\n<li>Analyse le code suspect des fichiers PHP et JavaScript nouveaux ou modifi\u00e9s (jusqu\u2019\u00e0 512 Ko chacun) \u00e0 la recherche de motifs caract\u00e9ristiques des web shells et du code obscurci, et explique le r\u00e9sultat en langage clair. Une correspondance signifie \u00ab v\u00e9rifiez ce fichier \u00bb, et non pas une preuve d\u2019attaque ; un fichier ne pr\u00e9sentant aucune correspondance n\u2019est pas pour autant consid\u00e9r\u00e9 comme s\u00fbr, et un fichier d\u00e9passant la limite est marqu\u00e9 comme n\u2019ayant \u00e9t\u00e9 v\u00e9rifi\u00e9 que partiellement.<\/li>\n<li>D\u00e9tecte les images d\u00e9guis\u00e9es (avec un en-t\u00eate incorrect ou contenant du code PHP) dans tous les dossiers : inclus, exclus et, dans la limite du temps et de la taille allou\u00e9s, les dossiers temporaires tels que img\/tmp, que l\u2019analyse ne parcourt toujours pas.<\/li>\n<li>Attribue un niveau de risque \u00e0 chaque modification (\u00e9lev\u00e9, \u00e0 v\u00e9rifier ou faible), visible et filtrable dans la v\u00e9rification des modifications, et inclus dans le CSV d&rsquo;audit ainsi que dans les e-mails d&rsquo;alerte.<\/li>\n<li>Regroupe les mises \u00e0 jour des modules et des th\u00e8mes en un seul \u00e9l\u00e9ment, en indiquant la version pr\u00e9c\u00e9dente et la nouvelle. Le code PHP modifi\u00e9 dans le cadre d\u2019une mise \u00e0 jour d\u00e9tect\u00e9e pr\u00e9sente un faible risque et ne g\u00e9n\u00e8re plus d\u2019e-mails d\u2019alerte. N\u00e9cessite une base de r\u00e9f\u00e9rence cr\u00e9\u00e9e avec cette version.<\/li>\n<li>Nouveau panneau de fichiers du c\u0153ur : il les compare \u00e0 la liste officielle des sommes de contr\u00f4le de votre version de PrestaShop, par lots reprenables. Une diff\u00e9rence ne prouve pas une intrusion ; si la liste n&rsquo;existe pas ou ne peut pas \u00eatre t\u00e9l\u00e9charg\u00e9e, le panneau indique que le c\u0153ur n&rsquo;a pas \u00e9t\u00e9 v\u00e9rifi\u00e9 et ne le pr\u00e9sente jamais comme valid\u00e9.<\/li>\n<li>Nouvel audit de la configuration de s\u00e9curit\u00e9 avec un score de 0 \u00e0 100 (mode d\u00e9bogage, dossier d\u2019administration, droits d\u2019acc\u00e8s \u00e0 la configuration, dossiers d\u2019installation, dumps et archives compress\u00e9es \u00e0 la racine du site, version de PHP, HTTPS et erreurs PHP visibles, entre autres points). Chaque point est accompagn\u00e9 d\u2019une explication et d\u2019une solution ; ce qui ne peut \u00eatre v\u00e9rifi\u00e9 est indiqu\u00e9 comme \u00ab non v\u00e9rifi\u00e9 \u00bb et n\u2019est pas pris en compte dans le score.<\/li>\n<li>Signale une t\u00e2che cron qui ne s\u2019est jamais ex\u00e9cut\u00e9e et, via une alerte distincte, les dossiers et les copies de sauvegarde des modules pr\u00e9sents \u00e0 la racine du site.<\/li>\n<li>Les nouvelles installations excluent par d\u00e9faut les sauvegardes des modules et le dossier \u00ab T\u00e9l\u00e9chargements \u00bb. Dans les installations existantes, ces exclusions sont propos\u00e9es dans le panneau de configuration et ne s\u2019appliquent que si vous les activez, ce qui cr\u00e9e une nouvelle base de r\u00e9f\u00e9rence.<\/li>\n<li>Fen\u00eatre de maintenance de 1 \u00e0 4 heures : met en sourdine les e-mails d\u2019alerte mais continue d\u2019enregistrer les modifications ; \u00e0 la fermeture, elle envoie un r\u00e9capitulatif regroupant les actions \u00ab Accepter ces modifications \u00bb ou \u00ab Fermer sans accepter \u00bb. L\u2019option \u00ab Accepter \u00bb se contente de les marquer comme v\u00e9rifi\u00e9es ; Snapshot ne cr\u00e9e jamais de base de r\u00e9f\u00e9rence de lui-m\u00eame.<\/li>\n<li>Lorsque la couverture de l&rsquo;analyse augmente d&rsquo;une version \u00e0 l&rsquo;autre, les fichiers des dossiers qui n&rsquo;\u00e9taient pas couverts par l&rsquo;ancienne base de r\u00e9f\u00e9rence sont signal\u00e9s comme une nouvelle couverture et non comme des milliers de fichiers ajout\u00e9s accompagn\u00e9s d&rsquo;alertes critiques.<\/li>\n<li>La v\u00e9rification des modifications prend en charge des volumes de r\u00e9sultats tr\u00e8s importants : pagination avec acc\u00e8s direct \u00e0 une page, r\u00e9sum\u00e9 regroup\u00e9 par dossier, statut et risque, et modifications en attente provenant de bases de r\u00e9f\u00e9rence ant\u00e9rieures marqu\u00e9es comme remplac\u00e9es.<\/li>\n<li>R\u00e9duit le temps n\u00e9cessaire \u00e0 la cr\u00e9ation de la base de r\u00e9f\u00e9rence et \u00e0 la validation des r\u00e9pertoires dans les grandes boutiques comportant des t\u00e2ches ant\u00e9rieures conserv\u00e9es (quelques minutes au lieu de plusieurs dizaines de minutes) et supprime par lots d\u00e9limit\u00e9s les lignes temporaires des t\u00e2ches termin\u00e9es.<\/li>\n<li>Corrige plusieurs avertissements : Snapshot ne d\u00e9tecte plus ses propres fichiers comme pr\u00e9sentant un risque \u00e9lev\u00e9 ; le fichier index.php, fichier de Protection standard de PrestaShop, n\u2019est plus signal\u00e9 comme ex\u00e9cutable suspect ; la rubrique \u00ab Modifications r\u00e9centes \u00bb affiche les totaux de la derni\u00e8re comparaison et, apr\u00e8s la cr\u00e9ation d\u2019une base de r\u00e9f\u00e9rence, le tableau de bord ne pr\u00e9sente plus la comparaison pr\u00e9c\u00e9dente comme \u00e9tant actuelle.<\/li>\n<li>Le Back Office affiche \u00ab Traitement en cours depuis la console \u00bb pendant que le traitement par console est en cours ; le rafra\u00eechissement de la page apr\u00e8s avoir cliqu\u00e9 sur un bouton ne relance plus le processus, et un \u00ab d\u00e9marrage rejet\u00e9 \u00bb indique quelle t\u00e2che est en cours. Le traitement par console affiche une br\u00e8ve ligne de progression au lieu d\u2019une ligne par \u00e9tape.<\/li>\n<li>Coh\u00e9rence du Back Office : le panneau des t\u00e2ches et ses boutons ont le m\u00eame aspect que le reste du panneau, et les messages d&rsquo;\u00e9tat du cron et du journal d&rsquo;activit\u00e9 s&rsquo;affichent dans la langue du Back Office, et ce dans les neuf langues.<\/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>Les feuilles de style sont charg\u00e9es avec la version du module, de sorte que le nouveau design s&rsquo;affiche apr\u00e8s la mise \u00e0 jour sans qu&rsquo;il soit n\u00e9cessaire de vider le cache du navigateur.<\/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.6<\/h3>\n<ul>\n<li>Un lien symbolique n&rsquo;interrompt plus l&rsquo;analyse : il est ignor\u00e9 sans \u00eatre suivi ni faire l&rsquo;objet d&rsquo;un calcul d&#8217;empreinte (il ne fait donc pas partie de la base de r\u00e9f\u00e9rence) et est signal\u00e9 dans le tableau de bord, avec une alerte lorsqu&rsquo;il pointe vers l&rsquo;ext\u00e9rieur de la boutique ou vers une destination inexistante.<\/li>\n<li>\u00c9carte, lors de l&rsquo;analyse, les fichiers qui ne peuvent pas faire partie du manifeste.<\/li>\n<li>Ne parcourt jamais les dossiers temporaires de PrestaShop (img\/tmp) ni les caches de ressources combin\u00e9es du th\u00e8me, qui sont constamment r\u00e9g\u00e9n\u00e9r\u00e9s et pourraient interrompre une analyse avec directory_changed.<\/li>\n<li>Applique les exclusions avant d\u2019acc\u00e9der \u00e0 chaque dossier : les dossiers exclus ne font plus partie de l\u2019analyse d\u2019int\u00e9grit\u00e9 et ne sont surveill\u00e9s que pour d\u00e9tecter la pr\u00e9sence de fichiers ex\u00e9cutables, lors d\u2019un passage distinct qui n\u2019interrompt jamais la t\u00e2che et qui est limit\u00e9 \u00e0 250 000 noms par t\u00e2che.<\/li>\n<li>Il relit jusqu\u2019\u00e0 trois fois un dossier inclus qui change au cours de l\u2019analyse. S\u2019il continue \u00e0 changer, les dossiers du c\u0153ur, de la configuration, de l\u2019administration, des modules de paiement et du th\u00e8me actif interrompent la t\u00e2che comme auparavant ; les autres sont ignor\u00e9s avec un avertissement et la t\u00e2che s\u2019ach\u00e8ve.<\/li>\n<li>Le cron traite plusieurs lots cons\u00e9cutifs par appel (jusqu\u2019\u00e0 environ 20 secondes) et signale, avec le statut cli_required et la r\u00e9ponse HTTP 409, lorsqu\u2019une t\u00e2che n\u00e9cessite le processus en ligne de commande. Un outil de surveillance qui consid\u00e8re toute r\u00e9ponse autre que 2xx comme une erreur le signalera, comme on peut s\u2019y attendre. Ce processus est ex\u00e9cut\u00e9 manuellement par l\u2019administrateur du serveur : le module ne le lance jamais de lui-m\u00eame.<\/li>\n<li>Renforce le verrouillage qui emp\u00eache les ex\u00e9cutions simultan\u00e9es du cron, m\u00eame si les deux premi\u00e8res ex\u00e9cutions co\u00efncident.<\/li>\n<li>D\u00e9place les fichiers temporaires du manifeste vers un r\u00e9pertoire priv\u00e9 au sein de la boutique, compatible avec open_basedir et avec le nettoyage du r\u00e9pertoire temporaire du syst\u00e8me. Dans Nginx, il est recommand\u00e9 de bloquer l&rsquo;acc\u00e8s \u00e0 var\/prestaward-snapshot\/.<\/li>\n<li>D\u00e9tecte les tables qui n&rsquo;utilisent pas InnoDB, affiche un message clair dans les neuf langues et convertit les tables du module lors de la mise \u00e0 jour, en enregistrant chaque conversion.<\/li>\n<li>Ajoute un panneau de v\u00e9rification de l&rsquo;\u00e9tat dans le Back Office, en lecture seule : dossier priv\u00e9 de pr\u00e9paration, moteur de stockage de la base de donn\u00e9es, fr\u00e9quence du cron et t\u00e2ches en attente de traitement par la ligne de commande.<\/li>\n<li>Corrige les totaux du rapport des t\u00e2ches : les liens sont comptabilis\u00e9s s\u00e9par\u00e9ment des fichiers exclus.<\/li>\n<li>Chaque module n&rsquo;est analys\u00e9 qu&rsquo;une seule fois, soit dans le cadre des paiements, soit dans celui des modules ; ainsi, un module qui n&rsquo;est pas une passerelle de paiement et qui subit des modifications pendant l&rsquo;analyse ne bloque plus la t\u00e2che.<\/li>\n<li>Si une t\u00e2che ne peut pas couvrir enti\u00e8rement un dossier, l\u2019instantan\u00e9 s\u2019affiche avec une couverture partielle et la comparaison marque les fichiers de ces dossiers comme \u00ab non v\u00e9rifi\u00e9s \u00bb, plut\u00f4t que comme supprim\u00e9s.<\/li>\n<li>Le tableau de bord des t\u00e2ches indique les dossiers concern\u00e9s par chaque type d\u2019alerte et les actions \u00e0 entreprendre, dans les neuf langues. La d\u00e9sinstallation supprime \u00e9galement les tables de t\u00e2ches.<\/li>\n<li>PrestaShop 9 : le processus en ligne de commande et le cron ne rencontrent plus d&rsquo;erreur lorsqu&rsquo;ils confondent le dossier \u00ab admin-api \u00bb du c\u0153ur avec celui du Back Office.<\/li>\n<li>Lorsque le processus en ligne de commande \u00e9choue, il se termine par une ligne de diagnostic comportant un code de motif fixe, sans chemins d&rsquo;acc\u00e8s ni messages internes.<\/li>\n<li>R\u00e9duit le co\u00fbt de l&rsquo;analyse dans les boutiques comportant de nombreux fichiers.<\/li>\n<li>PHP 7.1 et 7.2 : l&rsquo;inscription, l&rsquo;attestation et le \u00ab heartbeat \u00bb d&rsquo;Integrity ne sont plus bloqu\u00e9s par une erreur de syntaxe.<\/li>\n<li>Corrige la mise \u00e0 jour depuis la version 0.1.5 lorsque la table des instantan\u00e9s est absente.<\/li>\n<li>Test\u00e9 en laboratoire sur PrestaShop 1.7, 8 et 9, y compris un test portant sur 300 000 fichiers modifi\u00e9s au cours de l&rsquo;analyse.<\/li>\n<\/ul>\n<h3>0.1.5<\/h3>\n<ul>\n<li>R\u00e9initialise les tentatives automatiques d\u2019attestation d\u2019Integrity, les heartbeats en attente et la conservation apr\u00e8s les r\u00e9ponses du cron asynchrone. La maintenance s\u2019ex\u00e9cute par lots d\u00e9limit\u00e9s et est coordonn\u00e9e ind\u00e9pendamment de l\u2019avancement de l\u2019analyse.<\/li>\n<li>Si une base de r\u00e9f\u00e9rence ant\u00e9rieure comprenait plusieurs dossiers d&rsquo;administration, la comparaison suivante peut afficher des entr\u00e9es suppl\u00e9mentaires : v\u00e9rifiez les diff\u00e9rences et cr\u00e9ez une nouvelle base de r\u00e9f\u00e9rence le cas \u00e9ch\u00e9ant, sans supprimer automatiquement la pr\u00e9c\u00e9dente.<\/li>\n<li>Autorise les noms de fichiers valides comportant des points cons\u00e9cutifs et maintient la Protection contre les chemins d&rsquo;acc\u00e8s non s\u00e9curis\u00e9s.<\/li>\n<li>Conserve tous les fichiers des dossiers d&rsquo;administration suppl\u00e9mentaires sans les confondre avec ceux du Back Office actif.<\/li>\n<li>Enregistre l&rsquo;avancement des bases de r\u00e9f\u00e9rence et des comparaisons afin de pouvoir reprendre apr\u00e8s avoir ferm\u00e9 le panneau ou interrompu une requ\u00eate.<\/li>\n<li>Traite et v\u00e9rifie les fichiers par lots ; les r\u00e9sultats ne s\u2019affichent qu\u2019une fois la t\u00e2che termin\u00e9e et la derni\u00e8re base de r\u00e9f\u00e9rence valide est conserv\u00e9e en cas d\u2019annulation ou d\u2019\u00e9chec.<\/li>\n<li>Corrige la comparaison des fichiers d&rsquo;administration par rapport aux bases de r\u00e9f\u00e9rence ant\u00e9rieures et conserve les exclusions des dossiers d\u00e9coch\u00e9s.<\/li>\n<li>Ajoute un rapport de diagnostic t\u00e9l\u00e9chargeable afin de le joindre manuellement \u00e0 une demande d\u2019assistance, sans envoyer de donn\u00e9es automatiquement. Ce rapport n\u2019est t\u00e9l\u00e9charg\u00e9 que par un employ\u00e9 disposant d\u2019une autorisation de modification et ayant s\u00e9lectionn\u00e9 une boutique ; il ne contient ni chemins d\u2019acc\u00e8s, ni contenu de fichiers, ni identifiants.<\/li>\n<li>Compl\u00e8te les \u00e9tats du tableau de bord, les notifications et les mod\u00e8les d&rsquo;alerte en neuf langues.<\/li>\n<li>Conserve les corrections d&rsquo;inscription et de mise \u00e0 jour de la version 0.1.4.<\/li>\n<\/ul>\n<h3>0.1.4<\/h3>\n<ul>\n<li>Corrige les erreurs d&rsquo;inscription d&rsquo;Integrity dans PrestaShop 9 et conserve l&rsquo;inscription existante lors de la mise \u00e0 jour des boutiques sans mode multiboutique.<\/li>\n<li>R\u00e9initialise les tentatives automatiques d&rsquo;inscription et enregistre la cause r\u00e9elle des \u00e9checs.<\/li>\n<li>Mise \u00e0 jour de la pr\u00e9sentation g\u00e9n\u00e9rale du Back Office et ajout d&rsquo;informations sur le traitement des donn\u00e9es.<\/li>\n<li>Adapte les formats des nombres et des dur\u00e9es \u00e0 la langue de l&rsquo;administrateur et traduit les \u00e9tats et les libell\u00e9s du panneau de configuration.<\/li>\n<li>Corrige la version install\u00e9e lors de la mise \u00e0 jour.<\/li>\n<li>Pr\u00e9pare le paquet AFL-3.0 pour Addons : supprime le v\u00e9rificateur de mises \u00e0 jour et calcule l&rsquo;identit\u00e9 \u00e0 partir des fichiers install\u00e9s.<\/li>\n<\/ul>\n<h3>0.1.3<\/h3>\n<ul>\n<li>Correctif de s\u00e9curit\u00e9 : l&rsquo;analyse couvre d\u00e9sormais l&rsquo;ensemble de l&rsquo;installation de PrestaShop, y compris les dossiers <code>override<\/code>, <code>src<\/code>, <code>vendor<\/code>, <code>upload<\/code>, <code>download<\/code>, <code>img<\/code>, <code>js<\/code> ainsi que les fichiers \u00e0 la racine.<\/li>\n<li>Correctif de s\u00e9curit\u00e9 : les fichiers pr\u00e9sentant un risque pour la s\u00e9curit\u00e9 sont toujours surveill\u00e9s, quelle que soit leur extension.<\/li>\n<li>Correctif de s\u00e9curit\u00e9 : renforce la v\u00e9rification des attestations \u00e0 distance et interrompt les nouvelles tentatives automatiques lorsque la cl\u00e9 d&rsquo;enregistrement de la boutique change.<\/li>\n<\/ul>\n<h3>0.1.2<\/h3>\n<ul>\n<li>Heartbeat automatique sans cron, activ\u00e9 de mani\u00e8re non bloquante par le trafic normal de la boutique.<\/li>\n<li>La requ\u00eate du navigateur reste sur le m\u00eame domaine et les identifiants Integrity sont utilis\u00e9s uniquement sur le serveur.<\/li>\n<li>Blocage par boutique, intervalle de six heures et d\u00e9lai d\u2019attente apr\u00e8s les \u00e9checs pour \u00e9viter les doublons.<\/li>\n<li>La synchronisation manuelle d\u2019Integrity met \u00e9galement \u00e0 jour la pr\u00e9sence de l\u2019installation.<\/li>\n<\/ul>\n<h3>0.1.1<\/h3>\n<ul>\n<li>Heartbeat d&rsquo;Integrity et surveillance de l&rsquo;\u00e9tat de sant\u00e9 du cron.<\/li>\n<li>Hachage incr\u00e9mental s\u00e9curis\u00e9 avec r\u00e9vision compl\u00e8te p\u00e9riodique et recalcul syst\u00e9matique des zones critiques.<\/li>\n<li>Classification des modifications de routine, suspectes et critiques.<\/li>\n<li>Filtres, pagination, r\u00e9vision avec annotations et exportation CSV de l&rsquo;audit.<\/li>\n<li>Diff\u00e9rences de m\u00e9tadonn\u00e9es sans stockage de contenu et conservation avec nettoyage prot\u00e9g\u00e9.<\/li>\n<li>Tableau de bord visuellement harmonis\u00e9 avec l&rsquo;\u00e9cosyst\u00e8me PrestaWard.<\/li>\n<\/ul>\n<h3>0.1.0<\/h3>\n<ul>\n<li>Inscription automatique et non bloquante dans PrestaWard Integrity API.<\/li>\n<li>File d&rsquo;attente locale avec nouvelles tentatives pour attester chaque manifeste sans envoyer de fichiers ni de contenu.<\/li>\n<li>Re\u00e7us \u00e0 distance sign\u00e9s, cha\u00een\u00e9s et v\u00e9rifi\u00e9s au sein de la boutique.<\/li>\n<li>\u00c9tat de la connexion et de la livraison visible depuis le tableau de bord.<\/li>\n<\/ul>\n<h3>0.0.9<\/h3>\n<ul>\n<li>Liens d&rsquo;aide contextuelle depuis les champs de configuration vers le guide public.<\/li>\n<li>Guide public r\u00e9organis\u00e9 par objectif et par champ, avec une explication pratique de chaque r\u00e9glage.<\/li>\n<li>Suppression, dans la configuration, de l&rsquo;affichage redondant de la source des mises \u00e0 jour.<\/li>\n<\/ul>\n<h3>0.0.8<\/h3>\n<ul>\n<li>Exclusions configurables par nom exact et chemin relatif, avec une politique immuable et un hachage SHA-256.<\/li>\n<li>Aper\u00e7u obligatoire avant d&rsquo;activer une politique et de cr\u00e9er votre nouvelle base de r\u00e9f\u00e9rence.<\/li>\n<li>Blocage des comparaisons entre diff\u00e9rentes politiques.<\/li>\n<li>Surveillance non configurable des ex\u00e9cutables et des fichiers de configuration situ\u00e9s dans des zones exclues.<\/li>\n<li>D\u00e9tection cibl\u00e9e des en-t\u00eates PHP et des interpr\u00e9teurs dangereux dans les fichiers dot\u00e9s d\u2019une extension trompeuse.<\/li>\n<li>Validation compl\u00e8te sous PrestaShop 1.7, 8 et 9, y compris un test mixte avec 100 000 fichiers.<\/li>\n<\/ul>\n<h3>0.0.7<\/h3>\n<ul>\n<li>L&rsquo;identit\u00e9 compl\u00e8te du produit et du module technique a \u00e9t\u00e9 renomm\u00e9e PrestaWard Snapshot.<\/li>\n<li>Acc\u00e8s initial r\u00e9serv\u00e9 au profil d&rsquo;administrateur.<\/li>\n<li>Autorisation explicite de profils suppl\u00e9mentaires via les autorisations natives de PrestaShop.<\/li>\n<li>S\u00e9paration de la lecture, cr\u00e9ation d&rsquo;instantan\u00e9s et configuration \u00e0 l&rsquo;aide des droits READ, CREATE et UPDATE.<\/li>\n<li>Masquage des param\u00e8tres de configuration, des jetons cron et des actions sensibles pour les profils en lecture seule.<\/li>\n<li>Pr\u00e9cision apport\u00e9e \u00e0 la documentation : le module assure la surveillance de l\u2019int\u00e9grit\u00e9, mais ne stocke ni ne restaure de sauvegardes.<\/li>\n<\/ul>\n<h3>0.0.6<\/h3>\n<ul>\n<li>Les liens vers les produits, le guide, les fournisseurs et l&rsquo;assistance sont conserv\u00e9s apr\u00e8s une r\u00e9installation \u00e0 z\u00e9ro.<\/li>\n<li>Mise \u00e0 jour des m\u00e9tadonn\u00e9es \u00e0 partir du manifeste public.<\/li>\n<li>Logos de GO ON Agency li\u00e9s dans le Back Office et les e-mails.<\/li>\n<li>URL alternative visible dans les e-mails au format HTML et en texte brut.<\/li>\n<li>Action de test par e-mail et outils de mise en production reproductibles.<\/li>\n<\/ul>\n<h3>0.0.5<\/h3>\n<ul>\n<li>Correction du chargement automatique du contr\u00f4leur h\u00e9rit\u00e9.<\/li>\n<li>L&rsquo;acc\u00e8s a \u00e9t\u00e9 d\u00e9plac\u00e9 vers la section racine PrestaWard Snapshot.<\/li>\n<\/ul>\n<h3>0.0.4<\/h3>\n<ul>\n<li>Menu du Back Office cliquable.<\/li>\n<li>Validation compl\u00e8te du cycle d&rsquo;installation et de d\u00e9sinstallation.<\/li>\n<\/ul>\n<h3>0.0.3<\/h3>\n<ul>\n<li>Contexte multiboutique explicite.<\/li>\n<li>Prise en charge des propri\u00e9t\u00e9s dynamiques dans PHP 8.5.<\/li>\n<\/ul>\n<h3>0.0.2<\/h3>\n<ul>\n<li>R\u00f4les d&rsquo;autorisation et droits d&rsquo;acc\u00e8s explicites.<\/li>\n<\/ul>\n<h3>0.0.1<\/h3>\n<ul>\n<li>R\u00e9f\u00e9rence, comparaison, alertes, cron, journaux, v\u00e9rification des mises \u00e0 jour et tableau de bord initial.<\/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>Veuillez consulter le guide d&rsquo;utilisation pour l&rsquo;installer et le configurer correctement.<\/p>\n<p><a href=\"https:\/\/go-onagency.es\/prestaward-snapshot\/prestaward-snapshot-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 d\u2019une mise en \u0153uvre soign\u00e9e ?<\/h2>\n<p>Nous pouvons vous aider pour l&rsquo;installation, la v\u00e9rification des modifications et la mise en service.<\/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 Snapshot Contr\u00f4le d\u2019int\u00e9grit\u00e9 pour les boutiques PrestaShop. Cr\u00e9e une base de r\u00e9f\u00e9rence des fichiers, compare les modifications et vous alerte par e-mail en cas de d\u00e9placement d\u2019un \u00e9l\u00e9ment sensible. Distribution exclusive sur PrestaShop Marketplace (Addons). Historique des modifications Guide au format PDF Guide d&rsquo;aide Captures d&rsquo;\u00e9cran R\u00e9sum\u00e9 de l&rsquo;\u00e9tatHistorique des t\u00e2chesAudit de [&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-38","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/go-onagency.es\/fr\/wp-json\/wp\/v2\/pages\/38","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=38"}],"version-history":[{"count":24,"href":"https:\/\/go-onagency.es\/fr\/wp-json\/wp\/v2\/pages\/38\/revisions"}],"predecessor-version":[{"id":207,"href":"https:\/\/go-onagency.es\/fr\/wp-json\/wp\/v2\/pages\/38\/revisions\/207"}],"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=38"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}