diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7c5d60866856bafc7caaf55a9058d1f5b2f870cb..fb7307386e97c06f8825091e30b9e88c36617bc4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -25,6 +25,7 @@
 
 ### Deprecated
 
+- Dans les fonctions `extraire_idiome` et `extraire_multi`, le 3è paramètre `$options` de type `bool` est déprécié. Utiliser un array `['echappe_span' => true]`
 - #5552 Constantes `_COOKIE_SECURE` et `_COOKIE_SECURE_LIST` (utiliser les options `secure` et/ou `httponly` de `spip_setcookie`)
 - #5565 Critère `{collecte}`. Utiliser `{collate}`
 - #5565 Critères `{fusion}` et `{fusion_supprimer}`. Utiliser `{groupby}` et `{groupby_supprimer}`
diff --git a/UPGRADE_5.0.md b/UPGRADE_5.0.md
index d6efc96fb8221c1979de51a74b186e9ce9c16265..416e7e1134a1eb766f2d2073b90740c4ed4aab15 100644
--- a/UPGRADE_5.0.md
+++ b/UPGRADE_5.0.md
@@ -60,8 +60,35 @@ ou
 a[href] { background-image: url("#CHEMIN_IMAGE{img.svg}"); }
 ```
 
+# Nouvelles dépréciations
 
-# Suppressions des dépréciations
+Les éléments suivants sont dépréciés et seront supprimés dans une future version.
+
+## Fonctions PHP
+
+Dans certains cas parfois utilisées en filtres de squelettes également.
+
+### Fonctions `extraire_multi` et `extraire_idiome`: 3è paramètre `$options` déprécié si booléen
+
+Le paramètre `$options` de ces fonctions doit être un `array`.
+
+#### Avant
+
+```php
+$multi = extraire_multi($texte, 'en', true);
+$idiome = extraire_idiome($texte, 'en', true);
+```
+
+#### Après
+
+```php
+$multi = extraire_multi($texte, 'en', ['echappe_span' => true]);
+$idiome = extraire_idiome($texte, 'en', ['echappe_span' => true]);
+```
+
+# Suppressions des éléments dépréciés
+
+Les éléments suivants ont été supprimés et doivent être adaptés si ce n’est pas encore le cas.
 
 ## Syntaxes de squelettes
 
diff --git a/ecrire/inc/filtres.php b/ecrire/inc/filtres.php
index 0d76e982b567064b55c9182520b1aa711b4e75eb..60712d8e580265b1642ad6bf83e07c6a61fe7ddd 100644
--- a/ecrire/inc/filtres.php
+++ b/ecrire/inc/filtres.php
@@ -1635,9 +1635,9 @@ function post_autobr($texte, $delim = "\n_ ") {
  * @param string $lang
  *     Langue à retrouver (si vide, utilise la langue en cours).
  * @param array $options Options {
- * @type bool $echappe_span
+ *     @var bool $echappe_span
  *         True pour échapper les balises span (false par défaut)
- * @type string $lang_defaut
+ *     @var string $lang_defaut
  *         Code de langue : permet de définir la langue utilisée par défaut,
  *         en cas d'absence de traduction dans la langue demandée.
  *         Par défaut la langue du site.
@@ -1654,6 +1654,7 @@ function extraire_idiome($letexte, $lang = null, $options = []) {
 		}
 		// Compatibilité avec le prototype de fonction précédente qui utilisait un boolean
 		if (is_bool($options)) {
+			trigger_deprecation('spip', '5.0', 'Using boolean $options parameter in "%s()" function is deprecated. Use %s array parameter instead.', __FUNCTION__, '[\'echappe_span\' => ' . var_export($options, true) . ']');
 			$options = ['echappe_span' => $options];
 		}
 		if (!isset($options['echappe_span'])) {
@@ -1690,9 +1691,9 @@ function extraire_idiome($letexte, $lang = null, $options = []) {
  * @param string $lang
  *     Langue à retrouver (si vide, utilise la langue en cours).
  * @param array $options Options {
- * @type bool $echappe_span
+ *     @var bool $echappe_span
  *         True pour échapper les balises span (false par défaut)
- * @type string $lang_defaut
+ *     @var string $lang_defaut
  *         Code de langue : permet de définir la langue utilisée par défaut,
  *         en cas d'absence de traduction dans la langue demandée.
  *         Par défaut la langue du site.
@@ -1710,6 +1711,7 @@ function extraire_multi($letexte, $lang = null, $options = []) {
 
 		// Compatibilité avec le prototype de fonction précédente qui utilisait un boolean
 		if (is_bool($options)) {
+			trigger_deprecation('spip', '5.0', 'Using boolean $options parameter in "%s()" function is deprecated. Use %s array parameter instead.', __FUNCTION__, '[\'echappe_span\' => ' . var_export($options, true) . ']');
 			$options = ['echappe_span' => $options, 'lang_defaut' => _LANGUE_PAR_DEFAUT];
 		}
 		if (!isset($options['echappe_span'])) {
diff --git a/ecrire/inc/texte.php b/ecrire/inc/texte.php
index cb1ed8702f21632bb4e5b6ff5e762022664f4cd0..be15685478c825aaae5fb229cf4d3885a709dcf8 100644
--- a/ecrire/inc/texte.php
+++ b/ecrire/inc/texte.php
@@ -330,11 +330,11 @@ function corriger_typo($letexte, $lang = '') {
 	}
 
 	// trouver les blocs idiomes et les traiter à part
-	$letexte = extraire_idiome($ei = $letexte, $lang, true);
+	$letexte = extraire_idiome($ei = $letexte, $lang, ['echappe_span' => true]);
 	$ei = ($ei !== $letexte);
 
 	// trouver les blocs multi et les traiter a part
-	$letexte = extraire_multi($em = $letexte, $lang, true);
+	$letexte = extraire_multi($em = $letexte, $lang, ['echappe_span' => true]);
 	$em = ($em !== $letexte);
 
 	// Charger & appliquer les fonctions de typographie
@@ -370,7 +370,7 @@ function corriger_typo($letexte, $lang = '') {
  * Ne fait rien ici. Voir plugin Textwheel
  *
  * @param string $letexte
- * @param null $forcer
+ * @param bool $forcer
  * @return string
  */
 function paragrapher($letexte, $forcer = true) {