# Override : définition

> Un override est un fichier placé dans le dossier override/ de PrestaShop qui remplace le comportement d’une classe du cœur, sans modifier le fichier d’origine.

- Source canonique : [https://allaux.fr/glossaire/override](https://allaux.fr/glossaire/override)
- Langue : FR
- Dernière mise à jour : 2026-07-26

## Comment fonctionne un override

Chaque classe de PrestaShop, par exemple Product ou Order, peut être surchargée en créant un fichier du même nom dans override/classes (ou override/controllers pour un contrôleur). PrestaShop charge cette version à la place de l’originale, ce qui permet de modifier un comportement précis sans toucher au code source du CMS.

Contrairement à un module, qui s’accroche à des hooks définis à l’avance sans réécrire de méthode existante, un override peut redéfinir n’importe quelle méthode d’une classe cœur. C’est plus puissant, mais aussi plus fragile.

Le risque se situe au moment des mises à jour. Si PrestaShop modifie la classe d’origine, l’override écrit sur l’ancienne version peut entrer en conflit, provoquer une erreur, ou ignorer silencieusement le changement. Les overrides sont donc réservés aux besoins que les hooks ne couvrent pas, et doivent être documentés avant chaque montée de version.

## Point de vigilance

> Avant toute mise à jour de PrestaShop, recensez les overrides actifs et vérifiez leur compatibilité avec les classes modifiées, sous peine d’erreurs après la mise à jour.

## FAQ

### Faut-il éviter les overrides autant que possible ?

Oui dans la mesure du possible : un module basé sur les hooks est plus simple à maintenir. L’override reste utile quand aucun hook ne permet d’atteindre le comportement recherché.

### Comment savoir si une boutique contient des overrides ?

Il suffit de vérifier le contenu des dossiers override/classes et override/controllers : tout fichier présent y indique une surcharge active.

### Un override peut-il coexister avec un module sur la même fonctionnalité ?

Oui, mais cela complique le diagnostic en cas de bug, car le comportement final dépend à la fois du hook exécuté par le module et de la méthode réécrite par l’override.
