Archive
Structure ZIP attendue
L archive doit contenir a sa racine theme.json, et si besoin style.css, README.md, LICENSE ainsi que les dossiers slots/, parts/ et pages/. Un dossier racine unique est tolere et sera retire automatiquement pendant l installation.
- Taille max de l archive: 2 Mo.
- Taille decompressee max: 8 Mo.
- Nombre de fichiers limite.
- Profondeur de dossier limitee.
- Pas de fichiers caches, pas de path traversal, pas de dossiers hors allowlist.
Distribution
Modes d installation a garder en tete
Un theme peut etre installe depuis le disque, depuis une archive ZIP ou depuis une URL HTTPS. Dans tous les cas, un theme advanced doit etre traite comme du code PHP execute sur le serveur.
Ne livrez pas un theme advanced comme s il s agissait d une simple ressource graphique. C est une extension applicative, et elle doit etre revue avec le meme niveau d exigence qu un patch du core.
Diagnostic
Checklist de debug rapide
- Le theme n apparait pas: verifier
theme.json,id, type et variables requises. - Le CSS ne change pas: verifier le theme actif et le scope
[data-theme="id"]. - Un override est ignore: verifier le nom exact du slot ou de la part et son emplacement.
- Une page custom ne se charge pas: verifier que le core appelle vraiment le point d extension vise.
- Le rendu casse sur mobile: verifier la largeur du shell, la sidebar, la topbar et les tableaux trop larges.
Avant livraison
Checklist finale
idstable et court.theme.jsonvalide et coherent avec le nom du dossier.- Variables requises presentes.
style.cssscope avec[data-theme="id"].- Sorties dynamiques echappees.
- Pas d acces directs inutiles aux classes internes.
- Verification visuelle desktop et mobile.
- Verification du dashboard si
pages/dashboard.phpest fourni.