From fbc9e2e965c2f82c57d19a69665d94f5d0d0f35b Mon Sep 17 00:00:00 2001
From: Matthieu Marcillaud <marcimat@rezo.net>
Date: Mon, 26 Jun 2023 14:31:21 +0200
Subject: [PATCH] =?UTF-8?q?style:=20PSR=20sur=20ecrire/tests=20suite=20?=
 =?UTF-8?q?=C3=A0=20utilisation=20de=20Rector?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/tests/Distant/NeedProxyTest.php        |   2 +-
 ecrire/tests/Distant/UrlToAsciiTest.php       |   2 +-
 .../tests/Distant/ValiderUrlDistanteTest.php  |   2 +-
 .../TemplateCompilationErrorException.php     |   1 +
 .../Exception/TemplateNotFoundException.php   |   1 +
 ecrire/tests/Filtre/AjouterClassTest.php      |   2 +-
 ecrire/tests/Filtre/AppliquerFiltreTest.php   |   2 +-
 ecrire/tests/Filtre/ChercherFiltreTest.php    |   2 +-
 ecrire/tests/Filtre/CommuterClassTest.php     |   2 +-
 .../tests/Filtre/CorrigerEntitesHtmlTest.php  |   2 +-
 ecrire/tests/Filtre/Date/AffdateCourtTest.php |   2 +-
 .../tests/Filtre/Date/AffdateDebutFinTest.php |   2 +-
 ecrire/tests/Filtre/Date/AffdateHeureTest.php |   2 +-
 .../Filtre/Date/AffdateJourcourtTest.php      |   2 +-
 .../Filtre/Date/AffdateMoisAnneeTest.php      |   2 +-
 ecrire/tests/Filtre/Date/AnneeTest.php        |   2 +-
 ecrire/tests/Filtre/Date/DateIcalTest.php     |   2 +-
 .../tests/Filtre/Date/DateInterfaceTest.php   |   2 +-
 ecrire/tests/Filtre/Date/DateRelativeTest.php |   2 +-
 .../tests/Filtre/Date/HeuresMinutesTest.php   |   2 +-
 ecrire/tests/Filtre/Date/HeuresTest.php       |   2 +-
 ecrire/tests/Filtre/Date/JourTest.php         |   2 +-
 ecrire/tests/Filtre/Date/JournumTest.php      |   2 +-
 ecrire/tests/Filtre/Date/MinutesTest.php      |   2 +-
 ecrire/tests/Filtre/Date/MoisTest.php         |   2 +-
 ecrire/tests/Filtre/Date/NomJourTest.php      |   2 +-
 ecrire/tests/Filtre/Date/NomMoisTest.php      |   2 +-
 .../tests/Filtre/Date/NormaliserDateTest.php  |   2 +-
 ecrire/tests/Filtre/Date/RecupDateTest.php    |   2 +-
 ecrire/tests/Filtre/Date/RecupHeureTest.php   |   4 +-
 ecrire/tests/Filtre/Date/SaisonTest.php       |   2 +-
 ecrire/tests/Filtre/Date/ViderDateTest.php    |   2 +-
 ecrire/tests/Filtre/DivTest.php               |   2 +-
 ecrire/tests/Filtre/EchapperTagsTest.php      |   2 +-
 ecrire/tests/Filtre/ExtraireBalisesTest.php   | 174 +++++-------------
 ecrire/tests/Filtre/ExtraireMultiTest.php     |   2 +-
 .../tests/Filtre/FiltreBaliseImgDistTest.php  |   4 +-
 ecrire/tests/Filtre/FiltrerEntitesTest.php    |   2 +-
 .../tests/Filtre/Form/FormHiddenArboTest.php  |   2 -
 ecrire/tests/Filtre/Form/FormHiddenCase.php   |  26 +--
 .../tests/Filtre/Form/FormHiddenHtmlTest.php  |   2 -
 .../Filtre/Form/FormHiddenLibresTest.php      |   2 -
 .../tests/Filtre/Form/FormHiddenPageTest.php  |   2 -
 .../Filtre/Form/FormHiddenPropresQsTest.php   |   2 -
 .../Filtre/Form/FormHiddenPropresTest.php     |   2 -
 .../Filtre/Form/FormHiddenStandardTest.php    |   2 -
 ecrire/tests/Filtre/HauteurTest.php           |   2 +-
 ecrire/tests/Filtre/IdentifiantSlugTest.php   |   2 +-
 ecrire/tests/Filtre/InsererAttributTest.php   |   2 +-
 ecrire/tests/Filtre/LabelTest.php             |  12 +-
 ecrire/tests/Filtre/LargeurTest.php           |   2 +-
 ecrire/tests/Filtre/LienOuExposeTest.php      |   2 +-
 .../Filtre/Mime/FiltreTextCsvDistTest.php     |   2 +-
 .../tests/Filtre/Mime/FiltreTextDistTest.php  |   2 +-
 .../Filtre/Mini/ProtocoleVerifierTest.php     |   2 +-
 ecrire/tests/Filtre/ModuloTest.php            |   2 +-
 ecrire/tests/Filtre/MoinsTest.php             |   2 +-
 ecrire/tests/Filtre/MultTest.php              |   3 +-
 ecrire/tests/Filtre/PlusTest.php              |   2 +-
 ecrire/tests/Filtre/PostAutobrTest.php        |   2 +-
 ecrire/tests/Filtre/ProtegerAmpTest.php       |   2 +-
 ecrire/tests/Filtre/RecupererNumeroTest.php   |   2 +-
 ecrire/tests/Filtre/SinonTest.php             |   2 +-
 ecrire/tests/Filtre/SpipHtmlentitiesTest.php  |   2 +-
 .../tests/Filtre/SpipHtmlspecialcharsTest.php |   2 +-
 ecrire/tests/Filtre/SupprimerClassTest.php    |   2 +-
 ecrire/tests/Filtre/SupprimerNumeroTest.php   |   2 +-
 ecrire/tests/Filtre/SupprimerTagsTest.php     |   2 +-
 ecrire/tests/Filtre/TailleEnOctetsTest.php    |   4 +-
 ecrire/tests/Filtre/TailleImageTest.php       |   2 +-
 ecrire/tests/Filtre/TexteBackendTest.php      |   2 +-
 ecrire/tests/Filtre/TexteBackendqTest.php     |   2 +-
 ecrire/tests/Filtre/WrapTest.php              |   2 +-
 ecrire/tests/Format/Json/Var2jsTest.php       |   2 +-
 ecrire/tests/Format/Xml/SpipXmlParseTest.php  |  36 ++--
 ecrire/tests/Formulaire/ProtegeChampTest.php  |   2 +-
 ecrire/tests/Genie/MajTest.php                |   7 +-
 .../Plugin/PluginVersionCompatibleTest.php    |   2 +-
 .../tests/Plugin/SpipVersionCompareTest.php   |   2 +-
 ecrire/tests/Propre/ChevronOuvrantTest.php    |   2 +-
 ecrire/tests/Propre/CodeImbriqueTest.php      |   2 +-
 ecrire/tests/Propre/EchappeHtmlTest.php       |  21 ++-
 ecrire/tests/Propre/TraiterModelesTest.php    |   5 +-
 ecrire/tests/Propre/TraiterRaccourcisTest.php |   2 +-
 ecrire/tests/Propre/TraiterTableauTest.php    |  10 +-
 ecrire/tests/Sql/Objets/IdTableObjetTest.php  |   2 +-
 ecrire/tests/Sql/Objets/ObjetTypeTest.php     |   2 +-
 .../Sql/Objets/QueryEchappeTextesTest.php     |   2 +-
 ecrire/tests/Sql/Objets/TableObjetSqlTest.php |   2 +-
 ecrire/tests/Sql/Objets/TableObjetTest.php    |   2 +-
 ecrire/tests/Sql/SqlInMysqlTest.php           |   2 +-
 ecrire/tests/Sql/SqlInSqliteTest.php          |   2 +-
 ecrire/tests/Squelettes/Balise/ExposeTest.php |   2 +-
 .../Squelettes/Balise/IntroductionTest.php    |  32 ++--
 ecrire/tests/Squelettes/Balise/NotesTest.php  |   1 -
 .../Squelettes/Boucle/BoucleJointuresTest.php |  36 +++-
 .../tests/Squelettes/Critere/DoublonsTest.php |   2 +-
 ecrire/tests/SquelettesTestCase.php           |  10 +-
 ecrire/tests/Texte/CouperTest.php             |  69 ++-----
 .../tests/Texte/EchapperHtmlSuspectTest.php   |  35 +---
 .../Texte/InterdireScriptLaxisteTest.php      |   3 +-
 .../tests/Texte/InterdireScriptParanoTest.php |   3 +-
 ecrire/tests/Texte/PropreTest.php             |  12 +-
 ecrire/tests/Texte/TypoTest.php               |   6 +-
 ecrire/tests/Typographie/FrTest.php           |  16 +-
 ecrire/tests/Utils/ParametreUrlTest.php       |   2 +-
 ecrire/tests/Utils/TesterUrlAbsolueTest.php   |   2 +-
 ecrire/tests/Utils/UrlDeTest.php              |   2 +-
 ecrire/tests/bootstrap.php                    |  10 +-
 ecrire/tests/legacy/squel.php                 |   2 +-
 .../balise/formulaire_test_phraseur.php       |   4 +-
 ecrire/tests/legacy/test_fonctions.php        |  27 +--
 .../abstract_sql/00_sql_create_drop_view.php  |   2 +-
 .../abstract_sql/10_sql_insert_select.php     |  34 ++--
 .../abstract_sql/20_sql_update_delete.php     |   2 +-
 .../legacy/unit/abstract_sql/30_sql_alter.php |  50 ++---
 .../unit/abstract_sql/40_sql_divers.php       |  38 ++--
 .../balises/inclure_manquant_fonctions.php    |   2 +-
 .../legacy/unit/cache/cache_sessions.php      |   4 +-
 .../entrees_sorties/flock_sous_repertoire.php |   2 +-
 .../unit/entrees_sorties/spip_nfslock.php     |   4 +-
 ecrire/tests/legacy/unit/filtres/affdate.php  |   2 +-
 .../legacy/unit/filtres/attribut_html.php     |   6 +-
 ecrire/tests/legacy/unit/filtres/date_iso.php |   2 +-
 .../legacy/unit/filtres/entites_html.php      |  68 +++----
 .../legacy/unit/filtres/extraire_attribut.php |   2 +-
 .../legacy/unit/filtres/liens_absolus.php     |  28 +--
 .../unit/filtres/liens_absolus_prive.php      |   2 +-
 .../legacy/unit/filtres/suivre_liens.php      |   4 +-
 .../tests/legacy/unit/path/creer_chemin.php   |   2 +-
 .../legacy/unit/plugin/dir_plugins_suppl.php  |  36 ++--
 ecrire/tests/legacy/unit/propre/liens.php     |  30 +--
 .../legacy/unit/propre/liens_classes.php      |  10 +-
 .../unit/xml/xmlhack_recuperer_fond.php       |   2 +-
 .../legacy/unit/z_todo/NA_email_valide.php    |   4 +-
 .../unit/z_todo/NA_email_valide_5322.php      |   2 +-
 136 files changed, 480 insertions(+), 598 deletions(-)

diff --git a/ecrire/tests/Distant/NeedProxyTest.php b/ecrire/tests/Distant/NeedProxyTest.php
index 1d65d0c1d8..f7c2ed5ae7 100644
--- a/ecrire/tests/Distant/NeedProxyTest.php
+++ b/ecrire/tests/Distant/NeedProxyTest.php
@@ -18,7 +18,7 @@ class NeedProxyTest extends TestCase
 	}
 
 	#[DataProvider('providerDistantNeedProxy')]
