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
==============================
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
==============================
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
==============================
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
==============================
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
==============================
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
==============================
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
==============================
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
==============================
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