# DF Download Center — Documentation

> Présentation DF Download Center rattache vos notices, manuels, fiches techniques et certificats CE directement à vos produits. Chaque fiche produit gagne un onglet « Documents & téléchargements » qui liste…

- Page: <https://www.datafirefly.com/documentation/dfdownloadcenter/>
- Langue: fr
- Mis à jour le: 2026-07-12
- Autres langues: [en](https://www.datafirefly.com/en/documentation/dfdownloadcenter/index.md), [es](https://www.datafirefly.com/es/documentation/dfdownloadcenter/index.md), [de](https://www.datafirefly.com/de/documentation/dfdownloadcenter/index.md), [it](https://www.datafirefly.com/it/documentation/dfdownloadcenter/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfdownloadcenter/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfdownloadcenter/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfdownloadcenter/index.md)
- Index: <https://www.datafirefly.com/documentation/llms.txt>

## Présentation

DF Download Center rattache vos notices, manuels, fiches techniques et certificats CE directement à vos produits. Chaque fiche produit gagne un onglet « Documents & téléchargements » qui liste les fichiers groupés par type. En parallèle, une page centrale indexable regroupe tout le catalogue documentaire, avec recherche, filtres par type et données structurées JSON-LD.

Le module est compatible PrestaShop 8.0 à 9.x, multiboutique, disponible en cinq langues, et ne dépend ni de Composer ni d'aucun framework externe.

## Installation

1. Depuis le back-office, allez dans **Modules** puis **Gestionnaire de modules**.
2. Cliquez sur **Installer un module** et déposez le fichier `dfdownloadcenter-1.0.0.zip`.
3. Cliquez sur **Installer**.

L'installation crée les tables du module, quatre types de documents par défaut, un onglet d'administration sous le menu **Catalogue**, et enregistre les hooks nécessaires.

**Après l'installation, videz le cache** depuis Paramètres avancés puis Performances. La route de la page centrale est déclarée par le hook de routage et n'est active qu'après régénération du cache.

### Permissions

Le dossier `modules/dfdownloadcenter/uploads/` doit être accessible en écriture par le serveur web. Il contient un fichier htaccess qui bloque tout accès HTTP direct : les fichiers ne sortent que par le contrôleur de téléchargement.

## Configuration

Ouvrez le module depuis **Modules** puis **Gestionnaire de modules**, et cliquez sur **Configurer**.

### Page centrale

- **Activer la page centrale** — quand elle est désactivée, la page renvoie une 404 et le lien depuis l'onglet produit disparaît.
- **Slug de l'URL** — le segment d'URL de la page, par exemple `telechargements` ou `downloads`. Videz le cache après toute modification.
- **Documents par page** — 20 par défaut.
- **Meta title** et **Meta description** — configurables langue par langue, utilisés dans la balise title et la meta description de la page.

### Types de documents

Quatre types sont installés par défaut, traduits dans les cinq langues du catalogue :

- Notices & manuels
- Fiches techniques
- Certificats CE
- Autres documents

Depuis l'écran de configuration, vous pouvez créer, renommer et réordonner les types. La **position** détermine l'ordre d'affichage des groupes dans l'onglet produit et sur la page centrale.

Un type utilisé par au moins un document ne peut pas être supprimé. Le module affiche le nombre de documents concernés et vous demande de les réaffecter à un autre type au préalable.

## Gérer les documents

Les documents se gèrent depuis **Catalogue** puis **Centre de téléchargement**. La liste affiche pour chaque document son titre, son type, le nom du fichier, sa taille, le nombre de téléchargements et son statut d'activation.

### Créer un document

1. Cliquez sur **Ajouter**.
2. Saisissez le **titre** dans chaque langue. Le titre est obligatoire dans la langue par défaut.
3. Ajoutez une **description** facultative, également par langue. Elle s'affiche sous le titre dans l'onglet produit et sur la page centrale.
4. Choisissez le **type** du document.
5. Sélectionnez le **fichier** à mettre en ligne.
6. Rattachez les **produits associés** en tapant leur nom ou leur référence dans le champ de recherche : les suggestions apparaissent au bout de deux caractères, et chaque produit sélectionné devient une pastille retirable en un clic.
7. Définissez la **position** du document au sein de son type, et son statut **actif**.
8. Enregistrez.

### Formats et taille des fichiers

Les extensions acceptées sont : PDF, DOC, DOCX, ODT, XLS, XLSX, ODS, CSV, TXT, RTF, ZIP, PNG, JPG, JPEG, WEBP, SVG, DWG, DXF, STEP et STP. La taille maximale par fichier est de 50 Mo.

Si un fichier de moins de 50 Mo est refusé, vérifiez les directives `upload_max_filesize` et `post_max_size` de votre configuration PHP : le module ne peut pas recevoir un fichier que PHP refuse en amont.

### Remplacer un fichier

Ouvrez le document en édition et sélectionnez un nouveau fichier. L'ancien fichier est supprimé du serveur automatiquement une fois la mise à jour réussie. Le compteur de téléchargements est conservé.

### Un document, plusieurs produits

L'association document-produits est multiple. Un certificat CE qui couvre trois références se rattache aux trois en une seule saisie, et apparaît alors dans l'onglet de chacune. Inversement, un produit peut porter autant de documents que nécessaire.

Un document sans aucun produit associé reste valide : il n'apparaît dans aucun onglet produit, mais reste visible sur la page centrale. C'est l'usage à retenir pour une charte qualité, un catalogue général ou tout document d'entreprise.

## L'onglet produit

Sur la fiche produit, l'onglet « Documents & téléchargements » apparaît aux côtés de la description, via le hook natif d'extra content de PrestaShop. Aucun fichier de thème n'est surchargé.

Les documents y sont groupés par type, dans l'ordre défini par la position des types. Chaque ligne affiche une pastille d'extension colorée, le titre, la description facultative, la taille du fichier et un bouton de téléchargement. Un lien vers la page centrale ferme l'onglet lorsque celle-ci est activée.

Si un produit n'a aucun document actif rattaché, l'onglet n'apparaît pas du tout.

## La page centrale

La page centrale est servie à l'URL définie par le slug, par exemple `/telechargements` en français, ou `/en/telechargements` dans les autres langues selon la configuration multilingue de votre boutique.

### Recherche et filtres

Le champ de recherche interroge simultanément le titre du document, sa description, le nom du fichier d'origine, ainsi que le nom et la référence des produits associés. Un client qui tape une référence produit retrouve donc la notice correspondante.

Les filtres par type s'affichent sous forme de pastilles, avec pour chacune le nombre de documents actifs. La pagination est configurable depuis les réglages.

### SEO

La page est conçue pour être indexée :

- meta title et meta description configurables par langue ;
- directive robots en index follow ;
- URL canonique propre — seul le numéro de page est conservé, les filtres et la recherche sont exclus pour éviter la duplication ;
- fil d'Ariane ;
- bloc de données structurées JSON-LD de type ItemList, décrivant chaque fichier comme un DigitalDocument ;
- liens internes vers les produits concernés, sous chaque document.

## Téléchargement et sécurité

Les fichiers ne sont jamais accessibles en direct. Ils sont écrits sous un nom haché dans le dossier `uploads/` du module, verrouillé par un fichier htaccess.

Le téléchargement passe obligatoirement par un contrôleur front qui, avant de servir le fichier :

- vérifie que le document existe et qu'il est actif ;
- vérifie qu'il est rattaché à la boutique courante ;
- incrémente le compteur de téléchargements ;
- restitue le fichier sous son nom d'origine.

Les PDF et les images s'ouvrent dans le navigateur ; les autres formats déclenchent un téléchargement. Toute requête invalide est redirigée vers la page 404 de la boutique.

## Multiboutique

Les documents sont associés aux boutiques nativement, via l'association de table standard de PrestaShop. En contexte multiboutique, un document créé dans une boutique n'apparaît que dans celle-ci, et le contrôleur de téléchargement refuse de servir un fichier rattaché à une autre boutique.

Les réglages de la page centrale — slug, meta, pagination — sont eux aussi gérés par boutique.

## Désinstallation

La désinstallation supprime les tables du module, ses variables de configuration, son onglet d'administration, et efface l'intégralité des fichiers présents dans le dossier `uploads/`.

Sauvegardez vos fichiers avant de désinstaller le module : les documents mis en ligne ne sont pas récupérables après désinstallation.

## Dépannage

### L'URL de la page centrale renvoie une 404

Videz le cache depuis Paramètres avancés puis Performances. Les routes déclarées par le hook de routage sont mises en cache par PrestaShop et ne sont prises en compte qu'après régénération.

Vérifiez également que les URL simplifiées sont activées dans Paramètres de la boutique puis Trafic & SEO, et que la page centrale est activée dans la configuration du module.

### L'onglet n'apparaît pas sur la fiche produit

Vérifiez que le produit a au moins un document **actif** rattaché, et que le hook d'extra content est bien enregistré pour le module dans la page Positions du back-office. Sur un thème très personnalisé, assurez-vous que le modèle de fiche produit affiche bien les blocs d'extra content.

### Le téléchargement renvoie une 404

Trois causes possibles : le document est désactivé, il n'est pas rattaché à la boutique courante, ou le fichier physique est absent du dossier `uploads/`. Rééditez le document et remettez le fichier en ligne.

### L'upload échoue sans message clair

Vérifiez les permissions en écriture sur `modules/dfdownloadcenter/uploads/`, puis les directives PHP `upload_max_filesize`, `post_max_size` et `max_file_uploads`.

## Compatibilité technique

- PrestaShop 8.0 à 9.x
- PHP 7.4 à 8.3
- Hooks utilisés : displayProductExtraContent, moduleRoutes, displayHeader, actionObjectProductDeleteAfter
- Aucun override du cœur, aucune dépendance Composer
- Interface d'autocomplétion en JavaScript natif, sans jQuery
- Multiboutique et multilingue : FR, EN, ES, DE, IT