- 	public function testDistantNeedProxy($expected, ...$args): void {
+	public function testDistantNeedProxy($expected, ...$args): void {
 		$actual = need_proxy(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Distant/UrlToAsciiTest.php b/ecrire/tests/Distant/UrlToAsciiTest.php
index a9b8200d08..4683a61070 100644
--- a/ecrire/tests/Distant/UrlToAsciiTest.php
+++ b/ecrire/tests/Distant/UrlToAsciiTest.php
@@ -18,7 +18,7 @@ class UrlToAsciiTest extends TestCase
 	}
 
 	#[DataProvider('providerDistantUrlToAscii')]
- public function testDistantUrlToAscii($expected, ...$args): void {
+	public function testDistantUrlToAscii($expected, ...$args): void {
 		$actual = url_to_ascii(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Distant/ValiderUrlDistanteTest.php b/ecrire/tests/Distant/ValiderUrlDistanteTest.php
index a7bc6d4ad7..2e326a406a 100644
--- a/ecrire/tests/Distant/ValiderUrlDistanteTest.php
+++ b/ecrire/tests/Distant/ValiderUrlDistanteTest.php
@@ -18,7 +18,7 @@ class ValiderUrlDistanteTest extends TestCase
 	}
 
 	#[DataProvider('providerDistantValiderUrlDistante')]
- public function testDistantValiderUrlDistante($expected, ...$args): void {
+	public function testDistantValiderUrlDistante($expected, ...$args): void {
 		$actual = valider_url_distante(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Exception/TemplateCompilationErrorException.php b/ecrire/tests/Exception/TemplateCompilationErrorException.php
index a6f56bec39..2b780daabc 100644
--- a/ecrire/tests/Exception/TemplateCompilationErrorException.php
+++ b/ecrire/tests/Exception/TemplateCompilationErrorException.php
@@ -6,6 +6,7 @@ namespace Spip\Test\Exception;
 
 use Exception;
 use Throwable;
+
 class TemplateCompilationErrorException extends Exception
 {
 	public function __construct($message = '', $code = 0, Throwable $previous = null) {
diff --git a/ecrire/tests/Exception/TemplateNotFoundException.php b/ecrire/tests/Exception/TemplateNotFoundException.php
index 4ad28c44f6..0f6735b694 100644
--- a/ecrire/tests/Exception/TemplateNotFoundException.php
+++ b/ecrire/tests/Exception/TemplateNotFoundException.php
@@ -6,6 +6,7 @@ namespace Spip\Test\Exception;
 
 use Exception;
 use Throwable;
+
 class TemplateNotFoundException extends Exception
 {
 	public function __construct($message = '', $code = 0, Throwable $previous = null) {
diff --git a/ecrire/tests/Filtre/AjouterClassTest.php b/ecrire/tests/Filtre/AjouterClassTest.php
index daa72f9324..3c5e208716 100644
--- a/ecrire/tests/Filtre/AjouterClassTest.php
+++ b/ecrire/tests/Filtre/AjouterClassTest.php
@@ -18,7 +18,7 @@ class AjouterClassTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresAjouterClass')]
- public function testFiltresAjouterClass($expected, ...$args): void {
+	public function testFiltresAjouterClass($expected, ...$args): void {
 		$actual = ajouter_class(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/AppliquerFiltreTest.php b/ecrire/tests/Filtre/AppliquerFiltreTest.php
index a2d52d9f57..41ebe6f54c 100644
--- a/ecrire/tests/Filtre/AppliquerFiltreTest.php
+++ b/ecrire/tests/Filtre/AppliquerFiltreTest.php
@@ -18,7 +18,7 @@ class AppliquerFiltreTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresAppliquerFiltre')]
- public function testFiltresAppliquerFiltre($expected, ...$args): void {
+	public function testFiltresAppliquerFiltre($expected, ...$args): void {
 		$actual = appliquer_filtre(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/ChercherFiltreTest.php b/ecrire/tests/Filtre/ChercherFiltreTest.php
index 6cc4998496..b0fb8e4142 100644
--- a/ecrire/tests/Filtre/ChercherFiltreTest.php
+++ b/ecrire/tests/Filtre/ChercherFiltreTest.php
@@ -18,7 +18,7 @@ class ChercherFiltreTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresChercherFiltre')]
- public function testFiltresChercherFiltre($expected, ...$args): void {
+	public function testFiltresChercherFiltre($expected, ...$args): void {
 		$actual = chercher_filtre(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/CommuterClassTest.php b/ecrire/tests/Filtre/CommuterClassTest.php
index 551d23317d..c918407c69 100644
--- a/ecrire/tests/Filtre/CommuterClassTest.php
+++ b/ecrire/tests/Filtre/CommuterClassTest.php
@@ -18,7 +18,7 @@ class CommuterClassTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresCommuterClass')]
- public function testFiltresCommuterClass($expected, ...$args): void {
+	public function testFiltresCommuterClass($expected, ...$args): void {
 		$actual = commuter_class(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/CorrigerEntitesHtmlTest.php b/ecrire/tests/Filtre/CorrigerEntitesHtmlTest.php
index 9c4f57ab30..22a6ff7336 100644
--- a/ecrire/tests/Filtre/CorrigerEntitesHtmlTest.php
+++ b/ecrire/tests/Filtre/CorrigerEntitesHtmlTest.php
@@ -18,7 +18,7 @@ class CorrigerEntitesHtmlTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresCorrigerEntitesHtml')]
- public function testFiltresCorrigerEntitesHtml($expected, ...$args): void {
+	public function testFiltresCorrigerEntitesHtml($expected, ...$args): void {
 		$actual = corriger_entites_html(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/Date/AffdateCourtTest.php b/ecrire/tests/Filtre/Date/AffdateCourtTest.php
index 76e538e531..e3864e6242 100644
--- a/ecrire/tests/Filtre/Date/AffdateCourtTest.php
+++ b/ecrire/tests/Filtre/Date/AffdateCourtTest.php
@@ -18,7 +18,7 @@ class AffdateCourtTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresAffdateCourt')]
- public function testFiltresAffdateCourt($expected, ...$args): void {
+	public function testFiltresAffdateCourt($expected, ...$args): void {
 		changer_langue('fr');
 		$actual = affdate_court(...$args);
 		$this->assertSame($expected, $actual);
diff --git a/ecrire/tests/Filtre/Date/AffdateDebutFinTest.php b/ecrire/tests/Filtre/Date/AffdateDebutFinTest.php
index 2ea2cad814..21493802b2 100644
--- a/ecrire/tests/Filtre/Date/AffdateDebutFinTest.php
+++ b/ecrire/tests/Filtre/Date/AffdateDebutFinTest.php
@@ -20,7 +20,7 @@ class AffDateDebutFinTest extends TestCase
 	}
 
 	#[DataProvider('providerAffdateDebutFin')]
- public function testAffdateDebutFin($expected, ...$args): void {
+	public function testAffdateDebutFin($expected, ...$args): void {
 		$this->assertEquals($expected, affdate_debut_fin(...$args));
 	}
 
diff --git a/ecrire/tests/Filtre/Date/AffdateHeureTest.php b/ecrire/tests/Filtre/Date/AffdateHeureTest.php
index 4d0c2f326d..c11c2a040b 100644
--- a/ecrire/tests/Filtre/Date/AffdateHeureTest.php
+++ b/ecrire/tests/Filtre/Date/AffdateHeureTest.php
@@ -23,7 +23,7 @@ class AffdateHeureTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresAffdateHeure')]
- public function testFiltresAffdateHeure($expected, ...$args): void {
+	public function testFiltresAffdateHeure($expected, ...$args): void {
 		$actual = affdate_heure(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/Date/AffdateJourcourtTest.php b/ecrire/tests/Filtre/Date/AffdateJourcourtTest.php
index bebd14a788..f667fb7eb6 100644
--- a/ecrire/tests/Filtre/Date/AffdateJourcourtTest.php
+++ b/ecrire/tests/Filtre/Date/AffdateJourcourtTest.php
@@ -23,7 +23,7 @@ class AffdateJourcourtTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresAffdateJourcourt')]
- public function testFiltresAffdateJourcourt($expected, ...$args): void {
+	public function testFiltresAffdateJourcourt($expected, ...$args): void {
 		$actual = affdate_jourcourt(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/Date/AffdateMoisAnneeTest.php b/ecrire/tests/Filtre/Date/AffdateMoisAnneeTest.php
index b3c0ebd8b5..fff4e76ce6 100644
--- a/ecrire/tests/Filtre/Date/AffdateMoisAnneeTest.php
+++ b/ecrire/tests/Filtre/Date/AffdateMoisAnneeTest.php
@@ -23,7 +23,7 @@ class AffdateMoisAnneeTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresAffdateMoisAnnee')]
- public function testFiltresAffdateMoisAnnee($expected, ...$args): void {
+	public function testFiltresAffdateMoisAnnee($expected, ...$args): void {
 		$actual = affdate_mois_annee(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/Date/AnneeTest.php b/ecrire/tests/Filtre/Date/AnneeTest.php
index d49600c873..0eeedb9108 100644
--- a/ecrire/tests/Filtre/Date/AnneeTest.php
+++ b/ecrire/tests/Filtre/Date/AnneeTest.php
@@ -18,7 +18,7 @@ class AnneeTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresAnnee')]
- public function testFiltresAnnee($expected, ...$args): void {
+	public function testFiltresAnnee($expected, ...$args): void {
 		$actual = annee(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/Date/DateIcalTest.php b/ecrire/tests/Filtre/Date/DateIcalTest.php
index 0277143cf4..60446d2a19 100644
--- a/ecrire/tests/Filtre/Date/DateIcalTest.php
+++ b/ecrire/tests/Filtre/Date/DateIcalTest.php
@@ -22,7 +22,7 @@ class DateIcalTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresDateIcal')]
- public function testFiltresDateIcal($expected, ...$args): void {
+	public function testFiltresDateIcal($expected, ...$args): void {
 		$actual = date_ical(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/Date/DateInterfaceTest.php b/ecrire/tests/Filtre/Date/DateInterfaceTest.php
index ed35a9a4f7..0c2babd3ea 100644
--- a/ecrire/tests/Filtre/Date/DateInterfaceTest.php
+++ b/ecrire/tests/Filtre/Date/DateInterfaceTest.php
@@ -23,7 +23,7 @@ class DateInterfaceTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresDateInterface')]
- public function testFiltresDateInterface($expected, ...$args): void {
+	public function testFiltresDateInterface($expected, ...$args): void {
 		$actual = date_interface(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/Date/DateRelativeTest.php b/ecrire/tests/Filtre/Date/DateRelativeTest.php
index 71c604bec5..472e909f42 100644
--- a/ecrire/tests/Filtre/Date/DateRelativeTest.php
+++ b/ecrire/tests/Filtre/Date/DateRelativeTest.php
@@ -25,7 +25,7 @@ class DateRelativeTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresDateRelative')]
- public function testFiltresDateRelative($expected, ...$args): void {
+	public function testFiltresDateRelative($expected, ...$args): void {
 		$actual = date_relative(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/Date/HeuresMinutesTest.php b/ecrire/tests/Filtre/Date/HeuresMinutesTest.php
index feab201214..098f3a5c96 100644
--- a/ecrire/tests/Filtre/Date/HeuresMinutesTest.php
+++ b/ecrire/tests/Filtre/Date/HeuresMinutesTest.php
@@ -23,7 +23,7 @@ class HeuresMinutesTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresHeuresMinutes')]
- public function testFiltresHeuresMinutes($expected, ...$args): void {
+	public function testFiltresHeuresMinutes($expected, ...$args): void {
 		$actual = heures_minutes(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/Date/HeuresTest.php b/ecrire/tests/Filtre/Date/HeuresTest.php
index 221a32401c..2119bb3c92 100644
--- a/ecrire/tests/Filtre/Date/HeuresTest.php
+++ b/ecrire/tests/Filtre/Date/HeuresTest.php
@@ -18,7 +18,7 @@ class HeuresTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresHeures')]
- public function testFiltresHeures($expected, ...$args): void {
+	public function testFiltresHeures($expected, ...$args): void {
 		$actual = heures(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/Date/JourTest.php b/ecrire/tests/Filtre/Date/JourTest.php
index 90d212aeff..fd5280044c 100644
--- a/ecrire/tests/Filtre/Date/JourTest.php
+++ b/ecrire/tests/Filtre/Date/JourTest.php
@@ -23,7 +23,7 @@ class JourTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresJour')]
- public function testFiltresJour($expected, ...$args): void {
+	public function testFiltresJour($expected, ...$args): void {
 		$actual = jour(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/Date/JournumTest.php b/ecrire/tests/Filtre/Date/JournumTest.php
index 0062bb6e2c..aa4136b11a 100644
--- a/ecrire/tests/Filtre/Date/JournumTest.php
+++ b/ecrire/tests/Filtre/Date/JournumTest.php
@@ -18,7 +18,7 @@ class JournumTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresJournum')]
- public function testFiltresJournum($expected, ...$args): void {
+	public function testFiltresJournum($expected, ...$args): void {
 		$actual = journum(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/Date/MinutesTest.php b/ecrire/tests/Filtre/Date/MinutesTest.php
index d753824f09..ae9634c60e 100644
--- a/ecrire/tests/Filtre/Date/MinutesTest.php
+++ b/ecrire/tests/Filtre/Date/MinutesTest.php
@@ -18,7 +18,7 @@ class MinutesTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresMinutes')]
- public function testFiltresMinutes($expected, ...$args): void {
+	public function testFiltresMinutes($expected, ...$args): void {
 		$actual = minutes(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/Date/MoisTest.php b/ecrire/tests/Filtre/Date/MoisTest.php
index f882d6b024..7efc20fe60 100644
--- a/ecrire/tests/Filtre/Date/MoisTest.php
+++ b/ecrire/tests/Filtre/Date/MoisTest.php
@@ -18,7 +18,7 @@ class MoisTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresMois')]
- public function testFiltresMois($expected, ...$args): void {
+	public function testFiltresMois($expected, ...$args): void {
 		$actual = mois(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/Date/NomJourTest.php b/ecrire/tests/Filtre/Date/NomJourTest.php
index e7bf3d95c6..be71da887b 100644
--- a/ecrire/tests/Filtre/Date/NomJourTest.php
+++ b/ecrire/tests/Filtre/Date/NomJourTest.php
@@ -23,7 +23,7 @@ class NomJourTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresNomJour')]
- public function testFiltresNomJour($expected, ...$args): void {
+	public function testFiltresNomJour($expected, ...$args): void {
 		$actual = nom_jour(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/Date/NomMoisTest.php b/ecrire/tests/Filtre/Date/NomMoisTest.php
index 11ae5a334d..9ede5515e8 100644
--- a/ecrire/tests/Filtre/Date/NomMoisTest.php
+++ b/ecrire/tests/Filtre/Date/NomMoisTest.php
@@ -23,7 +23,7 @@ class NomMoisTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresNomMois')]
- public function testFiltresNomMois($expected, ...$args): void {
+	public function testFiltresNomMois($expected, ...$args): void {
 		$actual = nom_mois(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/Date/NormaliserDateTest.php b/ecrire/tests/Filtre/Date/NormaliserDateTest.php
index c2a13921b1..7e4f2385a1 100644
--- a/ecrire/tests/Filtre/Date/NormaliserDateTest.php
+++ b/ecrire/tests/Filtre/Date/NormaliserDateTest.php
@@ -23,7 +23,7 @@ class NormaliserDateTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresNormaliserDate')]
- public function testFiltresNormaliserDate($expected, ...$args): void {
+	public function testFiltresNormaliserDate($expected, ...$args): void {
 		$actual = normaliser_date(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/Date/RecupDateTest.php b/ecrire/tests/Filtre/Date/RecupDateTest.php
index 3d390c15e3..739bc39eaf 100644
--- a/ecrire/tests/Filtre/Date/RecupDateTest.php
+++ b/ecrire/tests/Filtre/Date/RecupDateTest.php
@@ -18,7 +18,7 @@ class RecupDateTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresRecupDate')]
- public function testFiltresRecupDate($expected, ...$args): void {
+	public function testFiltresRecupDate($expected, ...$args): void {
 		$actual = recup_date(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/Date/RecupHeureTest.php b/ecrire/tests/Filtre/Date/RecupHeureTest.php
index 5b00afcdce..30c8bf3ea2 100644
--- a/ecrire/tests/Filtre/Date/RecupHeureTest.php
+++ b/ecrire/tests/Filtre/Date/RecupHeureTest.php
@@ -18,7 +18,7 @@ class RecupHeureTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresRecupHeure')]
- public function testFiltresRecupHeure($expected, ...$args): void {
+	public function testFiltresRecupHeure($expected, ...$args): void {
 		$actual = recup_heure(...$args);
 		$this->assertSame($expected, $actual);
 	}
@@ -144,7 +144,7 @@ class RecupHeureTest extends TestCase
 				],
 				1 => '2001-03-01 09:12',
 			],
-			'yyyy/mm/dd hh:mm'  => [
+			'yyyy/mm/dd hh:mm' => [
 				0 => [
 					0 => '09',
 					1 => '59',
diff --git a/ecrire/tests/Filtre/Date/SaisonTest.php b/ecrire/tests/Filtre/Date/SaisonTest.php
index 33fd6e3b91..e1636c4a09 100644
--- a/ecrire/tests/Filtre/Date/SaisonTest.php
+++ b/ecrire/tests/Filtre/Date/SaisonTest.php
@@ -23,7 +23,7 @@ class SaisonTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresSaison')]
- public function testFiltresSaison($expected, ...$args): void {
+	public function testFiltresSaison($expected, ...$args): void {
 		$actual = saison(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/Date/ViderDateTest.php b/ecrire/tests/Filtre/Date/ViderDateTest.php
index 16dc41caf8..06b26b5d79 100644
--- a/ecrire/tests/Filtre/Date/ViderDateTest.php
+++ b/ecrire/tests/Filtre/Date/ViderDateTest.php
@@ -18,7 +18,7 @@ class ViderDateTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresViderDate')]
- public function testFiltresViderDate($expected, ...$args): void {
+	public function testFiltresViderDate($expected, ...$args): void {
 		$actual = vider_date(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/DivTest.php b/ecrire/tests/Filtre/DivTest.php
index aa93f52312..81e25c6703 100644
--- a/ecrire/tests/Filtre/DivTest.php
+++ b/ecrire/tests/Filtre/DivTest.php
@@ -18,7 +18,7 @@ class DivTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresDiv')]
- public function testFiltresDiv($expected, ...$args): void {
+	public function testFiltresDiv($expected, ...$args): void {
 		$actual = div(...$args);
 		//$this->assertSame($expected, $actual);
 		$this->assertEquals($expected, $actual);
diff --git a/ecrire/tests/Filtre/EchapperTagsTest.php b/ecrire/tests/Filtre/EchapperTagsTest.php
index 24590bdb1d..465aee7b55 100644
--- a/ecrire/tests/Filtre/EchapperTagsTest.php
+++ b/ecrire/tests/Filtre/EchapperTagsTest.php
@@ -18,7 +18,7 @@ class EchapperTagsTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresEchapperTags')]
- public function testFiltresEchapperTags($expected, ...$args): void {
+	public function testFiltresEchapperTags($expected, ...$args): void {
 		$actual = echapper_tags(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/ExtraireBalisesTest.php b/ecrire/tests/Filtre/ExtraireBalisesTest.php
index 072a5696d6..59074af821 100644
--- a/ecrire/tests/Filtre/ExtraireBalisesTest.php
+++ b/ecrire/tests/Filtre/ExtraireBalisesTest.php
@@ -19,13 +19,13 @@ class ExtraireBalisesTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresExtraireBalises')]
- public function testFiltresExtraireBalises($expected, ...$args): void {
+	public function testFiltresExtraireBalises($expected, ...$args): void {
 		$actual = extraire_balises(...$args);
 		$this->assertSame($expected, $actual);
 	}
 
 	#[DataProvider('providerFiltresExtraireBalises')]
- public function testFiltresExtraireBalise($expected, ...$args): void {
+	public function testFiltresExtraireBalise($expected, ...$args): void {
 		// extraire_balise doit renvoyer le premier résultat de extraire_balises
 		// sauf si on fournit un tableau de chaine en entree, ce doit être alors le premier résultat de chaque sous-tableau
 		if (count($args) === 3) {
@@ -48,7 +48,6 @@ class ExtraireBalisesTest extends TestCase
 	}
 
 	public function testFiltresExtraireBalisesMediaRss(): void {
-
 		$rss = file_get_contents(dirname(__DIR__) . '/Fixtures/data/dailymotion.rss');
 		if (empty($rss)) {
 			$this->markTestSkipped();
@@ -60,174 +59,85 @@ class ExtraireBalisesTest extends TestCase
 	}
 
 	public static function providerFiltresExtraireBalises(): array {
-
 		return [
-			[
-				['<a href="truc">chose</a>'],
-				'allo <a href="truc">chose</a>'
-			],
-			[
-				['<a href="truc" />'],
-				'allo <a href="truc" />'
-			],
-			[
-				["<a\nhref='truc' />"],
-				'allo' . "\n" . " <a\nhref='truc' />"
-			],
-			[
-				[['<a href="1">'], ['<a href="2">']],
-				['allo <a href="1">', 'allo <a href="2">']
-			],
-			[
-				['<a href="truc">chose</a>'],
-				'bonjour <a href="truc">chose</a> machin'
-			],
+			[['<a href="truc">chose</a>'], 'allo <a href="truc">chose</a>'],
+			[['<a href="truc" />'], 'allo <a href="truc" />'],
+			[["<a\nhref='truc' />"], 'allo' . "\n" . " <a\nhref='truc' />"],
+			[[['<a href="1">'], ['<a href="2">']], ['allo <a href="1">', 'allo <a href="2">']],
+			[['<a href="truc">chose</a>'], 'bonjour <a href="truc">chose</a> machin'],
 			[
 				['<a href="truc">chose</a>', '<A href="truc">machin</a>'],
 				'bonjour <a href="truc">chose</a> machin <A href="truc">machin</a>',
 			],
-			[
-				['<a href="truc">'],
-				'bonjour <a href="truc">chose'
-			],
-			[
-				['<a href="truc"/>'],
-				'<a href="truc"/>chose</a>'
-			],
-			[
-				['<a>chose</a>'],
-				'<a>chose</a>'
-			],
-			[
-				['<a href="truc">chose</a>'],
-				'allo <a href="truc">chose</a>',
-				'a'
-			],
-			[
-				['<a href="truc" />'],
-				'allo <a href="truc" />',
-				'a'
-			],
-			[
-				["<a\nhref='truc' />"],
-				'allo' . "\n" . " <a\nhref='truc' />",
-				'a'
-			],
-			[
-				[['<a href="1">'], ['<a href="2">']],
-				['allo <a href="1">', 'allo <a href="2">'],
-				'a'
-			],
-			[
-				['<a href="truc">chose</a>'],
-				'bonjour <a href="truc">chose</a> machin',
-				'a'
-			],
+			[['<a href="truc">'], 'bonjour <a href="truc">chose'],
+			[['<a href="truc"/>'], '<a href="truc"/>chose</a>'],
+			[['<a>chose</a>'], '<a>chose</a>'],
+			[['<a href="truc">chose</a>'], 'allo <a href="truc">chose</a>', 'a'],
+			[['<a href="truc" />'], 'allo <a href="truc" />', 'a'],
+			[["<a\nhref='truc' />"], 'allo' . "\n" . " <a\nhref='truc' />", 'a'],
+			[[['<a href="1">'], ['<a href="2">']], ['allo <a href="1">', 'allo <a href="2">'], 'a'],
+			[['<a href="truc">chose</a>'], 'bonjour <a href="truc">chose</a> machin', 'a'],
 			[
 				['<a href="truc">chose</a>', '<A href="truc">machin</a>'],
 				'bonjour <a href="truc">chose</a> machin <A href="truc">machin</a>',
-				'a'
-			],
-			[
-				['<a href="truc">'],
-				'bonjour <a href="truc">chose',
-				'a'
-			],
-			[
-				['<a href="truc"/>'],
-				'<a href="truc"/>chose</a>',
-				'a'
-			],
-			[
-				['<a>chose</a>'],
-				'<a>chose</a>',
-				'a'
-			],
-			[
-				[],
-				'allo <a href="truc">chose</a>',
-				'b'
-			],
-			[
-				[],
-				'allo <a href="truc" />',
-				'b'
-			],
-			[
-				[],
-				'allo' . "\n" . " <a\nhref='truc' />",
-				'b'
-			],
-			[
-				[[], []],
-				['allo <a href="1">', 'allo <a href="2">'],
-				'b'
-			],
-			[
-				[],
-				'bonjour <a href="truc">chose</a> machin',
-				'b'
-			],
-			[
-				[],
-				'bonjour <a href="truc">chose</a> machin <A href="truc">machin</a>',
-				'b'
-			],
-			[
-				[],
-				'bonjour <a href="truc">chose',
-				'b'
-			],
-			[
-				[],
-				'<a href="truc"/>chose</a>',
-				'b'
-			],
-			[
-				[],
-				'<a>chose</a>',
-				'b'
-			],
+				'a',
+			],
+			[['<a href="truc">'], 'bonjour <a href="truc">chose', 'a'],
+			[['<a href="truc"/>'], '<a href="truc"/>chose</a>', 'a'],
+			[['<a>chose</a>'], '<a>chose</a>', 'a'],
+			[[], 'allo <a href="truc">chose</a>', 'b'],
+			[[], 'allo <a href="truc" />', 'b'],
+			[[], 'allo' . "\n" . " <a\nhref='truc' />", 'b'],
+			[[[], []], ['allo <a href="1">', 'allo <a href="2">'], 'b'],
+			[[], 'bonjour <a href="truc">chose</a> machin', 'b'],
+			[[], 'bonjour <a href="truc">chose</a> machin <A href="truc">machin</a>', 'b'],
+			[[], 'bonjour <a href="truc">chose', 'b'],
+			[[], '<a href="truc"/>chose</a>', 'b'],
+			[[], '<a>chose</a>', 'b'],
 			'div_2' => [
 				['<div class="message">Hello <div class="inside">World!</div></div>'],
 				'<div class="message">Hello <div class="inside">World!</div></div>',
-				'div'
+				'div',
 			],
 			'div_3' => [
 				['<div class="message">Hello <div class="inside">World<div>!</div></div></div>'],
 				'<div class="message">Hello <div class="inside">World<div>!</div></div></div>',
-				'div'
+				'div',
 			],
 			'div_3_et_autofermante_1' => [
 				['<div class="message">Hello <div class="inside">World<div>! <div/> </div></div></div>'],
 				'<div class="message">Hello <div class="inside">World<div>! <div/> </div></div></div>',
-				'div'
+				'div',
 			],
 			'div_3_et_autofermante_2' => [
 				['<div class="message">Hello <div class="inside">World<div>!<div/></div><div/></div></div>'],
 				'<div class="message">Hello <div class="inside">World<div>!<div/></div><div/></div></div>',
-				'div'
+				'div',
 			],
 			'div_3_et_autofermante_3' => [
 				['<div class="message">Hello <div class="inside">World<div>!<div/></div><div/></div><div/></div>'],
 				'<div class="message">Hello <div class="inside">World<div>!<div/></div><div/></div><div/></div>',
-				'div'
+				'div',
 			],
 			'div_3_et_autofermante_4' => [
 				['<div class="message">Hello <div class="inside">World<div>!<div/></div><div/></div><div/></div>', '<div/>'],
 				'<div class="message">Hello <div class="inside">World<div>!<div/></div><div/></div><div/></div><div/>',
-				'div'
+				'div',
 			],
 			'div_3_et_autofermante_5' => [
-				['<div/>', '<div class="message">Hello <div class="inside">World<div>!<div/></div><div/></div><div/></div>', '<div/>'],
+				[
+					'<div/>',
+					'<div class="message">Hello <div class="inside">World<div>!<div/></div><div/></div><div/></div>',
+					'<div/>',
+				],
 				'<div/><div class="message">Hello <div class="inside">World<div>!<div/></div><div/></div><div/></div><div/>',
-				'div'
+				'div',
 			],
 			'div_3_et_autofermante_5_nbmax' => [
 				['<div/>'],
 				'<div/><div class="message">Hello <div class="inside">World<div>!<div/></div><div/></div><div/></div><div/>',
 				'div',
-				['nb_max' => 1]
+				['nb_max' => 1],
 			],
 			'div_3_et_autofermante_5_profondeur_2' => [
 				['<div class="hello">Hello</div>', '<div class="world">World</div>', '<div>!</div>', '<div/>'],
diff --git a/ecrire/tests/Filtre/ExtraireMultiTest.php b/ecrire/tests/Filtre/ExtraireMultiTest.php
index a3545d51f6..6d43d10427 100644
--- a/ecrire/tests/Filtre/ExtraireMultiTest.php
+++ b/ecrire/tests/Filtre/ExtraireMultiTest.php
@@ -19,7 +19,7 @@ class ExtraireMultiTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresExtraireMulti')]
- public function testFiltresExtraireMulti($expected, ...$args): void {
+	public function testFiltresExtraireMulti($expected, ...$args): void {
 		$actual = extraire_multi(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/FiltreBaliseImgDistTest.php b/ecrire/tests/Filtre/FiltreBaliseImgDistTest.php
index 1586f053aa..19bba2ef38 100644
--- a/ecrire/tests/Filtre/FiltreBaliseImgDistTest.php
+++ b/ecrire/tests/Filtre/FiltreBaliseImgDistTest.php
@@ -18,7 +18,7 @@ class FiltreBaliseImgDistTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresFiltreBaliseImgDist')]
- public function testFiltresFiltreBaliseImgDist($expected, ...$args): void {
+	public function testFiltresFiltreBaliseImgDist($expected, ...$args): void {
 		static $f = null;
 		// chercher la fonction si elle n'existe pas
 		if ($f === null && !function_exists($f = 'filtre_balise_img_dist')) {
@@ -33,8 +33,6 @@ class FiltreBaliseImgDistTest extends TestCase
 	public static function providerFiltresFiltreBaliseImgDist(): array {
 		return [
 			[
-
-
 				0 => "<img src='https://www.spip.net/IMG/logo/siteon0.png' alt='' width='300' height='223' />",
 				1 => 'https://www.spip.net/IMG/logo/siteon0.png',
 			],
diff --git a/ecrire/tests/Filtre/FiltrerEntitesTest.php b/ecrire/tests/Filtre/FiltrerEntitesTest.php
index afb97b6647..b0360cdb3e 100644
--- a/ecrire/tests/Filtre/FiltrerEntitesTest.php
+++ b/ecrire/tests/Filtre/FiltrerEntitesTest.php
@@ -18,7 +18,7 @@ class FiltrerEntitesTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresFiltrerEntites')]
- public function testFiltresFiltrerEntites($expected, ...$args): void {
+	public function testFiltresFiltrerEntites($expected, ...$args): void {
 		$actual = filtrer_entites(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/Form/FormHiddenArboTest.php b/ecrire/tests/Filtre/Form/FormHiddenArboTest.php
index 4bfbb96830..20c6ea88ec 100644
--- a/ecrire/tests/Filtre/Form/FormHiddenArboTest.php
+++ b/ecrire/tests/Filtre/Form/FormHiddenArboTest.php
@@ -4,8 +4,6 @@ declare(strict_types=1);
 
 namespace Spip\Test\Filtre\Form;
 
-use PHPUnit\Framework\TestCase;
-
 class FormHiddenArboTest extends FormHiddenCase
 {
 	public const TYPE = 'arbo';
diff --git a/ecrire/tests/Filtre/Form/FormHiddenCase.php b/ecrire/tests/Filtre/Form/FormHiddenCase.php
index 64a5f1e77e..8f653c23e7 100644
--- a/ecrire/tests/Filtre/Form/FormHiddenCase.php
+++ b/ecrire/tests/Filtre/Form/FormHiddenCase.php
@@ -4,10 +4,10 @@ declare(strict_types=1);
 
 namespace Spip\Test\Filtre\Form;
 
-use RuntimeException;
 use PHPUnit\Framework\Attributes\DataProvider;
 use PHPUnit\Framework\Attributes\Depends;
 use PHPUnit\Framework\TestCase;
+use RuntimeException;
 
 class FormHiddenCase extends TestCase
 {
@@ -42,17 +42,6 @@ class FormHiddenCase extends TestCase
 		}
 	}
 
-	protected static function getIdRubrique(): ?int {
-		include_spip('base/abstract_sql');
-		$id_rubrique = sql_getfetsel(
-			'id_rubrique',
-			'spip_rubriques',
-			['statut = ' . sql_quote('publie')],
-			limit: '0, 1',
-		);
-		return $id_rubrique ? (int) $id_rubrique : null;
-	}
-
 	public function testHasRubrique(): void {
 		$id = self::$id_rubrique;
 		if (!$id) {
@@ -62,7 +51,7 @@ class FormHiddenCase extends TestCase
 	}
 
 	#[Depends('testHasRubrique')]
- #[DataProvider('providerFormHiddenRubrique')]
+	#[DataProvider('providerFormHiddenRubrique')]
 	public function testFormHiddenRubrique($expected, ...$args): void {
 		$id = self::$id_rubrique;
 		$expected = sprintf($expected, $id);
@@ -123,4 +112,15 @@ class FormHiddenCase extends TestCase
 			],
 		];
 	}
+
+	protected static function getIdRubrique(): ?int {
+		include_spip('base/abstract_sql');
+		$id_rubrique = sql_getfetsel(
+			'id_rubrique',
+			'spip_rubriques',
+			['statut = ' . sql_quote('publie')],
+			limit: '0, 1',
+		);
+		return $id_rubrique ? (int) $id_rubrique : null;
+	}
 }
diff --git a/ecrire/tests/Filtre/Form/FormHiddenHtmlTest.php b/ecrire/tests/Filtre/Form/FormHiddenHtmlTest.php
index efa53fdfc9..f679f23e7d 100644
--- a/ecrire/tests/Filtre/Form/FormHiddenHtmlTest.php
+++ b/ecrire/tests/Filtre/Form/FormHiddenHtmlTest.php
@@ -4,8 +4,6 @@ declare(strict_types=1);
 
 namespace Spip\Test\Filtre\Form;
 
-use PHPUnit\Framework\TestCase;
-
 class FormHiddenHtmlTest extends FormHiddenCase
 {
 	public const TYPE = 'html';
diff --git a/ecrire/tests/Filtre/Form/FormHiddenLibresTest.php b/ecrire/tests/Filtre/Form/FormHiddenLibresTest.php
index 8f24f7ed53..244da61acc 100644
--- a/ecrire/tests/Filtre/Form/FormHiddenLibresTest.php
+++ b/ecrire/tests/Filtre/Form/FormHiddenLibresTest.php
@@ -4,8 +4,6 @@ declare(strict_types=1);
 
 namespace Spip\Test\Filtre\Form;
 
-use PHPUnit\Framework\TestCase;
-
 class FormHiddenLibresTest extends FormHiddenCase
 {
 	public const TYPE = 'libres';
diff --git a/ecrire/tests/Filtre/Form/FormHiddenPageTest.php b/ecrire/tests/Filtre/Form/FormHiddenPageTest.php
index 0454c51608..f0008abe49 100644
--- a/ecrire/tests/Filtre/Form/FormHiddenPageTest.php
+++ b/ecrire/tests/Filtre/Form/FormHiddenPageTest.php
@@ -4,8 +4,6 @@ declare(strict_types=1);
 
 namespace Spip\Test\Filtre\Form;
 
-use PHPUnit\Framework\TestCase;
-
 class FormHiddenPageTest extends FormHiddenCase
 {
 	public const TYPE = 'page';
diff --git a/ecrire/tests/Filtre/Form/FormHiddenPropresQsTest.php b/ecrire/tests/Filtre/Form/FormHiddenPropresQsTest.php
index 6097a1640e..5713b13059 100644
--- a/ecrire/tests/Filtre/Form/FormHiddenPropresQsTest.php
+++ b/ecrire/tests/Filtre/Form/FormHiddenPropresQsTest.php
@@ -4,8 +4,6 @@ declare(strict_types=1);
 
 namespace Spip\Test\Filtre\Form;
 
-use PHPUnit\Framework\TestCase;
-
 class FormHiddenPropresQsTest extends FormHiddenCase
 {
 	public const TYPE = 'propres_qs';
diff --git a/ecrire/tests/Filtre/Form/FormHiddenPropresTest.php b/ecrire/tests/Filtre/Form/FormHiddenPropresTest.php
index e1ee2875f6..b7dcfffb74 100644
--- a/ecrire/tests/Filtre/Form/FormHiddenPropresTest.php
+++ b/ecrire/tests/Filtre/Form/FormHiddenPropresTest.php
@@ -8,8 +8,6 @@ declare(strict_types=1);
 
 namespace Spip\Test\Filtre\Form;
 
-use PHPUnit\Framework\TestCase;
-
 class FormHiddenPropresTest extends FormHiddenCase
 {
 	public const TYPE = 'propres';
diff --git a/ecrire/tests/Filtre/Form/FormHiddenStandardTest.php b/ecrire/tests/Filtre/Form/FormHiddenStandardTest.php
index 5681ce3cf9..8560eea90c 100644
--- a/ecrire/tests/Filtre/Form/FormHiddenStandardTest.php
+++ b/ecrire/tests/Filtre/Form/FormHiddenStandardTest.php
@@ -4,8 +4,6 @@ declare(strict_types=1);
 
 namespace Spip\Test\Filtre\Form;
 
-use PHPUnit\Framework\TestCase;
-
 class FormHiddenStandardTest extends FormHiddenCase
 {
 	public const TYPE = 'standard';
diff --git a/ecrire/tests/Filtre/HauteurTest.php b/ecrire/tests/Filtre/HauteurTest.php
index ec496fb3fc..aeeea6bf64 100644
--- a/ecrire/tests/Filtre/HauteurTest.php
+++ b/ecrire/tests/Filtre/HauteurTest.php
@@ -18,7 +18,7 @@ class HauteurTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresHauteur')]
- public function testFiltresHauteur($expected, ...$args): void {
+	public function testFiltresHauteur($expected, ...$args): void {
 		$actual = hauteur(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/IdentifiantSlugTest.php b/ecrire/tests/Filtre/IdentifiantSlugTest.php
index c7c890ce5b..2bc135ca92 100644
--- a/ecrire/tests/Filtre/IdentifiantSlugTest.php
+++ b/ecrire/tests/Filtre/IdentifiantSlugTest.php
@@ -18,7 +18,7 @@ class IdentifiantSlugTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresIdentifiantSlug')]
- public function testFiltresIdentifiantSlug($expected, ...$args): void {
+	public function testFiltresIdentifiantSlug($expected, ...$args): void {
 		$actual = identifiant_slug(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/InsererAttributTest.php b/ecrire/tests/Filtre/InsererAttributTest.php
index dd2e197ba5..22144d913b 100644
--- a/ecrire/tests/Filtre/InsererAttributTest.php
+++ b/ecrire/tests/Filtre/InsererAttributTest.php
@@ -18,7 +18,7 @@ class InsererAttributTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresInsererAttribut')]
- public function testFiltresInsererAttribut($expected, ...$args): void {
+	public function testFiltresInsererAttribut($expected, ...$args): void {
 		$actual = inserer_attribut(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/LabelTest.php b/ecrire/tests/Filtre/LabelTest.php
index 370d5b94c7..5ccb378444 100644
--- a/ecrire/tests/Filtre/LabelTest.php
+++ b/ecrire/tests/Filtre/LabelTest.php
@@ -68,24 +68,24 @@ class LabelTest extends TestCase
 	}
 
 	#[DataProvider('providerLabelNettoyer')]
- public function testLabelNettoyer($source, $expected): void {
+	public function testLabelNettoyer($source, $expected): void {
 		$this->assertEquals($expected, label_nettoyer($source, false));
 	}
 
 	#[Depends('testLabelNettoyer')]
- #[DataProvider('providerLabelNettoyerInitialeMajuscule')]
+	#[DataProvider('providerLabelNettoyerInitialeMajuscule')]
 	public function testLabelNettoyerInitialeMajuscule($source, $expected): void {
 		$this->assertEquals($expected, label_nettoyer($source, true));
 	}
 
 	#[Depends('testLabelNettoyer')]
- #[DataProvider('providerLabelNettoyerInitialeMajuscule')]
+	#[DataProvider('providerLabelNettoyerInitialeMajuscule')]
 	public function testLabelNettoyerInitialeMajusculeParDefaut($source, $expected): void {
 		$this->assertEquals($expected, label_nettoyer($source));
 	}
 
 	#[Depends('testLabelNettoyer')]
- #[DataProvider('providerLabelPonctuer')]
+	#[DataProvider('providerLabelPonctuer')]
 	public function testLabelPonctuer($source, $expected): never {
 		// TODO
 		$this->markTestSkipped('NIY');
@@ -93,13 +93,13 @@ class LabelTest extends TestCase
 	}
 
 	#[Depends('testLabelNettoyer')]
- #[DataProvider('providerLabelPonctuerInitialeMajuscule')]
+	#[DataProvider('providerLabelPonctuerInitialeMajuscule')]
 	public function testLabelPonctuerInitialeMajuscule($source, $expected): void {
 		$this->assertEquals($expected, label_ponctuer($source, true));
 	}
 
 	#[Depends('testLabelNettoyer')]
- #[DataProvider('providerLabelPonctuerInitialeMajuscule')]
+	#[DataProvider('providerLabelPonctuerInitialeMajuscule')]
 	public function testLabelPonctuerInitialeMajusculeParDefaut($source, $expected): void {
 		$this->assertEquals($expected, label_ponctuer($source));
 	}
diff --git a/ecrire/tests/Filtre/LargeurTest.php b/ecrire/tests/Filtre/LargeurTest.php
index a5d728a371..15f965bcb3 100644
--- a/ecrire/tests/Filtre/LargeurTest.php
+++ b/ecrire/tests/Filtre/LargeurTest.php
@@ -18,7 +18,7 @@ class LargeurTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresLargeur')]
- public function testFiltresLargeur($expected, ...$args): void {
+	public function testFiltresLargeur($expected, ...$args): void {
 		$actual = largeur(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/LienOuExposeTest.php b/ecrire/tests/Filtre/LienOuExposeTest.php
index 947fb44fb5..070ea07ea1 100644
--- a/ecrire/tests/Filtre/LienOuExposeTest.php
+++ b/ecrire/tests/Filtre/LienOuExposeTest.php
@@ -18,7 +18,7 @@ class LienOuExposeTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresLienOuExpose')]
- public function testFiltresLienOuExpose($expected, ...$args): void {
+	public function testFiltresLienOuExpose($expected, ...$args): void {
 		$actual = lien_ou_expose(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/Mime/FiltreTextCsvDistTest.php b/ecrire/tests/Filtre/Mime/FiltreTextCsvDistTest.php
index 4796ccf001..a0c36a00ae 100644
--- a/ecrire/tests/Filtre/Mime/FiltreTextCsvDistTest.php
+++ b/ecrire/tests/Filtre/Mime/FiltreTextCsvDistTest.php
@@ -23,7 +23,7 @@ class FiltreTextCsvDistTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresMimeFiltreTextCsvDist')]
- public function testFiltresMimeFiltreTextCsvDist($expected, ...$args): void {
+	public function testFiltresMimeFiltreTextCsvDist($expected, ...$args): void {
 		$actual = filtre_text_csv_dist(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/Mime/FiltreTextDistTest.php b/ecrire/tests/Filtre/Mime/FiltreTextDistTest.php
index f3697aff9c..d3086fc83e 100644
--- a/ecrire/tests/Filtre/Mime/FiltreTextDistTest.php
+++ b/ecrire/tests/Filtre/Mime/FiltreTextDistTest.php
@@ -18,7 +18,7 @@ class FiltreTextDistTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresMimeFiltreTextDist')]
- public function testFiltresMimeFiltreTextDist($expected, ...$args): void {
+	public function testFiltresMimeFiltreTextDist($expected, ...$args): void {
 		$actual = filtre_text_dist(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/Mini/ProtocoleVerifierTest.php b/ecrire/tests/Filtre/Mini/ProtocoleVerifierTest.php
index ff1d1effdc..36f5806685 100644
--- a/ecrire/tests/Filtre/Mini/ProtocoleVerifierTest.php
+++ b/ecrire/tests/Filtre/Mini/ProtocoleVerifierTest.php
@@ -18,7 +18,7 @@ class ProtocoleVerifierTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresMiniProtocoleVerifier')]
- public function testFiltresMiniProtocoleVerifier($expected, ...$args): void {
+	public function testFiltresMiniProtocoleVerifier($expected, ...$args): void {
 		$actual = protocole_verifier(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/ModuloTest.php b/ecrire/tests/Filtre/ModuloTest.php
index 59f89069d2..1b3e55756a 100644
--- a/ecrire/tests/Filtre/ModuloTest.php
+++ b/ecrire/tests/Filtre/ModuloTest.php
@@ -18,7 +18,7 @@ class ModuloTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresModulo')]
- public function testFiltresModulo($expected, ...$args): void {
+	public function testFiltresModulo($expected, ...$args): void {
 		$actual = modulo(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/MoinsTest.php b/ecrire/tests/Filtre/MoinsTest.php
index 20de695e3e..a9feb6eea9 100644
--- a/ecrire/tests/Filtre/MoinsTest.php
+++ b/ecrire/tests/Filtre/MoinsTest.php
@@ -18,7 +18,7 @@ class MoinsTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresMoins')]
- public function testFiltresMoins($expected, ...$args): void {
+	public function testFiltresMoins($expected, ...$args): void {
 		$actual = moins(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/MultTest.php b/ecrire/tests/Filtre/MultTest.php
index 2cbdc84251..47fa1d9422 100644
--- a/ecrire/tests/Filtre/MultTest.php
+++ b/ecrire/tests/Filtre/MultTest.php
@@ -18,7 +18,7 @@ class MultTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresMult')]
- public function testFiltresMult($expected, ...$args): void {
+	public function testFiltresMult($expected, ...$args): void {
 		$actual = mult(...$args);
 		$this->assertSame($expected, $actual);
 	}
@@ -75,7 +75,6 @@ class MultTest extends TestCase
 				1 => 1000,
 				2 => 10000,
 			],
-
 		];
 	}
 }
diff --git a/ecrire/tests/Filtre/PlusTest.php b/ecrire/tests/Filtre/PlusTest.php
index ef1b358d8e..25e7f33374 100644
--- a/ecrire/tests/Filtre/PlusTest.php
+++ b/ecrire/tests/Filtre/PlusTest.php
@@ -18,7 +18,7 @@ class PlusTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresPlus')]
- public function testFiltresPlus($expected, ...$args): void {
+	public function testFiltresPlus($expected, ...$args): void {
 		$actual = plus(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/PostAutobrTest.php b/ecrire/tests/Filtre/PostAutobrTest.php
index 17523bd291..ced741b38d 100644
--- a/ecrire/tests/Filtre/PostAutobrTest.php
+++ b/ecrire/tests/Filtre/PostAutobrTest.php
@@ -18,7 +18,7 @@ class PostAutobrTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresPostAutobr')]
- public function testFiltresPostAutobr($expected, ...$args): void {
+	public function testFiltresPostAutobr($expected, ...$args): void {
 		$actual = post_autobr(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/ProtegerAmpTest.php b/ecrire/tests/Filtre/ProtegerAmpTest.php
index 5f114fa953..f32051f91d 100644
--- a/ecrire/tests/Filtre/ProtegerAmpTest.php
+++ b/ecrire/tests/Filtre/ProtegerAmpTest.php
@@ -18,7 +18,7 @@ class ProtegerAmpTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresProtegerAmp')]
- public function testFiltresProtegerAmp($expected, ...$args): void {
+	public function testFiltresProtegerAmp($expected, ...$args): void {
 		$actual = proteger_amp(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/RecupererNumeroTest.php b/ecrire/tests/Filtre/RecupererNumeroTest.php
index be542740de..4749d7c334 100644
--- a/ecrire/tests/Filtre/RecupererNumeroTest.php
+++ b/ecrire/tests/Filtre/RecupererNumeroTest.php
@@ -18,7 +18,7 @@ class RecupererNumeroTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresRecupererNumero')]
- public function testFiltresRecupererNumero($expected, ...$args): void {
+	public function testFiltresRecupererNumero($expected, ...$args): void {
 		$actual = recuperer_numero(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/SinonTest.php b/ecrire/tests/Filtre/SinonTest.php
index 17d8f54f5f..b600672266 100644
--- a/ecrire/tests/Filtre/SinonTest.php
+++ b/ecrire/tests/Filtre/SinonTest.php
@@ -18,7 +18,7 @@ class SinonTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresSinon')]
- public function testFiltresSinon($expected, ...$args): void {
+	public function testFiltresSinon($expected, ...$args): void {
 		$actual = sinon(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/SpipHtmlentitiesTest.php b/ecrire/tests/Filtre/SpipHtmlentitiesTest.php
index 6afc3c7ed9..9f7684ff26 100644
--- a/ecrire/tests/Filtre/SpipHtmlentitiesTest.php
+++ b/ecrire/tests/Filtre/SpipHtmlentitiesTest.php
@@ -18,7 +18,7 @@ class SpipHtmlentitiesTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresSpipHtmlentities')]
- public function testFiltresSpipHtmlentities($expected, ...$args): void {
+	public function testFiltresSpipHtmlentities($expected, ...$args): void {
 		$actual = spip_htmlentities(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/SpipHtmlspecialcharsTest.php b/ecrire/tests/Filtre/SpipHtmlspecialcharsTest.php
index 1f6ec6a9cb..b9595b6f26 100644
--- a/ecrire/tests/Filtre/SpipHtmlspecialcharsTest.php
+++ b/ecrire/tests/Filtre/SpipHtmlspecialcharsTest.php
@@ -18,7 +18,7 @@ class SpipHtmlspecialcharsTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresSpipHtmlspecialchars')]
- public function testFiltresSpipHtmlspecialchars($expected, ...$args): void {
+	public function testFiltresSpipHtmlspecialchars($expected, ...$args): void {
 		$actual = spip_htmlspecialchars(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/SupprimerClassTest.php b/ecrire/tests/Filtre/SupprimerClassTest.php
index 4e9358a373..e80a2f6afd 100644
--- a/ecrire/tests/Filtre/SupprimerClassTest.php
+++ b/ecrire/tests/Filtre/SupprimerClassTest.php
@@ -18,7 +18,7 @@ class SupprimerClassTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresSupprimerClass')]
- public function testFiltresSupprimerClass($expected, ...$args): void {
+	public function testFiltresSupprimerClass($expected, ...$args): void {
 		$actual = supprimer_class(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/SupprimerNumeroTest.php b/ecrire/tests/Filtre/SupprimerNumeroTest.php
index 32bce9da4f..0d70fb7968 100644
--- a/ecrire/tests/Filtre/SupprimerNumeroTest.php
+++ b/ecrire/tests/Filtre/SupprimerNumeroTest.php
@@ -18,7 +18,7 @@ class SupprimerNumeroTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresSupprimerNumero')]
- public function testFiltresSupprimerNumero($expected, ...$args): void {
+	public function testFiltresSupprimerNumero($expected, ...$args): void {
 		$actual = supprimer_numero(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/SupprimerTagsTest.php b/ecrire/tests/Filtre/SupprimerTagsTest.php
index 8dd39e31c0..2d840d1638 100644
--- a/ecrire/tests/Filtre/SupprimerTagsTest.php
+++ b/ecrire/tests/Filtre/SupprimerTagsTest.php
@@ -18,7 +18,7 @@ class SupprimerTagsTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresSupprimerTags')]
- public function testFiltresSupprimerTags($expected, ...$args): void {
+	public function testFiltresSupprimerTags($expected, ...$args): void {
 		$actual = supprimer_tags(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/TailleEnOctetsTest.php b/ecrire/tests/Filtre/TailleEnOctetsTest.php
index fa4065b19c..b98299835f 100644
--- a/ecrire/tests/Filtre/TailleEnOctetsTest.php
+++ b/ecrire/tests/Filtre/TailleEnOctetsTest.php
@@ -23,7 +23,7 @@ class TailleEnOctetsTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresTailleEnOctetsBI')]
- public function testFiltresTailleEnOctetsBI($source, $expected): void {
+	public function testFiltresTailleEnOctetsBI($source, $expected): void {
 		$actual = taille_en_octets($source);
 		$this->assertSame($expected, $actual);
 
@@ -32,7 +32,7 @@ class TailleEnOctetsTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresTailleEnOctetsSI')]
- public function testFiltresTailleEnOctetsSI($source, $expected): void {
+	public function testFiltresTailleEnOctetsSI($source, $expected): void {
 		$actual = taille_en_octets($source, 'SI');
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/TailleImageTest.php b/ecrire/tests/Filtre/TailleImageTest.php
index f7f8a10230..4c89144e1f 100644
--- a/ecrire/tests/Filtre/TailleImageTest.php
+++ b/ecrire/tests/Filtre/TailleImageTest.php
@@ -18,7 +18,7 @@ class TailleImageTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresTailleImage')]
- public function testFiltresTailleImage($expected, ...$args): void {
+	public function testFiltresTailleImage($expected, ...$args): void {
 		$actual = taille_image(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/TexteBackendTest.php b/ecrire/tests/Filtre/TexteBackendTest.php
index f717184f86..95c30ea1ae 100644
--- a/ecrire/tests/Filtre/TexteBackendTest.php
+++ b/ecrire/tests/Filtre/TexteBackendTest.php
@@ -18,7 +18,7 @@ class TexteBackendTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresTexteBackend')]
- public function testFiltresTexteBackend($expected, ...$args): void {
+	public function testFiltresTexteBackend($expected, ...$args): void {
 		$actual = texte_backend(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/TexteBackendqTest.php b/ecrire/tests/Filtre/TexteBackendqTest.php
index 5223348ab5..451baa858e 100644
--- a/ecrire/tests/Filtre/TexteBackendqTest.php
+++ b/ecrire/tests/Filtre/TexteBackendqTest.php
@@ -18,7 +18,7 @@ class TexteBackendqTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresTexteBackendq')]
- public function testFiltresTexteBackendq($expected, ...$args): void {
+	public function testFiltresTexteBackendq($expected, ...$args): void {
 		$actual = texte_backendq(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Filtre/WrapTest.php b/ecrire/tests/Filtre/WrapTest.php
index 8a00baa57c..1e3bb0bc9c 100644
--- a/ecrire/tests/Filtre/WrapTest.php
+++ b/ecrire/tests/Filtre/WrapTest.php
@@ -18,7 +18,7 @@ class WrapTest extends TestCase
 	}
 
 	#[DataProvider('providerFiltresWrap')]
- public function testFiltresWrap($expected, ...$args): void {
+	public function testFiltresWrap($expected, ...$args): void {
 		$actual = wrap(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Format/Json/Var2jsTest.php b/ecrire/tests/Format/Json/Var2jsTest.php
index a204291726..5d2958222a 100644
--- a/ecrire/tests/Format/Json/Var2jsTest.php
+++ b/ecrire/tests/Format/Json/Var2jsTest.php
@@ -18,7 +18,7 @@ class Var2jsTest extends TestCase
 	}
 
 	#[DataProvider('providerJsonVar2js')]
- public function testJsonVar2js($expected, ...$args): void {
+	public function testJsonVar2js($expected, ...$args): void {
 		$actual = var2js(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Format/Xml/SpipXmlParseTest.php b/ecrire/tests/Format/Xml/SpipXmlParseTest.php
index 794679cfd0..ca8c590464 100644
--- a/ecrire/tests/Format/Xml/SpipXmlParseTest.php
+++ b/ecrire/tests/Format/Xml/SpipXmlParseTest.php
@@ -13,19 +13,19 @@ use PHPUnit\Framework\TestCase;
 
 class SpipXmlParseTest extends TestCase
 {
-  public static function setUpBeforeClass(): void {
-	find_in_path('inc/xml.php', '', true);
-  }
+	public static function setUpBeforeClass(): void {
+		find_in_path('inc/xml.php', '', true);
+	}
 
-  #[DataProvider('providerXmlSpipXmlParse')]
-  public function testXmlSpipXmlParse($expected, ...$args): void {
-	$actual = serialize(spip_xml_parse(...$args));
-	$this->assertSame($expected, $actual);
-  }
+	#[DataProvider('providerXmlSpipXmlParse')]
+	public function testXmlSpipXmlParse($expected, ...$args): void {
+		$actual = serialize(spip_xml_parse(...$args));
+		$this->assertSame($expected, $actual);
+	}
 
-  public static function providerXmlSpipXmlParse(): array {
-	$essais = [];
-	$xml1 = '<' . <<<CODE_SAMPLE
+	public static function providerXmlSpipXmlParse(): array {
+		$essais = [];
+		$xml1 = '<' . <<<CODE_SAMPLE
 ?xml version="1.0" encoding="utf-8"?>
 <urlset xmlns="http://www.google.com/schemas/sitemap/0.84">
 <url><loc>http://localhost/_core/spip/spip.php?breve25</loc>
@@ -44,10 +44,10 @@ class SpipXmlParseTest extends TestCase
 </url>
 </urlset>
 CODE_SAMPLE;
-	$tree1 = <<<CODE_SAMPLE
+		$tree1 = <<<CODE_SAMPLE
 a:1:{s:57:"urlset xmlns="http://www.google.com/schemas/sitemap/0.84"";a:1:{i:0;a:1:{s:3:"url";a:3:{i:0;a:3:{s:3:"loc";a:1:{i:0;s:44:"http://localhost/_core/spip/spip.php?breve25";}s:7:"lastmod";a:1:{i:0;s:10:"2003-12-31";}s:8:"priority";a:1:{i:0;s:3:"0.8";}}i:1;a:3:{s:3:"loc";a:1:{i:0;s:44:"http://localhost/_core/spip/spip.php?breve32";}s:7:"lastmod";a:1:{i:0;s:10:"2004-02-10";}s:8:"priority";a:1:{i:0;s:3:"0.8";}}i:2;a:3:{s:3:"loc";a:1:{i:0;s:44:"http://localhost/_core/spip/spip.php?breve64";}s:7:"lastmod";a:1:{i:0;s:10:"2005-01-31";}s:8:"priority";a:1:{i:0;s:3:"0.8";}}}}}}
 CODE_SAMPLE;
-	$xml2 = '<' . <<<CODE_SAMPLE
+		$xml2 = '<' . <<<CODE_SAMPLE
 ?xml version="1.0" encoding="UTF-8"?>
 <opml version="1.0">
   <head>
@@ -104,11 +104,11 @@ CODE_SAMPLE;
   </body>
 </opml>
 CODE_SAMPLE;
-	$tree2 = <<<CODE_SAMPLE
+		$tree2 = <<<CODE_SAMPLE
 a:1:{s:18:"opml version="1.0"";a:1:{i:0;a:2:{s:4:"head";a:1:{i:0;a:2:{s:5:"title";a:1:{i:0;s:9:"arbo_riec";}s:14:"expansionState";a:1:{i:0;s:93:"0,9,14,24,28,30,31,35,41,43,44,46,48,55,58,61,66,71,74,77,78,82,87,89,90,92,96,98,102,110,112";}}}s:4:"body";a:1:{i:0;a:3:{s:27:"outline text="Citoyenneté"";a:1:{i:0;a:8:{s:98:"outline text="Page d'accueil" Contenu="Articles et brèves d'actualité + Vos questions en direct"";a:1:{i:0;s:0:"";}s:152:"outline text="Le maire et les adjoints" Contenu="Nom, fonction, contact, horaires de permanence et photo de chaque élu" Fonctionnalité="Trombinoscope"";a:1:{i:0;s:0:"";}s:88:"outline text="Les conseillers municipaux" Contenu="idem" Fonctionnalité="Trombinoscope"";a:1:{i:0;s:0:"";}s:81:"outline text="Les commissions" Contenu="Présentation générale des commissions"";a:1:{i:0;a:1:{s:83:"outline text="Une fiche par commission" Contenu="Domaine de compétence et membres"";a:1:{i:0;s:0:"";}}}s:173:"outline text="Les conseils municipaux" Contenu="Présentation générale, téléchargement du dernier compte-rendu et agenda des prochains conseils" Fonctionnalité="Agenda"";a:1:{i:0;a:1:{s:136:"outline text="Comptes-rendus" Contenu="Les comptes-rendus de conseils à télécharger" Fonctionnalité="Publications et archivage auto"";a:1:{i:0;a:1:{s:82:"outline text="Un article par compte-rendu" Contenu="Texte ou doc à télécharger"";a:1:{i:0;s:0:"";}}}}}s:113:"outline text="Les réunions de quartier" Contenu="Présentation et agenda des réunions" Fonctionnalité="Agenda"";a:1:{i:0;s:0:"";}s:83:"outline text="L’Atelier municipal sur l’environnement" Contenu="Texte + photos"";a:1:{i:0;s:0:"";}s:78:"outline text="L’intercommunalité" Contenu="Texte de présentation + photos"";a:1:{i:0;a:5:{s:47:"outline text="Cocopaq" Contenu="Texte + photos"";a:1:{i:0;s:0:"";}s:71:"outline text="Syndicat de Voirie de Rosporden" Contenu="Texte + photos"";a:1:{i:0;s:0:"";}s:63:"outline text="SIVU de Riec sur Bélon" Contenu="Texte + photos"";a:1:{i:0;s:0:"";}s:45:"outline text="Sicom" Contenu="Texte + photos"";a:1:{i:0;s:0:"";}s:100:"outline text="Syndicat d’eau et d’électricification de Riec sur Belon" Contenu="Texte + photos"";a:1:{i:0;s:0:"";}}}}}s:23:"outline text="Economie"";a:1:{i:0;a:9:{s:83:"outline text="Page d'accueil" Contenu="Actualité + lien vers les marchés publics"";a:1:{i:0;s:0:"";}s:74:"outline text="Marchés publics" Contenu="Texte de présentation + contact"";a:1:{i:0;a:2:{s:131:"outline text="Avis d'attribution" Contenu="Texte accueil et affichage des derniers avis" Fonctionnalité="Publications + archivage"";a:1:{i:0;a:1:{s:74:"outline text="Un article par avis" Contenu="Texte ou doc à télécharger"";a:1:{i:0;s:0:"";}}}s:113:"outline text="Avis de publicité" Contenu="Texte + affichage des avis en cours" Fonctionnalité="Marchés public"";a:1:{i:0;a:1:{s:495:"outline text="Un article par avis" Contenu="Texte + docs à télécharger" Fonctionnalité="Un formulaire invite le visiteur à fournir son adresse email. Un email lui est alors automatiquement expédié qui contient un lien. En cliquant sur ce lien, le visiteur revient sur la page mais cette fois il a la possibilité de télécharger les pièces jointes à l'avis. Les mails sont ainsi collectés et ceux qui ont téléchargé les pièces peuvent ainsi être contactés en cas de changement."";a:1:{i:0;s:0:"";}}}}}s:37:"outline text="Les atouts de la ville"";a:1:{i:0;a:2:{s:62:"outline text="Production ostréicole" Contenu="Texte + photos"";a:1:{i:0;s:0:"";}s:133:"outline text="Situation géographique" Contenu="Même contenu que dans La Ville ?" Fonctionnalité="modèle de duplication d'article"";a:1:{i:0;s:0:"";}}}s:53:"outline text="S’implanter" Contenu="Texte + photos"";a:1:{i:0;s:0:"";}s:47:"outline text="Le GAER" Contenu="Texte + photos"";a:1:{i:0;s:0:"";}s:136:"outline text="Les commerces" Contenu="Présentation + formulaire d'inscription à l'annuaire" Fonctionnalité="Fonctionnalité annuaire"";a:1:{i:0;s:0:"";}s:138:"outline text="Les entreprises" Contenu="Présentation + formulaire d'inscription à l'annuaire" Fonctionnalité="Fonctionnalité annuaire"";a:1:{i:0;s:0:"";}s:105:"outline text="Les ZA et ZI" Contenu="Présentation + carte des ZA-ZI" Fonctionnalité="Carte interactive"";a:1:{i:0;a:1:{s:87:"outline text="Une page par zone" Contenu="Fiche de présentation + photo + plan accès"";a:1:{i:0;s:0:"";}}}s:50:"outline text="Le marché" Contenu="Texte + photos"";a:1:{i:0;s:0:"";}}}s:40:"outline text="Tourisme version anglaise"";a:1:{i:0;s:0:"";}}}}}}
 CODE_SAMPLE;
-	$essais['sitemap'] = [$tree1, $xml1];
-	$essais['opml'] = [$tree2, $xml2];
-	return $essais;
-  }
+		$essais['sitemap'] = [$tree1, $xml1];
+		$essais['opml'] = [$tree2, $xml2];
+		return $essais;
+	}
 }
diff --git a/ecrire/tests/Formulaire/ProtegeChampTest.php b/ecrire/tests/Formulaire/ProtegeChampTest.php
index 15adce7a41..e0022045ed 100644
--- a/ecrire/tests/Formulaire/ProtegeChampTest.php
+++ b/ecrire/tests/Formulaire/ProtegeChampTest.php
@@ -18,7 +18,7 @@ class ProtegeChampTest extends TestCase
 	}
 
 	#[DataProvider('providerFormulaireProtegeChamp')]
- public function testFormulaireProtegeChamp($expected, ...$args): void {
+	public function testFormulaireProtegeChamp($expected, ...$args): void {
 		$actual = protege_champ(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Genie/MajTest.php b/ecrire/tests/Genie/MajTest.php
index faff01a48e..cef4f8758d 100644
--- a/ecrire/tests/Genie/MajTest.php
+++ b/ecrire/tests/Genie/MajTest.php
@@ -18,7 +18,7 @@ class MajTest extends TestCase
 	}
 
 	#[DataProvider('providerInfoMajVersions')]
- public function testInfoMajVersions($expected, ...$args): void {
+	public function testInfoMajVersions($expected, ...$args): void {
 		$actual = info_maj_versions(...$args);
 		$this->assertSame($expected, $actual);
 	}
@@ -26,7 +26,10 @@ class MajTest extends TestCase
 	public static function providerInfoMajVersions(): array {
 		return [
 			'version locale inconnue, maj distantes inconnues : ne rien signaler' => [
-				0 => ['mineure' => '', 'majeure' => ''],
+				0 => [
+					'mineure' => '',
+					'majeure' => '',
+				],
 				1 => '',
 				2 => [],
 			],
diff --git a/ecrire/tests/Plugin/PluginVersionCompatibleTest.php b/ecrire/tests/Plugin/PluginVersionCompatibleTest.php
index e6dcc8412f..5135ef7c8e 100644
--- a/ecrire/tests/Plugin/PluginVersionCompatibleTest.php
+++ b/ecrire/tests/Plugin/PluginVersionCompatibleTest.php
@@ -18,7 +18,7 @@ class PluginVersionCompatibleTest extends TestCase
 	}
 
 	#[DataProvider('providerPluginPluginVersionCompatible')]
- public function testPluginPluginVersionCompatible($expected, ...$args): void {
+	public function testPluginPluginVersionCompatible($expected, ...$args): void {
 		$actual = plugin_version_compatible(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Plugin/SpipVersionCompareTest.php b/ecrire/tests/Plugin/SpipVersionCompareTest.php
index 3d91265f5a..4f93e61faa 100644
--- a/ecrire/tests/Plugin/SpipVersionCompareTest.php
+++ b/ecrire/tests/Plugin/SpipVersionCompareTest.php
@@ -18,7 +18,7 @@ class SpipVersionCompareTest extends TestCase
 	}
 
 	#[DataProvider('providerPluginSpipVersionCompare')]
- public function testPluginSpipVersionCompare($expected, ...$args): void {
+	public function testPluginSpipVersionCompare($expected, ...$args): void {
 		$actual = spip_version_compare(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Propre/ChevronOuvrantTest.php b/ecrire/tests/Propre/ChevronOuvrantTest.php
index 8eeeafd616..668190d689 100644
--- a/ecrire/tests/Propre/ChevronOuvrantTest.php
+++ b/ecrire/tests/Propre/ChevronOuvrantTest.php
@@ -29,7 +29,7 @@ class ChevronOuvrantTest extends TestCase
 	}
 
 	#[DataProvider('providerPropreChevronOuvrant')]
- public function testPropreChevronOuvrant($expected, ...$args): void {
+	public function testPropreChevronOuvrant($expected, ...$args): void {
 		$actual = propre(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Propre/CodeImbriqueTest.php b/ecrire/tests/Propre/CodeImbriqueTest.php
index 5fe6657553..bb3e3d4601 100644
--- a/ecrire/tests/Propre/CodeImbriqueTest.php
+++ b/ecrire/tests/Propre/CodeImbriqueTest.php
@@ -20,7 +20,7 @@ class CodeImbriqueTest extends TestCase
 	}
 
 	#[DataProvider('providerPropreCodeImbrique')]
- public function testPropreCodeImbrique($expected, ...$args): void {
+	public function testPropreCodeImbrique($expected, ...$args): void {
 		$actual = strlen(propre(...$args)) > 0;
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Propre/EchappeHtmlTest.php b/ecrire/tests/Propre/EchappeHtmlTest.php
index bf3a62a19a..a4b29ead5b 100644
--- a/ecrire/tests/Propre/EchappeHtmlTest.php
+++ b/ecrire/tests/Propre/EchappeHtmlTest.php
@@ -42,7 +42,7 @@ class EchappeHtmlTest extends TestCase
 	}
 
 	#[DataProvider('providerSimpleEchappeHtml')]
- public function testSimpleEchappeHtml($expected, ...$args): void {
+	public function testSimpleEchappeHtml($expected, ...$args): void {
 		$actual = echappe_html(
 			$args[0],
 			$args[1] ?? '',
@@ -59,8 +59,18 @@ class EchappeHtmlTest extends TestCase
 
 	public static function providerSimpleEchappeHtml(): array {
 		find_in_path('inc/texte_mini.php', '', true);
-		$befores = ['', 'Un texte avant', "Un texte avant sur\n\nplusieurs lignes et avec un < pour voir", "Un texte avant sur\n\nplusieurs lignes et avec un > pour voir"];
-		$afters = ['', 'Un texte après', "Un texte après sur\n\nplusieurs lignes et avec un < pour voir", "Un texte après sur\n\nplusieurs lignes et avec un > pour voir"];
+		$befores = [
+			'',
+			'Un texte avant',
+			"Un texte avant sur\n\nplusieurs lignes et avec un < pour voir",
+			"Un texte avant sur\n\nplusieurs lignes et avec un > pour voir",
+		];
+		$afters = [
+			'',
+			'Un texte après',
+			"Un texte après sur\n\nplusieurs lignes et avec un < pour voir",
+			"Un texte après sur\n\nplusieurs lignes et avec un > pour voir",
+		];
 		$insides = ['', 'Un texte dedans', "\nun texte dedans", "un texte dedans\n", "\nun texte dedans\n"];
 		$balises = ['html', 'pre', 'code', 'cadre', 'frame', 'script', 'style', 'svg'];
 		$attrs = ['', 'class="truc"', 'classe="base64"', 'title="truc"'];
@@ -83,8 +93,7 @@ class EchappeHtmlTest extends TestCase
 								// sinon on attends le texte d'origine
 								if ($preg ? $balise === 'svg' : $balise !== 'svg') {
 									$expected = $before . $code_echappe . $after;
-								}
-								else {
+								} else {
 									$expected = $texte;
 								}
 								$essais["<{$balise}{$attr}>_$cpt"] = [$expected, $texte, $source, $no_transform, $preg];
@@ -100,7 +109,7 @@ class EchappeHtmlTest extends TestCase
 	}
 
 	#[DataProvider('providerPropreEchappeHtml')]
- public function testPropreEchappeHtml($expected, ...$args): void {
+	public function testPropreEchappeHtml($expected, ...$args): void {
 		$actual = echappe_html(
 			$args[0],
 			$args[1] ?? '',
diff --git a/ecrire/tests/Propre/TraiterModelesTest.php b/ecrire/tests/Propre/TraiterModelesTest.php
index 2862f5cebb..c9c33c1d55 100644
--- a/ecrire/tests/Propre/TraiterModelesTest.php
+++ b/ecrire/tests/Propre/TraiterModelesTest.php
@@ -19,8 +19,9 @@ class TraiterModelesTest extends TestCase
 		traiter_modeles($texte);
 		$this->assertNull($GLOBALS['doublons_documents_inclus'] ?? null);
 
-
-		traiter_modeles($texte, ['documents' => ['doc', 'emb', 'img']]);
+		traiter_modeles($texte, [
+			'documents' => ['doc', 'emb', 'img'],
+		]);
 		$this->assertNotEmpty($GLOBALS['doublons_documents_inclus']);
 		$this->assertEquals([1, 2, 3], $GLOBALS['doublons_documents_inclus']);
 	}
diff --git a/ecrire/tests/Propre/TraiterRaccourcisTest.php b/ecrire/tests/Propre/TraiterRaccourcisTest.php
index 699604ca65..2913761699 100644
--- a/ecrire/tests/Propre/TraiterRaccourcisTest.php
+++ b/ecrire/tests/Propre/TraiterRaccourcisTest.php
@@ -39,7 +39,7 @@ class TraiterRaccourcisTest extends TestCase
 	}
 
 	#[DataProvider('providerPropreTraiterRaccourcis')]
- public function testPropreTraiterRaccourcis($expected, ...$args): void {
+	public function testPropreTraiterRaccourcis($expected, ...$args): void {
 		$actual = traiter_raccourcis(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Propre/TraiterTableauTest.php b/ecrire/tests/Propre/TraiterTableauTest.php
index 14c690701b..14ce57ff4c 100644
--- a/ecrire/tests/Propre/TraiterTableauTest.php
+++ b/ecrire/tests/Propre/TraiterTableauTest.php
@@ -14,7 +14,7 @@ class TraiterTableauTest extends TestCase
 	}
 
 	#[DataProvider('providerPropreTraiterTableau')]
- public function testPropreTraiterTableau($expected, ...$args): void {
+	public function testPropreTraiterTableau($expected, ...$args): void {
 		$actual = traiter_raccourcis(...$args);
 		if (is_array($expected)) {
 			[$func, $pattern, $result] = $expected;
@@ -75,9 +75,7 @@ class TraiterTableauTest extends TestCase
 | {{Bourg-de-Peage}} | 13,22 | 30 | 50 | 14,67 |',
 			],
 			'thead avec une colonne vide' => [
-				[
-					'preg_match', ',<thead>\s*<tr[^>]*>(:?<th[^>]*>.*</th>){5}\s*</tr>\s*</thead>,Uims', true,
-				],
+				['preg_match', ',<thead>\s*<tr[^>]*>(:?<th[^>]*>.*</th>){5}\s*</tr>\s*</thead>,Uims', true],
 				'|| titre de mon tableau | resume de mon tableau ||
 | | {{Colonne 1}} | {{Colonne 2}} | {{Colonne 3}} | {{Colonne 4}} |
 | {{Bourg-les-Valence}} | 10,39 | 20,14 | 46,02 | 15,99 |
@@ -87,9 +85,7 @@ class TraiterTableauTest extends TestCase
 | {{Bourg-de-Peage}} | 13,22 | 30 | 50 | 14,67 |',
 			],
 			'thead avec une colonne vide et un retour ligne' => [
-				[
-					'preg_match', ',<thead>\s*<tr[^>]*>(:?<th[^>]*>.*</th>){5}\s*</tr>\s*</thead>,Uims', true,
-				],
+				['preg_match', ',<thead>\s*<tr[^>]*>(:?<th[^>]*>.*</th>){5}\s*</tr>\s*</thead>,Uims', true],
 				'|| titre de mon tableau | resume de mon tableau ||
 | | {{Colonne 1}} | {{Colonne 2}} | {{Colonne 3
 _ avec retour ligne}} | {{Colonne 4}} |
diff --git a/ecrire/tests/Sql/Objets/IdTableObjetTest.php b/ecrire/tests/Sql/Objets/IdTableObjetTest.php
index ea75914f04..e8c6d26973 100644
--- a/ecrire/tests/Sql/Objets/IdTableObjetTest.php
+++ b/ecrire/tests/Sql/Objets/IdTableObjetTest.php
@@ -18,7 +18,7 @@ class IdTableObjetTest extends TestCase
 	}
 
 	#[DataProvider('providerConnectSqlIdTableObjet')]
- public function testConnectSqlIdTableObjet($expected, ...$args): void {
+	public function testConnectSqlIdTableObjet($expected, ...$args): void {
 		$actual = id_table_objet(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Sql/Objets/ObjetTypeTest.php b/ecrire/tests/Sql/Objets/ObjetTypeTest.php
index d9ebb413b0..cb60394d23 100644
--- a/ecrire/tests/Sql/Objets/ObjetTypeTest.php
+++ b/ecrire/tests/Sql/Objets/ObjetTypeTest.php
@@ -18,7 +18,7 @@ class ObjetTypeTest extends TestCase
 	}
 
 	#[DataProvider('providerConnectSqlObjetType')]
- public function testConnectSqlObjetType($expected, ...$args): void {
+	public function testConnectSqlObjetType($expected, ...$args): void {
 		$actual = objet_type(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Sql/Objets/QueryEchappeTextesTest.php b/ecrire/tests/Sql/Objets/QueryEchappeTextesTest.php
index 63756271e5..c93452ac9c 100644
--- a/ecrire/tests/Sql/Objets/QueryEchappeTextesTest.php
+++ b/ecrire/tests/Sql/Objets/QueryEchappeTextesTest.php
@@ -22,7 +22,7 @@ class QueryEchappeTextesTest extends TestCase
 	}
 
 	#[DataProvider('providerConnectSqlQueryEchappeTextes')]
- public function testConnectSqlQueryEchappeTextes($expected, ...$args): void {
+	public function testConnectSqlQueryEchappeTextes($expected, ...$args): void {
 		$actual = query_echappe_textes(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Sql/Objets/TableObjetSqlTest.php b/ecrire/tests/Sql/Objets/TableObjetSqlTest.php
index 9ea2b079ba..a22d9384d5 100644
--- a/ecrire/tests/Sql/Objets/TableObjetSqlTest.php
+++ b/ecrire/tests/Sql/Objets/TableObjetSqlTest.php
@@ -18,7 +18,7 @@ class TableObjetSqlTest extends TestCase
 	}
 
 	#[DataProvider('providerConnectSqlTableObjetSql')]
- public function testConnectSqlTableObjetSql($expected, ...$args): void {
+	public function testConnectSqlTableObjetSql($expected, ...$args): void {
 		$actual = table_objet_sql(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Sql/Objets/TableObjetTest.php b/ecrire/tests/Sql/Objets/TableObjetTest.php
index aca33d85a0..9f4e29dca2 100644
--- a/ecrire/tests/Sql/Objets/TableObjetTest.php
+++ b/ecrire/tests/Sql/Objets/TableObjetTest.php
@@ -18,7 +18,7 @@ class TableObjetTest extends TestCase
 	}
 
 	#[DataProvider('providerConnectSqlTableObjet')]
- public function testConnectSqlTableObjet($expected, ...$args): void {
+	public function testConnectSqlTableObjet($expected, ...$args): void {
 		$actual = table_objet(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Sql/SqlInMysqlTest.php b/ecrire/tests/Sql/SqlInMysqlTest.php
index eebf177487..e215599c34 100644
--- a/ecrire/tests/Sql/SqlInMysqlTest.php
+++ b/ecrire/tests/Sql/SqlInMysqlTest.php
@@ -20,7 +20,7 @@ class SqlInMysqlTest extends TestCase
 	}
 
 	#[DataProvider('providerMysqlSqliIn')]
- public function testMysqlSqlIn($expected, ...$args): void {
+	public function testMysqlSqlIn($expected, ...$args): void {
 		$this->assertEquals($expected, sql_in(...$args));
 	}
 
diff --git a/ecrire/tests/Sql/SqlInSqliteTest.php b/ecrire/tests/Sql/SqlInSqliteTest.php
index f2f4c9a9d5..89089bcb38 100644
--- a/ecrire/tests/Sql/SqlInSqliteTest.php
+++ b/ecrire/tests/Sql/SqlInSqliteTest.php
@@ -20,7 +20,7 @@ class SqlInSqliteTest extends TestCase
 	}
 
 	#[DataProvider('providerSqliteSqliIn')]
- public function testSqliteSqlIn($expected, ...$args): void {
+	public function testSqliteSqlIn($expected, ...$args): void {
 		$this->assertEquals($expected, sql_in(...$args));
 	}
 
diff --git a/ecrire/tests/Squelettes/Balise/ExposeTest.php b/ecrire/tests/Squelettes/Balise/ExposeTest.php
index c5266b7493..b4ef9b192b 100644
--- a/ecrire/tests/Squelettes/Balise/ExposeTest.php
+++ b/ecrire/tests/Squelettes/Balise/ExposeTest.php
@@ -49,7 +49,7 @@ class ExposeTest extends SquelettesTestCase
 	}
 
 	#[Depends('testExposerRubrique')]
- public function testExposerRubriqueInclus(): void {
+	public function testExposerRubriqueInclus(): void {
 		$this->assertOkSquelette(__DIR__ . '/data/balise_expose.html');
 	}
 }
diff --git a/ecrire/tests/Squelettes/Balise/IntroductionTest.php b/ecrire/tests/Squelettes/Balise/IntroductionTest.php
index 0675c5732a..009fa67df5 100644
--- a/ecrire/tests/Squelettes/Balise/IntroductionTest.php
+++ b/ecrire/tests/Squelettes/Balise/IntroductionTest.php
@@ -10,19 +10,6 @@ use Spip\Test\Templating;
 
 class IntroductionTest extends SquelettesTestCase
 {
-	protected function getIdArticleLong(): int {
-		include_spip('base/abstract_sql');
-		$id_article = sql_getfetsel(
-			'id_article',
-			'spip_articles',
-			"descriptif='' AND LENGTH(CONCAT(chapo, texte)) > 520 AND texte!='' AND LENGTH(chapo) > 100",
-			'',
-			'id_article',
-			'0,1'
-		);
-		return intval($id_article);
-	}
-
 	public function testArticleLongExiste(): void {
 		$templating = Templating::fromString();
 		$id_article = $this->getIdArticleLong();
@@ -36,7 +23,7 @@ class IntroductionTest extends SquelettesTestCase
 	}
 
 	#[Depends('testArticleLongExiste')]
- public function testCoupeIntroduction(): void {
+	public function testCoupeIntroduction(): void {
 		$templating = Templating::fromString();
 		$id_article = $this->getIdArticleLong();
 		$code = '<BOUCLE_a(ARTICLES){id_article}{tout}{0,1}>#INTRODUCTION</BOUCLE_a>';
@@ -46,7 +33,7 @@ class IntroductionTest extends SquelettesTestCase
 	}
 
 	#[Depends('testArticleLongExiste')]
- public function testCoupeIntroductionSuite(): void {
+	public function testCoupeIntroductionSuite(): void {
 		$templating = Templating::fromString();
 		$id_article = $this->getIdArticleLong();
 		$code = '<BOUCLE_a(ARTICLES){id_article}{tout}{0,1}>#INTRODUCTION{…}</BOUCLE_a>';
@@ -63,7 +50,7 @@ class IntroductionTest extends SquelettesTestCase
 	}
 
 	#[Depends('testCoupeIntroduction')]
- public function testCoupeIntroductionConstante(): void {
+	public function testCoupeIntroductionConstante(): void {
 		$id_article = $this->getIdArticleLong();
 		$templating = Templating::fromString([
 			'fonctions' => "
@@ -77,4 +64,17 @@ class IntroductionTest extends SquelettesTestCase
 		$suite = _INTRODUCTION_SUITE;
 		$this->assertMatchesRegularExpression('#' . preg_quote($suite . '</p>', '#') . '$#', $result);
 	}
+
+	protected function getIdArticleLong(): int {
+		include_spip('base/abstract_sql');
+		$id_article = sql_getfetsel(
+			'id_article',
+			'spip_articles',
+			"descriptif='' AND LENGTH(CONCAT(chapo, texte)) > 520 AND texte!='' AND LENGTH(chapo) > 100",
+			'',
+			'id_article',
+			'0,1'
+		);
+		return intval($id_article);
+	}
 }
diff --git a/ecrire/tests/Squelettes/Balise/NotesTest.php b/ecrire/tests/Squelettes/Balise/NotesTest.php
index effabcf55d..8ed5c4f0b3 100644
--- a/ecrire/tests/Squelettes/Balise/NotesTest.php
+++ b/ecrire/tests/Squelettes/Balise/NotesTest.php
@@ -12,7 +12,6 @@ class NotesTest extends SquelettesTestCase
 		$this->viderNotes();
 	}
 
-
 	public function testNotesEnVrac(): void {
 		$this->assertOkSquelette(__DIR__ . '/data/notes.html');
 	}
diff --git a/ecrire/tests/Squelettes/Boucle/BoucleJointuresTest.php b/ecrire/tests/Squelettes/Boucle/BoucleJointuresTest.php
index c6d96a1368..cf22ca36e9 100644
--- a/ecrire/tests/Squelettes/Boucle/BoucleJointuresTest.php
+++ b/ecrire/tests/Squelettes/Boucle/BoucleJointuresTest.php
@@ -20,12 +20,20 @@ class BoucleJointuresTest extends SquelettesTestCase
 			$this->markTestSkipped("Pas d'articles dans la base pour tester la jointure id_mot");
 		}
 		$result2 = $templating->render($code2, ['id_mot' => 1]);
-		$this->assertNotEquals($result1, $result2, "La jointure conditionnelle {id_mot?} n'a pas d'effet si un id_mot est dans le contexte");
+		$this->assertNotEquals(
+			$result1,
+			$result2,
+			"La jointure conditionnelle {id_mot?} n'a pas d'effet si un id_mot est dans le contexte"
+		);
 
 		$templating = Templating::fromString();
 		$result1 = $templating->render($code1, []);
 		$result2 = $templating->render($code2, []);
-		$this->assertEquals($result1, $result2, "La jointure conditionnelle {id_mot?} n'est pas neutre en l'absence de id_mot dans le contexte");
+		$this->assertEquals(
+			$result1,
+			$result2,
+			"La jointure conditionnelle {id_mot?} n'est pas neutre en l'absence de id_mot dans le contexte"
+		);
 	}
 
 	public function testJointureArticleIdmot2(): void {
@@ -39,12 +47,20 @@ class BoucleJointuresTest extends SquelettesTestCase
 			$this->markTestSkipped("Pas d'articles dans la base pour tester la jointure id_mot");
 		}
 		$result2 = $templating->render($code2, ['id_mot' => 1]);
-		$this->assertNotEquals($result1, $result2, "La jointure conditionnelle {id_mot?} n'a pas d'effet si un id_mot est dans le contexte");
+		$this->assertNotEquals(
+			$result1,
+			$result2,
+			"La jointure conditionnelle {id_mot?} n'a pas d'effet si un id_mot est dans le contexte"
+		);
 
 		$templating = Templating::fromString();
 		$result1 = $templating->render($code1, []);
 		$result2 = $templating->render($code2, []);
-		$this->assertEquals($result1, $result2, "La jointure conditionnelle {id_mot?} n'est pas neutre en l'absence de id_mot dans le contexte");
+		$this->assertEquals(
+			$result1,
+			$result2,
+			"La jointure conditionnelle {id_mot?} n'est pas neutre en l'absence de id_mot dans le contexte"
+		);
 	}
 
 	public function testJointureArticleIdmot3(): void {
@@ -58,11 +74,19 @@ class BoucleJointuresTest extends SquelettesTestCase
 			$this->markTestSkipped("Pas d'articles dans la base pour tester la jointure id_mot");
 		}
 		$result2 = $templating->render($code2, ['id_mot' => 1]);
-		$this->assertNotEquals($result1, $result2, "La jointure conditionnelle {id_mot?} n'a pas d'effet si un id_mot est dans le contexte");
+		$this->assertNotEquals(
+			$result1,
+			$result2,
+			"La jointure conditionnelle {id_mot?} n'a pas d'effet si un id_mot est dans le contexte"
+		);
 
 		$templating = Templating::fromString();
 		$result1 = $templating->render($code1, []);
 		$result2 = $templating->render($code2, []);
-		$this->assertNotEquals($result1, $result2, "La jointure conditionnelle {id_mot?} n'a pas été conservée en l'absence de id_mot dans le contexte");
+		$this->assertNotEquals(
+			$result1,
+			$result2,
+			"La jointure conditionnelle {id_mot?} n'a pas été conservée en l'absence de id_mot dans le contexte"
+		);
 	}
 }
diff --git a/ecrire/tests/Squelettes/Critere/DoublonsTest.php b/ecrire/tests/Squelettes/Critere/DoublonsTest.php
index 3147427590..83204d4ef8 100644
--- a/ecrire/tests/Squelettes/Critere/DoublonsTest.php
+++ b/ecrire/tests/Squelettes/Critere/DoublonsTest.php
@@ -46,7 +46,7 @@ class DoublonsTest extends SquelettesTestCase
 	}
 
 	#[Depends('testDoublonsAuteurs')]
- public function testDoublonsNommesAuteurs(): void {
+	public function testDoublonsNommesAuteurs(): void {
 		$this->assertOkCode('
 			<BOUCLE_a(AUTEURS){doublons polisson}></BOUCLE_a>
 			<BOUCLE_b(AUTEURS){doublons polisson}{0,1}>Erreur doublons Auteurs</BOUCLE_b>OK<//B_b>
diff --git a/ecrire/tests/SquelettesTestCase.php b/ecrire/tests/SquelettesTestCase.php
index 88de337b49..c942c68026 100644
--- a/ecrire/tests/SquelettesTestCase.php
+++ b/ecrire/tests/SquelettesTestCase.php
@@ -4,10 +4,10 @@ declare(strict_types=1);
 
 namespace Spip\Test;
 
-use RuntimeException;
 use PHPUnit\Framework\Attributes\UsesClass;
 use PHPUnit\Framework\Constraint\LogicalNot;
 use PHPUnit\Framework\TestCase;
+use RuntimeException;
 use Spip\Test\Constraint\IsOk;
 
 abstract class SquelettesTestCase extends TestCase
@@ -23,7 +23,7 @@ abstract class SquelettesTestCase extends TestCase
 	 * Retourne le chemin relatif depuis la racine de SPIP
 	 */
 	public static function relativePath(string $fullDirectory): string {
-		if (! defined('_SPIP_TEST_CHDIR')) {
+		if (!defined('_SPIP_TEST_CHDIR')) {
 			throw new RuntimeException('_SPIP_TEST_CHDIR needs to be defined');
 		}
 
@@ -71,7 +71,7 @@ abstract class SquelettesTestCase extends TestCase
 		$actual = $templating->render($code, $contexte);
 
 		static::assertOk($actual, $message);
- }
+	}
 
 	/**
 	 * Assertion qui vérifie que le résultat d’un template est vide
@@ -166,7 +166,7 @@ abstract class SquelettesTestCase extends TestCase
 	 */
 	public static function assertOkCode(string $code, array $contexte = [], string $message = ''): void {
 		static::assertOkTemplate(Templating::fromString(), $code, $contexte);
- }
+	}
 
 	/**
 	 * Assertion qui vérifie que le résultat d’un code de squelette n’est pas 'OK'
@@ -224,7 +224,7 @@ abstract class SquelettesTestCase extends TestCase
 	 */
 	public static function assertOkSquelette(string $code, array $contexte = [], string $message = ''): void {
 		static::assertOkTemplate(Templating::fromFile(), $code, $contexte);
- }
+	}
 
 	/**
 	 * Assertion qui vérifie que le résultat d’un fichier de squelette n’est pas 'OK'
diff --git a/ecrire/tests/Texte/CouperTest.php b/ecrire/tests/Texte/CouperTest.php
index 415116abde..e68bd6c7bb 100644
--- a/ecrire/tests/Texte/CouperTest.php
+++ b/ecrire/tests/Texte/CouperTest.php
@@ -19,12 +19,13 @@ class CouperTest extends TestCase
 	}
 
 	#[DataProvider('providerCouper')]
- public function testCouper($length_expected, $exact, ...$args): void {
+	public function testCouper($length_expected, $exact, ...$args): void {
 		$actual = couper(...$args);
 		$length_actual = spip_strlen(filtrer_entites($actual));
 		if ($exact) {
 			$this->assertEquals($length_expected, $length_actual);
-		} else { $this->assertLessThanOrEqual($length_expected, $length_actual);
+		} else {
+			$this->assertLessThanOrEqual($length_expected, $length_actual);
 		}
 	}
 
@@ -34,41 +35,16 @@ class CouperTest extends TestCase
 
 		// Phrases de test et éventuel texte de suite.
 		$data = [
-			'txt1' => [
-				'Une phrase pour tester le filtre |couper bla bli blu',
-			],
-			'txt1suite' => [
-				'Une phrase pour tester le filtre |couper bla bli blu',
-				'&nbsp;(etc.)',
-			],
-			'txt2' => [
-				'Tést àvéc plêïn d’àççènts bla bli blu',
-			],
-			'txt2suite' => [
-				'Tést àvéc plêïn d’àççènts bla bli blu',
-				'&nbsp;(etc.)',
-			],
-			'txt3' => [
-				'Supercalifragilisticexpialidocious',
-			],
-			'txt3suite' => [
-				'Supercalifragilisticexpialidocious',
-				'&nbsp;(etc.)',
-			],
-			'txt4' => [
-				"Un test du filtre |couper\n\navec deux paragraphes",
-			],
-			'txt4suite' => [
-				"Un test du filtre |couper\n\navec deux paragraphes",
-				'&nbsp;(etc.)',
-			],
-			'txt5' => [
-				'<p>Un test du filtre |couper</p><p>avec deux paragraphes</p>',
-			],
-			'txt5suite' => [
-				'<p>Un test du filtre |couper</p><p>avec deux paragraphes</p>',
-				'&nbsp;(etc.)',
-			],
+			'txt1' => ['Une phrase pour tester le filtre |couper bla bli blu'],
+			'txt1suite' => ['Une phrase pour tester le filtre |couper bla bli blu', '&nbsp;(etc.)'],
+			'txt2' => ['Tést àvéc plêïn d’àççènts bla bli blu'],
+			'txt2suite' => ['Tést àvéc plêïn d’àççènts bla bli blu', '&nbsp;(etc.)'],
+			'txt3' => ['Supercalifragilisticexpialidocious'],
+			'txt3suite' => ['Supercalifragilisticexpialidocious', '&nbsp;(etc.)'],
+			'txt4' => ["Un test du filtre |couper\n\navec deux paragraphes"],
+			'txt4suite' => ["Un test du filtre |couper\n\navec deux paragraphes", '&nbsp;(etc.)'],
+			'txt5' => ['<p>Un test du filtre |couper</p><p>avec deux paragraphes</p>'],
+			'txt5suite' => ['<p>Un test du filtre |couper</p><p>avec deux paragraphes</p>', '&nbsp;(etc.)'],
 			'txt6' => [
 				'Articlé "illustré" : imagés ’céntrées’ avèc un titre long voir très long mais vraiment très long avec dés àçènts',
 			],
@@ -76,13 +52,8 @@ class CouperTest extends TestCase
 				'Articlé "illustré" : imagés ’céntrées’ avèc un titre long voir très long mais vraiment très long avec dés àçènts',
 				'&nbsp;(etc.)',
 			],
-			'txt7' => [
-				'Article : avec des espaces insecable ; challenge ?',
-			],
-			'txt7suite' => [
-				'Article : avec des espaces insecable ; challenge ?',
-				'&nbsp;(etc.)',
-			],
+			'txt7' => ['Article : avec des espaces insecable ; challenge ?'],
+			'txt7suite' => ['Article : avec des espaces insecable ; challenge ?', '&nbsp;(etc.)'],
 		];
 		// Pour chaque phrase de test, itérer sur toutes les longueurs de coupe
 		// possibles.
@@ -95,13 +66,9 @@ class CouperTest extends TestCase
 			$exact_si_pluslong = (strlen($texte) === strlen(strip_tags($texte)));
 			for ($taille = 1; $taille <= $taille_texte + 10; $taille++) {
 				if ($taille < $taille_texte) {
-					$tests["{$i}_L$taille"] = [
-						$taille, false, $texte, $taille, $suite
-					];
+					$tests["{$i}_L$taille"] = [$taille, false, $texte, $taille, $suite];
 				} else {
-					$tests["{$i}_L{$taille}"] = [
-						$taille_texte, $exact_si_pluslong, $texte, $taille, $suite
-					];
+					$tests["{$i}_L{$taille}"] = [$taille_texte, $exact_si_pluslong, $texte, $taille, $suite];
 				}
 			}
 		}
@@ -111,7 +78,7 @@ class CouperTest extends TestCase
 			true,
 			'😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 😀 ',
 			901,
-			'&nbsp;(etc.)'
+			'&nbsp;(etc.)',
 		];
 
 		return $tests;
diff --git a/ecrire/tests/Texte/EchapperHtmlSuspectTest.php b/ecrire/tests/Texte/EchapperHtmlSuspectTest.php
index f1d8358397..0011903563 100644
--- a/ecrire/tests/Texte/EchapperHtmlSuspectTest.php
+++ b/ecrire/tests/Texte/EchapperHtmlSuspectTest.php
@@ -13,9 +13,9 @@ use PHPUnit\Framework\TestCase;
 
 class EchapperHtmlSuspectTest extends TestCase
 {
-	static $filtrer_javascript;
-	static $lang;
+	public static $filtrer_javascript;
 
+	public static $lang;
 
 	public static function setUpBeforeClass(): void {
 		find_in_path('inc/texte.php', '', true);
@@ -32,7 +32,7 @@ class EchapperHtmlSuspectTest extends TestCase
 	}
 
 	#[DataProvider('providerIsHtmlSafe')]
- public function testIsHtmlSafe($expected, ...$args): void {
+	public function testIsHtmlSafe($expected, ...$args): void {
 		$actual = is_html_safe(...$args);
 		$this->assertSame($expected, $actual);
 	}
@@ -41,36 +41,21 @@ class EchapperHtmlSuspectTest extends TestCase
 		return [
 			'relOK' => [
 				true,
-				'Voir aussi la page du taxon ️<a class="nom_scientifique" href="http://www.itis.gov/servlet/SingleRpt/SingleRpt?search_topic=TSN&amp;search_value=183813" rel="noreferrer">Acinonyx jubatus</a>. Wikipedia (descriptif rapide).'
+				'Voir aussi la page du taxon ️<a class="nom_scientifique" href="http://www.itis.gov/servlet/SingleRpt/SingleRpt?search_topic=TSN&amp;search_value=183813" rel="noreferrer">Acinonyx jubatus</a>. Wikipedia (descriptif rapide).',
 			],
 			'relInconnu' => [
 				false,
-				'Voir aussi la page du taxon ️<a class="nom_scientifique" href="http://www.itis.gov/servlet/SingleRpt/SingleRpt?search_topic=TSN&amp;search_value=183813" rel="relinconnu">Acinonyx jubatus</a>. Wikipedia (descriptif rapide).'
-			],
-			'span_lang_fr' => [
-				true,
-				'<span lang="fr">Créer des sélections d’objets ayant un prix</span>',
+				'Voir aussi la page du taxon ️<a class="nom_scientifique" href="http://www.itis.gov/servlet/SingleRpt/SingleRpt?search_topic=TSN&amp;search_value=183813" rel="relinconnu">Acinonyx jubatus</a>. Wikipedia (descriptif rapide).',
 			],
+			'span_lang_fr' => [true, '<span lang="fr">Créer des sélections d’objets ayant un prix</span>'],
 			'span_lang_fr_simples_quotes' => [
 				true,
 				'<span lang=\'fr\'>Créer des sélections d’objets ayant un prix</span>',
 			],
-			'entite_unicode' => [
-				true,
-				'<span lang=\'fr\'>Créer des sélections d&#8217;objets ayant un prix</span>',
-			],
-			'multi_safe' => [
-				true,
-				'<multi>[fr]Salut[en]Hey[de]Hallo</multi>',
-			],
-			'multi_malicious' => [
-				false,
-				'<multi><script type="text/javascript">alert()</script></multi>',
-			],
-			'idiome' => [
-				true,
-				'<:spip:bonjour:> Toto',
-			],
+			'entite_unicode' => [true, '<span lang=\'fr\'>Créer des sélections d&#8217;objets ayant un prix</span>'],
+			'multi_safe' => [true, '<multi>[fr]Salut[en]Hey[de]Hallo</multi>'],
+			'multi_malicious' => [false, '<multi><script type="text/javascript">alert()</script></multi>'],
+			'idiome' => [true, '<:spip:bonjour:> Toto'],
 			'mdash' => [
 				true,
 				"Experimenter en astronomie &mdash; Collaboration amateur<span aria-hidden='true'>·</span>trices-professionnel<span aria-hidden='true'>·</span>les",
diff --git a/ecrire/tests/Texte/InterdireScriptLaxisteTest.php b/ecrire/tests/Texte/InterdireScriptLaxisteTest.php
index eb140a8a37..93c605154d 100644
--- a/ecrire/tests/Texte/InterdireScriptLaxisteTest.php
+++ b/ecrire/tests/Texte/InterdireScriptLaxisteTest.php
@@ -14,6 +14,7 @@ use PHPUnit\Framework\TestCase;
 class InterdireScriptLaxisteTest extends TestCase
 {
 	protected static $save_filtrer_javascript;
+
 	public static function setUpBeforeClass(): void {
 		self::$save_filtrer_javascript = $GLOBALS['filtrer_javascript'];
 		find_in_path('inc/texte.php', '', true);
@@ -28,7 +29,7 @@ class InterdireScriptLaxisteTest extends TestCase
 	}
 
 	#[DataProvider('providerTexteInterdireScriptLaxiste')]
- public function testTexteInterdireScriptLaxiste($expected, ...$args): void {
+	public function testTexteInterdireScriptLaxiste($expected, ...$args): void {
 		$actual = interdire_scripts(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Texte/InterdireScriptParanoTest.php b/ecrire/tests/Texte/InterdireScriptParanoTest.php
index fdfd0bf072..7240d10782 100644
--- a/ecrire/tests/Texte/InterdireScriptParanoTest.php
+++ b/ecrire/tests/Texte/InterdireScriptParanoTest.php
@@ -14,6 +14,7 @@ use PHPUnit\Framework\TestCase;
 class InterdireScriptParanoTest extends TestCase
 {
 	protected static $save_filtrer_javascript;
+
 	public static function setUpBeforeClass(): void {
 		self::$save_filtrer_javascript = $GLOBALS['filtrer_javascript'];
 		find_in_path('inc/texte.php', '', true);
@@ -28,7 +29,7 @@ class InterdireScriptParanoTest extends TestCase
 	}
 
 	#[DataProvider('providerTexteInterdireScriptParano')]
- public function testTexteInterdireScriptParano($expected, ...$args): void {
+	public function testTexteInterdireScriptParano($expected, ...$args): void {
 		$actual = interdire_scripts(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Texte/PropreTest.php b/ecrire/tests/Texte/PropreTest.php
index 43feee213f..6002c79b3b 100644
--- a/ecrire/tests/Texte/PropreTest.php
+++ b/ecrire/tests/Texte/PropreTest.php
@@ -34,7 +34,7 @@ class PropreTest extends TestCase
 	}
 
 	#[DataProvider('providerTextePropre')]
- public function testTextePropre($expected, ...$args): void {
+	public function testTextePropre($expected, ...$args): void {
 		$actual = propre(...$args);
 		$this->assertSame($expected, $actual);
 	}
@@ -65,24 +65,24 @@ class PropreTest extends TestCase
 				0 => '<p>Un texte avec des <a href="http://spip.net">liens</a> <a href="spip.php?article1" class="spip_in">Article 1</a> <a href="http://www.spip.net" class="spip_out" rel="external">spip</a> <a href="http://www.spip.net" class="spip_url spip_out auto" rel="nofollow external">http://www.spip.net</a></p>',
 				1 => 'Un texte avec des <a href="http://spip.net">liens</a> [Article 1->art1] [spip->http://www.spip.net] http://www.spip.net',
 			],
-			'string_2'  => [
+			'string_2' => [
 				0 => '<p>Un texte avec des entit&eacute;s &amp;&lt;&gt;&quot;</p>',
 				1 => 'Un texte avec des entit&eacute;s &amp;&lt;&gt;&quot;',
 			],
-			'string_3'  => [
+			'string_3' => [
 				0 => '<p>Un texte sans entites &amp;&lt;>"&#8217;</p>',
 				1 => 'Un texte sans entites &<>"\'',
 			],
-			'string_4'  => [
+			'string_4' => [
 				0 => '<h2 class="spip">Des raccourcis</h2>
 <p> <i>italique</i> <strong>gras</strong> <code class="spip_code spip_code_inline" dir="ltr">du code</code></p>',
 				1 => '{{{Des raccourcis}}} {italique} {{gras}} <code>du code</code>',
 			],
-			'string_5'  => [
+			'string_5' => [
 				0 => '<p>Un modele <tt>&lt;modeleinexistant|lien=[-&gt;http://www.spip.net]&gt;</tt></p>',
 				1 => 'Un modele <modeleinexistant|lien=[->http://www.spip.net]>',
 			],
-			'string_6'  => [
+			'string_6' => [
 				0 => '<p><span class="spip-puce ltr"><b>–</b></span>&nbsp;propre</p>',
 				1 => '- propre',
 			],
diff --git a/ecrire/tests/Texte/TypoTest.php b/ecrire/tests/Texte/TypoTest.php
index 8f28009dc7..1b20360d80 100644
--- a/ecrire/tests/Texte/TypoTest.php
+++ b/ecrire/tests/Texte/TypoTest.php
@@ -25,7 +25,7 @@ class TypoTest extends TestCase
 	}
 
 	#[DataProvider('providerTexteTypo')]
- public function testTexteTypo($expected, ...$args): void {
+	public function testTexteTypo($expected, ...$args): void {
 		$actual = typo(...$args);
 		$this->assertSame($expected, $actual);
 	}
@@ -124,13 +124,13 @@ class TypoTest extends TestCase
 			15 =>
 			[
 				0 => 'Chat&nbsp;!!',
-				1 => 'Chat!!'
+				1 => 'Chat!!',
 			],
 			// et pas apres "(" -- http://trac.rezo.net/trac/spip/changeset/10177
 			'r10177' =>
 			[
 				0 => '(!)',
-				1 => '(!)'
+				1 => '(!)',
 			],
 		];
 	}
diff --git a/ecrire/tests/Typographie/FrTest.php b/ecrire/tests/Typographie/FrTest.php
index ce0d0eb977..7b399be026 100644
--- a/ecrire/tests/Typographie/FrTest.php
+++ b/ecrire/tests/Typographie/FrTest.php
@@ -41,7 +41,7 @@ class FrTest extends TestCase
 	}
 
 	#[DataProvider('providerBase')]
- public function testBase($source, $expected) {
+	public function testBase($source, $expected) {
 		$typographie = static::$fnTypographie;
 		$this->assertEquals($expected, $typographie($source));
 	}
@@ -57,7 +57,7 @@ class FrTest extends TestCase
 	}
 
 	#[DataProvider('providerAddsSpaceOnPonctuation')]
- public function testAddsSpaceOnPonctuation($source, $expected) {
+	public function testAddsSpaceOnPonctuation($source, $expected) {
 		$typographie = static::$fnTypographie;
 		$this->assertEquals($expected, $typographie($source));
 	}
@@ -73,7 +73,7 @@ class FrTest extends TestCase
 	}
 
 	#[DataProvider('providerChangeSpaceToNonBreakingSpaceOnPonctuation')]
- public function testChangeSpaceToNonBreakingSpaceOnPonctuation($source, $expected) {
+	public function testChangeSpaceToNonBreakingSpaceOnPonctuation($source, $expected) {
 		$typographie = static::$fnTypographie;
 		$this->assertEquals($expected, $typographie($source));
 	}
@@ -87,7 +87,7 @@ class FrTest extends TestCase
 	}
 
 	#[DataProvider('providerChangeTildeToNonBreakingSpace')]
- public function testChangeTildeToNonBreakingSpace($source, $expected) {
+	public function testChangeTildeToNonBreakingSpace($source, $expected) {
 		$typographie = static::$fnTypographie;
 		$this->assertEquals($expected, $typographie($source));
 	}
@@ -103,7 +103,7 @@ class FrTest extends TestCase
 	}
 
 	#[DataProvider('providerChangeTildeToNonBreakingSpaceOnPonctuation')]
- public function testChangeTildeToNonBreakingSpaceOnPonctuation($source, $expected) {
+	public function testChangeTildeToNonBreakingSpaceOnPonctuation($source, $expected) {
 		$typographie = static::$fnTypographie;
 		$this->assertEquals($expected, $typographie($source));
 	}
@@ -117,7 +117,7 @@ class FrTest extends TestCase
 	}
 
 	#[DataProvider('providerKeepNonBreakingSpaceEntity')]
- public function testKeepNonBreakingSpaceEntity($source, $expected) {
+	public function testKeepNonBreakingSpaceEntity($source, $expected) {
 		$typographie = static::$fnTypographie;
 		$this->assertEquals($expected, $typographie($source));
 	}
@@ -131,7 +131,7 @@ class FrTest extends TestCase
 	}
 
 	#[DataProvider('providerKeepNonBreakingSpaceUtf')]
- public function testKeepNonBreakingSpaceUtf($source, $expected): never {
+	public function testKeepNonBreakingSpaceUtf($source, $expected): never {
 		$typographie = static::$fnTypographie;
 		// TODO
 		$this->markTestSkipped('NIY');
@@ -148,7 +148,7 @@ class FrTest extends TestCase
 	}
 
 	#[DataProvider('providerKeepDoubleTwoPoints')]
- public function testKeepDoubleTwoPoints($source, $expected): never {
+	public function testKeepDoubleTwoPoints($source, $expected): never {
 		$typographie = static::$fnTypographie;
 		// TODO
 		$this->markTestSkipped('NIY');
diff --git a/ecrire/tests/Utils/ParametreUrlTest.php b/ecrire/tests/Utils/ParametreUrlTest.php
index ae1099ca56..15399d1a9d 100644
--- a/ecrire/tests/Utils/ParametreUrlTest.php
+++ b/ecrire/tests/Utils/ParametreUrlTest.php
@@ -18,7 +18,7 @@ class ParametreUrlTest extends TestCase
 	}
 
 	#[DataProvider('providerUtilsParametreUrl')]
- public function testUtilsParametreUrl($expected, ...$args): void {
+	public function testUtilsParametreUrl($expected, ...$args): void {
 		$actual = parametre_url(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Utils/TesterUrlAbsolueTest.php b/ecrire/tests/Utils/TesterUrlAbsolueTest.php
index a5c71d55f5..6092525851 100644
--- a/ecrire/tests/Utils/TesterUrlAbsolueTest.php
+++ b/ecrire/tests/Utils/TesterUrlAbsolueTest.php
@@ -18,7 +18,7 @@ class TesterUrlAbsolueTest extends TestCase
 	}
 
 	#[DataProvider('providerUtilsTesterUrlAbsolue')]
- public function testUtilsTesterUrlAbsolue($expected, ...$args): void {
+	public function testUtilsTesterUrlAbsolue($expected, ...$args): void {
 		$actual = tester_url_absolue(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/Utils/UrlDeTest.php b/ecrire/tests/Utils/UrlDeTest.php
index 442f6cf178..942cab38da 100644
--- a/ecrire/tests/Utils/UrlDeTest.php
+++ b/ecrire/tests/Utils/UrlDeTest.php
@@ -18,7 +18,7 @@ class UrlDeTest extends TestCase
 	}
 
 	#[DataProvider('providerUtilsUrlDe')]
- public function testUtilsUrlDe($expected, ...$args): void {
+	public function testUtilsUrlDe($expected, ...$args): void {
 		$actual = url_de_(...$args);
 		$this->assertSame($expected, $actual);
 	}
diff --git a/ecrire/tests/bootstrap.php b/ecrire/tests/bootstrap.php
index 1d1226c273..2e02c03ad0 100644
--- a/ecrire/tests/bootstrap.php
+++ b/ecrire/tests/bootstrap.php
@@ -8,22 +8,22 @@ declare(strict_types=1);
  */
 
 // pas en cli ? passe ton chemin ! (ce script est un vilain trou de securite)
-if (php_sapi_name() !== 'cli') {
+if (PHP_SAPI !== 'cli') {
 	throw new RuntimeException('Operation not allowed.');
 }
 
 // let's go spip
-if (! defined('_SPIP_TEST_INC')) {
+if (!defined('_SPIP_TEST_INC')) {
 	define('_SPIP_TEST_INC', dirname(__FILE__, 2));
 }
 
 // si rien defini on va dans le public
 
-if (! defined('_SPIP_TEST_CHDIR')) {
+if (!defined('_SPIP_TEST_CHDIR')) {
 	define('_SPIP_TEST_CHDIR', dirname(_SPIP_TEST_INC));
 }
 
-if (! defined('_DIR_TESTS')) {
+if (!defined('_DIR_TESTS')) {
 	define('_DIR_TESTS', substr(_SPIP_TEST_INC, strlen(_SPIP_TEST_CHDIR) + 1) . '/');
 }
 
@@ -33,7 +33,7 @@ chdir(_SPIP_TEST_CHDIR);
 require_once _SPIP_TEST_CHDIR . '/ecrire/inc_version.php';
 
 // pour notice sur recuperer_fond()
-if (! isset($GLOBALS['spip_lang'])) {
+if (!isset($GLOBALS['spip_lang'])) {
 	include_spip('inc/lang');
 	utiliser_langue_visiteur();
 }
diff --git a/ecrire/tests/legacy/squel.php b/ecrire/tests/legacy/squel.php
index 383acfcd9e..32e4a37fe6 100644
--- a/ecrire/tests/legacy/squel.php
+++ b/ecrire/tests/legacy/squel.php
@@ -4,7 +4,7 @@ declare(strict_types=1);
 
 $remonte = __DIR__ . '/';
 
-while (! is_file($remonte . 'test.inc')) {
+while (!is_file($remonte . 'test.inc')) {
 	$remonte .= '../';
 }
 
diff --git a/ecrire/tests/legacy/squelettes/balise/formulaire_test_phraseur.php b/ecrire/tests/legacy/squelettes/balise/formulaire_test_phraseur.php
index b5c2cbdec9..c13401b926 100644
--- a/ecrire/tests/legacy/squelettes/balise/formulaire_test_phraseur.php
+++ b/ecrire/tests/legacy/squelettes/balise/formulaire_test_phraseur.php
@@ -12,7 +12,7 @@ declare(strict_types=1);
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
-if (! defined('_ECRIRE_INC_VERSION')) {
+if (!defined('_ECRIRE_INC_VERSION')) {
 	return;
 }
 #securite
@@ -34,7 +34,7 @@ function balise_FORMULAIRE_TEST_PHRASEUR_stat($args, $context_compil) {
 function balise_FORMULAIRE_TEST_PHRASEUR_dyn($id_rubrique, $url) {
 	$res = 'OK';
 
-	if (! preg_match('#^\d+$#', $id_rubrique)) {
+	if (!preg_match('#^\d+$#', $id_rubrique)) {
 		$res = 'Erreur id_rubrique non numerique : ' . var_export($id_rubrique, 1);
 	}
 
diff --git a/ecrire/tests/legacy/test_fonctions.php b/ecrire/tests/legacy/test_fonctions.php
index 3325925ece..852345d4dd 100644
--- a/ecrire/tests/legacy/test_fonctions.php
+++ b/ecrire/tests/legacy/test_fonctions.php
@@ -2,10 +2,10 @@
 
 declare(strict_types=1);
 
-use cogpowered\FineDiff\Render\Text;
 use cogpowered\FineDiff\Diff;
 use cogpowered\FineDiff\Granularity\Paragraph;
 use cogpowered\FineDiff\Render\Html;
+use cogpowered\FineDiff\Render\Text;
 
 // pour FineDiff
 #include_once _SPIP_TEST_INC . '/vendor/autoload.php';
@@ -77,7 +77,7 @@ function tester_fun($fun, $essais, $opts = []) {
 			'test ' . $GLOBALS['test'] . ' : Essai ' . $GLOBALS['compteur_essai']++ . ($ok ? ' ok' : ' ECHEC'),
 			'testrunner'
 		);
-		if (! $ok) {
+		if (!$ok) {
 			$erritem_args = [];
 			$essCount = count($ess);
 			for ($iarg = 1; $iarg < $essCount; ++$iarg) {
@@ -124,11 +124,11 @@ function display_error($titre, $call, $result, $expected, $opts = []) {
 		$FineDiff->setGranularity(new Paragraph());
 		echo $FineDiff->render($from, var_export($result, true));
 	} else {
-		if (! isset($bef)) {
+		if (!isset($bef)) {
 			// options
 			foreach (
 				[
-				'out' => '<dt>@</dt><dd class="ei">@</dd>',
+					'out' => '<dt>@</dt><dd class="ei">@</dd>',
 				] as $opt => $def
 			) {
 				${$opt} = $opts[$opt] ?? $def;
@@ -174,14 +174,14 @@ function display_error($titre, $call, $result, $expected, $opts = []) {
 	}
 }
 
-if (! function_exists('array_diff_assoc_recursive')) {
+if (!function_exists('array_diff_assoc_recursive')) {
 	// http://www.php.net/manual/fr/function.array-diff-assoc.php#73972
 	function array_diff_assoc_recursive($array1, $array2) {
 		foreach ($array1 as $key => $value) {
 			if (is_array($value)) {
-				if (! isset($array2[$key])) {
+				if (!isset($array2[$key])) {
 					$difference[$key] = $value;
-				} elseif (! is_array($array2[$key])) {
+				} elseif (!is_array($array2[$key])) {
 					$difference[$key] = $value;
 				} else {
 					$new_diff = array_diff_assoc_recursive($value, $array2[$key]);
@@ -189,7 +189,7 @@ if (! function_exists('array_diff_assoc_recursive')) {
 						$difference[$key] = $new_diff;
 					}
 				}
-			} elseif (! array_key_exists($key, $array2) || ! test_equality($array2[$key], $value)) {
+			} elseif (!array_key_exists($key, $array2) || !test_equality($array2[$key], $value)) {
 				$difference[$key] = $value;
 			}
 		}
@@ -200,9 +200,9 @@ if (! function_exists('array_diff_assoc_recursive')) {
 
 function test_equality($val1, $val2) {
 	if (is_array($val1) && is_array($val2)) {
-		return ! (is_countable(array_diff_assoc_recursive($val1, $val2)) ? count(
+		return !(is_countable(array_diff_assoc_recursive($val1, $val2)) ? count(
 			array_diff_assoc_recursive($val1, $val2)
-		) : 0) && ! (is_countable(
+		) : 0) && !(is_countable(
 			array_diff_assoc_recursive($val2, $val1)
 		) ? count(array_diff_assoc_recursive($val2, $val1)) : 0)
 		;
@@ -226,7 +226,7 @@ function tests_legacy_lister($extension = null) {
 		}
 	}
 
-	if (! $extension) {
+	if (!$extension) {
 		$extension = 'php|html';
 	}
 
@@ -267,7 +267,10 @@ function tests_legacy_lister($extension = null) {
 				continue;
 			}
 
-			if (!str_starts_with($testbasename, 'inclus_') && !str_ends_with($testbasename, '_fonctions.php') && (!str_starts_with($testbasename, 'NA_') || _request('var_mode') === 'dev')) {
+			if (!str_starts_with($testbasename, 'inclus_') && !str_ends_with(
+				$testbasename,
+				'_fonctions.php'
+			) && (!str_starts_with($testbasename, 'NA_') || _request('var_mode') === 'dev')) {
 				$joli = preg_replace('#\.(php|html)$#', '', basename($test));
 				$section = dirname($test);
 				if (str_starts_with($base, _DIR_TESTS)) {
diff --git a/ecrire/tests/legacy/unit/abstract_sql/00_sql_create_drop_view.php b/ecrire/tests/legacy/unit/abstract_sql/00_sql_create_drop_view.php
index e8fa2363fb..55d2ed4a63 100644
--- a/ecrire/tests/legacy/unit/abstract_sql/00_sql_create_drop_view.php
+++ b/ecrire/tests/legacy/unit/abstract_sql/00_sql_create_drop_view.php
@@ -8,7 +8,7 @@ $test = 'sql/sql_create_drop_view';
 
 $remonte = __DIR__ . '/';
 
-while (! is_file($remonte . 'test.inc')) {
+while (!is_file($remonte . 'test.inc')) {
 	$remonte .= '../';
 }
 
diff --git a/ecrire/tests/legacy/unit/abstract_sql/10_sql_insert_select.php b/ecrire/tests/legacy/unit/abstract_sql/10_sql_insert_select.php
index e64291a626..83e80c1fcd 100644
--- a/ecrire/tests/legacy/unit/abstract_sql/10_sql_insert_select.php
+++ b/ecrire/tests/legacy/unit/abstract_sql/10_sql_insert_select.php
@@ -8,7 +8,7 @@ $test = 'sql/sql_insert_select';
 
 $remonte = __DIR__ . '/';
 
-while (! is_file($remonte . 'test.inc')) {
+while (!is_file($remonte . 'test.inc')) {
 	$remonte .= '../';
 }
 
@@ -38,7 +38,7 @@ function test_maj_timestamp() {
 
 	// lecture du timestamp actuel
 	$maj1 = sql_getfetsel('maj', $table, $where);
-	if (! $maj1) {
+	if (!$maj1) {
 		$err[] = "Le champ 'maj' ({$maj1}) n'a vraisemblablement pas recu de timestamp à l'insertion";
 	}
 
@@ -50,7 +50,7 @@ function test_maj_timestamp() {
 	], $where);
 	// comparaison timastamp
 	$maj2 = sql_getfetsel('maj', $table, $where);
-	if (! $maj2 || ! strtotime($maj2)) {
+	if (!$maj2 || !strtotime($maj2)) {
 		$err[] = "Le champ 'maj' ({$maj2}) est incorrect suite à l'update";
 	} elseif ($maj1 === $maj2) {
 		$err[] = "Le champ 'maj' ({$maj2}) n'a vraisemblablement pas été mis a jour lors de l'update";
@@ -58,7 +58,7 @@ function test_maj_timestamp() {
 
 	// comparaison texte
 	$texte2 = sql_getfetsel('un_texte', $table, $where);
-	if (! $texte2 || $texte2 !== $texte) {
+	if (!$texte2 || $texte2 !== $texte) {
 		$err[] = "Le champ 'un_texte' ({$texte2}) n'est pas correctement rempli a l'update";
 	}
 
@@ -70,7 +70,7 @@ function test_maj_timestamp() {
 	], $where);
 	// comparaison timastamp
 	$maj3 = sql_getfetsel('maj', $table, $where);
-	if (! $maj3 || ! strtotime($maj3)) {
+	if (!$maj3 || !strtotime($maj3)) {
 		$err[] = "Le champ 'maj' ({$maj3}) est incorrect suite à l'updateq";
 	} elseif ($maj3 === $maj2) {
 		$err[] = "Le champ 'maj' ({$maj3}) n'a vraisemblablement pas été mis a jour lors de l'updateq";
@@ -78,7 +78,7 @@ function test_maj_timestamp() {
 
 	// comparaison texte
 	$texte3 = sql_getfetsel('un_texte', $table, $where);
-	if (! $texte3 || $texte3 !== $texte) {
+	if (!$texte3 || $texte3 !== $texte) {
 		$err[] = "Le champ 'un_texte' ({$texte2}) n'est pas correctement rempli a l'update";
 	}
 
@@ -137,13 +137,13 @@ function test_selections() {
 
 	// selection array(champs)
 	$res = sql_fetsel(['id_tintin', 'un_varchar'], 'spip_test_tintin');
-	if (! isset($res['id_tintin']) || ! isset($res['un_varchar'])) {
+	if (!isset($res['id_tintin']) || !isset($res['un_varchar'])) {
 		$err[] = '5.sql_select comprends mal une selection : array(champ1, champ2)';
 	}
 
 	// selection array(champs=>alias)
 	$res = sql_fetsel(['id_tintin AS id', 'un_varchar AS vchar'], 'spip_test_tintin');
-	if (! isset($res['id']) || ! isset($res['vchar'])) {
+	if (!isset($res['id']) || !isset($res['vchar'])) {
 		$err[] = '6.sql_select comprends mal une selection : array(champ1 AS alias1, champ2 AS alias2)';
 	}
 
@@ -166,8 +166,8 @@ function test_selections() {
 	// le bon texte avec multi
 	foreach (
 		[
-		'fr' => 'Crac',
-		'en' => 'Krack',
+			'fr' => 'Crac',
+			'en' => 'Krack',
 		] as $lg => $res
 	) {
 		$multi = sql_getfetsel(sql_multi('grrrr', $lg), 'spip_test_milou', 'id_milou=' . sql_quote(2));
@@ -179,8 +179,8 @@ function test_selections() {
 	// le bon texte avec multi et accents
 	foreach (
 		[
-		'fr' => 'Aérien',
-		'en' => 'Aérieny',
+			'fr' => 'Aérien',
+			'en' => 'Aérieny',
 		] as $lg => $res
 	) {
 		$multi = sql_getfetsel(sql_multi('alcool', $lg), 'spip_test_haddock', 'id_haddock=' . sql_quote(2));
@@ -192,9 +192,9 @@ function test_selections() {
 	// le bon texte avec multi et debut et fin de chaine
 	foreach (
 		[
-		'fr' => 'Un début de chaine : Vinasse, et [la fin]',
-		'en' => 'Un début de chaine : Vinassy, et [la fin]',
-		'de' => 'Un début de chaine : Vinasse, et [la fin]',
+			'fr' => 'Un début de chaine : Vinasse, et [la fin]',
+			'en' => 'Un début de chaine : Vinassy, et [la fin]',
+			'de' => 'Un début de chaine : Vinasse, et [la fin]',
 		] as $lg => $res
 	) {
 		$multi = sql_getfetsel(sql_multi('alcool', $lg), 'spip_test_haddock', 'id_haddock=' . sql_quote(4));
@@ -224,7 +224,7 @@ function test_selections_entre_table() {
 		['spip_test_tintin', 'spip_test_milou'],
 		['spip_test_milou.id_tintin=spip_test_tintin.id_tintin']
 	);
-	if (! ($nb = sql_count($res) === 3)) {
+	if (!($nb = sql_count($res) === 3)) {
 		$err[] = "selection sur 2 tables avec where en echec : attendu 3 reponses, présentes : {$nb}";
 	}
 
@@ -238,7 +238,7 @@ function test_selections_entre_table() {
 		],
 		['a.id_tintin=b.id_tintin']
 	);
-	if (! ($nb = sql_count($res) === 3)) {
+	if (!($nb = sql_count($res) === 3)) {
 		$err[] = "From avec alias en echec (3 reponses attendues) - présentes : {$nb}";
 	}
 
diff --git a/ecrire/tests/legacy/unit/abstract_sql/20_sql_update_delete.php b/ecrire/tests/legacy/unit/abstract_sql/20_sql_update_delete.php
index ef14982807..59f7ffaf0f 100644
--- a/ecrire/tests/legacy/unit/abstract_sql/20_sql_update_delete.php
+++ b/ecrire/tests/legacy/unit/abstract_sql/20_sql_update_delete.php
@@ -8,7 +8,7 @@ $test = 'sql/sql_update_delete';
 
 $remonte = __DIR__ . '/';
 
-while (! is_file($remonte . 'test.inc')) {
+while (!is_file($remonte . 'test.inc')) {
 	$remonte .= '../';
 }
 
diff --git a/ecrire/tests/legacy/unit/abstract_sql/30_sql_alter.php b/ecrire/tests/legacy/unit/abstract_sql/30_sql_alter.php
index 9396cff95e..4213a22ffe 100644
--- a/ecrire/tests/legacy/unit/abstract_sql/30_sql_alter.php
+++ b/ecrire/tests/legacy/unit/abstract_sql/30_sql_alter.php
@@ -8,7 +8,7 @@ $test = 'sql/sql_alter';
 
 $remonte = __DIR__ . '/';
 
-while (! is_file($remonte . 'test.inc')) {
+while (!is_file($remonte . 'test.inc')) {
 	$remonte .= '../';
 }
 
@@ -34,7 +34,7 @@ function test_alter_colonne() {
 	// supprimer une colonne
 	sql_alter("TABLE {$table} DROP COLUMN un_bigint");
 	$desc = sql_showtable($table);
-	if (! $desc) {
+	if (!$desc) {
 		$err[] = 'sql_alter rate DROP COLUMN (plus de table ou sql_showtable en erreur?)';
 	} elseif (isset($desc['field']['un_bigint'])) {
 		$err[] = 'sql_alter rate DROP COLUMN';
@@ -43,7 +43,7 @@ function test_alter_colonne() {
 	// supprimer une colonne (sans COLUMN)
 	sql_alter("TABLE {$table} DROP un_smallint");
 	$desc = sql_showtable($table);
-	if (! $desc) {
+	if (!$desc) {
 		$err[] = 'sql_alter rate DROP sans COLUMN (plus de table ou sql_showtable en erreur?)';
 	} elseif (isset($desc['field']['un_smallint'])) {
 		$err[] = 'sql_alter rate DROP sans COLUMN';
@@ -52,9 +52,9 @@ function test_alter_colonne() {
 	// renommer une colonne
 	sql_alter("TABLE {$table} CHANGE un_varchar deux_varchars VARCHAR(30) NOT NULL DEFAULT ''");
 	$desc = sql_showtable($table);
-	if (! $desc) {
+	if (!$desc) {
 		$err[] = 'sql_alter rate CHANGE (plus de table ou sql_showtable en erreur?)';
-	} elseif ((isset($desc['field']['un_varchar']) || ! isset($desc['field']['deux_varchars']))) {
+	} elseif ((isset($desc['field']['un_varchar']) || !isset($desc['field']['deux_varchars']))) {
 		$err[] = 'sql_alter rate CHANGE';
 	}
 
@@ -63,25 +63,25 @@ function test_alter_colonne() {
 	sql_alter("TABLE {$table} MODIFY schtroumf TEXT NOT NULL DEFAULT ''");
 	$desc = sql_showtable($table);
 	$s = $desc['field']['schtroumf'];
-	if (! $s || stripos($s, 'TEXT') === false) {
+	if (!$s || stripos($s, 'TEXT') === false) {
 		$err[] = "sql_alter rate MODIFY varchar en text : {$s}";
 	}
 
 	// ajouter des colonnes
 	sql_alter("TABLE {$table} ADD COLUMN houba BIGINT(21) NOT NULL DEFAULT '0'");
 	$desc = sql_showtable($table);
-	if (! $desc) {
+	if (!$desc) {
 		$err[] = 'sql_alter rate ADD COLUMN houba (plus de table ou sql_showtable en erreur?)';
-	} elseif (! $s = $desc['field']['houba']) {
+	} elseif (!$s = $desc['field']['houba']) {
 		$err[] = "sql_alter rate ADD COLUMN houba : {$s}";
 	}
 
 	// ajouter des colonnes avec "AFTER"
 	sql_alter("TABLE {$table} ADD COLUMN hop BIGINT(21) NOT NULL DEFAULT '0' AFTER id_tintin");
 	$desc = sql_showtable($table);
-	if (! $desc) {
+	if (!$desc) {
 		$err[] = 'sql_alter rate ADD COLUMN hop AFTER (plus de table ou sql_showtable en erreur?)';
-	} elseif (! $s = $desc['field']['hop']) {
+	} elseif (!$s = $desc['field']['hop']) {
 		$err[] = "sql_alter rate ADD COLUMN hop AFTER ... : {$s}";
 	}
 
@@ -104,7 +104,7 @@ function test_alter_renomme_table() {
 	sql_alter("TABLE {$table} RENAME spip_test_castafiore");
 	$desc = sql_showtable($table);
 	$desc2 = sql_showtable('spip_test_castafiore');
-	if ($desc || ! $desc2) {
+	if ($desc || !$desc2) {
 		$err[] = 'sql_alter rate RENAME table';
 	}
 
@@ -126,7 +126,7 @@ function test_alter_index() {
 	// supprimer un index
 	sql_alter("TABLE {$table} DROP INDEX sons");
 	$desc = sql_showtable($table);
-	if (! $desc) {
+	if (!$desc) {
 		$err[] = 'sql_alter rate DROP INDEX sons (plus de table ou sql_showtable en erreur?)';
 	} elseif (isset($desc['key']['KEY sons'])) {
 		$err[] = 'sql_alter rate DROP INDEX sons';
@@ -135,25 +135,25 @@ function test_alter_index() {
 	// ajouter un index simple
 	sql_alter("TABLE {$table} ADD INDEX (wouaf)");
 	$desc = sql_showtable($table);
-	if (! $desc) {
+	if (!$desc) {
 		$err[] = 'sql_alter rate ADD INDEX (wouaf) (plus de table ou sql_showtable en erreur?)';
-	} elseif (! isset($desc['key']['KEY wouaf'])) {
+	} elseif (!isset($desc['key']['KEY wouaf'])) {
 		$err[] = 'sql_alter rate ADD INDEX (wouaf)';
 	}
 
 	// ajouter un index nomme
 	sql_alter("TABLE {$table} ADD INDEX pluie (grrrr)");
 	$desc = sql_showtable($table);
-	if (! $desc) {
+	if (!$desc) {
 		$err[] = 'sql_alter rate ADD INDEX pluie (grrrr) (plus de table ou sql_showtable en erreur?)';
-	} elseif (! isset($desc['key']['KEY pluie'])) {
+	} elseif (!isset($desc['key']['KEY pluie'])) {
 		$err[] = 'sql_alter rate ADD INDEX pluie (grrrr)';
 	}
 
 	// supprimer un index
 	sql_alter("TABLE {$table} DROP INDEX pluie");
 	$desc = sql_showtable($table);
-	if (! $desc) {
+	if (!$desc) {
 		$err[] = 'sql_alter rate DROP INDEX pluie (plus de table ou sql_showtable en erreur?)';
 	} elseif (isset($desc['key']['KEY pluie'])) {
 		$err[] = 'sql_alter rate DROP INDEX pluie';
@@ -162,9 +162,9 @@ function test_alter_index() {
 	// ajouter un index nomme double
 	sql_alter("TABLE {$table} ADD INDEX dring (grrrr, wouaf)");
 	$desc = sql_showtable($table);
-	if (! $desc) {
+	if (!$desc) {
 		$err[] = 'sql_alter rate ADD INDEX dring (grrrr, wouaf) (plus de table ou sql_showtable en erreur?)';
-	} elseif (! isset($desc['key']['KEY dring'])) {
+	} elseif (!isset($desc['key']['KEY dring'])) {
 		$err[] = 'sql_alter rate ADD INDEX dring (grrrr, wouaf)';
 	}
 
@@ -200,7 +200,7 @@ function test_alter_primary() {
 	$desc = sql_showtable($table);
 	sql_alter("TABLE {$table} DROP PRIMARY KEY");
 	$desc = sql_showtable($table);
-	if (! $desc) {
+	if (!$desc) {
 		$err[] = 'sql_alter rate DROP PRIMARY KEY (plus de table ou sql_showtable en erreur?)';
 	} elseif (isset($desc['key']['PRIMARY KEY'])) {
 		$err[] = 'sql_alter rate DROP PRIMARY KEY';
@@ -210,9 +210,9 @@ function test_alter_primary() {
 	$desc = sql_showtable($table);
 	sql_alter("TABLE {$table} ADD PRIMARY KEY (deux, trois)");
 	$desc = sql_showtable($table);
-	if (! $desc) {
+	if (!$desc) {
 		$err[] = 'sql_alter rate ADD PRIMARY KEY (plus de table)';
-	} elseif (! isset($desc['key']['PRIMARY KEY'])) {
+	} elseif (!isset($desc['key']['PRIMARY KEY'])) {
 		$err[] = 'sql_alter rate ADD PRIMARY KEY (deux, trois)';
 	}
 
@@ -234,7 +234,7 @@ function test_alter_multiple() {
 	// supprimer des colonnes
 	sql_alter("TABLE {$table} DROP INDEX dring, DROP COLUMN wouaf, DROP COLUMN grrrr");
 	$desc = sql_showtable($table);
-	if (! $desc) {
+	if (!$desc) {
 		$err[] = 'sql_alter rate DROP INDEX dring, DROP COLUMN wouaf, DROP COLUMN grrrr (plus de table ou sql_showtable en erreur?)';
 	} elseif (
 		isset($desc['field']['waouf']) || isset($desc['field']['grrrr']) || isset($desc['key']['KEY dring'])
@@ -245,10 +245,10 @@ function test_alter_multiple() {
 	// ajouter des colonnes
 	sql_alter("TABLE {$table} ADD COLUMN a INT, ADD COLUMN b INT, ADD COLUMN c INT, ADD INDEX abc (a,b,c)");
 	$desc = sql_showtable($table);
-	if (! $desc) {
+	if (!$desc) {
 		$err[] = 'sql_alter rate ADD COLUMN a INT, ADD COLUMN b INT, ADD COLUMN c INT, ADD INDEX abc (a,b,c) (plus de table ou sql_showtable en erreur?)';
 	} elseif (
-		! $desc['field']['a'] || ! $desc['field']['b'] || ! $desc['field']['c'] || ! $desc['key']['KEY abc']
+		!$desc['field']['a'] || !$desc['field']['b'] || !$desc['field']['c'] || !$desc['key']['KEY abc']
 	) {
 		$err[] = 'sql_alter rate ADD COLUMN a INT, ADD COLUMN b INT, ADD COLUMN c INT, ADD INDEX abc (a,b,c)';
 	}
diff --git a/ecrire/tests/legacy/unit/abstract_sql/40_sql_divers.php b/ecrire/tests/legacy/unit/abstract_sql/40_sql_divers.php
index abcfd92664..ed9f3dccce 100644
--- a/ecrire/tests/legacy/unit/abstract_sql/40_sql_divers.php
+++ b/ecrire/tests/legacy/unit/abstract_sql/40_sql_divers.php
@@ -8,7 +8,7 @@ $test = 'sql/sql_divers';
 
 $remonte = __DIR__ . '/';
 
-while (! is_file($remonte . 'test.inc')) {
+while (!is_file($remonte . 'test.inc')) {
 	$remonte .= '../';
 }
 
@@ -28,9 +28,9 @@ function test_func_mathematiques() {
 	//
 	foreach (
 		[
-		'COUNT' => 3,
-		'SUM' => 9000,
-		'AVG' => 3000,
+			'COUNT' => 3,
+			'SUM' => 9000,
+			'AVG' => 3000,
 		] as $func => $attendu
 	) {
 		$nb = sql_getfetsel("{$func}(un_int) AS nb", ['spip_test_tintin']);
@@ -42,19 +42,19 @@ function test_func_mathematiques() {
 	//
 	foreach (
 		[
-		'EXP(0)' => exp(0),
-		'ROUND(3.56)' => round(3.56),
-		'ROUND(3.5684,2)' => round(3.5684, 2),
-		'SQRT(9)' => 3,
-		//'1/2'=>(0), // Le standard SQL : entier divise par entier = division entiere (pas trouve la reference)
-		'1.0/2' => (1 / 2), // Le standart SQL : reel divise par entier = reel
-		//'4/3'=>1,
-		'ROUND(4.0/3,2)' => round(4 / 3, 2),
-		'1.5/2' => (1.5 / 2),
-		'2.0/2' => (2.0 / 2),
-		'2/2' => (2 / 2),
-		'md5(8)' => md5('8'),
-		'md5(' . sql_quote('a') . ')' => md5('a'),
+			'EXP(0)' => exp(0),
+			'ROUND(3.56)' => round(3.56),
+			'ROUND(3.5684,2)' => round(3.5684, 2),
+			'SQRT(9)' => 3,
+			//'1/2'=>(0), // Le standard SQL : entier divise par entier = division entiere (pas trouve la reference)
+			'1.0/2' => (1 / 2), // Le standart SQL : reel divise par entier = reel
+			//'4/3'=>1,
+			'ROUND(4.0/3,2)' => round(4 / 3, 2),
+			'1.5/2' => (1.5 / 2),
+			'2.0/2' => (2.0 / 2),
+			'2/2' => (2 / 2),
+			'md5(8)' => md5('8'),
+			'md5(' . sql_quote('a') . ')' => md5('a'),
 		] as $func => $attendu
 	) {
 		$nb = sql_getfetsel("{$func} AS nb", ['spip_test_tintin'], ['id_tintin=' . sql_quote(1)]);
@@ -79,8 +79,8 @@ function test_func_strings() {
 	//
 	foreach (
 		[
-		'CONCAT(' . sql_quote('cou') . ',' . sql_quote('cou') . ')' => 'coucou',
-		'CONCAT(' . sql_quote('cou,') . ',' . sql_quote('cou') . ')' => 'cou,cou',
+			'CONCAT(' . sql_quote('cou') . ',' . sql_quote('cou') . ')' => 'coucou',
+			'CONCAT(' . sql_quote('cou,') . ',' . sql_quote('cou') . ')' => 'cou,cou',
 		] as $func => $attendu
 	) {
 		$nb = sql_getfetsel("{$func} AS nb", ['spip_test_tintin'], ['id_tintin=' . sql_quote(1)]);
diff --git a/ecrire/tests/legacy/unit/balises/inclure_manquant_fonctions.php b/ecrire/tests/legacy/unit/balises/inclure_manquant_fonctions.php
index d8f12934cb..07486d202f 100644
--- a/ecrire/tests/legacy/unit/balises/inclure_manquant_fonctions.php
+++ b/ecrire/tests/legacy/unit/balises/inclure_manquant_fonctions.php
@@ -8,7 +8,7 @@ function fin_inclure_manquant() {
 		'erreurs' => 'get',
 	]);
 
-	if (! $erreurs && ! (_request('var_mode') === 'debug' && erreur_squelette(false))) {
+	if (!$erreurs && !(_request('var_mode') === 'debug' && erreur_squelette(false))) {
 		return "pas d'erreur declenchee";
 	}
 
diff --git a/ecrire/tests/legacy/unit/cache/cache_sessions.php b/ecrire/tests/legacy/unit/cache/cache_sessions.php
index 094000e59b..7d2505d717 100644
--- a/ecrire/tests/legacy/unit/cache/cache_sessions.php
+++ b/ecrire/tests/legacy/unit/cache/cache_sessions.php
@@ -12,7 +12,7 @@ define('_VAR_MODE', 'recalcul');
 
 $remonte = __DIR__ . '/';
 
-while (! is_file($remonte . 'test.inc')) {
+while (!is_file($remonte . 'test.inc')) {
 	$remonte .= '../';
 }
 
@@ -116,7 +116,7 @@ function inc_maj_invalideurs($chemin_cache, $page) {
 		}
 
 		if ($page['contexte']['assert_session'] && $page['contexte']['assert_session'] !== 'non' || $page['contexte']['assert_session'] === 'oui') {
-			if (! $has_session) {
+			if (!$has_session) {
 				$GLOBALS['erreurs_test'][] = 'ERREUR : PAS de session pour ' . $page['source'] . ' ' . trace_contexte(
 					$page['contexte']
 				);
diff --git a/ecrire/tests/legacy/unit/entrees_sorties/flock_sous_repertoire.php b/ecrire/tests/legacy/unit/entrees_sorties/flock_sous_repertoire.php
index 31021fc2b9..d4b5eca9f3 100644
--- a/ecrire/tests/legacy/unit/entrees_sorties/flock_sous_repertoire.php
+++ b/ecrire/tests/legacy/unit/entrees_sorties/flock_sous_repertoire.php
@@ -8,7 +8,7 @@ declare(strict_types=1);
 
 $test = 'sous_repertoire';
 $remonte = __DIR__ . '/';
-while (! is_file($remonte . 'test.inc')) {
+while (!is_file($remonte . 'test.inc')) {
 	$remonte .= '../';
 }
 
diff --git a/ecrire/tests/legacy/unit/entrees_sorties/spip_nfslock.php b/ecrire/tests/legacy/unit/entrees_sorties/spip_nfslock.php
index e87b4f0ab2..6eb74993fa 100644
--- a/ecrire/tests/legacy/unit/entrees_sorties/spip_nfslock.php
+++ b/ecrire/tests/legacy/unit/entrees_sorties/spip_nfslock.php
@@ -6,7 +6,7 @@ $test = 'spip_nfslock';
 
 $remonte = __DIR__ . '/';
 
-while (! is_file($remonte . 'test.inc')) {
+while (!is_file($remonte . 'test.inc')) {
 	$remonte .= '../';
 }
 
@@ -26,7 +26,7 @@ $birth = false;
 
 $verrou_absent2 = spip_nfslock_test('monfichier', $birth);
 
-if ($verrou && $verrou_ok && ! $verrou_absent && $deverrouille && ! $verrou_absent2) {
+if ($verrou && $verrou_ok && !$verrou_absent && $deverrouille && !$verrou_absent2) {
 	echo 'OK';
 	exit;
 }
diff --git a/ecrire/tests/legacy/unit/filtres/affdate.php b/ecrire/tests/legacy/unit/filtres/affdate.php
index aa12147e3f..bd813ed9fa 100644
--- a/ecrire/tests/legacy/unit/filtres/affdate.php
+++ b/ecrire/tests/legacy/unit/filtres/affdate.php
@@ -6,7 +6,7 @@ $test = 'affdate';
 
 $remonte = __DIR__ . '/';
 
-while (! is_file($remonte . 'test.inc')) {
+while (!is_file($remonte . 'test.inc')) {
 	$remonte .= '../';
 }
 
diff --git a/ecrire/tests/legacy/unit/filtres/attribut_html.php b/ecrire/tests/legacy/unit/filtres/attribut_html.php
index ac01c58899..a7ca0d3d8d 100644
--- a/ecrire/tests/legacy/unit/filtres/attribut_html.php
+++ b/ecrire/tests/legacy/unit/filtres/attribut_html.php
@@ -6,7 +6,7 @@ $test = 'attribut_html';
 
 $remonte = __DIR__ . '/';
 
-while (! is_file($remonte . 'test.inc')) {
+while (!is_file($remonte . 'test.inc')) {
 	$remonte .= '../';
 }
 
@@ -23,8 +23,8 @@ $essais[] =
 
 $essais[] =
  [
-	'L&#039;histoire &#039;tr&#232;s&#039; &#034;folle&#034; des m&#233;tas en iitalik',
-	'L\'histoire \'tr&egrave;s\' "folle" <strong>des</strong>&nbsp;m&eacute;tas<p>en <em>ii</em>talik</p>',
+ 	'L&#039;histoire &#039;tr&#232;s&#039; &#034;folle&#034; des m&#233;tas en iitalik',
+ 	'L\'histoire \'tr&egrave;s\' "folle" <strong>des</strong>&nbsp;m&eacute;tas<p>en <em>ii</em>talik</p>',
  ];
 
 // le a` risque de matcher \s
diff --git a/ecrire/tests/legacy/unit/filtres/date_iso.php b/ecrire/tests/legacy/unit/filtres/date_iso.php
index 1d426b3a53..f970a0ddad 100644
--- a/ecrire/tests/legacy/unit/filtres/date_iso.php
+++ b/ecrire/tests/legacy/unit/filtres/date_iso.php
@@ -6,7 +6,7 @@ $test = 'date_iso';
 
 $remonte = __DIR__ . '/';
 
-while (! is_file($remonte . 'test.inc')) {
+while (!is_file($remonte . 'test.inc')) {
 	$remonte .= '../';
 }
 
diff --git a/ecrire/tests/legacy/unit/filtres/entites_html.php b/ecrire/tests/legacy/unit/filtres/entites_html.php
index 2594d93886..0082ec08ef 100644
--- a/ecrire/tests/legacy/unit/filtres/entites_html.php
+++ b/ecrire/tests/legacy/unit/filtres/entites_html.php
@@ -6,7 +6,7 @@ $test = 'entites_html';
 
 $remonte = __DIR__ . '/';
 
-while (! is_file($remonte . 'test.inc')) {
+while (!is_file($remonte . 'test.inc')) {
 	$remonte .= '../';
 }
 
@@ -36,75 +36,75 @@ function essais_entites_html() {
 	return [
 		0 =>
 		 [
-			0 => '',
-			1 => '',
-			2 => false,
+		 	0 => '',
+		 	1 => '',
+		 	2 => false,
 		 ],
 		1 =>
 		 [
-			0 => '0',
-			1 => '0',
-			2 => false,
+		 	0 => '0',
+		 	1 => '0',
+		 	2 => false,
 		 ],
 		2 =>
 		 [
-			0 => 'Un texte avec des &lt;a href=&quot;http://spip.net&quot;&gt;liens&lt;/a&gt; [Article 1-&gt;art1] [spip-&gt;http://www.spip.net] http://www.spip.net',
-			1 => 'Un texte avec des <a href="http://spip.net">liens</a> [Article 1->art1] [spip->http://www.spip.net] http://www.spip.net',
-			2 => false,
+		 	0 => 'Un texte avec des &lt;a href=&quot;http://spip.net&quot;&gt;liens&lt;/a&gt; [Article 1-&gt;art1] [spip-&gt;http://www.spip.net] http://www.spip.net',
+		 	1 => 'Un texte avec des <a href="http://spip.net">liens</a> [Article 1->art1] [spip->http://www.spip.net] http://www.spip.net',
+		 	2 => false,
 		 ],
 		3 =>
 		 [
-			0 => 'Un texte avec des entit&amp;eacute;s &amp;&amp;lt;&amp;gt;&amp;quot;',
-			1 => 'Un texte avec des entit&eacute;s &amp;&lt;&gt;&quot;',
-			2 => false,
+		 	0 => 'Un texte avec des entit&amp;eacute;s &amp;&amp;lt;&amp;gt;&amp;quot;',
+		 	1 => 'Un texte avec des entit&eacute;s &amp;&lt;&gt;&quot;',
+		 	2 => false,
 		 ],
 		4 =>
 		 [
-			0 => 'Un texte avec des entit&amp;eacute;s echap&amp;eacute; &amp;amp;&amp;lt;&amp;gt;&amp;quot;',
-			1 => 'Un texte avec des entit&amp;eacute;s echap&amp;eacute; &amp;amp;&amp;lt;&amp;gt;&amp;quot;',
-			2 => false,
+		 	0 => 'Un texte avec des entit&amp;eacute;s echap&amp;eacute; &amp;amp;&amp;lt;&amp;gt;&amp;quot;',
+		 	1 => 'Un texte avec des entit&amp;eacute;s echap&amp;eacute; &amp;amp;&amp;lt;&amp;gt;&amp;quot;',
+		 	2 => false,
 		 ],
 		5 =>
 		 [
-			0 => 'Un texte avec des entit&#233;s num&#233;riques &amp;#38;&amp;#60;&amp;#62;&amp;quot;',
-			1 => 'Un texte avec des entit&#233;s num&#233;riques &#38;&#60;&#62;&quot;',
-			2 => false,
+		 	0 => 'Un texte avec des entit&#233;s num&#233;riques &amp;#38;&amp;#60;&amp;#62;&amp;quot;',
+		 	1 => 'Un texte avec des entit&#233;s num&#233;riques &#38;&#60;&#62;&quot;',
+		 	2 => false,
 		 ],
 		6 =>
 		 [
-			0 => 'Un texte avec des entit&amp;#233;s num&amp;#233;riques echap&amp;#233;es &amp;#38;&amp;#60;&amp;#62;&amp;quot;',
-			1 => 'Un texte avec des entit&amp;#233;s num&amp;#233;riques echap&amp;#233;es &amp;#38;&amp;#60;&amp;#62;&amp;quot;',
-			2 => false,
+		 	0 => 'Un texte avec des entit&amp;#233;s num&amp;#233;riques echap&amp;#233;es &amp;#38;&amp;#60;&amp;#62;&amp;quot;',
+		 	1 => 'Un texte avec des entit&amp;#233;s num&amp;#233;riques echap&amp;#233;es &amp;#38;&amp;#60;&amp;#62;&amp;quot;',
+		 	2 => false,
 		 ],
 		7 =>
 		 [
-			0 => "Un texte sans entites &amp;&lt;&gt;&quot;'",
-			1 => 'Un texte sans entites &<>"\'',
-			2 => false,
+		 	0 => "Un texte sans entites &amp;&lt;&gt;&quot;'",
+		 	1 => 'Un texte sans entites &<>"\'',
+		 	2 => false,
 		 ],
 		8 =>
 		 [
-			0 => '{{{Des raccourcis}}} {italique} {{gras}} &lt;code&gt;du code&lt;/code&gt;',
-			1 => '{{{Des raccourcis}}} {italique} {{gras}} <code>du code</code>',
-			2 => false,
+		 	0 => '{{{Des raccourcis}}} {italique} {{gras}} &lt;code&gt;du code&lt;/code&gt;',
+		 	1 => '{{{Des raccourcis}}} {italique} {{gras}} <code>du code</code>',
+		 	2 => false,
 		 ],
 		9 =>
 		 [
-			0 => 'Un modele &lt;modeleinexistant|lien=[-&gt;http://www.spip.net]&gt;',
-			1 => 'Un modele <modeleinexistant|lien=[->http://www.spip.net]>',
-			2 => false,
+		 	0 => 'Un modele &lt;modeleinexistant|lien=[-&gt;http://www.spip.net]&gt;',
+		 	1 => 'Un modele <modeleinexistant|lien=[->http://www.spip.net]>',
+		 	2 => false,
 		 ],
 		10 =>
 		 [
-			0 => 'Un texte avec des retour
+		 	0 => 'Un texte avec des retour
 a la ligne et meme des
 
 paragraphes',
-			1 => 'Un texte avec des retour
+		 	1 => 'Un texte avec des retour
 a la ligne et meme des
 
 paragraphes',
-			2 => false,
+		 	2 => false,
 		 ],
 	];
 }
diff --git a/ecrire/tests/legacy/unit/filtres/extraire_attribut.php b/ecrire/tests/legacy/unit/filtres/extraire_attribut.php
index 0e8cc8d9f6..9b9c34789d 100644
--- a/ecrire/tests/legacy/unit/filtres/extraire_attribut.php
+++ b/ecrire/tests/legacy/unit/filtres/extraire_attribut.php
@@ -6,7 +6,7 @@ $test = 'extraire_attribut';
 
 $remonte = __DIR__ . '/';
 
-while (! is_file($remonte . 'test.inc')) {
+while (!is_file($remonte . 'test.inc')) {
 	$remonte .= '../';
 }
 
diff --git a/ecrire/tests/legacy/unit/filtres/liens_absolus.php b/ecrire/tests/legacy/unit/filtres/liens_absolus.php
index 7b82b17d1e..b0d39e24fa 100644
--- a/ecrire/tests/legacy/unit/filtres/liens_absolus.php
+++ b/ecrire/tests/legacy/unit/filtres/liens_absolus.php
@@ -2,13 +2,13 @@
 
 declare(strict_types=1);
 
-if (! (isset($test) && $test)) {
+if (!(isset($test) && $test)) {
 	$test = 'liens_absolus';
 }
 
 $remonte = __DIR__ . '/';
 
-while (! is_file($remonte . 'test.inc')) {
+while (!is_file($remonte . 'test.inc')) {
 	$remonte .= '../';
 }
 
@@ -18,22 +18,22 @@ include_spip('inc/filtres');
 
 $essais['lien prive'] =
  [
-	"bla bla <a href='" . str_replace(
-		'&amp;',
-		'&#38;',
-		generer_url_ecrire('toto', 'truc=machin&chose=bidule', false, false)
-	) . "'>lien prive</a>",
-	"bla bla <a href='" . generer_url_ecrire('toto', 'truc=machin&chose=bidule', false, true) . "'>lien prive</a>",
+ 	"bla bla <a href='" . str_replace(
+ 		'&amp;',
+ 		'&#38;',
+ 		generer_url_ecrire('toto', 'truc=machin&chose=bidule', false, false)
+ 	) . "'>lien prive</a>",
+ 	"bla bla <a href='" . generer_url_ecrire('toto', 'truc=machin&chose=bidule', false, true) . "'>lien prive</a>",
  ];
 
 $essais['lien public'] =
  [
-	"bla bla <a href='" . str_replace(
-		'&amp;',
-		'&#38;',
-		generer_url_public('toto', 'truc=machin&chose=bidule', false, false)
-	) . "'>lien public</a>",
-	"bla bla <a href='" . generer_url_public('toto', 'truc=machin&chose=bidule', false, true) . "'>lien public</a>",
+ 	"bla bla <a href='" . str_replace(
+ 		'&amp;',
+ 		'&#38;',
+ 		generer_url_public('toto', 'truc=machin&chose=bidule', false, false)
+ 	) . "'>lien public</a>",
+ 	"bla bla <a href='" . generer_url_public('toto', 'truc=machin&chose=bidule', false, true) . "'>lien public</a>",
  ];
 
 $essais['mailto'] =
diff --git a/ecrire/tests/legacy/unit/filtres/liens_absolus_prive.php b/ecrire/tests/legacy/unit/filtres/liens_absolus_prive.php
index 279da29816..0f07416fbd 100644
--- a/ecrire/tests/legacy/unit/filtres/liens_absolus_prive.php
+++ b/ecrire/tests/legacy/unit/filtres/liens_absolus_prive.php
@@ -9,7 +9,7 @@ declare(strict_types=1);
  */
 // let's go ecrire/
 $dir_racine = dirname(__DIR__, 2);
-while (! is_dir($dir_racine . '/ecrire')) {
+while (!is_dir($dir_racine . '/ecrire')) {
 	$dir_racine = dirname($dir_racine);
 }
 
diff --git a/ecrire/tests/legacy/unit/filtres/suivre_liens.php b/ecrire/tests/legacy/unit/filtres/suivre_liens.php
index ab8d47f06e..1f0677a1c2 100644
--- a/ecrire/tests/legacy/unit/filtres/suivre_liens.php
+++ b/ecrire/tests/legacy/unit/filtres/suivre_liens.php
@@ -2,13 +2,13 @@
 
 declare(strict_types=1);
 
-if (! (isset($test) && $test)) {
+if (!(isset($test) && $test)) {
 	$test = 'suivre_liens';
 }
 
 $remonte = __DIR__ . '/';
 
-while (! is_file($remonte . 'test.inc')) {
+while (!is_file($remonte . 'test.inc')) {
 	$remonte .= '../';
 }
 
diff --git a/ecrire/tests/legacy/unit/path/creer_chemin.php b/ecrire/tests/legacy/unit/path/creer_chemin.php
index 9e8a154d11..5cdc1306b6 100644
--- a/ecrire/tests/legacy/unit/path/creer_chemin.php
+++ b/ecrire/tests/legacy/unit/path/creer_chemin.php
@@ -6,7 +6,7 @@ $test = 'chemin';
 
 $remonte = __DIR__ . '/';
 
-while (! is_file($remonte . 'test.inc')) {
+while (!is_file($remonte . 'test.inc')) {
 	$remonte .= '../';
 }
 
diff --git a/ecrire/tests/legacy/unit/plugin/dir_plugins_suppl.php b/ecrire/tests/legacy/unit/plugin/dir_plugins_suppl.php
index b1de46f333..d23b6de890 100644
--- a/ecrire/tests/legacy/unit/plugin/dir_plugins_suppl.php
+++ b/ecrire/tests/legacy/unit/plugin/dir_plugins_suppl.php
@@ -10,7 +10,7 @@ declare(strict_types=1);
 $test = '_DIR_PLUGINS_SUPPL';
 
 $remonte = __DIR__ . '/';
-while (! is_file($remonte . 'test.inc')) {
+while (!is_file($remonte . 'test.inc')) {
 	$remonte .= '../';
 }
 
@@ -22,7 +22,7 @@ echo test_dir_plugins_suppl();
 
 function test_dir_plugins_suppl() {
 	// preparation: la constante est elle definie et comprend uniquement 1 reps suppl?
-	if (! defined('_DIR_PLUGINS_SUPPL')) {
+	if (!defined('_DIR_PLUGINS_SUPPL')) {
 		define('_DIR_PLUGINS_SUPPL', _DIR_TMP . 'plug_sup/');
 	} elseif (substr_count(_DIR_PLUGINS_SUPPL, ':') !== 0) {
 		return 'NA : la constante _DIR_PLUGINS_SUPPL definie dans mes_options.php ne doit contenir qu\'un seul chemin supplementaire ; actuellement sa valeur est "' . _DIR_PLUGINS_SUPPL . '"';
@@ -38,8 +38,8 @@ function test_dir_plugins_suppl() {
 	$existe_paquet = false;
 
 	// le rep suppl n'existe pas; le creer
-	if (! is_dir(_DIR_RACINE . _DIR_PLUGINS_SUPPL)) {
-		if (! @mkdir(_DIR_RACINE . _DIR_PLUGINS_SUPPL)) {
+	if (!is_dir(_DIR_RACINE . _DIR_PLUGINS_SUPPL)) {
+		if (!@mkdir(_DIR_RACINE . _DIR_PLUGINS_SUPPL)) {
 			return 'NA probleme de droits d\'ecriture 0, impossible de creer le dossier de _DIR_PLUGINS_SUPPL: "' . _DIR_PLUGINS_SUPPL . '" necessaire pour ce test';
 		}
 		$Ta_effacer[] = _DIR_RACINE . _DIR_PLUGINS_SUPPL;
@@ -51,13 +51,13 @@ function test_dir_plugins_suppl() {
 			scandir(_DIR_RACINE . _DIR_PLUGINS_SUPPL)
 		) : 0) < 3
 	) {
-		if (! @mkdir(_DIR_RACINE . _DIR_PLUGINS_SUPPL . 'toto')) {
+		if (!@mkdir(_DIR_RACINE . _DIR_PLUGINS_SUPPL . 'toto')) {
 			nettoyage_plugins_suppl($Ta_effacer);
 			return 'NA probleme de droits d\ecriture 1, impossible de creer un dossier dans "' . _DIR_RACINE . _DIR_PLUGINS_SUPPL . '" necessaire pour ce test';
 		}
 		$Ta_effacer[] = _DIR_RACINE . _DIR_PLUGINS_SUPPL . 'toto';
 
-		if (! @copy(_DIR_PLUGINS_DIST . 'dump/paquet.xml', _DIR_RACINE . _DIR_PLUGINS_SUPPL . 'toto/paquet.xml')) {
+		if (!@copy(_DIR_PLUGINS_DIST . 'dump/paquet.xml', _DIR_RACINE . _DIR_PLUGINS_SUPPL . 'toto/paquet.xml')) {
 			nettoyage_plugins_suppl($Ta_effacer);
 			return 'NA probleme de droits d\ecriture 2, impossible de creer un fichier dans "' . _DIR_RACINE . _DIR_PLUGINS_SUPPL . 'toto" necessaire pour ce test';
 		}
@@ -68,7 +68,7 @@ function test_dir_plugins_suppl() {
 	} else {
 		if ($pointeur = opendir(_DIR_RACINE . _DIR_PLUGINS_SUPPL)) {
 			while (false !== ($rep = readdir($pointeur))) {
-				if ($rep === '.' || $rep === '..' || ! is_dir($rep)) {
+				if ($rep === '.' || $rep === '..' || !is_dir($rep)) {
 					continue;
 				} elseif ($pointeur = opendir(_DIR_RACINE . _DIR_PLUGINS_SUPPL . $rep)) {
 					while (false !== ($fichier = readdir($pointeur))) {
@@ -84,9 +84,9 @@ function test_dir_plugins_suppl() {
 
 		// tous les sous-dossiers sont scannes et toujours pas de paquet.xml:
 		// creer un dossier bidon et y copier un paquet.xml
-		if (! $existe_paquet) {
+		if (!$existe_paquet) {
 			if (
-				! in_array('toto', scandir(_DIR_RACINE . _DIR_PLUGINS_SUPPL), true) && ! @mkdir(
+				!in_array('toto', scandir(_DIR_RACINE . _DIR_PLUGINS_SUPPL), true) && !@mkdir(
 					_DIR_RACINE . _DIR_PLUGINS_SUPPL . 'toto'
 				)
 			) {
@@ -95,7 +95,7 @@ function test_dir_plugins_suppl() {
 			}
 			$Ta_effacer[] = _DIR_RACINE . _DIR_PLUGINS_SUPPL . 'toto';
 
-			if (! @copy(_DIR_PLUGINS_DIST . 'dump/paquet.xml', _DIR_RACINE . _DIR_PLUGINS_SUPPL . 'toto/paquet.xml')) {
+			if (!@copy(_DIR_PLUGINS_DIST . 'dump/paquet.xml', _DIR_RACINE . _DIR_PLUGINS_SUPPL . 'toto/paquet.xml')) {
 				nettoyage_plugins_suppl($Ta_effacer);
 				return 'NA probleme de droits d\ecriture 4, impossible de creer un fichier dans "' . _DIR_RACINE . _DIR_PLUGINS_SUPPL . 'toto" necessaire pour ce test';
 			}
@@ -118,16 +118,16 @@ function test_dir_plugins_suppl() {
 		return 'NA : le dossier "' . $rep_non_suppl . '" ne doit pas faire partie des repertoires definis dans _DIR_PLUGINS_SUPPL pour que ce test fonctionne';
 	}
 
-	if (! is_dir($rep_non_suppl)) {
-		if (! @mkdir($rep_non_suppl)) {
+	if (!is_dir($rep_non_suppl)) {
+		if (!@mkdir($rep_non_suppl)) {
 			nettoyage_plugins_suppl($Ta_effacer);
 			return 'NA probleme de droits d\ecriture 5, impossible de creer le dossier "' . $rep_non_suppl . '" necessaire pour ce test';
 		}
 		$Ta_effacer[] = $rep_non_suppl;
 	}
 
-	if (! file_exists($rep_non_suppl . '/paquet.xml')) {
-		if (! @copy(_DIR_PLUGINS_DIST . 'dump/paquet.xml', $rep_non_suppl . '/paquet.xml')) {
+	if (!file_exists($rep_non_suppl . '/paquet.xml')) {
+		if (!@copy(_DIR_PLUGINS_DIST . 'dump/paquet.xml', $rep_non_suppl . '/paquet.xml')) {
 			nettoyage_plugins_suppl($Ta_effacer);
 			return 'NA probleme de droits d\ecriture 6, impossible de creer un fichier dans "' . $rep_non_suppl . '" necessaire pour ce test';
 		}
@@ -141,7 +141,7 @@ function test_dir_plugins_suppl() {
 	$Terr = [];
 	$mess_err = '';
 	foreach ($Ta_retrouver as $rep) {
-		if (! in_array($rep, $Tplugins_recups, true)) {
+		if (!in_array($rep, $Tplugins_recups, true)) {
 			$Terr[] = $rep;
 		}
 	}
@@ -161,9 +161,7 @@ function test_dir_plugins_suppl() {
 	$Terr = [];
 	foreach ($Tplugins_recups as $rep_plug) {
 		if (
-			! is_dir(_DIR_PLUGINS . $rep_plug) && is_dir(
-				_DIR_RACINE . $rep_plug
-			)
+			!is_dir(_DIR_PLUGINS . $rep_plug) && is_dir(_DIR_RACINE . $rep_plug)
 		) {	// le rep existe mais pas dans _DIR_PLUGINS
 			$ok = false;
 			foreach ($Treps_suppl as $rep_suppl) {
@@ -173,7 +171,7 @@ function test_dir_plugins_suppl() {
 				}
 			}
 
-			if (! $ok) {
+			if (!$ok) {
 				$Terr[] = $rep_plug;
 			}
 		}
diff --git a/ecrire/tests/legacy/unit/propre/liens.php b/ecrire/tests/legacy/unit/propre/liens.php
index 6eca23e925..0b319b1224 100644
--- a/ecrire/tests/legacy/unit/propre/liens.php
+++ b/ecrire/tests/legacy/unit/propre/liens.php
@@ -8,7 +8,7 @@ $test = 'liens';
 
 $remonte = __DIR__ . '/';
 
-while (! is_file($remonte . 'test.inc')) {
+while (!is_file($remonte . 'test.inc')) {
 	$remonte .= '../';
 }
 
@@ -143,47 +143,47 @@ if (supprimer_tags(propre($p6)) !== ($la_langue === 'eo' ? 'Y' : 'Z')) {
 $balises_p7 = extraire_balises(propre($p7), 'a');
 
 if (
-'http://www.monsite.tld'
-	!== $a = extraire_attribut(array_pop($balises_p7), 'href')
+	'http://www.monsite.tld'
+		!== $a = extraire_attribut(array_pop($balises_p7), 'href')
 ) {
 	$err[] = $a . ': erreur sur le lien ' . $p7;
 }
 
 if (
-'http://www.monsite.tld'
-	!== $a = extraire_attribut(extraire_balise(propre($p8), 'a'), 'href')
+	'http://www.monsite.tld'
+		!== $a = extraire_attribut(extraire_balise(propre($p8), 'a'), 'href')
 ) {
 	$err[] = $a . ': erreur sur le lien ' . $p8;
 }
 
 if (
-'http://www.monsite.tld'
-	!== $a = extraire_attribut(extraire_balise(propre($p9), 'a'), 'href')
+	'http://www.monsite.tld'
+		!== $a = extraire_attribut(extraire_balise(propre($p9), 'a'), 'href')
 ) {
 	$err[] = $a . ': erreur sur le lien ' . $p9;
 }
 
 if (
-'https://www.monsite.tld'
-	!== $a = extraire_attribut(extraire_balise(propre($p10), 'a'), 'href')
+	'https://www.monsite.tld'
+		!== $a = extraire_attribut(extraire_balise(propre($p10), 'a'), 'href')
 ) {
 	$err[] = $a . ': erreur sur le lien ' . $p10;
 }
 
 if (
-'https://www.monsite.tld'
-	!== $a = extraire_attribut(extraire_balise(propre($p10), 'a'), 'href')
+	'https://www.monsite.tld'
+		!== $a = extraire_attribut(extraire_balise(propre($p10), 'a'), 'href')
 ) {
 	$err[] = $a . ': erreur sur le lien ' . $p10;
 }
 
 if (
-	! in_array(
+	!in_array(
 		$a = propre($p11),
 		[
-		'<p><flv|url=http://rezo.net/></p>',
-		'<p><tt>&lt;flv|url=http://rezo.net/&gt;</tt></p>',
-		'<pre>&lt;flv|url=http://rezo.net/&gt;</pre>',
+			'<p><flv|url=http://rezo.net/></p>',
+			'<p><tt>&lt;flv|url=http://rezo.net/&gt;</tt></p>',
+			'<pre>&lt;flv|url=http://rezo.net/&gt;</pre>',
 		],
 		true
 	)
diff --git a/ecrire/tests/legacy/unit/propre/liens_classes.php b/ecrire/tests/legacy/unit/propre/liens_classes.php
index 2a43d4a78d..5e6290fef0 100644
--- a/ecrire/tests/legacy/unit/propre/liens_classes.php
+++ b/ecrire/tests/legacy/unit/propre/liens_classes.php
@@ -8,7 +8,7 @@ $test = 'liens_classes';
 
 $remonte = __DIR__ . '/';
 
-while (! is_file($remonte . 'test.inc')) {
+while (!is_file($remonte . 'test.inc')) {
 	$remonte .= '../';
 }
 
@@ -20,7 +20,7 @@ include_spip('inc/lang');
 
 $id = sql_getfetsel('id_article', 'spip_articles', "statut='publie'", '', '', '0,1');
 
-if (! $id) {
+if (!$id) {
 	echo 'NA Necessite un article publie<br />';
 }
 
@@ -36,7 +36,7 @@ if (
 
 $id = sql_getfetsel('id_rubrique', 'spip_rubriques', "statut='publie'", '', '', '0,1');
 
-if (! $id) {
+if (!$id) {
 	echo 'NA Necessite une rubrique publiee<br />';
 }
 
@@ -52,7 +52,7 @@ if (
 
 $id = sql_getfetsel('id_syndic', 'spip_syndic', "statut='publie'", '', '', '0,1');
 
-if (! $id) {
+if (!$id) {
 	echo 'NA Necessite un site publie<br />';
 }
 
@@ -61,7 +61,7 @@ $p0 = "[->site{$id}]";
 if (
 	!($c = extraire_attribut(propre($p0), 'class'))
 	|| str_contains($c, 'spip_in')
-	|| !str_contains($c,'spip_out')
+	|| !str_contains($c, 'spip_out')
 ) {
 	$err[] = "Classe {$c} errone dans {$p0} : " . PtoBR(propre($p0));
 }
diff --git a/ecrire/tests/legacy/unit/xml/xmlhack_recuperer_fond.php b/ecrire/tests/legacy/unit/xml/xmlhack_recuperer_fond.php
index d7e4c0e131..e59c464051 100644
--- a/ecrire/tests/legacy/unit/xml/xmlhack_recuperer_fond.php
+++ b/ecrire/tests/legacy/unit/xml/xmlhack_recuperer_fond.php
@@ -6,7 +6,7 @@ $test = 'xmlhack_recuperer_fond';
 
 $remonte = __DIR__ . '/';
 
-while (! is_file($remonte . 'test.inc')) {
+while (!is_file($remonte . 'test.inc')) {
 	$remonte .= '../';
 }
 
diff --git a/ecrire/tests/legacy/unit/z_todo/NA_email_valide.php b/ecrire/tests/legacy/unit/z_todo/NA_email_valide.php
index f98c7271b1..b0ab0ecd0d 100644
--- a/ecrire/tests/legacy/unit/z_todo/NA_email_valide.php
+++ b/ecrire/tests/legacy/unit/z_todo/NA_email_valide.php
@@ -6,7 +6,7 @@ $test = 'email_valide';
 
 $remonte = __DIR__ . '/';
 
-while (! is_file($remonte . 'test.inc')) {
+while (!is_file($remonte . 'test.inc')) {
 	$remonte .= '../';
 }
 
@@ -146,7 +146,7 @@ function email_public_valide($adresses) {
 		$adresse = trim(preg_replace(',^[^<>"]*<([^<>"]+)>$,i', '\\1', $v));
 		// RFC 822 non respectée
 		if (
-			! preg_match(
+			!preg_match(
 				'#^([A-Za-z0-9]|\+|&|_|-|]){1}([A-Za-z0-9]|\+|&|_|-|\.)*@[A-Za-z0-9]([A-Za-z0-9]|-|\.){2,}\.[A-Za-z]{2,4}$#',
 				$adresse
 			)
diff --git a/ecrire/tests/legacy/unit/z_todo/NA_email_valide_5322.php b/ecrire/tests/legacy/unit/z_todo/NA_email_valide_5322.php
index e802e74373..27bbd5b48b 100644
--- a/ecrire/tests/legacy/unit/z_todo/NA_email_valide_5322.php
+++ b/ecrire/tests/legacy/unit/z_todo/NA_email_valide_5322.php
@@ -13,7 +13,7 @@ $test = 'email_valider_5322';
 
 $remonte = __DIR__ . '/';
 
-while (! is_file($remonte . 'test.inc')) {
+while (!is_file($remonte . 'test.inc')) {
 	$remonte .= '../';
 }
 
-- 
GitLab