Title: Extensions indispensables (mu-plugins)
Author: Dion Hulse
Published: 2 novembre 2018
Last modified: 19 novembre 2021

---

## Dans cet article

 * [Fonctionnalités des extensions indispensables](https://fr.wordpress.org/support/article/must-use-plugins/?output_format=md#fonctionnalites-des-extensions-indispensables)
 * [Avertissements](https://fr.wordpress.org/support/article/must-use-plugins/?output_format=md#avertissements)
 * [Un peu d’histoire ! L’origine du terme « mu-plugin »](https://fr.wordpress.org/support/article/must-use-plugins/?output_format=md#un-peu-dhistoire-lorigine-du-terme-mu-plugin)
 * [Code source](https://fr.wordpress.org/support/article/must-use-plugins/?output_format=md#code-source)

## Catégories

 * [Accessibilité](https://fr.wordpress.org/support/category/accessibilite/) (7)
 * [Administration de base](https://fr.wordpress.org/support/category/administration-base/)(
   36)
 * [Éditeur de bloc](https://fr.wordpress.org/support/category/block-editor/) (113)
 * [Éditeur de site](https://fr.wordpress.org/support/category/editeur-de-site/)(
   52)
 * [Classic Editor](https://fr.wordpress.org/support/category/classic-editor/) (
   2)
 * [Comment faire](https://fr.wordpress.org/support/category/how-to/) (8)
 * [Conception et mise en page](https://fr.wordpress.org/support/category/design-and-layout/)(
   17)
 * [Débuter](https://fr.wordpress.org/support/category/getting-started/) (37)
 * [Dépannage et support](https://fr.wordpress.org/support/category/troubleshooting/)(
   20)
 * [Développement](https://fr.wordpress.org/support/category/developpement/) (12)
 * [Installer WordPress](https://fr.wordpress.org/support/category/installer-wordpress/)(
   29)
 * [Maintenance](https://fr.wordpress.org/support/category/maintenance/) (23)
 * [Personnalisation](https://fr.wordpress.org/support/category/personnalisation/)(
   20)
 * [Qu’est-ce que WordPress ?](https://fr.wordpress.org/support/category/quest-ce-que-wordpress/)(
   11)
 * [Sécurité](https://fr.wordpress.org/support/category/securite/) (7)
 * [Sujets avancés](https://fr.wordpress.org/support/category/sujets-avances/) (
   31)
 * [Utilisation de base](https://fr.wordpress.org/support/category/utilisation-de-base/)(
   38)

# Extensions indispensables (mu-plugins)

Les extensions indispensables (en anglais « mu-plugins » pour « Must-Use Plugins»)
sont des extensions installées dans un répertoire `/mu-plugins` spécifique au sein
du répertoire `/wp-content`, et qui sont activées automatiquement sur chaque site
lorsque le script de chargement de WordPress est lancé (à chaque visite sur le site
donc). Les extensions indispensables ne s’affichent pas dans la liste générale des
extensions mais en cliquant sur le filtre « Extensions indispensables » en haut 
de page de l’écran de gestion des extensions. Elles ne peuvent être désactivées 
autrement qu’en supprimant le fichier dans le répertoire des extensions indispensables,
qui par défaut est situé dans `/wp-content/mu-plugins`.

Pour changer le répertoire par défaut manuellement, définissez les constantes `WPMU_PLUGIN_DIR`
et `WPMU_PLUGIN_URL` dans le fichier [wp-config.php](https://codex.wordpress.org/Editing_wp-config.php).

## 󠀁[Fonctionnalités des extensions indispensables](https://fr.wordpress.org/support/article/must-use-plugins/?output_format=md#fonctionnalites-des-extensions-indispensables)󠁿

 * Elles sont toujours activées, il n’y a pas besoin de les activer via l’administration
   et les utilisatrices et utilisateurs ne peuvent pas les désactiver, même par 
   accident.
 * Elles peuvent être activées simplement en téléversant le fichier de l’extension
   dans le répertoire `/mu-plugins`, sans avoir besoin de se connecter sur l’interface
   d’administration.
 * Elles sont chargées via PHP dans l’ordre alphabétique et **avant les extensions
   normales**, ce qui signifie qu’un crochet API ajouté dans une extension indispensable
   s’applique avant toutes les autres extensions qui utiliseraient le même crochet.

## 󠀁[Avertissements](https://fr.wordpress.org/support/article/must-use-plugins/?output_format=md#avertissements)󠁿

Malgré leur utilité dans de nombreux cas spécifiques, le système d’extension indispensable
n’est pas toujours idéal et comporte plusieurs aspects négatifs qui le rendent inapproprié
dans certaines circonstances. Voici quelques réserves à garder en tête avant d’utiliser
les fonctionnalités proposées par le système des extensions indispensables :

 * Les extensions du répertoire des extensions indispensables n’apparaîtront pas
   sur le système de notification de mise à jour disponible et n’indiqueront jamais
   si une mise à jour est disponible. Vous êtes responsable de leur mise à jour 
   manuelle.
 * [Les crochets d’activations](https://codex.wordpress.org/Function_Reference#register_activation_hook)
   ne sont _pas_ exécutés dans les extensions indispensables. Ces crochets sont 
   utilisés par de nombreuses extensions pour exécuter du code lors de l’installation
   ou de la désinstallation d’une extension. Les extensions qui dépendent de ces
   crochets pourraient ne pas fonctionner une fois placées dans le répertoire `/
   mu-plugins`.
 * WordPress n’exécute que les fichiers PHP directement contenus à la racine du 
   répertoire `mu-plugins`, les sous-répertoires ne sont pas parcourus. Si vous 
   souhaitez placer votre extension indispensable dans un sous-répertoire, vous 
   devrez créer un proxy de chargement via PHP dans le répertoire `/mu-plugins` :

    ```notranslate
    <?php // Exemple de fichier mu-plugins/load.php
    require WPMU_PLUGIN_DIR . '/my-plugin/my-plugin.php';
    ```

## 󠀁[Un peu d’histoire ! L’origine du terme « mu-plugin »](https://fr.wordpress.org/support/article/must-use-plugins/?output_format=md#un-peu-dhistoire-lorigine-du-terme-mu-plugin)󠁿

À l’origine, le répertoire `/mu-plugins` a été implémenté par WPMU (_WordPress Multi-
User_) pour offrir aux administratrices et administrateurs une façon simple d’activer
des extensions sur tous les sites d’un réseau de sites. C’est un besoin important
car à cette époque, le code de _WordPress Multi-User_ n’offrait aucun moyen pour
faire cela (aujourd’hui, WordPress Multi-site le permet depuis l’administration).

Le code qui gère le fonctionnement du répertoire /mu-plugins a été fusionné dans
le code source de WordPress le 7 mars 2009 dans ce jeu de modifications 10 mois 
avant que la base de code de WPMU fut initiallement fusionnée avec de code de WordPress.
Tous les sites ont alors pu utiliser les fonctionnalités associées aux extensions
indispensables, qu’il avait une installation multi-site ou non. La fonctionnalité
est utile pour tous les types d’installations WordPress, indépendamment de leur 
contexte.

Dans le cadre de ce processus d’intégration au cœur WordPress, il faut bien avouer
que le nom « mu-plugin » était bien mal nommé, car il véhiculait l’idée erronée 
que cela ne s’appliquait que dans le cadre d’un multi-site du fait de la présence
du suffixe « mu- ». Malgré tout, ce suffixe fut conservé et réinterprété en tant
que « must-use plugin » (devenu extension indispensable en français). Ce sont donc
des extensions qui seront toujours chargées quelque soient les réglages de l’administration.

Le « mu » de « Must-Use » est donc un [rétro-acronyme](https://fr.wiktionary.org/wiki/r%C3%A9tro-acronyme),
tout comme PHP (qui voulait au départ dire « Personal Home Page » mais qui fut plus
tard réinterprété comme signifiant « PHP Hypertext Preprocessor », et qui est par
ailleurs également un [acronyme récursif](https://fr.wikipedia.org/wiki/Sigles_auto-r%C3%A9f%C3%A9rentiels)).
🤓

## 󠀁[Code source](https://fr.wordpress.org/support/article/must-use-plugins/?output_format=md#code-source)󠁿

 * La fonction `get_mu_plugins()` est située dans le fichier `[wp-admin/includes/plugin.php](https://core.trac.wordpress.org/browser/tags/4.5.3/src/wp-admin/includes/plugin.php#L0)`.
 * La fonction `wp_get_mu_plugins()` est située dans le fichier `[wp-includes/load.php](https://core.trac.wordpress.org/browser/tags/4.5.3/src/wp-includes/load.php#L0)`.

Traduit par [Jb Audras](https://profiles.wordpress.org/audrasjb/)
Relu par [Didier Demory](https://profiles.wordpress.org/wolforg/),
[Sébastien Serre](https://profiles.wordpress.org/sebastienserre/) & [Jenny Dupuy](https://profiles.wordpress.org/jdy68/)
Dernière mise à jour le 4 mars 2020