18. Interface en ligne de commandes (CLI)

L’interface en ligne de commandes (CLI) permet aux utilisateurs avancés d’interagir avec Mahara à l’aide du terminal à la place d’une interface graphique. Ceci permet de gérer plus rapidement et plus pratiquement certaines actions dans la gestion technique de Mahara.

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

Si vous avez un grand site et que vous avez supprimé un grand nombre d’utilisateurs, vous pouvez également souhaiter nettoyer les anciens groupes de manière efficace. Vous pouvez faire ce qui suit avec le script de suppression par lots de groupes :

  • supprimer tous les groupes qui n’ont plus de membres, par exemple après que les utilisateurs aient été supprimés ;

  • 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. Supprimer certains utilisateurs par lots

Si vous souhaitez supprimer des utilisateurs du site par lots, sans avoir à passer par l’écran d’administration, surtout si vous avez plus de 500 utilisateurs à supprimer, vous pouvez utiliser le CLI. Ce script vous permet d’effectuer les opérations suivantes :

  • supprimer tous les utilisateurs qui ne se sont jamais connectés, c’est-à-dire qui ont été créés manuellement, via un fichier CSV, ou un processus automatisé ;

  • et / ou supprimer tous les utilisateurs qui ne se sont pas connectés depuis une certaine date ;

  • et / ou supprimer uniquement les utilisateurs d’une institution spécifique ;

  • supprimer les utilisateurs qui sont membres d’un groupe spécifique.

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.