diff --git a/gestion_comptes.sh b/gestion_comptes.sh new file mode 100644 index 0000000..a7e1691 --- /dev/null +++ b/gestion_comptes.sh @@ -0,0 +1,108 @@ +#!/bin/bash +# gestion_comptes.sh - Gestion avancée des comptes SNT + +NEXTCLOUD_DATA="/var/www/html/nextcloud/data" +NEXTCLOUD_ROOT="/var/www/html/nextcloud" +PROF_USERNAME="profsnt" + +case "$1" in + "ajouter") + echo "📝 Ajout de nouveaux comptes depuis $2" + ./setup_complet_snt_v2.sh "$2" + ;; + + "lister") + echo "📋 Liste des comptes créés :" + if [[ -f "comptes_crees.csv" ]]; then + echo "Total: $(wc -l < comptes_crees.csv) comptes" + echo "" + column -t -s',' comptes_crees.csv + else + echo "Aucun fichier comptes_crees.csv trouvé" + fi + + echo "" + echo "👥 Membres du groupe 'eleves' :" + sudo -u www-data php "$NEXTCLOUD_ROOT/occ" group:list-users eleves + ;; + + "groupe") + echo "👥 Gestion du groupe eleves" + echo "" + echo "Membres actuels :" + sudo -u www-data php "$NEXTCLOUD_ROOT/occ" group:list-users eleves + echo "" + echo "Statistiques :" + nb_membres=$(sudo -u www-data php "$NEXTCLOUD_ROOT/occ" group:list-users eleves | wc -l) + echo " Nombre de membres : $nb_membres" + ;; + + "quota-groupe") + echo "📊 Définir quota pour tous les élèves du groupe" + read -p "Nouveau quota (ex: 125 MB, 200 MB) : " nouveau_quota + + if [[ -n "$nouveau_quota" ]]; then + echo "Application du quota $nouveau_quota à tous les élèves..." + sudo -u www-data php "$NEXTCLOUD_ROOT/occ" group:list-users eleves | while read username; do + sudo -u www-data php "$NEXTCLOUD_ROOT/occ" user:setting "$username" files quota "$nouveau_quota" + echo " ✅ $username : $nouveau_quota" + done + echo "✅ Quota appliqué à tous les membres du groupe" + fi + ;; + + "sauvegarder") + DATE=$(date +%Y%m%d_%H%M) + cp comptes_crees.csv "comptes_crees_backup_$DATE.csv" + echo "✅ Sauvegarde créée : comptes_crees_backup_$DATE.csv" + ;; + + "verifier") + echo "🔍 Vérification des comptes..." + while IFS=',' read -r username password email classe; do + [[ "$username" = "Username" ]] && continue + + if sudo -u www-data php "$NEXTCLOUD_ROOT/occ" user:info "$username" > /dev/null 2>&1; then + echo "✅ $username : OK" + else + echo "❌ $username : MANQUANT" + fi + done < comptes_crees.csv + ;; + + "nettoyer") + echo "⚠️ ATTENTION: Suppression de tous les comptes listés dans comptes_crees.csv" + read -p "Continuer? (oui/non): " confirm + + if [[ "$confirm" = "oui" ]]; then + while IFS=',' read -r username password email classe; do + [[ "$username" = "Username" ]] && continue + + echo "🗑️ Suppression: $username" + sudo -u www-data php "$NEXTCLOUD_ROOT/occ" user:delete "$username" + done < comptes_crees.csv + + # Supprimer les dossiers classes + rm -rf "$NEXTCLOUD_DATA/$PROF_USERNAME/files/Classes_SNT" + + # Archiver le fichier + DATE=$(date +%Y%m%d_%H%M) + mv comptes_crees.csv "comptes_crees_supprime_$DATE.csv" + + echo "✅ Nettoyage terminé" + fi + ;; + + *) + echo "Usage: $0 {ajouter|lister|groupe|quota-groupe|sauvegarder|verifier|nettoyer}" + echo "" + echo "Commandes :" + echo " ajouter fichier.csv - Ajoute de nouveaux comptes" + echo " lister - Liste tous les comptes créés" + echo " groupe - Affiche les membres du groupe eleves" + echo " quota-groupe - Défini quota pour tous les élèves" + echo " sauvegarder - Sauvegarde comptes_crees.csv" + echo " verifier - Vérifie que tous les comptes existent" + echo " nettoyer - Supprime tous les comptes (DANGER)" + ;; +esac \ No newline at end of file