👯

Doublons de titres produit

baba_duplicatechecker · v2.0.0 · AGPL-3.0-or-later

Trouve les produits qui portent le même nom — un problème de référencement autant que de catalogue — et laisse les renommer ou en retirer un, depuis le back-office seulement. Le dernier exemplaire d'un nom n'est jamais supprimable.

agpl-3.0prestashop-9securitecatalogueseodoublonslibre

Ce que ce module fait, et ce qu'il refuse

  • ✓La version 1.0.0 laissait n'importe qui supprimer n'importe quel produit — mesuré, puis refermé : les mêmes requêtes anonymes rendent 404
  • ✓La garde n'est pas qu'une authentification : seul un produit membre d'un groupe de doublons d'au moins deux est supprimable, et les groupes sont recalculés à chaque action
  • ✓Le dernier exemplaire d'un nom n'est jamais supprimable — dédoublonner ne doit pas vouloir dire perdre le produit
  • ✓Renommer, le geste non destructeur, obéit au même périmètre
  • ✓La casse et les espaces de bordure ne séparent pas : Chemise bleue et chemise BLEUE forment un groupe
  • ✓Aucune table créée, aucun greffon enregistré, rien d'exposé côté boutique
  • ✓La langue et la boutique courantes décident — la version précédente les écrivait en dur
  • ✓Le préfixe de tables est lu, plus écrit en dur : le module tourne sur une boutique dont le préfixe n'est pas ps_
  • ✓Nombre de groupes affichés réglable de 1 à 500 — la version précédente en montrait 10, sans le dire
  • ✓La montée de version retire le greffon, l'accès rapide et la table morte laissés en base
  • ✓45 vérifications livrées avec le module, rejouables sans PHPUnit ni base

Le problème

Deux produits portent le même nom. C'est un problème de catalogue — un client qui hésite entre deux fiches identiques — et un problème de référencement : deux pages qui se disputent la même requête s'affaiblissent l'une l'autre.

Encore faut-il les trouver. Ce module les groupe par nom, et laisse les renommer ou en retirer un, depuis le back-office seulement.

Ce que l'écran montre

Les produits sont groupés par nom, à partir de deux exemplaires. La casse et les espaces de bordure ne séparent pas : *Chemise bleue* et *chemise BLEUE* forment un groupe.

Chaque ligne du groupe porte deux gestes : renommer, ou supprimer. Le nombre de groupes affichés est réglable de 1 à 500 — la version précédente en montrait 10, sans le dire.

La garde, et pourquoi elle est plus qu'une authentification

Seul un produit membre d'un groupe de doublons d'au moins deux est supprimable, et les groupes sont recalculés à chaque action. Le dernier exemplaire d'un nom n'est jamais supprimable : dédoublonner ne doit pas vouloir dire perdre le produit. Renommer, le geste non destructeur, obéit au même périmètre.

Si vous veniez de la version 1.0.0

Mettez-la à jour, et ce n'est pas une formule.

La 1.0.0 exposait ces deux actions dans un contrôleur côté boutique, public et sans jeton. Mesuré sur PrestaShop 9.0.3 par de simples requêtes anonymes : n'importe qui pouvait changer le prix d'un produit, puis le supprimer. Aucune session, aucun mot de passe.

Ce contrôleur n'existe plus. Les mêmes requêtes rendent désormais 404 — mesuré aussi.

La mise à jour retire par ailleurs ce que la 1.0.0 laissait derrière elle : un greffon devenu inutile, un accès rapide, et une table morte en base.

Ce que la version 2.0.0 corrige en plus

  • La langue et la boutique courantes décident de ce qui est comparé. La

version précédente les écrivait en dur, donc comparait les noms d'une autre langue que celle que vous regardiez.

  • Le préfixe des tables est lu, plus écrit en dur : le module tourne sur une

boutique dont le préfixe n'est pas celui d'une installation neuve.

  • Aucune table créée, aucun greffon enregistré, rien d'exposé côté boutique.

Le test est livré avec le module

php tests/DoublonsTest.php

45 vérifications, sans dépendance ni base de données.

Installation

Back-office → Modules → Installer un module → déposer le .zip, puis Configurer. Le module ne pose aucun onglet dans le menu : son écran est sa page de configuration, derrière la session employé et le jeton d'administration que PrestaShop pose lui-même. La désinstallation ne laisse rien derrière elle.

Ce que la licence exige de vous

Ce module est sous AGPL-3.0-or-later. Installé sans modification, vous n'avez rien à publier. Modifié et servi à vos visiteurs, vous devez leur offrir la source de ce module modifié — jamais celle de votre boutique, de votre thème, ni du cœur de PrestaShop. Le fichier NOTICE de l'archive porte les attributions exactes.

Le module est gratuit. Une adresse e-mail suffit.

Sans compte à créer, et la lettre d'information reste facultative.

Avis vérifiés

Ce que disent nos clients

5.0 / 5

33 avis clients

Nous travaillons avec Alexandre depuis quelques mois et sommes ravis de son a

Nous travaillons avec Alexandre depuis quelques mois et sommes ravis de son accompagnement. Alexandre comprend parfaitement les enjeux et problématiques liés à notre activité et parvient, en réponse, à nous apporter des solutions techniques et fonctionnelles en respectant coûts et délais.

Office

MONOGRAM

Malt

La résolution de mes problèmes à été rapide et efficace, je recommande :)

La résolution de mes problèmes à été rapide et efficace, je recommande :).

Marine

MES-Distribution

Malt

Super

Super

Jl

Kaigan

Malt

Au Top

Au Top. tout simplement

Elite Cbd

Canna Elite Europe Ltd

Malt

Configuration d''un VPS et migration réalisée avec succès, bons conseils, dia

Configuration d'un VPS et migration réalisée avec succès, bons conseils, diagnostique rapide et efficace de nos problèmes. Je recommande.

Lorie

GRIIN outdoor

Malt

Toujours aussi clair et clairvoyant

Toujours aussi clair et clairvoyant... ;) Un plaisir de travailler avec Alexandre

Elite Cbd

Canna Elite Europe Ltd

Malt