L'interface en ligne de commande (CLI)
Si vous disposez d'un accès terminal au serveur hébergeant votre site, vous pouvez utiliser la CLI de Joomla pour effectuer des tâches courantes sans avoir besoin d'utiliser des identifiants de connexion utilisateur Joomla. Même sans accès terminal, comme c'est le cas sur certains hébergements mutualisés, vous pouvez exécuter des commandes CLI à l'aide de tâches cron. Les commandes CLI sont souvent plus rapides ou plus pratiques que les équivalents réalisés via l'interface d'Administration de Joomla (ou de cPanel). La sauvegarde du site et le passage du site en ligne/hors ligne sont des exemples où vous pourriez préférer utiliser la CLI.
Le cœur de Joomla propose environ 30 commandes utiles et vous pouvez en ajouter d'autres grâce à des extensions supplémentaires. Par exemple, vous pourriez récupérer des données externes telles que des données de géolocalisation ou de taux de change pour un composant personnalisé.
Utiliser la CLI
La CLI s'utilise en invoquant l'exécutable php en ligne de commande. Celui-ci est souvent différent de celui utilisé par un serveur web tel qu'Apache. Si vous utilisez une tâche cron, vous devrez peut-être fournir le chemin complet vers l'exécutable php, comme ceci :
/usr/local/bin/php /home/username/public_html/[optional subfolder]/cli/joomla.php
Sinon, lorsque vous utilisez la ligne de commande du terminal, changez de répertoire pour accéder au répertoire cli de Joomla et commencez par exécuter la commande sans paramètres :
cd /home/username/public_html/[optional subfolder]/cli
php joomla.php

Et essayez quelques commandes d'aide pour vous familiariser avec ce à quoi vous attendre :
php joomla.php help
php joomla.php list
php joomla.php help cache:clean
php joomla.php help config:get
Chacune des descriptions d'aide et des chaînes d'utilisation est codée en dur dans les fichiers de la bibliothèque Console ou dans des plugins tiers.
Essayez quelques commandes d'action simples :
php joomla.php config:get debug
php joomla.php cache:clean
php joomla.php site:down
php joomla.php site:up
Paramètres
Si vous appelez des commandes depuis une tâche cron, vous ne souhaitez peut-être pas voir de sortie :
php joomla.php -q cache:clean
Notez que les options peuvent utiliser un espace ou un signe = mais les variables doivent utiliser un signe = :
php joomla.php session:gc --application administrator
php joomla.php session:gc --application=administrator
php joomla.php config:set debug=true
Commandes
Une brève explication de chaque commande principale.
Cache
Supprimer les entrées expirées du cache système :
php joomla.php cache:clean --help
php joomla.php cache:clean

php joomla.php cache:clean expired

Config
Obtenir ou définir une variable de configuration, une des variables de configuration.php ou un groupe de variables. Les groupes valides sont db, session, mail,
php joomla.php config:get debug --help
php joomla.php config:get debug

php joomla.php config:set debug=true

php joomla.php config:get --group session

Core
Vérifier les mises à jour ou mettre à jour Joomla.
php joomla.php core:check-updates --help
php joomla.php core:check-updates

php joomla.php core:update --help
php joomla.php core:update

Base de données
Exporter ou importer la base de données. Vous pouvez exporter ou importer toutes les tables ou une table sélectionnée. N'utilisez pas cette fonctionnalité pour importer toutes les tables d'un site multilingue. Il existe un problème qui pourrait empêcher la Recherche avancée de fonctionner complètement.
php joomla.php database:export --help
php joomla.php database:export --table f4rc2_banners --folder /home/username/tmp/mydb (one table)
php joomla.php database:export --folder /home/username/tmp/mydb (all tables)
php joomla.php database:import --help
php joomla.php database:import --table /home/username/tmp/mydb/f4rc2_banners (one table)
[ERROR] The /home/username/tmp/mydb/f4rc2_banners.xml file does not exist.
php joomla.php database:import --folder /home/username/tmp/mydb (all tables in this folder)
Extension
Lister, découvrir, installer ou supprimer des extensions.
php joomla.php extension:list --help
php joomla.php extension:list
php joomla.php extension:list --type component
php joomla.php extension:list --type file
php joomla.php extension:list --type language
php joomla.php extension:list --type library
php joomla.php extension:list --type module
php joomla.php extension:list --type package
php joomla.php extension:list --type plugin
php joomla.php extension:list --type template
php joomla.php extension:discover --help
php joomla.php extension:discover
php joomla.php extension:discover:list
php joomla.php extension:discover:install --eid=
php joomla.php extension:install --help
php joomla.php extension:install --path=
php joomla.php extension:install --url=
php joomla.php extension:remove --help
php joomla.php extension:remove
Finder
Purge et reconstruit l'index (les filtres de recherche sont préservés).
php joomla.php finder:index --help
php joomla.php finder:index
php joomla.php finder:index purge

Planificateur
Lister, changer l'état ou exécuter des tâches planifiées.
php joomla.php scheduler:list --help
php joomla.php scheduler:list
php joomla.php scheduler:state --help
php joomla.php scheduler:state (interactive prompt for task id)
php joomla.php scheduler:run --help
php joomla.php scheduler:run --id ID
php joomla.php scheduler:run --all
Session
Effectue le nettoyage des sessions (garbage collection).
php joomla.php session:gc --help
php joomla.php session:gc
php joomla.php session:gc --application administrator
php joomla.php session:metadata:gc --help
php joomla.php session:metadata:gc
Site
Met le site hors ligne ou en ligne.
php joomla.php site:down --help
php joomla.php site:down
php joomla.php site:up --help
php joomla.php site:up
Mise à jour
Vérifie les mises à jour d'extensions en attente. Supprime les anciens fichiers qui auraient dû être supprimés lors d'une mise à jour de Joomla
php joomla.php update:extensions:check --help
php joomla.php update:extensions:check
php joomla.php update:joomla:remove-old-files --help
php joomla.php update:joomla:remove-old-files

Utilisateur
Lister et gérer les utilisateurs.
php joomla.php user:list --help
php joomla.php user:list
php joomla.php user:add --help
php joomla.php user:add --username cinderella --name Cinderella --email cinders@localhost --usergroup Manager (invite à saisir le mot de passe)
php joomla.php user:add (invite à saisir les données)

php joomla.php user:addtogroup --help
php joomla.php user:addtogroup (invite à saisir les données)
php joomla.php user:addtogroup --usernam=cinderella --group=Manager
php joomla.php user:removefromgroup --help
php joomla.php user:removefromgroup (invite à saisir les données)
php joomla.php user:removefromgroup --usernam=cinderella --group=Manager
php joomla.php user:reset-password --help
php joomla.php user:reset-password (invite à saisir les données)
php joomla.php user:reset-password --username=cinderella (invite à saisir le mot de passe)
php joomla.php user:delete --help
php joomla.php user:delete (invite à saisir l'identifiant)
php joomla.php user:delete --username=cinderella (invite à confirmer - y pour confirmer)