Как можно реализовать фотогалерею из общей сетевой папки на FreeBSD?
Подскажите, пожалуйста, как можно реализовать фотогалерею из общей сетевой папки на FreeBSD?
Дано: сервер на FreeBSD, Apache, MySQL, Samba и сетевая папка, куда складывают много нелегких фотографий. Фотографии лежат по папкам. Просматривать все фотографии по сети (через explorer) - это медленно. Эскизы подгружаются долго, особенно на компах с Wi-Fi.
Хотелось бы: иметь внутреннюю корпоративную страничку, где мощный сервер будет показывать эскизы имеющихся в этих папках фотографий. Эдакий ACDSee-онлайн. Из хотелок - сортировка по датам съемки (из EXIF), кеширование эскизов, оценка фото по 3-х—5-ти бальной шкале, переименование папок и фото, удаление, перемещение.
Вообще я уже начал свою писать. Она уже умеет открывать папку и показывать эскизы всех файлов. Папка из 193 кадров с разрешением 3888px по ширине открывается за 30 секунд. Для просмотра приемлемо. Надо прикрутить дерево каталогов и кеширование. Остальное уже мелочи...
Закончу - выложу на git.
Кому интересно - пишите.
Добавил кеширование. Отдача страницы стала занимать ровно в 3 раза меньше времени, а загрузка процессоров не превышает обычную для подобной страницы (куча картинок размером по 50Кб). Сравнивал вручную.
Сделал кеширование. Первое открытие папки из 291 кадра - 40 секунд. Второе 3-4 секунды. Лайтбокс открывает картинку с бОльшим разрешением. Кешированные миниатюры складываются в ту же папку в подкаталоги preview. Осталось добавить путешествие по структуре папок и инструменты типа: удалить, отметить, сжать в архив выделенные.
Кстати, кешированная миниатюра учитывает время изменения оригинального файла и пересоздается, в случае необходимости. Список всех фото в папке строится по оригинальным фотографиям, а не по кешированным.
Погонял на двух браузерах новую папку с 479 изображениями по 3,2Мбайт каждая:
Chrome 1) 1,2 мин. 2) 22 сек (открывает все кадры по мере загрузки)
FF: 1) 1,09 мин. 2) 12 сек (долго тормозит, потом показывает всё)
1 - первая загрузка, 2 - кешированная
В процессе я обнаружил очень полезную консольную утилиту, которая прекрасно справляется с автоматической тонировкой и контрастом изображений. Автор идеи - гений!
Простой командой: aaphoto -a -q95 --overwrite *.JPG
можно обработать всю папку с фотографиями. И она совсем, имхо, не портит их.