=== LefeuvreFrançois – Multivers Core ===
Contributors: francoislefeuvre
Requires at least: 6.4
Tested up to: 6.8.5
Requires PHP: 8.1
Stable tag: 1.2.0-alpha.13

Noyau métier partagé du Multivers : réalisations, taxonomies, Bankymage, SVG et module Slider optionnel.

== Configuration V8 ==

Le noyau fonctionne sans ACF. Le module Slider nécessite Advanced Custom Fields et se désactive automatiquement si ACF est absent.

Pour désactiver explicitement le Slider dans wp-config.php :

define( 'LF_MULTIVERS_SLIDER_ENABLED', false );

Le filtre `lf_multivers_slider_enabled` permet également de piloter le module. Glide 3.7.1 et les styles requis sont servis localement ; le plugin ne charge aucun CDN.

📄 README — LefeuvreFrançois – Multivers Core
(Version Arpafran — claire, directe, avec un peu de piquant)
🎯 1. Rôle du plugin

lf-multivers-core est le cerveau du Multivers WordPress.
C’est le dossier que tu ne dois pas abîmer, casser, ni bricoler à l’arrache.

Il contient :

Le CPT officiel du Multivers : lf_case

Les taxonomies communes

Le Bankymage global (icônes & visuels partagés)

Les scripts JS communs

Les helpers futurs (SVG, assets, ACF, etc.)

Bref :
👉 C’est le socle partagé de tous tes sous-sites (ia., logo., web., 3d., bd., pinup…).

🧱 2. Arborescence complète et commentée

Voici la structure que tu dois toujours respecter.

lf-multivers-core/
│
├── lf-multivers-core.php
│   → Fichier principal du plugin.
│     Charge les CPT, taxonomies, Bankymage, JS communs.
│     C’est “le chef d’orchestre”.
│
├── includes/
│   ├── cpt-lf_case.php
│   │     → Contient :
│   │         - Le CPT “lf_case”
│   │         - Les taxonomies
│   │         - Les hooks d’activation/désactivation
│   │     → Si un jour tu ajoutes d’autres CPT globaux,
│   │       ils iront ici.
│   │
│   └── icons-svg-manager.php
│         → Gère la logique Bankymage :
│             - lf_icon()
│             - lf_banky_url()
│         → Surcharge propre par thème autorisée.
│
├── assets/
│   ├── js/
│   │   ├── svg-autoconvert.js
│   │   │     → Script qui convertit les <img SVG>
│   │   │       en icônes “maskables”.
│   │   │     → Chargé automatiquement sur TOUT le Multivers.
│   │   │
│   │   └── (autres scripts JS)
│   │         → Tu peux en ajouter autant que tu veux.
│   │         → Le Core les charge automatiquement si listés.
│   │
│   └── bankymage/
│       └── svg/
│           └── ui/
│               ├── telephone.svg
│               ├── mail.svg
│               ├── arrow-right.svg
│               └── (autres icônes)
│
└── readme.txt
    → Ce fichier. À compléter au fur et à mesure.

📝 Rappel important

Les icônes du Core sont globales → utilisées partout.

Un thème peut surcharger un SVG :
Il suffit de créer :

/wp-content/themes/lf-xxx-theme/assets/bankymage/svg/ui/telephone.svg


Le Core donnera toujours la priorité à la version du thème.

🔧 3. Usage dans les thèmes
3.1 Afficher une icône SVG
<?php lf_icon('telephone', 'icon icon--sm'); ?>

3.2 Surcharger une icône dans un thème

Place simplement ton fichier modifié ici :

/assets/bankymage/svg/ui/telephone.svg


Le Core utilisera automatiquement cette version.

🧬 4. Scripts JS communs

Les scripts ajoutés dans :

lf-multivers-core/assets/js/


peuvent être chargés partout via la liste dans lf-multivers-core.php :

$scripts = [
    'svg-autoconvert.js',
    // 'sliders.js',
    // 'helpers.js',
];


💡 Tu commentes / décommentes pour activer/désactiver un script.

🎨 5. Bankymage global

Le Bankymage du Core contient les icônes communes, visibles dans tous les sous-sites.

Organisation recommandée :

bankymage/
  svg/
    ui/      → Icônes UI, pictos simples, symboles
    icons/   → Icônes plus “branding”
  raster/
    ui/      → PNG/JPG communs
  logos/
    arpafran.svg, citudor.svg…


Règle d’or :
👉 Le Bankymage du Core = base standard.
👉 Les thèmes = personnalisation visuelle locale.

🌐 6. Fonctionnement Multisite

Ce plugin doit être :

placé dans /wp-content/plugins/

activé en réseau

Tous les sous-sites du Multivers bénéficient automatiquement :

du CPT lf_case

des taxonomies

du JS commun

du Bankymage global

des helpers

🚀 7. Roadmap (pour plus tard)

Ajouter lf_icon() + lf_banky_url() dans icons-svg-manager.php

Intégrer un petit fichier lf-core.css si besoin

Factoriser des helpers ACF

Rajouter des fonctions WP “anti-merdes” (emoji, wp-json limitations, etc.)

Et surtout…

🏁 8. La checklist “Créer un nouveau site Multivers en 2 minutes”

👉 À faire plus tard
👉 Prévue pour être intégrée en bas de ce fichier
👉 (Je l’ai gardée en mémoire, prête à te la générer)

🧩 9. Notes internes — Rappels importants

Ne duplique plus jamais le Bankymage dans les thèmes.

Ne colle pas de JS commun dans chaque thème → mets-les ici.

Le Core doit rester petit, stable et propre.

Les thèmes doivent rester légers, centrés sur la DA.

Chaque amélioration du Core = amélioration du Multivers entier.

Le Core n’a pas pour vocation d’être un framework lourd → garde-le simple.

✒️ 10. Auteur

François Lefeuvre — Arpafran
Illustrateur, webdesigner, créateur de mondes et d’écosystèmes (dont Citudor 😉)




## Icons & SVG – Règles officielles

1. lf_icon($name) → génère un <svg> inline
   - utilise fill="currentColor"
   - la couleur est contrôlée par le thème (global.css)

2. Bankymage
   - les icônes UI sont dans /assets/bankymage/svg/ui/
   - utilisation : <img src="<?php echo lf_banky_url('svg/ui/name.svg'); ?>" />

3. Maskage automatique (svg-autoconvert.js)
   - transforme <img src="...svg"> en <span class="svg-maskable">
   - exceptions : .brand, .custom-logo, .footer-logo, .no-svg-mask, data-svg-mask="off"
   - les couleurs sont définies dans le thème via .svg-maskable ou classes locales

4. Règle d’or :
   - Aucun SVG ne doit contenir une couleur hex
   - Toujours "fill=currentColor" ou "stroke=currentColor"
   - Les couleurs appartiennent aux thèmes, jamais au Core
