Перевести систему на формат WebP, внедрить поддержку всех современных форматов (HEIC, AVIF и др.), у
6730 UAHПеревести систему на формат WebP, внедрить поддержку всех современных форматов (HEIC, AVIF и др.), увеличить четкость изображений, увеличить область просмотра на 30% и обеспечить корректное отображение разноформатных фото без обрезки.
| Параметр | Значение |
|---|---|
| Макс. вес файла | 15 МБ |
| Мин. разрешение | 600 px (по любой стороне) |
| Макс. разрешение | 8000 px (защита сервера) |
| PHP Memory Limit | 1024 MB |
| Хранение оригинала | 1920 px (JPEG 90%, скрытая папка |
Логика обработки изображений (через папку custom/):
- Поддержка форматов: Реализовать прием и чтение файлов
JPG, PNG, GIF, WEBP, HEIC, AVIF.
. Прием и чтение файлов (Input) JPG, PNG, GIF, WEBP, HEIC, AVIF,BMP
- Максимальный размер «Оригинала» после загрузки — 1900px по длинной стороне (высота — пропорционально).
- Этот сжатый файл сохраняется как основной источник.
- «Важное условие ресайза: Реализовать логику downscale only. Уменьшать только те изображения, размер которых превышает 1200px по длинной стороне. Изображения меньшего размера сохранять без изменения разрешения (не растягивать), выполняя только конвертацию в формат WebP».
Система должна корректно принимать, считывать и обрабатывать для последующей генерации превью следующие форматы:
Добавил пункт про EXIF-поворот (чтобы фото с телефонов не ложились на бок) и деликатную очистку от визуального шума.
Важное уточнение: «удаление ненужных деталей» на автомате (через нейросети) для 5700+ фото — задача сложная и может «покривить» сам товар. Поэтому в ТЗ мы пропишем авто-очистку через ImageMagick (удаление лишних полей, цветокоррекцию и повышение резкости)
КАТЕГОРИЧЕСКИЕ ИСКЛЮЧЕНИЯ (НЕ КОНВЕРТИРОВАТЬ)
Оставлять в оригинале (PNG/SVG/JPG), чтобы не испортить интерфейс:
Дизайн: Логотипы сайта, системные иконки, фавиконы./admin/
находится в админке " можем показать пути ,если нужно
Профили: Аватарки пользователей (/uploads/avatars/).
Реклама: Все баннеры
НЕ нужно конвертировать: Изображения, относящиеся к категориям (Недвижимость, Услуги, Транспорт и т.д.), которые отображаются на главной странице сайта,не трогать тему Nelson /themes/
Интеграция с CMS Tamaranga:
- База данных: Реализовать автоматическую подмену расширения файла на
.webpпри записи путей в таблицы БД (например, в модуле объявленийbbs). - Чистота кода: Все правки PHP-логики должны быть выполнены путем переопределения классов в директории
custom/. Прямая правка ядра (app/biff/) запрещена. - Совместимость: Обеспечить корректное отображение старых изображений в формате
.jpg, которые уже есть на сервере. - Стандартные: JPG, PNG, GIF, BMP.
- Современные: WEBP, HEIC (с iPhone), AVIF.
- Требование: Для HEIC и AVIF необходимо убедиться, что на сервере установлены соответствующие библиотеки (libheif, libavif) и ImageMagick их поддерживает.
3. Серверная обработка и Ultra-Sharp качество (Backend)
Необходимо модифицировать класс обработки изображений, внедрив цепочку фильтров для максимальной четкости:
3.1. Конвертация
- Original: Сохранять в JPEG (сжатие 90%, макс. ширина 1920px).
- Превью (Все размеры): Конвертировать в WebP (quality 82%,
method=6). - EXIF Fix: Автоматический поворот на основе данных ориентации.
Логика обработки (Image Processing Pipeline)
Все превью должны генерироваться напрямую из загруженного исходника в памяти, а не последовательно друг из друга.
Параметры ресайза для всех размеров:
- Filter:
Lanczos(обязательно для сохранения деталей). - Sharpening (Unsharp Mask):
0x0.7 + 0.7 + 0.008(радиус 0, сигма 0.7, количество 0.7, порог 0.008). - Цветовой профиль: Принудительная конвертация в
sRGB. - Контраст:
-sigmoidal-contrast 3,50%(для визуальной сочности). - Метаданные: Полное удаление (Strip EXIF/ICC,ICO).
- Colorspace: sRGB.
- Filter:
Lanczos. - Четкость (Unsharp Mask):
0x0.5 + 0.5 + 0.008. - Сочность:
-sigmoidal-contrast 3,50%. - Очистка: Удаление всех метаданных (Strip).
Сетка размеров и форматы
Перенастроить генерацию превью Tamaranga под следующие стандарты:
Префикс Размер (px) Формат Quality Назначение s 200x200 (crop) WebP 75% Иконки m 640x640(fit) WebP 80% Списки / Поиск view 1280(width) WebP 80% Карточка объявления zoom 1920 (width) WebP 82% Увеличение (Premium) original 1920 (width) JPEG 90% Архивный оригинал
Примечание: Соотношение сторон должно сохраняться согласно оригиналу (aspect ratio), указанные H (высота) являются максимально допустимыми.
Примечание: Параметры Sharpen подобрать так, чтобы не появлялось «лесенок» и белых ореолов на границах
Минимизировать нагрузку на CPU при загрузке фото (использовать штатные средства PHP
Cделатйте уведомление для пользователя при подаче обьявлений :
. Если он грузит фото 400х400, сайт должен выдать: "limit 600x600 px -как делает Тамаранга
3.2. Алгоритмы четкости (ImageMagick)
Для исключения эффекта «мыла» при уменьшении фото использовать:
- Фильтр Lanczos: Ресэмплинг при
resizeдолжен идти через высококачественный фильтр-filter Lanczos. - Unsharp Mask: После ресайза применять
-unsharp 0x0.7+0.7+0.008для микроконтраста деталей. - Цветокоррекция: Принудительный
-colorspace sRGBи легкое повышение контраста-sigmoidal-contrast 3,50%. - Контраст:
-sigmoidal-contrast 3,50%(для визуальной сочности). - Метаданные: Полное удаление (Strip EXIF/ICC).
- Качество WebP (Subsampling):
При конвертации в WebP использовать параметр-define webp:method=6(самый медленный, но самый качественный метод сжатия) и отключить хроматическую субдискретизацию (-define webp:lossless=false), если это позволяет бюджет нагрузки на CPU - EXIF Fix: Автоматический поворот на основе данных ориентации.
3.2. Алгоритмы четкости (ImageMagick)
Для исключения эффекта «мыла» при уменьшении фото использовать:
Фильтр Lanczos: Ресэмплинг при resize должен идти через высококачественный фильтр -filter Lanczos.
Unsharp Mask: После ресайза применять -unsharp 0x0.7+0.7+0.008 для микроконтраста деталей.
Цветокоррекция: Принудительный -colorspace sRGB и легкое повышение контраста -sigmoidal-contrast 3,50%.
3.3. Очистка
-trim: Авто-удаление лишних пустых полей по краям фото (чтобы товар был крупнее).
-strip: Полное удаление метаданных (GPS, данные камер) для облегчения файла.
- Контраст:
Интеллектуальный фон (для рамки):
- Для контейнеров в списке объявлений настроить заливку пустот цветом
#ffffff(белый) или использовать эффект «размытого фона» из этого же фото (по согласованию), чтобы скрыть границы разных форматов
3.3. Очистка
-trim: Авто-удаление лишних пустых полей по краям фото (чтобы товар был крупнее).-strip: Полное удаление метаданных (GPS, данные камер) для облегчения файла.
3.4. Новая сетка размеров (по длинной стороне)
- szSmall: 200 px | szMedium (Список): 640 px | szView (Карточка): 10280px | szZoom: 1600 px./
original 1920 (width) JPEG 90% Архивный оригинал
Система хранения и безопасность
- Скрытый архив: После обработки исходник 15-25МБ удаляется. Вместо него в «скрытую» папку (например,
/uploads/_hidden_storage/) сохраняется созданный original (JPEG, 1920px, 90%). - Защита:
- В папку с оригиналами положить
.htaccessсDeny from all. - В конфиге Nginx прописать
internalдля этой папки. - Добавить папку в
Disallowфайлаrobots.txt.
- В папку с оригиналами положить
5. Frontend (Отображение)
В шаблонах вывода изображений (.tpl) реализовать поддержку тега <picture> для корректной работы WebP с фолбеком на JPEG (оригинал) для старых браузеров:
html
<picture>
<source srcset="image.webp" type="image/webp">
<img src="original.jpg" alt="title">
</picture>
Используйте код с осторожностью.
.
4. Frontend: Визуальная сетка и пропорции (CSS)
Задача: сделать карточки на 30% крупнее, сохранив индивидуальные пропорции фото.
- Увеличение: Увеличить размер плитки объявления на ПК на 30%.
- Фиксированная рамка: Создать контейнер для фото с жестко заданной высотой (например, 300px) и фоном
#ffffff. - Логика пропорций:
- Использовать
object-fit: contain;. - Вертикальные, горизонтальные и квадратные фото должны быть полностью видны без обрезки.
- Все фото должны быть отцентрованы внутри рамки.
- Логика пропорций:
Использовать object-fit: contain;.
Вертикальные, горизонтальные и квадратные фото должны быть полностью видны без обрезки.
Все фото должны быть отцентрованы внутри рамки.
- Использовать
- Выравнивание: Цены и названия под фото должны быть выстроены строго в одну линию во всем ряду, независимо от формы изображения выше.
Логика вывода в списках (Frontend)
Необходимо внедрить адаптивную верстку через тег <picture> во всех шаблонах (.tpl):
Мобильная версия (Смартфоны):
- Контейнер: В списке объявлений на смартфоне использовать строго одинаковые (фиксированные) размеры контейнеров для фото.
- Масштабирование: Запретить автоматическое увеличение (upscale) изображений на 30% (как это реализовано на ПК). Фото должно вписываться в контейнер «как есть», сохраняя четкость пиксель-в-пиксель.
ПК версия:
- Оставить стандартную логику отображения с учетом высокого разрешения (использовать WebP из пресета zoom/1920px для премиум-блоков).
5. Конфигурация и открытость кода
- Доступ: Код плагина должен быть полностью открытым (без IonCube).
- Конфиг: Вынести в отдельный открытый файл (или массив в начале кода) все ключевые параметры:
- Ширину всех префиксов (1280, 1920 и т.д.).
- Качество WebP и JPEG.
- Все коэффициенты Unsharp Mask (
0.5,0.5,0.008) и Sigmoidal Contrast (3).
Список объявлений (Лента/Плитка)
- Увеличение: Увеличить контейнеры объявлений на 30% относительно текущих на ПК.
- Фиксированная рамка: Создать жесткий контейнер для фото с фиксированной высотой (например, 280-300px).
- Сохранение пропорций: Использовать
object-fit: contain;внутри рамки.- Результат: Вертикальные фото (платья) стоят в полный рост, горизонтальные (авто) видны во всю длину. Никакой обрезки краев.
- Центрирование: Фото должно быть отцентровано по вертикали и горизонтали внутри рамки.
- Выравнивание сетки: Цены, названия и кнопки под фото должны начинаться строго на одной горизонтальной линии, независимо от формы фото над ними.
3.2. Карточка товара
- Использовать
object-fit: contain;для основного фото. - Обеспечить корректную работу галереи с WebP форматом
Раздел: Логика отображения (Плавающие пропорции)
- Отказ от жесткого квадрата: Запрещено обрезать изображения через
object-fit: cover. Все фото в списке должны быть видны полностью (object-fit: containили обычныйdisplay: block). - Группировка по типу:
- Все горизонтальные фото должны иметь
- Отказ от жесткого квадрата: Запрещено обрезать изображения через
Приложения 2
-
5 дней6730 UAH5 дней6730 UAH
Добрый день, разрабатываю и обслуживаю сайты более 8-ми лет. Такие задачи реализовывал не один раз, выполню качественно, соблюдая все требования. Примеры работ предоставлю в личные сообщения. Напишите мне, обсудим!
-
1 день6730 UAH1 день6730 UAH
Здравствуйте!
Мы dZENcode – компания полного цикла разработки цифровых решений: от дизайна и программирования до интеграций и пострелизной поддержки.
Берём проекты с нуля и подключаемся к доработке существующих решений.
Мы можем помочь вам с переводом обработки изображений и обновлением отображения под эту задачу.
Какие категории изображений нужно точно исключить из конвертации?
Можем обсудить содержание прикрепленного прямо здесь?
…
Подробную информацию о наших услугах и ставках вы найдёте на сайте:Freelancehunt
Посмотрите – дальше обсудим детали работы, пишите, как будете готовы.
⚠️ После уточнения всех деталей определим объём, подходящий формат сотрудничества: позадачно, аутсорс или аутстафф и финальную стоимость.
_________________
С уважением,
Denis / dZENcode
Почему с нами проекты гарантировано доходят до релиза:
💎 10+ лет оказываем IT-услуги;
🔥 90+ штатных специалистов;
🚀 250+ публичных отзывов с 2015 года;
⚙️ Поддерживаем продукт по SLA после запуска;
✅ Работаем по NDA и договору с компанией!
-
12 дней67 303 UAH12 дней67 303 UAH
Здравствуйте!
Меня зовут Евгений, уже 7 лет я профессионально занимаюсь разработкой мобильных приложений, сайтов, веб-сервисов и веб-приложений.
*Стоимость указал за 1 час работы. Чтобы детальнее дать цену, хотел бы связаться/созвониться и обсудить детали.
- Портфолио, отзывы и награды можно изучить в моем профиле.
Почему нужно выбрать меня?
… - Занимал 1 и 2 места на международных чемпионатах и соревнованиях в IT-сфере
- У меня есть подтвержденные видеоотзывы, благодарственные письма
- Я всегда на связи, честный и адекватный
- Работаю по Договору
- Руковожу собственной командой разработки
Буду рад поговорить с Вами подробнее о проекте.
-
12 дней71 790 UAH12 дней71 790 UAH
Ваша задача по трансформации системы для поддержки WebP и новых форматов является сложным проектом, требующим не только технического подхода, но и понимания существующей архитектуры. Я вижу три ключевых аспекта работы: первое - интеграция новых форматов с учетом уже существующих данных, что потребует разработки и тестирования новой логики обработки изображений; второе - реализация автоматической замены форматов в базе данных при записи данных, для чего необходимо будет внести изменения в класс обработки; третье - оптимизация процесса сжатия с учетом качества и скорости работы сервера.
Среди рисков: может возникнуть непредсказуемое поведение системы при обработке старых изображений, необходимость проведения всестороннего тестирования и доработок, а также возможная проблема с отображением изображений на неподдерживаемых платформах. Пожалуйста, уточните, используете ли вы уже готовые библиотеки для обработки изображений и какие версии серверного программного обеспечения у вас установлены.
Я готов предложить вам всю необходимую реализацию этого проекта, чтобы система не только соответствовала вашим требованиям, но и работала без сбоев. Реальная стоимость проекта составит 76000 гривен, а выполнение займет около 24 дней с учетом тестирования и оптимизации. По деталям можем быстро обсудить следующие шаги.
-
16 дней20 191 UAH
421 16 дней20 191 UAHЗдравствуйте, Хас,
Указанная выше задача немного объемная, но не беспокойтесь, она все же выполнима. Прежде чем перейти к деталям, мне нужна следующая информация:
- Доступ по SSH или к панели сервера для проверки версии ImageMagick и поддержки библиотек
- Подтверждение пути к папкам админ-панели и тем
- Подтверждение вашей текущей версии Tamaranga
-
7 дней13 461 UAH
339 1 0 7 дней13 461 UAHДобрый день. Ознакомилась с ТЗ.
Задача реальная, но это не просто конвертация фото в WebP. Здесь нужно изменять логику загрузки и обработки изображений в Tamaranga, настраивать генерацию превью, проверять поддержку HEIC/AVIF на сервере, работать с ImageMagick, обновлять пути в БД, сохранить совместимость со старыми фото и отдельно прописать исключения для логотипов, аватарок, баннеров и системных изображений.
Важный момент: поддержка HEIC/AVIF зависит от сервера. Если на сервере нет нужных библиотек для ImageMagick, их нужно будет дополнительно устанавливать или согласовывать с хостингом.
Также нужно уточнить, нужно ли обрабатывать уже существующие 5700+ фото, или только новые загрузки. Массовая обработка старых фото — это отдельный этап, потому что нужно делать через бэкап и тестирование, чтобы не повредить существующие изображения и пути.
Для точной оценки мне нужны:
… 1. доступ к админке Tamaranga;
2. FTP/SFTP или доступ к файлам;
3. доступ к БД или phpMyAdmin;
4. информация о сервере: версия PHP, ImageMagick/Imagick/GD, поддержка WebP/HEIC/AVIF;
5. есть ли возможность устанавливать серверные библиотеки;
6. есть ли тестовая копия сайта или возможность её сделать;
7. примеры страниц, где нужно изменить отображение фото;
8. список папок, которые точно нельзя трогать.
-
12 дней6730 UAH
231 12 дней6730 UAHПодскажите, пожалуйста: какой стек сервера (ОС, PHP, версия ImageMagick) и установлены ли libheif/libavif? Какая БД у Tamaranga, и предоставите ли точный список путей-исключений и .tpl-шаблонов для правок? Отдельно подтвердите, есть ли готовые хуки/класс в custom/ для подмены расширений в БД.
У нас 4 года опыта с JS+Python и опыт построения пайплайнов ImageMagick: прием WebP/HEIC/AVIF, EXIF-rotate, downscale-only, Lanczos+unsharp, sRGB/contrast, автотрим и strip. Интегрируем с Tamaranga через custom/ (подмена путей в БД, генерация превью напрямую из оригинала), настроим picture с фолбеком, Nginx/.htaccess. На фронте сделаем object-fit: contain, увеличим плитки на 30%, выровняем грид.
Готовы стартовать с короткого аудита и PoC на 10 фото, далее — миграция 5700+. Напишите, чтобы согласовать доступы и дедлайны.
-
Ещё один проект который постоянно публикуется. Куда деваются те кто уже за него брался? Почему не справляются? Либо вы не оплачиваете?
-
вечный проект за три копейки
-
В следующий раз - за поиск проектов сажусь с кофе 😂
-
Актуальные фриланс-проекты в категории Веб-программирование
Создание сайта для компании по натяжным потолкам в Польше
17 803 UAH
Необходимо разработать современный премиальный сайт для компании по натяжным потолкам в Польше (Sufity Melan). Основная цель сайта — привлечение клиентов из Польши через Google и рекламу. Требования к сайту: Современный премиальный дизайн. Адаптация под мобильные телефоны и… HTML и CSS верстка, Веб-программирование ∙ 31 минута назад ∙ 38 ставок |
Необходимо сделать современный сайт для компании натяжных потолков в Польше
28 485 UAH
Нужен современный премиальный дизайн, адаптация под мобильные устройства, быстрое загрузка, SEO, анимации, калькулятор, портфолио, форма заявки. Желателен опыт создания сайтов в Польше, лендингов для строительных или ремонтных компаний. Обязательно отправьте примеры своих работ. HTML и CSS верстка, Веб-программирование ∙ 1 час 19 минут назад ∙ 75 ставок |
Ищем фронтенд разработчика для учебной платформыFrontend-разработчик https://www.figma.com/design/vXKC6kfWOeDBX2464BXqRv/%D0%A2%D0%97?node-id=0-1&p=f&t=OJxQ9DF0zXBNnBJv-0 Привет! Ищем frontend-разработчика для работы над современной музыкальной платформой Muse. Проект уже имеет готовый дизайн в Figma,… HTML и CSS верстка, Веб-программирование ∙ 3 часа 7 минут назад ∙ 59 ставок |
Редизайн и SEO-оптимизация сайта на платформе Prom.uaТехническое задание Сайт: protone.com.uaОсновная цель Необходимо сделать сайт современным, визуально привлекательным, удобным для пользователя и максимально подготовленным к продвижению в поисковых системах и внутри маркетплейса Prom.ua. Основной акцент — улучшение дизайна,… Веб-программирование, Дизайн сайтов ∙ 3 часа 36 минут назад ∙ 16 ставок |
Нужен разработчик Drupal для правок на нескольких сайтах.Нужен разработчик Drupal для правок на нескольких сайтах. Сайт раздувается и заполняет весь хостинг .. HTML и CSS верстка, Веб-программирование ∙ 7 часов 31 минута назад ∙ 28 ставок |