PS PrestaShop Débutant

dfreparability — Indice de réparabilité et durabilité pour PrestaShop

Guide complet du module d'indice de réparabilité et de durabilité pour PrestaShop 8 et 9 : installation, saisie des notes par produit, calcul officiel Bercy, affichage frontend et personnalisation.

Mis à jour Version du module 1.0.1

Le module dfreparability couvre l’obligation d’affichage de l’indice de réparabilité (loi AGEC, arrêté du 29 décembre 2020) et de l’indice de durabilité (décret du 22 avril 2022) pour les 11 catégories concernées, sur PrestaShop 8 et 9.

Deux textes structurent l’obligation :

  • Indice de réparabilité — obligatoire depuis le 1er janvier 2021 pour 9 catégories initiales, étendu progressivement (loi AGEC de février 2020, arrêté du 29 décembre 2020).
  • Indice de durabilité — introduit par le décret du 22 avril 2022. Remplace la réparabilité pour les téléviseurs depuis avril 2024, puis pour les lave-linge à hublot depuis avril 2025.

Les deux indices se calculent sur 10 à partir des 5 critères Bercy (chacun sur 20 sous-points). L’indice de durabilité y ajoute 3 critères supplémentaires (fiabilité, améliorabilité, maintenance).

Sanction encourue — l’absence d’affichage expose une personne morale à jusqu’à 15 000 € d’amende par produit non conforme (article L541-9-2 du Code de l’environnement).

Installation

  1. Depuis le back-office PrestaShop, ouvrez Modules → Gestionnaire de modules, cliquez sur Envoyer un module et déposez le fichier dfreparability.zip.
  2. Cliquez sur Installer. Le module :
    • crée la table ps_dfreparability_product pour stocker les notes par produit ;
    • crée une page CMS Indice de réparabilité et de durabilité avec un contenu de référence prêt à personnaliser ;
    • enregistre 11 catégories préconfigurées avec les critères Bercy correspondants.
  3. À l’installation seule, le module ne modifie aucune fiche produit existante. Vous saisissez les notes produit par produit.

Saisie de l’indice sur une fiche produit

dfreparability ajoute un panneau Indice de réparabilité / durabilité à la fiche produit, disponible aussi bien en mode legacy qu’en mode Symfony (PrestaShop 9). La procédure est la même dans les deux modes.

Les 4 étapes

  1. Type d’indice — choisissez Réparabilité ou Durabilité. Pour les téléviseurs et lave-linge à hublot, sélectionnez directement Durabilité (nouvelle obligation).
  2. Catégorie — sélectionnez parmi les 11 catégories préconfigurées. La grille des critères s’adapte automatiquement.
  3. Notes par critère — chacun sur 20. Les 5 critères Bercy sont toujours présents. Si vous avez sélectionné Durabilité, les 3 critères supplémentaires apparaissent.
  4. Score final — calculé automatiquement à partir des critères. Un champ Score manuel permet de surcharger la note si vous appliquez un ajustement Bercy spécifique documenté dans la grille officielle du fabricant.

Champ optionnel — Grille de calcul PDF : renseignez le lien vers le PDF officiel de la grille détaillée fournie par le fabricant. Le lien est affiché sur la page de note détaillée du produit.

Calcul du score sur 10

Le module applique la méthode officielle Bercy :

score_sur_10 = (somme des notes / nombre de critères) / 2

Exemple pour un smartphone en indice de réparabilité avec les 5 notes suivantes :

  • Documentation : 16 / 20
  • Démontabilité : 14 / 20
  • Disponibilité des pièces : 12 / 20
  • Prix des pièces : 10 / 20
  • Spécifiques : 18 / 20

Score : (16 + 14 + 12 + 10 + 18) / 5 / 2 = 14 / 2 = 7,0 sur 10 — bande vert clair.

Les 5 bandes réglementaires

La couleur du logo dépend du score et suit strictement les seuils officiels :

Score Bande Code couleur
≥ 8,0 Vert foncé #2d8c3c
7,0 à 7,9 Vert clair #79c142
5,0 à 6,9 Jaune #f5d70a
3,0 à 4,9 Orange #f08017
< 3,0 Rouge #cf2127

Les 11 catégories préconfigurées

  1. Smartphones
  2. Ordinateurs portables
  3. Téléviseurs (durabilité depuis avril 2024)
  4. Lave-linge à hublot (durabilité depuis avril 2025)
  5. Lave-linge top
  6. Lave-vaisselle
  7. Aspirateurs filaires
  8. Aspirateurs sans fil
  9. Aspirateurs robots
  10. Nettoyeurs haute-pression
  11. Tondeuses à gazon électriques

Pour chaque catégorie, le module contient la grille des critères conforme aux textes officiels. Si Bercy publie une évolution des critères, une mise à jour du module est fournie dans le cadre de votre licence.

Affichage sur la boutique

Choix de la position

Depuis la configuration du module (Modules → dfreparability → Configurer), trois positions sont proposées sur la fiche produit :

  • Sous le prix (recommandé) — utilise le hook displayProductPriceBlock avec type=after_price. Visible dès l’ouverture de la fiche produit.
  • Dans un onglet d’informations complémentaires — utilise displayProductAdditionalInfo. Cache l’indice sous un onglet dédié.
  • Sous les miniatures — utilise displayAfterProductThumbs. Recommandé si votre thème place les infos produit à droite des miniatures.

