Skip to content

MelisToolCreator

Générateur graphique qui crée de nouveaux outils de back-office sous forme de modules Laminas autonomes. Paquet : melisplatform/melis-tool-creator.

Objet

MelisToolCreator est l'assistant intégré au back-office derrière Créer un outil. Il vous guide à travers un formulaire en plusieurs étapes (nom du module, textes, table de base de données, colonnes, formulaire d'ajout/modification, traductions, résumé, finalisation), puis écrit sur disque un module Laminas complet et fonctionnel sous module/<NomDuModule>/ — contrôleur, service, tables de modèle, listeners, configuration, fichiers de langue, vues et JS. Il ne stocke pas les outils en base de données ; le code généré est constitué de fichiers vous appartenant, modifiables ensuite. Voir le guide complet dans Créer un outil.

Activation

Module Laminas standard. Ajoutez-le à config/melis.module.load.php :

php
return [
    // …
    'MelisToolCreator',
];

Dépendances (d'après composer.json) : melisplatform/melis-core et melisplatform/melis-cms (PHP ^8.1|^8.3). Le module fusionne module.config.php, app.interface.php, app.toolstree.php et app.tools.php dans src/Module.php::getConfig().

Services principaux

Déclarés comme alias service_manager dans config/module.config.php :

Alias de serviceRôle
MelisToolCreatorServicePilote la génération. createTool() émet melis_tool_creator_generate_tool_start, construit l'arborescence et les fichiers du module à partir des squelettes de template/, puis émet melis_tool_creator_generate_tool_end. Utilitaires : moduleName(), getTableColumns($table), getTablePK($table), describeTable($table), hasPrimaryKey(), isFrameworkTool(), generateModuleNameCase($str), cleanString($str).
MelisToolCreatorCacheSystemServiceUtilitaire de cache fichier (getCacheByKey, setCacheByKey, deleteCacheByPrefix, getTtlByKey) pour l'assistant.

MelisToolCreatorService étend MelisCore\Service\MelisGeneralService et lit le schéma de base de données réel (Metadata de Laminas) afin qu'un outil db généré se calque sur une table existante.

Types d'outils

Le formulaire de l'étape 1 (tcf-tool-type) propose trois types d'outils, plus une variante « framework » facultative :

TypeCe qu'il génère
dbUn outil CRUD complet sur une table existante (liste + formulaire d'ajout/modification, avec tables de langue optionnelles).
iframeUn outil qui intègre une URL externe (tcf-tool-iframe-url) dans une iframe.
blankUn squelette d'outil vide à compléter vous-même.

Les outils framework (config/frameworks.php : laravel, symfony, lumen, silex) génèrent un contrôleur de type micro-service au lieu du contrôleur ZF/Laminas standard.

Back-office

L'assistant est accessible depuis le menu de gauche sous Outils → Création d'outils → Designs, déclaré dans config/app.toolstree.php. Ses melisKeys : melistoolcreator_tool (et ses enfants melistoolcreator_header, melistoolcreator_content, melistoolcreator_steps).

ÉlémentValeur
ContrôleurMelisToolCreator\Controller\ToolCreator (ToolCreatorController)
Action d'entréerender-tool-creator (renderToolCreatorAction)
Action des étapesrender-tool-creator-steps (renderToolCreatorStepsAction)
Valider / naviguerroute tool-creator-validate-cur-step
Charger les colonnesroute tool-creator-get-tbl-colsrenderStep3TableColumns

Les formulaires d'étape se trouvent dans config/app.tools.php (tool-creator-step-1, tool-creator-step-2, …).

Tables de base de données

Aucune. MelisToolCreator ne déclare aucune table melis_* propre (pas de SQL d'installation ni de delta dbdeploy). Les chaînes melis_tool_creator_generate_tool_start / _end du service sont des noms d'événements, pas des tables. Pour les outils db, il introspecte la table existante que vous indiquez à l'assistant.

Fichiers clés

ÉlémentChemin
Amorçage / fusion de configvendor/melisplatform/melis-tool-creator/src/Module.php
Contrôleur de l'assistantvendor/melisplatform/melis-tool-creator/src/Controller/ToolCreatorController.php
Service de générationvendor/melisplatform/melis-tool-creator/src/Service/MelisToolCreatorService.php
Service de cachevendor/melisplatform/melis-tool-creator/src/Service/MelisToolCreatorCacheSystemService.php
Entrée de menu back-officevendor/melisplatform/melis-tool-creator/config/app.toolstree.php
Formulaires d'étapevendor/melisplatform/melis-tool-creator/config/app.tools.php
Liste / formulaire frameworkvendor/melisplatform/melis-tool-creator/config/frameworks.php
Squelettes de code générévendor/melisplatform/melis-tool-creator/template/
Vues de l'assistant (étapes 1–8)vendor/melisplatform/melis-tool-creator/view/melis-tool-creator/tool-creator/

Voir aussi