18. Interface en ligne de commandes (CLI)

Command-line interfaces (CLI) allow you to interact with Mahara through the command line or terminal rather than through a graphical interface. That can speed up certain actions or make them easier to execute.

Note

Vous pouvez afficher des informations d’aide sur les commandes individuelles disponibles pour chaque script :

sudo -u www-data php htdocs/admin/cli/[nom du fichier du script].php -h

18.1. Supprimer certains groupes par lots

If you have a large site and deleted a lot of accounts, you may also wish to clean up old groups in an efficient way. You can do the following with the bulk group deletion script:

  • delete all groups that have no members, e.g. after accounts were deleted;

  • et supprimer tous les groupes qui n’ont comme membres que des administrateurs de site ;

  • et / ou supprimer uniquement les groupes associés à une certaine institution.

Exécutez le script avec la commande suivante. Une exécution à froid est effectuée par défaut afin qu’aucune donnée ne soit supprimée par accident.

sudo -u www-data php htdocs/admin/cli/delete_inactive_groups.php

18.2. Delete certain accounts in bulk

If you want to delete accounts in bulk from the site without needing to go to the administration screen, especially if you have more than 500 accounts to delete, you can use CLI. This script allows you to do the following:

  • delete all accounts that have never been logged into, i.e. that were created manually, via CSV file, or an automated process;

  • and / or delete all accounts that have not been logged in since a certain date;

  • and / or delete only those accounts from a specific institution;

  • delete accounts that are members of a specific group.

Exécutez le script avec la commande suivante. Une exécution à froid est effectuée par défaut afin qu’aucune donnée ne soit supprimée par accident.

sudo -u www-data php htdocs/admin/cli/delete_inactive_users.php

18.3. Indexation plus rapide des sites utilisant Elasticsearch

Note

Prérequis : Elasticsearch doit être installé sur les site et correctement configuré.

Lorsqu’un gros site est indexé ou ré-indexé pour qu’Elasticsearch puisse afficher les résultats des recherches, le processus peut être relativement long parceque celui-ci n’est lancé que lorsque le cron est lancé. Si le lot de document à indexer a terminé avant la fin du cron, il existe alors un temps d’attente avant que le prochain lot puisse être lancé. Pour éviter cela, le script CLI fast_index permet de démarrer un nouveau lot d’indexation dès que le précédent est terminé.

Pour lancer le script vous utilisez la commande suite :

sudo -u www-data php admin/cli/fast_index.php

18.4. Installer et mettre à jour les paquets de langue

Une action de ce type concerne par exemple l’exploitation des paquets de langues. Normalement, vous devez télécharger un paquet de langue depuis le site ad hoc, et le placer manuellement dans le dossier approprié. Ceci est assez fastidieux, notamment lorsque vous désirez gérer et mettre à jour plusieurs paquets de langue sur votre plateforme.

En utilisant CLI, vous pouvez accélérer le processus.

Installer ou mettre à jour des paquets de langue pour votre instance de Mahara en listant simplement les codes de langue.

Exemple (de = Allemand, fr = Français) :

sudo -u www-data php admin/cli/sync_langpacks.php -l=de,fr

Ceci va créer automatiquement, s’il existe, une sauvegarde du paquet de langue dans le dossier langpacks_backup.

Note

Les codes de langue utilisés sont les codes internationaux officiels utilisés pour les « paquets de langue Mahara » <https://langpacks.mahara.org/>`_.

Ne pas faire de sauvegarde : Ajouter le paramètre -b=false

Exemple :

sudo -u www-data php admin/cli/sync_langpacks.php -l=de,fr -b=false

Rétablir une sauvegarde : Utilisez le paramètre -r=true

Exemple :

sudo -u www-data php admin/cli/sync_langpacks.php -l=de,fr -r=true

La mise à jour de la langue anglaise est ignorée, car les chaînes anglaises sont dans le coeur de Mahara et non dans un paquet de langue.