spip/ecrire | 20 commits
Par Matthieu Marcillaud, le 27 avril 2026 à 18h19min :
fix: dans pipeline(), ii par malheur le service de pipeline dispatcher n’est pas encore défini, retourner le data correct si le payload est structuré
Modifié
bootstrap/inc/pipeline.php
tests/unit/Bootstrap/Pipeline/PipelineTest.php
==============================
Par Matthieu Marcillaud, le 27 avril 2026 à 18h19min :
change: Pipeline ajouter_onglets, correction arguments doit être un tableau associatif
Modifié
inc/boutons.php
==============================
Par Matthieu Marcillaud, le 27 avril 2026 à 18h19min :
refactor: Simplification de pipeline, mappé directement sur le service
Supprimé
tests/unit/Bootstrap/Pipeline/MinipipeTest.php
Modifié
bootstrap/inc/pipeline.php
config/services.php
inc/plugin.php
src/Framework/Pipeline/LegacyPipelineFunctionListener.php
tests/unit/Bootstrap/Pipeline/PipelineTest.php
tests/unit/Framework/Pipeline/LegacyPipelineFunctionListenerTest.php
==============================
Par Matthieu Marcillaud, le 27 avril 2026 à 18h19min :
style: QA pass.
Modifié
inc/plugin.php
Détails : style: QA pass. (44318784) · Validations · spip / ecrire · GitLab
==============================
Par Matthieu Marcillaud, le 27 avril 2026 à 18h19min :
fix: Au vidage brutal du cache, relire les event listeners
Modifié
bootstrap/inc/pipeline.php
inc/plugin.php
==============================
Par Matthieu Marcillaud, le 27 avril 2026 à 18h19min :
feat: Lock sur la création du cache de boot des plugins.
Modifié
bootstrap/inc/pipeline.php
inc/plugin.php
==============================
Par Matthieu Marcillaud, le 27 avril 2026 à 18h19min :
refactor: Gestion script + style (paquet.xml) avec un pipeline ‹ header_assets › dédié
Ajouté
src/Framework/Pipeline/HEADER_ASSETS_API.md
src/Framework/Pipeline/HeadAssetsCollection.php
src/Framework/Pipeline/LegacyHeaderAssetsCollectorListener.php
src/Pipeline/Listener/HeaderAssetsRendererListener.php
Supprimé
src/Framework/Pipeline/LegacyPipelineInlineCodeListener.php
Modifié
config/services.php
inc/plugin.php
src/Framework/Pipeline/PluginPipelineCollector.php
src/Pipeline/Listener/InsertHeadListener.php
tests/unit/Bootstrap/Pipeline/PipelineTest.php
==============================
Par Matthieu Marcillaud, le 27 avril 2026 à 18h19min :
feat: Plus de boot/listeners.php mais des éléments à reprendre encore autour des script | style de paquet.xml
Ajouté
src/Framework/Pipeline/LegacyPipelineInlineCodeListener.php
Modifié
bootstrap/inc/pipeline.php
config/services.php
inc/plugin.php
tests/unit/Bootstrap/Pipeline/PipelineTest.php
==============================
Par Matthieu Marcillaud, le 27 avril 2026 à 18h19min :
feat: les pipelines legacy sont aussi taggués, et chargés via un listener spécifique. On va pouvoir enlever la gestion du cache boot/listeners.php du coup
Ajouté
src/Framework/Pipeline/LegacyPipelineFunctionListener.php
tests/unit/Framework/Pipeline/LegacyPipelineFunctionListenerTest.php
Modifié
bootstrap/inc/pipeline.php
inc/plugin.php
==============================
Par Matthieu Marcillaud, le 27 avril 2026 à 18h19min :
fix: Regrouper certains listeners dans une même classe
Ajouté
src/Pipeline/Listener/CvtAutoSaveListener.php
src/Pipeline/Listener/CvtConfigurerListener.php
src/Pipeline/Listener/InsertHeadListener.php
Supprimé
src/Pipeline/Listener/CvtAutoSaveTraiterListener.php
src/Pipeline/Listener/CvtConfigurerTraiterListener.php
src/Pipeline/Listener/ImportmapInsertHeadListener.php
src/Pipeline/Listener/InsertHeadScriptsListener.php
src/Pipeline/Listener/InsertHeadStylesListener.php
==============================
Par Matthieu Marcillaud, le 27 avril 2026 à 18h19min :
fix: Définir la méthode de l’attribut AsSpipPipelineListener si l’attribut est utilisé sur une méthode directement
Modifié
inc/plugin.php
==============================
Par Matthieu Marcillaud, le 27 avril 2026 à 18h19min :
refactor: Une CompilerPass traite les PipelineListener.
Supprimé
src/Framework/Pipeline/PipelineAttributeCollector.php
tests/unit/Framework/Pipeline/PipelineAttributeCollectorTest.php
Modifié
inc/plugin.php
==============================
Par Matthieu Marcillaud, le 27 avril 2026 à 18h19min :
fix: Cache menus.php plus simple, avec gestion de concurrence.
Il faudra harmoniser pour tous ces fichiers ce cache/boot
Modifié
inc/plugin.php
==============================
Par Matthieu Marcillaud, le 27 avril 2026 à 18h19min :
refactor: Mutualiser du code semblable autour des chemins de plugins
Ajouté
src/Framework/Plugin/PluginPathResolver.php
Modifié
src/Framework/Pipeline/PipelineAttributeCollector.php
src/Framework/Pipeline/PluginPipelineCollector.php
src/Framework/Plugin/Config/PluginAutoloadCollector.php
src/Framework/Plugin/Config/PluginConfigCollector.php
src/Framework/Plugin/Config/PluginSymfonyServicesCollector.php
==============================
Par Matthieu Marcillaud, le 27 avril 2026 à 18h19min :
refactor: Les config de plugins passent par config/ (services, menus…)
Plus par {prefix}_config.php. Nettoyage partiel du code en conséquence.
Supprimé
bootstrap/inc/plugin_config.php
src/Framework/Plugin/Config/ConfigBuilder.php
src/Framework/Plugin/Config/ConfigRegistry.php
src/Framework/Plugin/Config/ContainerConfigBuilder.php
src/Framework/Plugin/Config/GenieBuilder.php
src/Framework/Plugin/Config/MenuBuilder.php
src/Framework/Plugin/Config/OngletBuilder.php
src/Framework/Plugin/Config/PipelineBuilder.php
tests/unit/Framework/Plugin/Config/ContainerConfigBuilderTest.php
Modifié
bootstrap/functions.php
config/services.php
inc/genie.php
inc/plugin.php
inc/queue.php
src/Framework/Plugin/Config/PluginConfigCollector.php
==============================
Par Matthieu Marcillaud, le 27 avril 2026 à 18h19min :
test: le spip.logger_config est un service privé maintenant
Modifié
tests/integration/Bootstrap/LoggerServicesTest.php
==============================
Par Matthieu Marcillaud, le 27 avril 2026 à 18h19min :
refactor: Nettoyage du ConfigBuilder
Note: on cherche une solution différente, dont l’usage de config/services.php
Supprimé
src/Framework/Plugin/Config/PluginParamsCompiler.php
src/Framework/Plugin/Config/PluginServicesCompiler.php
src/Framework/Plugin/Config/ScriptBuilder.php
src/Framework/Plugin/Config/StyleBuilder.php
tests/unit/Framework/Plugin/Config/PluginParamsCompilerTest.php
tests/unit/Framework/Plugin/Config/PluginServicesCacheRoundTripTest.php
tests/unit/Framework/Plugin/Config/PluginServicesCompilerTest.php
Modifié
src/Framework/Plugin/Config/ConfigBuilder.php
src/Framework/Plugin/Config/PluginConfigCollector.php
Détails : refactor: Nettoyage du ConfigBuilder (4b44bb1f) · Validations · spip / ecrire · GitLab
==============================
Par Matthieu Marcillaud, le 27 avril 2026 à 18h19min :
refactor: Plus besoin des déclarations de pipelines et chercher des listeneurs dans les plugins
Supprimé
spip_config.php
Modifié
inc/plugin.php
src/Framework/Pipeline/PipelineAttributeCollector.php
tests/unit/Framework/Pipeline/PipelineAttributeCollectorTest.php
==============================
Par Matthieu Marcillaud, le 27 avril 2026 à 18h19min :
feat: Ajouter des attributs de pipeline aux Listeners pour simplifier.
Ajouté
config/services.php
src/Framework/Pipeline/PipelineAttributeCollector.php
tests/unit/Framework/Pipeline/PipelineAttributeCollectorTest.php
Modifié
inc/plugin.php
spip_config.php
src/Pipeline/Listener/AdminBarListener.php
src/Pipeline/Listener/AuthFormulaireLoginListener.php
src/Pipeline/Listener/CronSnippetListener.php
src/Pipeline/Listener/CvtAutoSaveChargerListener.php
src/Pipeline/Listener/CvtAutoSaveTraiterListener.php
src/Pipeline/Listener/CvtConfigurerChargerListener.php
src/Pipeline/Listener/CvtConfigurerTraiterListener.php
src/Pipeline/Listener/CvtMultiStyliserListener.php
src/Pipeline/Listener/CvtVerifJsonListener.php
src/Pipeline/Listener/ImportmapInsertHeadListener.php
src/Pipeline/Listener/JQueryPrependListener.php
src/Pipeline/Listener/QuoteAmpListener.php
src/Pipeline/Listener/TrigSupprimerObjetsTablesListener.php
==============================
Par Matthieu Marcillaud, le 27 avril 2026 à 18h19min :
feat: Ajouter le collecteur de services Symfony pour les plugins, permettant le chargement de fichiers config/services.php
Ajouté
src/Framework/Plugin/Config/PluginSymfonyServicesCollector.php
tests/unit/Framework/Plugin/Config/PluginSymfonyServicesCollectorTest.php
Modifié
composer.json
inc/plugin.php
src/Framework/Plugin/Config/README.md