Skip to main content

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

--entity=N

Force l'entity Dolibarr.

--purge-orphans

Supprime immédiatement les slots orphelins (sans attendre 30 j).

--dry-run

Affiche les changements sans les appliquer.

--lint

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

--group=xxx

Attribut group par défaut.

--prefix=yyy

Préfixe slot-name.

--dry-run

Diff sans modification.

--hook-engine

Ajoute aussi l'include du moteur InfraSStudio.


🎯 Bonnes pratiques CLI

  • Toujours --dry-run d'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.