Référence des scripts CLI
⌨️ Chapitre 32 — Référence des scripts CLI
Tous les scripts en ligne de commande livrés avec le module. Chemin : htdocs/custom/infrasstudio/scripts/.
🔍 rescan_slots.php
Rescanne les fichiers tpl.php d'un site et synchronise la table slots.
php rescan_slots.php <website_ref_or_id> [--entity=N] [--purge-orphans] [--dry-run] [--lint]
Flag | Effet |
|---|---|
| Force l'entity Dolibarr. |
| Supprime immédiatement les slots orphelins (sans attendre 30 j). |
| Affiche les changements sans les appliquer. |
| Vérifie la syntaxe slot. Exit 0=clean, 1=warnings, 2=errors. |
🔧 rebuild_solution_wrappers.php
Reconstruit manuellement les wrappers solution-*.php du catalogue produit.
php rebuild_solution_wrappers.php <websitekey-or-id> <public-docroot> [entity]
# Exemple
php rebuild_solution_wrappers.php monsite /var/www/monsite 2
🗺️ generate_sitemap.php
Génère le fichier sitemap.xml d'un site.
php generate_sitemap.php <website_ref> [entity]
Idéal pour cron quotidien :
# crontab -e
0 3 * * * php /var/www/dolibarr/htdocs/custom/infrasstudio/scripts/generate_sitemap.php monsite 2
📦 preset_default.php
Loader générique de presets JSON. Crée des extrafields produit en masse.
php preset_default.php <path-to-preset.json>
# Exemple avec le preset livré
php preset_default.php htdocs/custom/infrasstudio/presets/keaticweb.json
Format JSON attendu : voir documentation des presets.
🔄 preset_keatic.php
Wrapper compat — équivalent à preset_default.php presets/keaticweb.json.
📂 consolidate_sister_pages.php
Consolide une famille de pages sœurs (pattern B legacy) en 1 canonique + N stubs (pattern A moderne).
php consolidate_sister_pages.php <site_ref> \
[--entity=N] \
[--base-slug=<slug>] \
[--dry-run] \
[--extractor=/path/to/extractor.php]
🔄 convert_tpl_to_slots.php
Transforme les echo $langs->trans('Key') d'un tpl.php en tokens {{slot:...|default=@lang:Key}}.
php convert_tpl_to_slots.php <tpl_path> [--group=xxx] [--prefix=yyy] [--dry-run] [--hook-engine]
Flag | Effet |
|---|---|
| Attribut group par défaut. |
| Préfixe slot-name. |
| Diff sans modification. |
| Ajoute aussi l'include du moteur InfraSStudio. |
🎯 Bonnes pratiques CLI
- Toujours
--dry-rund'abord sur une migration importante. - Lancer en tant qu'utilisateur Apache (
sudo -u www-data php script.php) pour éviter les problèmes de permissions sur les fichiers générés. - Pour multicompany, toujours préciser
--entity=N. - Capturer la sortie dans un log :
php script.php 2>&1 | tee /tmp/script.log.
🎉 Fin de la Partie VI — Vous avez maintenant un mémo complet : constantes, shortcodes, hooks, tables SQL, scripts CLI. Tout est référencé en un seul endroit.