# Sync Foto Wajah dari Google Drive untuk Smart Presensi Foto wajah siswa dipakai untuk **verifikasi wajah** di aplikasi mobile (absen masuk/pulang). Foto disimpan di backend: `writable/faces/{student_id}.jpg`. ## Sumber foto Folder contoh: [Foto Siswa Kls XII TP 25-26](https://drive.google.com/drive/folders/16E84NFGYPItaTANQwEyMQW5rkTCt6Asy) — berisi subfolder per kelas (XII-1, XII-2, … XII-12, Susulan). ## Cara 1: Download manual lalu jalankan script 1. **Download folder dari Google Drive** - Buka folder di Drive, pilih semua subfolder (XII-1 … XII-12), lalu **Download** (zip). - Ekstrak ke suatu folder, misalnya `C:\temp\foto-siswa-xii`. 2. **Konvensi nama file** - Setiap foto **wajib** bernama **NISN** siswa + ekstensi, contoh: - `1234567890.jpg` atau `1234567890.png` - Jika di Drive nama file bukan NISN (misalnya "Budi Santoso.jpg"), rename dulu per file sesuai NISN siswa. 3. **Jalankan script sync** - Dari **folder backend** (bukan dari scripts): ```bash cd c:\laragon\www\sman1\backend php scripts/sync_face_photos.php --source=C:\temp\foto-siswa-xii ``` - Script akan: - Scan semua subfolder (XII-1, XII-2, dll.), - Untuk setiap file gambar (.jpg, .jpeg, .png), ambil nama file tanpa ekstensi = NISN, - Cari siswa di database berdasarkan NISN, - Copy file ke `writable/faces/{student_id}.jpg`. ## Cara 2: Upload per siswa lewat dashboard (rencana) Ke depan bisa ditambah halaman di **Pengaturan Academic → Siswa**: per siswa ada tombol "Upload foto wajah", simpan ke `writable/faces/{student_id}.jpg`. ## API untuk mobile - **GET** `/api/mobile/student/face-photo?student_id=123` Mengembalikan gambar foto wajah siswa (atau 404 jika belum ada). Dipakai aplikasi mobile untuk memuat foto referensi lalu membandingkan dengan wajah yang terdeteksi kamera (face-api.js). ## Ringkas | Yang diatur | Keterangan | |-------------|------------| | Penyimpanan | `writable/faces/{student_id}.jpg` (atau .png) | | Mapping | Nama file = NISN → cari siswa → simpan dengan student_id | | Sumber | Download folder Drive → rename file = NISN → jalankan script sync |