Choisir un framework UI (none / Tailwind / Bootstrap)
Un seul réglage de configuration décide comment chaque grille, formulaire et bouton de toute l'installation est stylé.
XcrudConfig::$ui
Chaque choix visuel que fait xCRUD Nova Pro - classes de boutons, bordures de tableaux, chrome des modales, style des contrôles de formulaire - est piloté par un unique commutateur de type chaîne dans src/Config.php :
public static string $ui = 'tailwind';
| Valeur | Description |
|---|---|
'none' | Thème « registre papier » intégré, sans dépendance - son propre CSS écrit à la main utilisant des propriétés personnalisées (--xcrud-pine, --xcrud-radius, et autres), aucune requête CDN du tout. |
'tailwind' | Charge le build CDN de Tailwind ainsi que Google Fonts (Inter pour le texte d'interface, JetBrains Mono pour le monospace/code). C'est le choix par défaut. |
'bootstrap' | Classes et composants de style Bootstrap, chargés depuis un CDN. |
C'est global, pas par page
Contrairement à la plupart des réglages Xcrud, $ui n'a pas de surcharge par widget - il n'existe pas d'appel ->ui('bootstrap') sur la classe Xcrud. Chaque page, chaque widget, chaque assistant sensible au thème (Xcrud::uiAssets(), les globales JS window.Xcrud) lit la même valeur, propre à toute l'installation. La changer restyle instantanément l'application entière, ce qui est le but recherché - une installation à thèmes mixtes signifierait envoyer plusieurs copies de CSS/JS CDN sur la même page, sans aucun bénéfice.
Comment un thème est structuré
Chaque valeur de $ui correspond à un dossier sous themes/{ui}/ :
| Fichier | Objet |
|---|---|
theme.js | Une table de correspondance de chaînes de classes que le widget côté client lit à la construction - s'enregistre dans window.XcrudThemes[ui], et doit se charger avant core/xcrud.js lui-même. |
assets.php (facultatif) | Tout ce dont le thème a besoin en plus dans <head> - balises <script>/<link> CDN, liens Google Fonts, configuration de framework. Un thème sans rien de plus (comme 'none', qui n'a besoin que de son propre xcrud.css) peut omettre ce fichier entièrement. |
Les deux fichiers sont émis automatiquement par render() pour une page de widget normale. Une page sans widget qui veut quand même les assets du thème (un bouton personnalisé, un toast autonome) appelle directement Xcrud::uiAssets() - voyez Frontends découplés & CORS pour ce schéma.
<script src="themes/<?= XcrudConfig::$ui ?>/theme.js"></script>
<?= Xcrud::uiAssets() ?>
Faire son choix
Choisissez 'none' pour une installation sans dépendance (aucune accessibilité CDN requise, charge la plus légère), 'tailwind' si votre propre site s'appuie déjà sur des classes utilitaires ou que vous voulez l'apparence par défaut sans configuration, et 'bootstrap' si le reste de votre application est déjà basé sur Bootstrap et que vous voulez que les écrans CRUD s'y accordent visuellement.