18. Interface en ligne de commandes (CLI)

Les interfaces en lignes de commandes (CLI) vous permettent d’interagir avec Mahara par le biais de la ligne de commande ou du terminal plutôt que par une interface graphique. Cela peut accélérer certaines actions ou les rendre plus faciles à exécuter.

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 gros site et que vous avez supprimé un grand nombre de comptes, vous pouvez également souhaiter nettoyer les anciens groupes de manière efficace. Vous pouvez faire ce qui suit avec le script de suppression en masse de groupes :

  • supprimer tous les groupes qui n’ont pas de membres, par exemple après que les comptes 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 comptes en masse

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

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

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

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

  • supprimer les comptes 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.