Une seule position doit être active à la fois pour éviter les doublons. Le module force l’exclusivité côté configuration.

Affichage compact dans les listes

Une option distincte active un badge compact sur les fiches produit en liste (page catégorie, recherche, résultats) via le hook displayProductListReviews. Le badge reprend le logo coloré et la note sur 10 sans le détail des critères.

Page de note détaillée

Chaque produit avec un indice renseigné dispose d’une page publique /module/dfreparability/detail?id_product={id} qui affiche :

  • le logo coloré grand format ;
  • la note sur 10 avec la bande de couleur correspondante ;
  • la grille complète des critères et leurs notes ;
  • le lien vers le PDF officiel si vous l’avez renseigné ;
  • un lien vers la page CMS d’information légale.

Page CMS d’information légale

À l’installation, le module crée une page CMS Indice de réparabilité et de durabilité avec un contenu de référence en français couvrant :

  • les fondements juridiques (loi AGEC, arrêté 2020, décret 2022) ;
  • la table des 5 bandes de couleurs avec les seuils ;
  • la liste des 11 catégories concernées et leur date d’entrée en vigueur ;
  • les 5 critères Bercy et leur pondération ;
  • les critères supplémentaires pour la durabilité.

Vous pouvez modifier librement cette page depuis Design → Pages et la traduire dans toutes vos langues actives. Les liens depuis les fiches produit pointent automatiquement vers la version dans la langue de navigation.

Personnalisation du rendu

Remplacer les logos par les originaux Bercy

Le module fournit 10 logos SVG (2 indices × 5 bandes) inspirés du visuel officiel. Si le fabricant vous a fourni les PNG ou SVG officiels, remplacez les fichiers dans views/img/logos/ en conservant les noms :

reparability-dark-green.svg
reparability-light-green.svg
reparability-yellow.svg
reparability-orange.svg
reparability-red.svg
durability-dark-green.svg
durability-light-green.svg
durability-yellow.svg
durability-orange.svg
durability-red.svg

Ajuster le CSS

Le rendu frontend utilise les classes .dfrep-badge, .dfrep-score, .dfrep-band-*. Le CSS principal est dans views/css/dfreparability.css. Pour surcharger sans modifier le module, ajoutez vos règles dans le CSS de votre thème enfant — les sélecteurs restent stables entre les versions.

Multilingue et multiboutique

Traductions incluses : français, anglais, espagnol, allemand. Ajouter une langue supplémentaire se fait via l’outil standard de traduction PrestaShop (International → Traductions).

Les notes des produits sont stockées par id_product — donc partagées entre les boutiques d’un réseau multiboutique. Si un produit a des notes différentes par boutique, il faut le décliner. La page CMS d’information légale, elle, peut être différenciée par boutique via l’outil PrestaShop standard.

Duplication de produit

Le module écoute le hook actionProductAdd : quand vous dupliquez un produit ayant un indice renseigné, les notes et la grille des critères sont automatiquement copiées vers le nouveau produit.

Compatibilité et prérequis

  • PrestaShop : 8.0 à 9.x (les deux modes fiche produit, legacy et Symfony).
  • PHP : 7.4 minimum, 8.1+ recommandé.
  • Thèmes : compatible Classic, Hummingbird et thèmes tiers qui déclenchent les hooks standards de la fiche produit.
  • PrestaShop 1.7 : non supporté.

Dépannage

Le badge s’affiche deux fois sur la fiche produit

Vérifiez que vous n’avez pas activé plusieurs positions d’affichage simultanément dans la configuration du module. Depuis la v1.0.1, le hook displayProductPriceBlock ne répond qu’au type after_price, ce qui évite le doublon interne du bloc prix.

La page de détail renvoie « Controller not found »

Sur PrestaShop 9, vider le cache Symfony (Paramètres avancés → Performances → Vider le cache) après installation. La v1.0.1 corrige la casse du nom de classe du contrôleur pour la forme canonique attendue par le Dispatcher PS 9.

Le panneau ne s’affiche pas dans la fiche produit Symfony

Vérifiez que le hook actionProductFormBuilderModifier est bien associé au module (Design → Positions). C’est le hook Symfony natif — si un autre module l’a désactivé globalement, réactivez-le sur dfreparability.

Historique des versions

1.0.1 — 14 mai 2026

  • Correction de l’affichage en double du badge dans le bloc prix (displayProductPriceBlock restreint à after_price).
  • Correction de la classe du contrôleur frontend pour la forme canonique attendue par PrestaShop 9.
  • Chargement défensif de dfreparability.php et classes/DfReparabilityProduct.php en tête du contrôleur frontend.
  • Bascule de la variable Smarty $link vers $module_dir dans le template d’admin (contexte ExtraModulesType de PS 9 n’injecte pas $link).

1.0.0 — 14 mai 2026

  • Première version publique.
  • Indice de réparabilité et de durabilité par produit.
  • 11 catégories préconfigurées, 5 bandes réglementaires, 10 logos SVG.
  • Page de note détaillée, page CMS d’information légale.
  • Traductions FR, EN, ES, DE. Compatible PrestaShop 8 et 9.
Cette page vous a-t-elle été utile ?

Toujours bloqué ? Contactez le support