[ecrire ↪ plugin_config] 20 commits

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

Détails : fix: dans pipeline(), ii par malheur le service de pipeline dispatcher n’est... (ef3ea1ef) · Validations · spip / ecrire · GitLab

==============================
Par Matthieu Marcillaud, le 27 avril 2026 à 18h19min :

change: Pipeline ajouter_onglets, correction arguments doit être un tableau associatif

Modifié
inc/boutons.php

Détails : change: Pipeline ajouter_onglets, correction arguments doit être un tableau associatif (8b6f0965) · Validations · spip / ecrire · GitLab

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

Détails : refactor: Simplification de pipeline, mappé directement sur le service (431938a1) · Validations · spip / ecrire · GitLab

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

Détails : fix: Au vidage brutal du cache, relire les event listeners (416494c4) · Validations · spip / ecrire · GitLab

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

Détails : feat: Lock sur la création du cache de boot des plugins. (c973135a) · Validations · spip / ecrire · GitLab

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

Détails : refactor: Gestion script + style (paquet.xml) avec un pipeline 'header_assets' dédié (99fde6c2) · Validations · spip / ecrire · GitLab

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

Détails : feat: Plus de boot/listeners.php mais des éléments à reprendre encore autour... (749950b2) · Validations · spip / ecrire · GitLab

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

Détails : feat: les pipelines legacy sont aussi taggués, et chargés via un listener... (a38b2b0f) · Validations · spip / ecrire · GitLab

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

Détails : fix: Regrouper certains listeners dans une même classe (fec74f98) · Validations · spip / ecrire · GitLab

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

Détails : fix: Définir la méthode de l’attribut AsSpipPipelineListener si l’attribut est... (4947665e) · Validations · spip / ecrire · GitLab

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

Détails : refactor: Une CompilerPass traite les PipelineListener. (43b00d04) · Validations · spip / ecrire · GitLab

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

Détails : fix: Cache menus.php plus simple, avec gestion de concurrence. (f09afa10) · Validations · spip / ecrire · GitLab

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

Détails : refactor: Mutualiser du code semblable autour des chemins de plugins (0e356c5a) · Validations · spip / ecrire · GitLab

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

Détails : refactor: Les config de plugins passent par config/ (services, menus...) (0b694e1f) · Validations · spip / ecrire · GitLab

==============================
Par Matthieu Marcillaud, le 27 avril 2026 à 18h19min :

test: le spip.logger_config est un service privé maintenant

Modifié
tests/integration/Bootstrap/LoggerServicesTest.php

Détails : test: le spip.logger_config est un service privé maintenant (f1fa8aaa) · Validations · spip / ecrire · GitLab

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

Détails : refactor: Plus besoin des déclarations de pipelines et chercher des listeneurs dans les plugins (9d427220) · Validations · spip / ecrire · GitLab

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

Détails : feat: Ajouter des attributs de pipeline aux Listeners pour simplifier. (a4bed6ce) · Validations · spip / ecrire · GitLab

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

Détails : feat: Ajouter le collecteur de services Symfony pour les plugins, permettant... (a17056b9) · Validations · spip / ecrire · GitLab