[kernel ↪ 2.x] 11 commits

spip-league/kernel | 11 commits

Par marcimat, le 25 juin 2026 à 21h49min :

Merge branch ‹ 6090-spip-5-amelioration-du-conteneur-compile › into ‹ 2.x ›

refactor: Gérer la compilation du conteneur avant le cycle HTTP

See merge request spip-league/kernel!20

Ajouté
src/ContainerBootstrap.php
src/Directory/LegacyDirectoryBootstrapper.php
src/Directory/LegacyDirectoryConstants.php
src/Directory/SpipDirectories.php
src/Directory/SpipDirectoriesInterface.php
src/Directory/SpipRelativeDirectories.php
src/Platform.php
src/PlatformInterface.php
src/Plugin/ContainerCompilerInterface.php
src/Plugin/PluginListProviderInterface.php
tests/ContainerBootstrapTest.php
tests/KernelBootTest.php
tests/PlatformTest.php
Modifié
boot.php
config/services.php
src/Kernel.php
src/SpipContainerFactory.php
tests/BootTest.php
tests/KernelTest.php
tests/SpipContainerFactoryTest.php

Détails : Merge branch '6090-spip-5-amelioration-du-conteneur-compile' into '2.x' (3b4f2420) · Validations · spip-league / kernel · GitLab

==============================
Par Matthieu Marcillaud, le 25 juin 2026 à 14h27min :

refactor: spip.directories devient un service synthétique

Il est instancié au boot du conteneur Symfony, auquel on transmets le cwd enregistré au boot,
qui sert à calculer les chemins relatifs (Spip::directories()->relative()) au répertoire de travail du hit.

C’est assez legacy cette histoire pour gerer ‹ …/ › et le bazar _DIR_RACINE (Spip::directories()->relative()->getProjectDir()) variant quand
on est dans ecrire/ ou pas…

Refs: spip/spip#6090

Modifié
config/services.php
src/Directory/SpipDirectories.php
src/Directory/SpipDirectoriesInterface.php
src/Directory/SpipRelativeDirectories.php
src/Kernel.php
tests/KernelTest.php

Détails : refactor: spip.directories devient un service synthétique (12a7a272) · Validations · spip-league / kernel · GitLab

==============================
Par Matthieu Marcillaud, le 24 juin 2026 à 13h45min :

feat: Définir aussi des constantes legacy _ROOT

Modifié
src/Directory/LegacyDirectoryBootstrapper.php
src/Directory/LegacyDirectoryConstants.php
src/Directory/SpipDirectories.php
src/Directory/SpipDirectoriesInterface.php
src/Directory/SpipRelativeDirectories.php
tests/KernelBootTest.php

Détails : feat: Définir aussi des constantes legacy _ROOT (eca1a96f) · Validations · spip-league / kernel · GitLab

==============================
Par Matthieu Marcillaud, le 24 juin 2026 à 13h11min :

test: ajout de UsesClass pour coverage

Modifié
tests/BootTest.php
tests/ContainerBootstrapTest.php
tests/KernelBootTest.php
tests/KernelTest.php
tests/SpipContainerFactoryTest.php

Détails : test: ajout de UsesClass pour coverage (29860520) · Validations · spip-league / kernel · GitLab

==============================
Par Matthieu Marcillaud, le 24 juin 2026 à 10h54min :

feat: ajout de la classe Platform et PlatformInterface pour gérer les variables d’environnement

Et service spip.platform associé.

Ajouté
src/Platform.php
src/PlatformInterface.php
tests/PlatformTest.php
Modifié
config/services.php
src/Directory/SpipDirectories.php
src/Kernel.php
src/SpipContainerFactory.php

Détails : feat: ajout de la classe Platform et PlatformInterface pour gérer les variables d'environnement (36faa909) · Validations · spip-league / kernel · GitLab

==============================
Par Matthieu Marcillaud, le 24 juin 2026 à 09h05min :

feat: service spip.directories et classe SpipDirectories pour obtenir différents chemins dans SPIP

Ajouté
src/Directory/SpipDirectories.php
src/Directory/SpipDirectoriesInterface.php
src/Directory/SpipRelativeDirectories.php
Supprimé
src/Directory/LegacyDirectoryPaths.php
Modifié
config/services.php
src/Directory/LegacyDirectoryBootstrapper.php
src/Directory/LegacyDirectoryConstants.php
src/Kernel.php

Détails : feat: service spip.directories et classe SpipDirectories pour obtenir différents chemins dans SPIP (6588339d) · Validations · spip-league / kernel · GitLab

==============================
Par Matthieu Marcillaud, le 23 juin 2026 à 22h04min :

refactor: Déplacement des déclarations de constantes dans le kernel

Ajouté
src/Directory/LegacyDirectoryConstants.php
src/Directory/LegacyDirectoryPaths.php
Modifié
src/ContainerBootstrap.php
src/Directory/LegacyDirectoryBootstrapper.php
src/Kernel.php
tests/ContainerBootstrapTest.php
tests/KernelBootTest.php

Détails : refactor: Déplacement des déclarations de constantes dans le kernel (e51f0621) · Validations · spip-league / kernel · GitLab

==============================
Par Matthieu Marcillaud, le 23 juin 2026 à 16h01min :

feat: amélioration du conteneur compilé et démarrage du Kernel

LegacyDirectoryBootstrapper : figage des constantes legacy _DIR_* AVANT la compilation du conteneur.
Source unique : paramètres spip.dirs.* du conteneur minimal (buildFallback),
non surchargeables par les options.php (exécutés plus tard, en runtime HTTP).

Kernel : boot idempotent du kernel SPIP (HTTP et CLI).
Charge l’environnement, compile ou charge le conteneur, puis expose
spip.installation et spip.kernel comme services synthetic.

Ajouté
src/Directory/LegacyDirectoryBootstrapper.php
tests/KernelBootTest.php
Modifié
boot.php
src/ContainerBootstrap.php
src/Kernel.php
src/SpipContainerFactory.php
tests/KernelTest.php

Détails : feat: amélioration du conteneur compilé et démarrage du Kernel (6e3d7d81) · Validations · spip-league / kernel · GitLab

==============================
Par Matthieu Marcillaud, le 23 juin 2026 à 14h39min :

test: fix coverage

Modifié
tests/BootTest.php

Détails : test: fix coverage (93c7c16a) · Validations · spip-league / kernel · GitLab

==============================
Par Matthieu Marcillaud, le 23 juin 2026 à 14h02min :

fix: La liste des plugins est stockée dans var/state/plugins.php, plus config/plugins.php, car c’est un état enregistré par la gestion des plugins

Modifié
src/ContainerBootstrap.php
src/Plugin/PluginListProviderInterface.php
src/SpipContainerFactory.php

Détails : fix: La liste des plugins est stockée dans var/state/plugins.php, plus... (6a1f66ad) · Validations · spip-league / kernel · GitLab

==============================
Par Matthieu Marcillaud, le 19 juin 2026 à 17h06min :

refactor: Gérer la compilation du conteneur avant le cycle HTTP

WIP.

Ajouté
src/ContainerBootstrap.php
src/Plugin/ContainerCompilerInterface.php
src/Plugin/PluginListProviderInterface.php
tests/ContainerBootstrapTest.php
Modifié
boot.php
src/Kernel.php
tests/KernelTest.php

Détails : refactor: Gérer la compilation du conteneur avant le cycle HTTP (b4369cf1) · Validations · spip-league / kernel · GitLab