Технічне завдання: Інтеграція Cloudinary з підтримкою HEIC, лімітів 15Мб і тотальним WebPПроект: Дошка оголошень на движку Tamaranga v2.Ціль: Перевести логіку завантаження, обробки та відображення користувацьких фото на хмарний сервіс Cloudinary. Це необхідно для розвантаження сервера, підтримки формату HEIC з iPhone, обходу старих лімітів движка та прискорення сайту за рахунок формату WebP [посилання]. Доопрацювання виконуються локально у фронтенді та шаблонах темізації, без втручання в ядро бекенда.1. Вимоги до завантаження та валідації (Фронтенд)Заміна UI: Заміна стандартного завантажувача Tamaranga на офіційний JavaScript-віджет Cloudinary Upload Widget.Функціонал віджета: Всередині віджета повинні бути активні: індикатор завантаження (loader), попередній перегляд (preview) вибраних фото та адаптивний інструмент обрізки/кадрирования (cropper), повністю керований пальцями на смартфонах.Валідація файлів (Обмеження): Налаштувати жорсткі ліміти прямо всередині віджета:Мінімальне розширення вихідного фото: 600px по меншій стороні.Максимальне розширення вихідного фото: 8000px.Максимальна вага файлу: 15 Мб.При порушенні лімітів віджет повинен виводити користувачу зрозумілу помилку російською мовою.2. Оптимізація зберігання в хмаріIncoming Transformation: Налаштувати в особистому кабінеті Cloudinary автоматичне стиснення оригіналів при вхідному потоці. Усі завантажувані файли (включаючи важкі фото до 15 Мб і формат HEIC) повинні на стороні хмари автоматично оптимізуватися та масштабуватися до максимального робочого розширення 1920px (розмір original/zoom), щоб економити дисковий простір на безкоштовному тарифі.3. Тотальний переклад у WebP і нова сітка прев'юВ шаблонах виводу оголошень (на головній, в категоріях, на сторінці самого оголошення) замінити генерацію старих локальних картинок на динамічні URL-посилання Cloudinary.Усі зображення повинні генеруватися на льоту з обов'язковим використанням прапора f_auto (автоматичний переклад у WebP/AVIF для сучасних браузерів) та прапора q_auto (автоматичне розумне стиснення якості без видимої втрати чіткості) [посилання].Нові розміри прев'ю (замість старих s98/m180):s200 (маленьке прев'ю): посилання виду .../w_200,h_200,c_fill,f_auto,q_auto/... (строгий квадрат 200х200px з обрізкою по центру).m640 (середнє прев'ю): посилання виду .../w_640,c_limit,f_auto,q_auto/... (пропорційне зменшення до 640px по ширині).view1280 (основне фото): посилання виду .../w_1280,c_limit,f_auto,q_auto/....zoom1920 (збільшення): посилання виду .../w_1920,c_limit,f_auto,q_auto/....original1920 (оригінал): посилання виду .../w_1920,c_limit,f_auto,q_auto/....4. Інтеграція з бекендом Tamaranga v2Отримані від Cloudinary текстові URL-посилання на завантажені зображення повинні передаватися в стандартні поля форми Tamaranga, які движок вже вміє приймати.Реалізувати підміну так, щоб бекенд записував у базу даних тільки текстовий шлях (рядок URL).Зворотна сумісність: Старі оголошення, завантажені до цього доопрацювання, не повинні зламатися. Вони продовжують відображати старі локальні прев'ю з папок сервера
По покращенню чіткості (Retina і Преміум):До посилань виводу всіх зображень на сайті додати параметр dpr_auto, щоб на екранах Retina (iPhone, сучасні смартфони та ноутбуки) прев'ю автоматично відображалися в підвищеній чіткості [посилання].Для Преміум-оголошень і основного списку оголошень (пошук оголошень) та галереї всередині картки товару використовувати максимальний режим якості q_auto:best [посилання], а також застосувати фільтр адаптивного покращення різкості e_sharpen:50, щоб виділити їх візуально на фоні звичайного списку.Для стандартних оголошень у списку залишити базовий режим q_auto (або q_auto:good) [посилання].