Skip to main content

CHAPITRE 32 — Référence des scripts en ligne de commande

⌨️ 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 des slots.

php rescan_slots.php <website_ref_or_id> [--entity=N] [--purge-orphans] [--dry-run] [--lint]

FlagOption

Effet

--entity=N

Force l'entity Dolibarr.

--purge-orphans

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

--dry-run

Affiche les changements sans les appliquer.

--lint

Vérifie la syntaxe slot.des Exitslots. 0=clean,Code 1=warnings,de 2=errors.sortie : 0 sans anomalie, 1 avec avertissement, 2 avec erreur.


🔧

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 une planification quotidienne via cron quotidien :

# crontab -e
0 3 * * * php /var/www/dolibarr/htdocs/custom/infrasstudio/scripts/generate_sitemap.php monsite 2

📦

preset_default.php

LoaderChargeur générique de presets JSON. Crée des extrafieldschamps personnalisés produit en masse.série.

php preset_default.php <path-to-chemin-vers-preset.json>

# Exemple avec le preset livré
php preset_default.php htdocs/custom/infrasstudio/presets/keaticweb.json

Format JSON attendu : voir la documentation des presets.


🔄

preset_keatic.php

Wrapper compatde compatibilité — équivalent à preset_default.php presets/keaticweb.json.


📂

consolidate_sister_pages.php

Consolide une famille de pages sœurs (patternmodèle B legacy) en 1une page canonique +et Nplusieurs stubs (patternmodèle 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 fichier tpl.php en tokens {{slot:...|default=@lang:Key}}.

php convert_tpl_to_slots.php <tpl_path> [--group=xxx] [--prefix=yyy] [--dry-run] [--hook-engine]

FlagOption

Effet

--group=xxx

Attribut group par défaut.

--prefix=yyy

Préfixe slot-name.des noms de slot.

--dry-run

DiffAperçu des modifications sans modification.application.

--hook-engine

Ajoute aussiégalement l'includeinclusion du moteur InfraSStudio.du module.


🎯

Bonnes pratiques CLI

en ligne de commande
  • Toujours utiliser --dry-run d'abord suravant 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.
  • PourEn multicompany, toujours préciser --entity=N.
  • Capturer la sortie dans un logjournal : php script.php 2>&1 | tee /tmp/script.log.

🎉 Fin de la Partie VI — Vous avezdisposez maintenantdésormais d'un mémo complet : constantes, shortcodes, hooks, tables SQL, scripts CLI.en ligne de commande. Tout est référencérassemblé en un seul endroit.endroit pour une consultation rapide.