diff --git a/backend/app/routers/settings.py b/backend/app/routers/settings.py index 5344fa2..d9327d2 100644 --- a/backend/app/routers/settings.py +++ b/backend/app/routers/settings.py @@ -8,9 +8,10 @@ from datetime import datetime, timezone from pathlib import Path from typing import Any -from fastapi import APIRouter, Depends, HTTPException +from fastapi import APIRouter, Depends, File, Form, HTTPException, UploadFile from fastapi.responses import FileResponse from starlette.background import BackgroundTask +from sqlalchemy import text from sqlmodel import Session, select from app.database import get_session from app.models.settings import UserSettings @@ -283,6 +284,185 @@ def download_backup_zip() -> FileResponse: ) +def _merge_db_add_only(backup_db_path: Path, current_db_path: Path) -> dict[str, int]: + """Insère dans la BDD courante les lignes absentes de la BDD de sauvegarde (INSERT OR IGNORE).""" + import sqlite3 + + stats = {"rows_added": 0, "rows_skipped": 0} + backup_conn = sqlite3.connect(str(backup_db_path)) + current_conn = sqlite3.connect(str(current_db_path)) + current_conn.execute("PRAGMA foreign_keys=OFF") + + try: + tables = backup_conn.execute( + "SELECT name FROM sqlite_master WHERE type='table' AND name NOT LIKE 'sqlite_%'" + ).fetchall() + + for (table,) in tables: + try: + cur = backup_conn.execute(f'SELECT * FROM "{table}"') + cols = [d[0] for d in cur.description] + rows = cur.fetchall() + if not rows: + continue + col_names = ", ".join(f'"{c}"' for c in cols) + placeholders = ", ".join(["?"] * len(cols)) + before = current_conn.execute(f'SELECT COUNT(*) FROM "{table}"').fetchone()[0] + current_conn.executemany( + f'INSERT OR IGNORE INTO "{table}" ({col_names}) VALUES ({placeholders})', + rows, + ) + after = current_conn.execute(f'SELECT COUNT(*) FROM "{table}"').fetchone()[0] + added = after - before + stats["rows_added"] += added + stats["rows_skipped"] += len(rows) - added + except Exception: + pass + + current_conn.commit() + finally: + backup_conn.close() + current_conn.close() + + return stats + + +@router.post("/settings/backup/restore") +async def restore_backup( + file: UploadFile = File(...), + overwrite: bool = Form(default=True), +) -> dict[str, Any]: + """Restaure une sauvegarde ZIP (DB + uploads). overwrite=true écrase, false ajoute uniquement.""" + import shutil + + db_path = _resolve_sqlite_db_path() + uploads_dir = Path(UPLOAD_DIR).resolve() + + data = await file.read() + if len(data) < 4 or data[:2] != b'PK': + raise HTTPException(400, "Le fichier n'est pas une archive ZIP valide.") + + fd, tmp_zip_path = tempfile.mkstemp(suffix=".zip") + os.close(fd) + tmp_zip = Path(tmp_zip_path) + tmp_extract = Path(tempfile.mkdtemp(prefix="jardin_restore_")) + + try: + tmp_zip.write_bytes(data) + + with zipfile.ZipFile(tmp_zip, "r") as zipf: + zipf.extractall(str(tmp_extract)) + + stats: dict[str, Any] = { + "uploads_copies": 0, + "uploads_ignores": 0, + "db_restauree": False, + "db_lignes_ajoutees": 0, + "erreurs": 0, + } + + # --- Uploads --- + backup_uploads = tmp_extract / "uploads" + if backup_uploads.is_dir(): + uploads_dir.mkdir(parents=True, exist_ok=True) + for src in backup_uploads.rglob("*"): + if not src.is_file(): + continue + dst = uploads_dir / src.relative_to(backup_uploads) + dst.parent.mkdir(parents=True, exist_ok=True) + if overwrite or not dst.exists(): + try: + shutil.copy2(str(src), str(dst)) + stats["uploads_copies"] += 1 + except Exception: + stats["erreurs"] += 1 + else: + stats["uploads_ignores"] += 1 + + # --- Base de données --- + backup_db_dir = tmp_extract / "db" + db_files = sorted(backup_db_dir.glob("*.db")) if backup_db_dir.is_dir() else [] + + if db_files and db_path: + backup_db_file = db_files[0] + + if overwrite: + from app.database import engine + try: + with engine.connect() as conn: + conn.execute(text("PRAGMA wal_checkpoint(TRUNCATE)")) + except Exception: + pass + engine.dispose() + shutil.copy2(str(backup_db_file), str(db_path)) + stats["db_restauree"] = True + else: + merge = _merge_db_add_only(backup_db_file, db_path) + stats["db_lignes_ajoutees"] = merge["rows_added"] + stats["db_restauree"] = True + + return {"ok": True, **stats} + + except HTTPException: + raise + except Exception as exc: + raise HTTPException(500, f"Erreur lors de la restauration : {exc}") from exc + finally: + _safe_remove(str(tmp_zip)) + shutil.rmtree(str(tmp_extract), ignore_errors=True) + + +@router.post("/settings/images/resize-all") +def resize_all_images(session: Session = Depends(get_session)) -> dict[str, Any]: + """Redimensionne les images pleine taille de la bibliothèque dont la largeur dépasse le paramètre configuré.""" + from PIL import Image + import io as _io + + setting = session.exec(select(UserSettings).where(UserSettings.cle == "image_max_width")).first() + max_px = 1200 + if setting: + try: + max_px = int(setting.valeur) + except (ValueError, TypeError): + pass + + if max_px <= 0: + return {"ok": True, "redimensionnees": 0, "ignorees": 0, "erreurs": 0, + "message": "Taille originale configurée — aucune modification."} + + from app.models.media import Media as MediaModel + urls = session.exec(select(MediaModel.url)).all() + + uploads_dir = Path(UPLOAD_DIR).resolve() + redimensionnees = 0 + ignorees = 0 + erreurs = 0 + + for url in urls: + if not url: + continue + # /uploads/filename.webp → data/uploads/filename.webp + filename = url.lstrip("/").removeprefix("uploads/") + file_path = uploads_dir / filename + if not file_path.is_file(): + ignorees += 1 + continue + try: + with Image.open(file_path) as img: + w, h = img.size + if w <= max_px and h <= max_px: + ignorees += 1 + continue + img_copy = img.copy() + img_copy.thumbnail((max_px, max_px), Image.LANCZOS) + img_copy.save(file_path, "WEBP", quality=85) + redimensionnees += 1 + except Exception: + erreurs += 1 + + return {"ok": True, "redimensionnees": redimensionnees, "ignorees": ignorees, "erreurs": erreurs} + + @router.post("/settings/backup/samba") def backup_to_samba(session: Session = Depends(get_session)) -> dict[str, Any]: """Envoie une sauvegarde ZIP vers un partage Samba/CIFS.""" diff --git a/data/jardin.db b/data/jardin.db index ffe206f..85608d6 100755 Binary files a/data/jardin.db and b/data/jardin.db differ diff --git a/data/jardin.db-shm b/data/jardin.db-shm new file mode 100755 index 0000000..fe9ac28 Binary files /dev/null and b/data/jardin.db-shm differ diff --git a/data/jardin.db-wal b/data/jardin.db-wal new file mode 100755 index 0000000..e69de29 diff --git a/data/uploads/006595e2-598a-477a-a8ab-8b5c40630fda.webp b/data/uploads/006595e2-598a-477a-a8ab-8b5c40630fda.webp new file mode 100755 index 0000000..daa8531 Binary files /dev/null and b/data/uploads/006595e2-598a-477a-a8ab-8b5c40630fda.webp differ diff --git a/data/uploads/01c05aed-27a4-4902-b99d-9a1a27957b91.jpg b/data/uploads/01c05aed-27a4-4902-b99d-9a1a27957b91.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/02e37d30-acc0-486c-9512-3f7b421e1eb2.webp b/data/uploads/02e37d30-acc0-486c-9512-3f7b421e1eb2.webp new file mode 100755 index 0000000..5e68a8b Binary files /dev/null and b/data/uploads/02e37d30-acc0-486c-9512-3f7b421e1eb2.webp differ diff --git a/data/uploads/0594f290-baf1-432e-9f38-ce6705b66283.webp b/data/uploads/0594f290-baf1-432e-9f38-ce6705b66283.webp new file mode 100755 index 0000000..66101e1 Binary files /dev/null and b/data/uploads/0594f290-baf1-432e-9f38-ce6705b66283.webp differ diff --git a/data/uploads/0bb04cc6-9de8-4976-9f61-9edc389d5874.webp b/data/uploads/0bb04cc6-9de8-4976-9f61-9edc389d5874.webp new file mode 100755 index 0000000..5feeda1 Binary files /dev/null and b/data/uploads/0bb04cc6-9de8-4976-9f61-9edc389d5874.webp differ diff --git a/data/uploads/0bb04cc6-9de8-4976-9f61-9edc389d5874_thumb.webp b/data/uploads/0bb04cc6-9de8-4976-9f61-9edc389d5874_thumb.webp new file mode 100755 index 0000000..1cdbbe5 Binary files /dev/null and b/data/uploads/0bb04cc6-9de8-4976-9f61-9edc389d5874_thumb.webp differ diff --git a/data/uploads/0cf928a2-4e1e-4f80-b808-aa066ce3f174.jpg b/data/uploads/0cf928a2-4e1e-4f80-b808-aa066ce3f174.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/119cd18a-50a6-40df-8c72-b5711c6ea7f2.jpg b/data/uploads/119cd18a-50a6-40df-8c72-b5711c6ea7f2.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/14cb5845-82fb-412e-82e8-16eeed8e920b.jpg b/data/uploads/14cb5845-82fb-412e-82e8-16eeed8e920b.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/17fc4089-d703-4365-b77c-ac9d4ce0734e.webp b/data/uploads/17fc4089-d703-4365-b77c-ac9d4ce0734e.webp new file mode 100755 index 0000000..6998f0a Binary files /dev/null and b/data/uploads/17fc4089-d703-4365-b77c-ac9d4ce0734e.webp differ diff --git a/data/uploads/17fc4089-d703-4365-b77c-ac9d4ce0734e_thumb.webp b/data/uploads/17fc4089-d703-4365-b77c-ac9d4ce0734e_thumb.webp new file mode 100755 index 0000000..cbcbbfb Binary files /dev/null and b/data/uploads/17fc4089-d703-4365-b77c-ac9d4ce0734e_thumb.webp differ diff --git a/data/uploads/185159c5-d396-4d1a-aa5b-9c2a6c6267d6.jpg b/data/uploads/185159c5-d396-4d1a-aa5b-9c2a6c6267d6.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/2057b56f-96a4-4f39-bb9a-24b94e1144e3.webp b/data/uploads/2057b56f-96a4-4f39-bb9a-24b94e1144e3.webp new file mode 100755 index 0000000..be955d5 Binary files /dev/null and b/data/uploads/2057b56f-96a4-4f39-bb9a-24b94e1144e3.webp differ diff --git a/data/uploads/21e17e36-fac4-4f8f-8217-50ed14d70ff4.webp b/data/uploads/21e17e36-fac4-4f8f-8217-50ed14d70ff4.webp new file mode 100755 index 0000000..ef4b0bd Binary files /dev/null and b/data/uploads/21e17e36-fac4-4f8f-8217-50ed14d70ff4.webp differ diff --git a/data/uploads/22dcb011-58e2-4bcc-a77a-2ab9ea406f50.webp b/data/uploads/22dcb011-58e2-4bcc-a77a-2ab9ea406f50.webp new file mode 100755 index 0000000..4e0b35d Binary files /dev/null and b/data/uploads/22dcb011-58e2-4bcc-a77a-2ab9ea406f50.webp differ diff --git a/data/uploads/24e6659c-2a5b-49b4-9e4b-ea06f572a1c6.webp b/data/uploads/24e6659c-2a5b-49b4-9e4b-ea06f572a1c6.webp new file mode 100755 index 0000000..aaee895 Binary files /dev/null and b/data/uploads/24e6659c-2a5b-49b4-9e4b-ea06f572a1c6.webp differ diff --git a/data/uploads/2749da16-ebef-4df0-b03f-0905468b1a08.webp b/data/uploads/2749da16-ebef-4df0-b03f-0905468b1a08.webp old mode 100644 new mode 100755 diff --git a/data/uploads/2826ce60-929c-447b-82cd-d95166d1a364.jpg b/data/uploads/2826ce60-929c-447b-82cd-d95166d1a364.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/287e9fb3-71eb-40c5-9631-d3742569e094.webp b/data/uploads/287e9fb3-71eb-40c5-9631-d3742569e094.webp new file mode 100755 index 0000000..d35987d Binary files /dev/null and b/data/uploads/287e9fb3-71eb-40c5-9631-d3742569e094.webp differ diff --git a/data/uploads/2d932f30-68b6-4a31-93b8-811086f25832.webp b/data/uploads/2d932f30-68b6-4a31-93b8-811086f25832.webp new file mode 100755 index 0000000..55b1aee Binary files /dev/null and b/data/uploads/2d932f30-68b6-4a31-93b8-811086f25832.webp differ diff --git a/data/uploads/2e670eec-bf29-4c9e-8634-87dcea54274e.jpg b/data/uploads/2e670eec-bf29-4c9e-8634-87dcea54274e.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/2ec78e11-8298-482d-95c5-42176e1340d1.webp b/data/uploads/2ec78e11-8298-482d-95c5-42176e1340d1.webp new file mode 100755 index 0000000..4927207 Binary files /dev/null and b/data/uploads/2ec78e11-8298-482d-95c5-42176e1340d1.webp differ diff --git a/data/uploads/3401b4e5-725e-4d69-830f-ff7a19f35843.webp b/data/uploads/3401b4e5-725e-4d69-830f-ff7a19f35843.webp new file mode 100755 index 0000000..22157d1 Binary files /dev/null and b/data/uploads/3401b4e5-725e-4d69-830f-ff7a19f35843.webp differ diff --git a/data/uploads/34bd385f-c486-4e98-9516-02bf13321b14.webp b/data/uploads/34bd385f-c486-4e98-9516-02bf13321b14.webp new file mode 100755 index 0000000..10a4f6d Binary files /dev/null and b/data/uploads/34bd385f-c486-4e98-9516-02bf13321b14.webp differ diff --git a/data/uploads/37356c53-a717-4b01-849b-82ed70f32178.webp b/data/uploads/37356c53-a717-4b01-849b-82ed70f32178.webp new file mode 100755 index 0000000..508fdd4 Binary files /dev/null and b/data/uploads/37356c53-a717-4b01-849b-82ed70f32178.webp differ diff --git a/data/uploads/39eb57a4-0511-4171-aa81-e8dbcd2e4970.webp b/data/uploads/39eb57a4-0511-4171-aa81-e8dbcd2e4970.webp new file mode 100755 index 0000000..23ee1ca Binary files /dev/null and b/data/uploads/39eb57a4-0511-4171-aa81-e8dbcd2e4970.webp differ diff --git a/data/uploads/3f03ea48-1e92-4b3d-8097-a500d3398761.webp b/data/uploads/3f03ea48-1e92-4b3d-8097-a500d3398761.webp new file mode 100755 index 0000000..8232ac8 Binary files /dev/null and b/data/uploads/3f03ea48-1e92-4b3d-8097-a500d3398761.webp differ diff --git a/data/uploads/456fc305-c22b-4a69-bcb5-bc418ed7d982.jpg b/data/uploads/456fc305-c22b-4a69-bcb5-bc418ed7d982.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/465c4d68-5a9a-435b-ba76-01c7875bf633.webp b/data/uploads/465c4d68-5a9a-435b-ba76-01c7875bf633.webp new file mode 100755 index 0000000..3877e5e Binary files /dev/null and b/data/uploads/465c4d68-5a9a-435b-ba76-01c7875bf633.webp differ diff --git a/data/uploads/47e3e09e-33dd-415b-9c29-552077029847.webp b/data/uploads/47e3e09e-33dd-415b-9c29-552077029847.webp new file mode 100755 index 0000000..fd89e3f Binary files /dev/null and b/data/uploads/47e3e09e-33dd-415b-9c29-552077029847.webp differ diff --git a/data/uploads/48faa297-69eb-4313-ba65-8fe1888e170a.webp b/data/uploads/48faa297-69eb-4313-ba65-8fe1888e170a.webp new file mode 100755 index 0000000..9cea754 Binary files /dev/null and b/data/uploads/48faa297-69eb-4313-ba65-8fe1888e170a.webp differ diff --git a/data/uploads/4b00ab47-1577-476b-9e83-cdc3cc96af0c.jpg b/data/uploads/4b00ab47-1577-476b-9e83-cdc3cc96af0c.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/4fe5db07-5931-495d-ac81-a24920b77d7e.webp b/data/uploads/4fe5db07-5931-495d-ac81-a24920b77d7e.webp new file mode 100755 index 0000000..02d94d2 Binary files /dev/null and b/data/uploads/4fe5db07-5931-495d-ac81-a24920b77d7e.webp differ diff --git a/data/uploads/53ac30ee-108e-42f2-b61b-cd810dcbeeb5.jpg b/data/uploads/53ac30ee-108e-42f2-b61b-cd810dcbeeb5.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/54838cd4-129d-46a9-b65b-63ba4cbf9a08.webp b/data/uploads/54838cd4-129d-46a9-b65b-63ba4cbf9a08.webp new file mode 100755 index 0000000..1bc80dc Binary files /dev/null and b/data/uploads/54838cd4-129d-46a9-b65b-63ba4cbf9a08.webp differ diff --git a/data/uploads/5557d295-43c4-4c54-9b8a-23679714909a.webp b/data/uploads/5557d295-43c4-4c54-9b8a-23679714909a.webp new file mode 100755 index 0000000..9707057 Binary files /dev/null and b/data/uploads/5557d295-43c4-4c54-9b8a-23679714909a.webp differ diff --git a/data/uploads/5bb8bb1b-1984-480b-a45c-55d00f05e673.webp b/data/uploads/5bb8bb1b-1984-480b-a45c-55d00f05e673.webp new file mode 100755 index 0000000..b93eb3e Binary files /dev/null and b/data/uploads/5bb8bb1b-1984-480b-a45c-55d00f05e673.webp differ diff --git a/data/uploads/66243d53-8abd-450e-94f4-f9b41f217eb4.webp b/data/uploads/66243d53-8abd-450e-94f4-f9b41f217eb4.webp new file mode 100755 index 0000000..f49e799 Binary files /dev/null and b/data/uploads/66243d53-8abd-450e-94f4-f9b41f217eb4.webp differ diff --git a/data/uploads/67092250-20d1-4e37-b7cd-82398e830f22.webp b/data/uploads/67092250-20d1-4e37-b7cd-82398e830f22.webp new file mode 100755 index 0000000..5e68a8b Binary files /dev/null and b/data/uploads/67092250-20d1-4e37-b7cd-82398e830f22.webp differ diff --git a/data/uploads/67b7fb68-f19f-45c1-b977-25460b229a06.webp b/data/uploads/67b7fb68-f19f-45c1-b977-25460b229a06.webp new file mode 100755 index 0000000..28e8aef Binary files /dev/null and b/data/uploads/67b7fb68-f19f-45c1-b977-25460b229a06.webp differ diff --git a/data/uploads/68d899e0-2267-4ed0-becb-c725aac5e8a9.webp b/data/uploads/68d899e0-2267-4ed0-becb-c725aac5e8a9.webp new file mode 100755 index 0000000..003dbd7 Binary files /dev/null and b/data/uploads/68d899e0-2267-4ed0-becb-c725aac5e8a9.webp differ diff --git a/data/uploads/6b9c2839-12bd-4b4b-92c9-9dfc43e0457f.webp b/data/uploads/6b9c2839-12bd-4b4b-92c9-9dfc43e0457f.webp new file mode 100755 index 0000000..35988b5 Binary files /dev/null and b/data/uploads/6b9c2839-12bd-4b4b-92c9-9dfc43e0457f.webp differ diff --git a/data/uploads/6b9c2839-12bd-4b4b-92c9-9dfc43e0457f_thumb.webp b/data/uploads/6b9c2839-12bd-4b4b-92c9-9dfc43e0457f_thumb.webp new file mode 100755 index 0000000..875531c Binary files /dev/null and b/data/uploads/6b9c2839-12bd-4b4b-92c9-9dfc43e0457f_thumb.webp differ diff --git a/data/uploads/6eefdfd2-2bea-40a8-83e7-9d5d85eea8c0.webp b/data/uploads/6eefdfd2-2bea-40a8-83e7-9d5d85eea8c0.webp new file mode 100755 index 0000000..8c075f0 Binary files /dev/null and b/data/uploads/6eefdfd2-2bea-40a8-83e7-9d5d85eea8c0.webp differ diff --git a/data/uploads/72bc5fc7-a3eb-49e9-8bb1-4e0f54d5e4c2.jpg b/data/uploads/72bc5fc7-a3eb-49e9-8bb1-4e0f54d5e4c2.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/742d288a-1b63-409e-a38e-cbfbcf6ffae2.webp b/data/uploads/742d288a-1b63-409e-a38e-cbfbcf6ffae2.webp new file mode 100755 index 0000000..e011862 Binary files /dev/null and b/data/uploads/742d288a-1b63-409e-a38e-cbfbcf6ffae2.webp differ diff --git a/data/uploads/742d288a-1b63-409e-a38e-cbfbcf6ffae2_thumb.webp b/data/uploads/742d288a-1b63-409e-a38e-cbfbcf6ffae2_thumb.webp new file mode 100755 index 0000000..fe6cdd9 Binary files /dev/null and b/data/uploads/742d288a-1b63-409e-a38e-cbfbcf6ffae2_thumb.webp differ diff --git a/data/uploads/7937782f-506a-4dc7-83e1-cf06ca7d85bd.webp b/data/uploads/7937782f-506a-4dc7-83e1-cf06ca7d85bd.webp new file mode 100755 index 0000000..4927207 Binary files /dev/null and b/data/uploads/7937782f-506a-4dc7-83e1-cf06ca7d85bd.webp differ diff --git a/data/uploads/79dabcfd-f06c-444d-82d3-7a87a7a47350.webp b/data/uploads/79dabcfd-f06c-444d-82d3-7a87a7a47350.webp new file mode 100755 index 0000000..a93b4e7 Binary files /dev/null and b/data/uploads/79dabcfd-f06c-444d-82d3-7a87a7a47350.webp differ diff --git a/data/uploads/7a2a0a4a-1cba-466c-b617-354015aaa5ef.webp b/data/uploads/7a2a0a4a-1cba-466c-b617-354015aaa5ef.webp new file mode 100755 index 0000000..6ae5b3e Binary files /dev/null and b/data/uploads/7a2a0a4a-1cba-466c-b617-354015aaa5ef.webp differ diff --git a/data/uploads/7f71435a-a28c-4ff1-91f9-fbf0a442b6b0.webp b/data/uploads/7f71435a-a28c-4ff1-91f9-fbf0a442b6b0.webp old mode 100644 new mode 100755 diff --git a/data/uploads/8913cdc5-363a-4b00-8af0-1fc62eede9f6.webp b/data/uploads/8913cdc5-363a-4b00-8af0-1fc62eede9f6.webp old mode 100644 new mode 100755 diff --git a/data/uploads/89d33489-0bf8-47ab-962e-890760060c46.webp b/data/uploads/89d33489-0bf8-47ab-962e-890760060c46.webp new file mode 100755 index 0000000..b90a358 Binary files /dev/null and b/data/uploads/89d33489-0bf8-47ab-962e-890760060c46.webp differ diff --git a/data/uploads/89d6aa47-4fd0-4cd5-8603-83526d4e610e.webp b/data/uploads/89d6aa47-4fd0-4cd5-8603-83526d4e610e.webp new file mode 100755 index 0000000..d969345 Binary files /dev/null and b/data/uploads/89d6aa47-4fd0-4cd5-8603-83526d4e610e.webp differ diff --git a/data/uploads/8a7d347c-b3b1-42c5-b1ab-8699ee52e87d.webp b/data/uploads/8a7d347c-b3b1-42c5-b1ab-8699ee52e87d.webp old mode 100644 new mode 100755 diff --git a/data/uploads/8c108c64-f513-427b-bd16-a7b8fb99245e.jpg b/data/uploads/8c108c64-f513-427b-bd16-a7b8fb99245e.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/8f74ad74-7766-4634-a328-72075941848d.webp b/data/uploads/8f74ad74-7766-4634-a328-72075941848d.webp new file mode 100755 index 0000000..2132d4a Binary files /dev/null and b/data/uploads/8f74ad74-7766-4634-a328-72075941848d.webp differ diff --git a/data/uploads/914ff0a3-7a22-4715-8fd6-6163bb0daf1c.webp b/data/uploads/914ff0a3-7a22-4715-8fd6-6163bb0daf1c.webp new file mode 100755 index 0000000..b390fa6 Binary files /dev/null and b/data/uploads/914ff0a3-7a22-4715-8fd6-6163bb0daf1c.webp differ diff --git a/data/uploads/92819523-a2dc-476f-8770-f8615d4a5cfe.jpg b/data/uploads/92819523-a2dc-476f-8770-f8615d4a5cfe.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/92b9d91a-bc62-417c-9fc5-68c9a62efed6.webp b/data/uploads/92b9d91a-bc62-417c-9fc5-68c9a62efed6.webp new file mode 100755 index 0000000..700167e Binary files /dev/null and b/data/uploads/92b9d91a-bc62-417c-9fc5-68c9a62efed6.webp differ diff --git a/data/uploads/945c2aa1-896d-4979-bb3c-2a74571b3050.jpg b/data/uploads/945c2aa1-896d-4979-bb3c-2a74571b3050.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/96a4bb6a-65d9-44ca-a386-2a193f7a28f3.webp b/data/uploads/96a4bb6a-65d9-44ca-a386-2a193f7a28f3.webp new file mode 100755 index 0000000..17efd1b Binary files /dev/null and b/data/uploads/96a4bb6a-65d9-44ca-a386-2a193f7a28f3.webp differ diff --git a/data/uploads/96c19097-4112-4959-a2eb-e23034c6709b.webp b/data/uploads/96c19097-4112-4959-a2eb-e23034c6709b.webp new file mode 100755 index 0000000..c9a2eb0 Binary files /dev/null and b/data/uploads/96c19097-4112-4959-a2eb-e23034c6709b.webp differ diff --git a/data/uploads/9dc47fc5-aedb-47a0-aae5-ed33d2210344.webp b/data/uploads/9dc47fc5-aedb-47a0-aae5-ed33d2210344.webp new file mode 100755 index 0000000..8cdd30e Binary files /dev/null and b/data/uploads/9dc47fc5-aedb-47a0-aae5-ed33d2210344.webp differ diff --git a/data/uploads/9f886067-a30f-48b1-ac5b-cb6b14bdfe19.webp b/data/uploads/9f886067-a30f-48b1-ac5b-cb6b14bdfe19.webp new file mode 100755 index 0000000..4aca52a Binary files /dev/null and b/data/uploads/9f886067-a30f-48b1-ac5b-cb6b14bdfe19.webp differ diff --git a/data/uploads/a00759fa-ecee-472e-bfa6-a9b6f90d4c84.webp b/data/uploads/a00759fa-ecee-472e-bfa6-a9b6f90d4c84.webp old mode 100644 new mode 100755 diff --git a/data/uploads/a3233d90-58e7-411b-835f-cd590a79776e.webp b/data/uploads/a3233d90-58e7-411b-835f-cd590a79776e.webp new file mode 100755 index 0000000..a5e47e2 Binary files /dev/null and b/data/uploads/a3233d90-58e7-411b-835f-cd590a79776e.webp differ diff --git a/data/uploads/a7ea2222-3ffd-4e58-b392-a0ab1cd7b822.webp b/data/uploads/a7ea2222-3ffd-4e58-b392-a0ab1cd7b822.webp new file mode 100755 index 0000000..1941661 Binary files /dev/null and b/data/uploads/a7ea2222-3ffd-4e58-b392-a0ab1cd7b822.webp differ diff --git a/data/uploads/a8146cd1-e7fd-422a-99ba-4e4bbbe1d6b1.webp b/data/uploads/a8146cd1-e7fd-422a-99ba-4e4bbbe1d6b1.webp new file mode 100755 index 0000000..10e7f2a Binary files /dev/null and b/data/uploads/a8146cd1-e7fd-422a-99ba-4e4bbbe1d6b1.webp differ diff --git a/data/uploads/a8641f29-f7ab-465c-a739-a1a3367f6628.jpg b/data/uploads/a8641f29-f7ab-465c-a739-a1a3367f6628.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/a9ebb40f-5402-4409-9d0a-5de42eacfba6.jpg b/data/uploads/a9ebb40f-5402-4409-9d0a-5de42eacfba6.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/aa287f48-2a29-4fa1-8ef9-a3e87f807247.webp b/data/uploads/aa287f48-2a29-4fa1-8ef9-a3e87f807247.webp new file mode 100755 index 0000000..853edd0 Binary files /dev/null and b/data/uploads/aa287f48-2a29-4fa1-8ef9-a3e87f807247.webp differ diff --git a/data/uploads/aa287f48-2a29-4fa1-8ef9-a3e87f807247_thumb.webp b/data/uploads/aa287f48-2a29-4fa1-8ef9-a3e87f807247_thumb.webp new file mode 100755 index 0000000..5659e26 Binary files /dev/null and b/data/uploads/aa287f48-2a29-4fa1-8ef9-a3e87f807247_thumb.webp differ diff --git a/data/uploads/aae89675-bfeb-4770-bd9b-b41bdede15f1.webp b/data/uploads/aae89675-bfeb-4770-bd9b-b41bdede15f1.webp new file mode 100755 index 0000000..4f150f9 Binary files /dev/null and b/data/uploads/aae89675-bfeb-4770-bd9b-b41bdede15f1.webp differ diff --git a/data/uploads/accdf642-36b5-4d9c-b9be-465ea65afb17.jpg b/data/uploads/accdf642-36b5-4d9c-b9be-465ea65afb17.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/ace2dec0-754d-4b45-9597-24b299941747.webp b/data/uploads/ace2dec0-754d-4b45-9597-24b299941747.webp new file mode 100755 index 0000000..2f6124d Binary files /dev/null and b/data/uploads/ace2dec0-754d-4b45-9597-24b299941747.webp differ diff --git a/data/uploads/ad89ff74-8793-433c-b720-55bc97dc6485.webp b/data/uploads/ad89ff74-8793-433c-b720-55bc97dc6485.webp new file mode 100755 index 0000000..23649b6 Binary files /dev/null and b/data/uploads/ad89ff74-8793-433c-b720-55bc97dc6485.webp differ diff --git a/data/uploads/adaeda9f-7642-4e18-a571-3f743bcfbef0.webp b/data/uploads/adaeda9f-7642-4e18-a571-3f743bcfbef0.webp new file mode 100755 index 0000000..e0b35aa Binary files /dev/null and b/data/uploads/adaeda9f-7642-4e18-a571-3f743bcfbef0.webp differ diff --git a/data/uploads/ae795fd1-b820-4f8a-a69e-f056316820d9.webp b/data/uploads/ae795fd1-b820-4f8a-a69e-f056316820d9.webp new file mode 100755 index 0000000..19e526f Binary files /dev/null and b/data/uploads/ae795fd1-b820-4f8a-a69e-f056316820d9.webp differ diff --git a/data/uploads/af9b7e6c-8647-42f5-a293-182e83265480.webp b/data/uploads/af9b7e6c-8647-42f5-a293-182e83265480.webp new file mode 100755 index 0000000..3ff854d Binary files /dev/null and b/data/uploads/af9b7e6c-8647-42f5-a293-182e83265480.webp differ diff --git a/data/uploads/b2b098f7-1c09-410c-a440-e95de836bd5f.jpg b/data/uploads/b2b098f7-1c09-410c-a440-e95de836bd5f.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/b4e401a4-45e8-44a0-8575-ded9e04a1139.webp b/data/uploads/b4e401a4-45e8-44a0-8575-ded9e04a1139.webp new file mode 100755 index 0000000..7f73b88 Binary files /dev/null and b/data/uploads/b4e401a4-45e8-44a0-8575-ded9e04a1139.webp differ diff --git a/data/uploads/b5320f20-2d59-47e2-9c92-b48878890bb9.jpg b/data/uploads/b5320f20-2d59-47e2-9c92-b48878890bb9.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/b8d43c9c-634b-4cec-826d-ab31b6ed4d18.webp b/data/uploads/b8d43c9c-634b-4cec-826d-ab31b6ed4d18.webp new file mode 100755 index 0000000..f80511f Binary files /dev/null and b/data/uploads/b8d43c9c-634b-4cec-826d-ab31b6ed4d18.webp differ diff --git a/data/uploads/b98e69ab-bd97-4e72-8159-bb0bac305b8a.webp b/data/uploads/b98e69ab-bd97-4e72-8159-bb0bac305b8a.webp new file mode 100755 index 0000000..66d9c99 Binary files /dev/null and b/data/uploads/b98e69ab-bd97-4e72-8159-bb0bac305b8a.webp differ diff --git a/data/uploads/bc3fe54e-b894-4ca8-8be8-1b065afaf918.jpg b/data/uploads/bc3fe54e-b894-4ca8-8be8-1b065afaf918.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/be350e09-2e7e-4c22-ab3e-c2f248a750cd.jpg b/data/uploads/be350e09-2e7e-4c22-ab3e-c2f248a750cd.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/be60038d-a28d-469b-9b3a-d64da494a681.webp b/data/uploads/be60038d-a28d-469b-9b3a-d64da494a681.webp new file mode 100755 index 0000000..23649b6 Binary files /dev/null and b/data/uploads/be60038d-a28d-469b-9b3a-d64da494a681.webp differ diff --git a/data/uploads/bea5abe4-cc15-480c-83a1-02df1228d013.webp b/data/uploads/bea5abe4-cc15-480c-83a1-02df1228d013.webp new file mode 100755 index 0000000..7f73b88 Binary files /dev/null and b/data/uploads/bea5abe4-cc15-480c-83a1-02df1228d013.webp differ diff --git a/data/uploads/bfb03b30-ef05-4710-ab46-0c4cde2f7366.jpg b/data/uploads/bfb03b30-ef05-4710-ab46-0c4cde2f7366.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/bfdf7863-16e5-4151-95aa-087d0aa920bd.jpg b/data/uploads/bfdf7863-16e5-4151-95aa-087d0aa920bd.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/c1414164-b276-43c5-ab08-229baef76c2b.jpg b/data/uploads/c1414164-b276-43c5-ab08-229baef76c2b.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/c14d8348-815f-4ebf-9ea1-bef89d122324.jpg b/data/uploads/c14d8348-815f-4ebf-9ea1-bef89d122324.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/c1e27615-b167-4513-910b-e3fa2017fe42.jpg b/data/uploads/c1e27615-b167-4513-910b-e3fa2017fe42.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/c2d2c0bc-3994-431a-8e33-2a8e42903040.jpg b/data/uploads/c2d2c0bc-3994-431a-8e33-2a8e42903040.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/c44d7174-dd5a-4de4-8692-e977b01c98b1.webp b/data/uploads/c44d7174-dd5a-4de4-8692-e977b01c98b1.webp new file mode 100755 index 0000000..5a647b4 Binary files /dev/null and b/data/uploads/c44d7174-dd5a-4de4-8692-e977b01c98b1.webp differ diff --git a/data/uploads/c52790ff-fe48-45d5-baff-2367b9667916.jpg b/data/uploads/c52790ff-fe48-45d5-baff-2367b9667916.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/c90995e5-e865-4c75-95b9-4f4979c635ec.webp b/data/uploads/c90995e5-e865-4c75-95b9-4f4979c635ec.webp new file mode 100755 index 0000000..6998f0a Binary files /dev/null and b/data/uploads/c90995e5-e865-4c75-95b9-4f4979c635ec.webp differ diff --git a/data/uploads/c90995e5-e865-4c75-95b9-4f4979c635ec_thumb.webp b/data/uploads/c90995e5-e865-4c75-95b9-4f4979c635ec_thumb.webp new file mode 100755 index 0000000..cbcbbfb Binary files /dev/null and b/data/uploads/c90995e5-e865-4c75-95b9-4f4979c635ec_thumb.webp differ diff --git a/data/uploads/c9a94885-f5ac-490e-8b5d-458e60df84c4.webp b/data/uploads/c9a94885-f5ac-490e-8b5d-458e60df84c4.webp old mode 100644 new mode 100755 diff --git a/data/uploads/cbfea6e5-db54-4537-a4bc-c8c28d7726a1.webp b/data/uploads/cbfea6e5-db54-4537-a4bc-c8c28d7726a1.webp new file mode 100755 index 0000000..465b711 Binary files /dev/null and b/data/uploads/cbfea6e5-db54-4537-a4bc-c8c28d7726a1.webp differ diff --git a/data/uploads/cbfea6e5-db54-4537-a4bc-c8c28d7726a1_thumb.webp b/data/uploads/cbfea6e5-db54-4537-a4bc-c8c28d7726a1_thumb.webp new file mode 100755 index 0000000..bf077bc Binary files /dev/null and b/data/uploads/cbfea6e5-db54-4537-a4bc-c8c28d7726a1_thumb.webp differ diff --git a/data/uploads/cdf75243-4d21-47e9-8ab2-e05588e50345.webp b/data/uploads/cdf75243-4d21-47e9-8ab2-e05588e50345.webp old mode 100644 new mode 100755 diff --git a/data/uploads/cef0474e-73f2-4da8-b513-847488d04955.jpg b/data/uploads/cef0474e-73f2-4da8-b513-847488d04955.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/d390691e-ecc1-4110-8930-3028c121efb4.webp b/data/uploads/d390691e-ecc1-4110-8930-3028c121efb4.webp new file mode 100755 index 0000000..f340cd6 Binary files /dev/null and b/data/uploads/d390691e-ecc1-4110-8930-3028c121efb4.webp differ diff --git a/data/uploads/d399a78d-fcac-47e1-ae8f-e7ec091f1cd2.webp b/data/uploads/d399a78d-fcac-47e1-ae8f-e7ec091f1cd2.webp new file mode 100755 index 0000000..37c3231 Binary files /dev/null and b/data/uploads/d399a78d-fcac-47e1-ae8f-e7ec091f1cd2.webp differ diff --git a/data/uploads/d45599ca-1ffd-41fb-b5db-a65d3740a145.jpg b/data/uploads/d45599ca-1ffd-41fb-b5db-a65d3740a145.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/d823fb51-81a5-457f-b0d3-3b9645d2e3a0.webp b/data/uploads/d823fb51-81a5-457f-b0d3-3b9645d2e3a0.webp new file mode 100755 index 0000000..60770e0 Binary files /dev/null and b/data/uploads/d823fb51-81a5-457f-b0d3-3b9645d2e3a0.webp differ diff --git a/data/uploads/dbcb37c5-65fd-412e-9e40-d2667b7f7548.jpg b/data/uploads/dbcb37c5-65fd-412e-9e40-d2667b7f7548.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/dda4e920-a453-4a82-8272-299bb56c8bce.webp b/data/uploads/dda4e920-a453-4a82-8272-299bb56c8bce.webp new file mode 100755 index 0000000..044dfa7 Binary files /dev/null and b/data/uploads/dda4e920-a453-4a82-8272-299bb56c8bce.webp differ diff --git a/data/uploads/dda4e920-a453-4a82-8272-299bb56c8bce_thumb.webp b/data/uploads/dda4e920-a453-4a82-8272-299bb56c8bce_thumb.webp new file mode 100755 index 0000000..3755c08 Binary files /dev/null and b/data/uploads/dda4e920-a453-4a82-8272-299bb56c8bce_thumb.webp differ diff --git a/data/uploads/ddf53b70-c88c-4151-86d1-ba79982c3fdd.webp b/data/uploads/ddf53b70-c88c-4151-86d1-ba79982c3fdd.webp new file mode 100755 index 0000000..e20494d Binary files /dev/null and b/data/uploads/ddf53b70-c88c-4151-86d1-ba79982c3fdd.webp differ diff --git a/data/uploads/de593092-a671-4a31-a2d4-04ef60dd4fcc.webp b/data/uploads/de593092-a671-4a31-a2d4-04ef60dd4fcc.webp new file mode 100755 index 0000000..21ccde8 Binary files /dev/null and b/data/uploads/de593092-a671-4a31-a2d4-04ef60dd4fcc.webp differ diff --git a/data/uploads/dfee6ae3-a193-42aa-ad62-e65ffee0a0ef.webp b/data/uploads/dfee6ae3-a193-42aa-ad62-e65ffee0a0ef.webp new file mode 100755 index 0000000..22f201f Binary files /dev/null and b/data/uploads/dfee6ae3-a193-42aa-ad62-e65ffee0a0ef.webp differ diff --git a/data/uploads/dfee6ae3-a193-42aa-ad62-e65ffee0a0ef_thumb.webp b/data/uploads/dfee6ae3-a193-42aa-ad62-e65ffee0a0ef_thumb.webp new file mode 100755 index 0000000..e0f706c Binary files /dev/null and b/data/uploads/dfee6ae3-a193-42aa-ad62-e65ffee0a0ef_thumb.webp differ diff --git a/data/uploads/e0ec3ba3-22b6-4413-9bd4-79e8a50d7290.webp b/data/uploads/e0ec3ba3-22b6-4413-9bd4-79e8a50d7290.webp new file mode 100755 index 0000000..1a69821 Binary files /dev/null and b/data/uploads/e0ec3ba3-22b6-4413-9bd4-79e8a50d7290.webp differ diff --git a/data/uploads/e3031caf-9815-439c-8285-046a892c74a0.webp b/data/uploads/e3031caf-9815-439c-8285-046a892c74a0.webp new file mode 100755 index 0000000..01f1ea4 Binary files /dev/null and b/data/uploads/e3031caf-9815-439c-8285-046a892c74a0.webp differ diff --git a/data/uploads/e8e0a754-64a3-4e23-8bbe-c2fbd667bf51.jpg b/data/uploads/e8e0a754-64a3-4e23-8bbe-c2fbd667bf51.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/eba4cb16-585f-4c67-be81-0918eddfbe7a.webp b/data/uploads/eba4cb16-585f-4c67-be81-0918eddfbe7a.webp new file mode 100755 index 0000000..1a834c6 Binary files /dev/null and b/data/uploads/eba4cb16-585f-4c67-be81-0918eddfbe7a.webp differ diff --git a/data/uploads/ed5f6698-38d0-4fc3-a634-0201b997b6d7.webp b/data/uploads/ed5f6698-38d0-4fc3-a634-0201b997b6d7.webp new file mode 100755 index 0000000..5dab2ec Binary files /dev/null and b/data/uploads/ed5f6698-38d0-4fc3-a634-0201b997b6d7.webp differ diff --git a/data/uploads/ee58dbb6-0c43-4f93-8141-55071d229b10.webp b/data/uploads/ee58dbb6-0c43-4f93-8141-55071d229b10.webp old mode 100644 new mode 100755 diff --git a/data/uploads/ef20480d-fecb-4fcb-9383-e080b8b094b7.webp b/data/uploads/ef20480d-fecb-4fcb-9383-e080b8b094b7.webp new file mode 100755 index 0000000..eba4b6c Binary files /dev/null and b/data/uploads/ef20480d-fecb-4fcb-9383-e080b8b094b7.webp differ diff --git a/data/uploads/efe6dd8a-1e1b-4027-8cd7-7fe034c22030.webp b/data/uploads/efe6dd8a-1e1b-4027-8cd7-7fe034c22030.webp new file mode 100755 index 0000000..267267f Binary files /dev/null and b/data/uploads/efe6dd8a-1e1b-4027-8cd7-7fe034c22030.webp differ diff --git a/data/uploads/efe6dd8a-1e1b-4027-8cd7-7fe034c22030_thumb.webp b/data/uploads/efe6dd8a-1e1b-4027-8cd7-7fe034c22030_thumb.webp new file mode 100755 index 0000000..64c914d Binary files /dev/null and b/data/uploads/efe6dd8a-1e1b-4027-8cd7-7fe034c22030_thumb.webp differ diff --git a/data/uploads/f1d55c5c-ab04-4ab7-8661-d1b23afd6832.jpg b/data/uploads/f1d55c5c-ab04-4ab7-8661-d1b23afd6832.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/f223ff16-baf7-4f4a-bb88-309e9d3dfd0f.webp b/data/uploads/f223ff16-baf7-4f4a-bb88-309e9d3dfd0f.webp new file mode 100755 index 0000000..465b711 Binary files /dev/null and b/data/uploads/f223ff16-baf7-4f4a-bb88-309e9d3dfd0f.webp differ diff --git a/data/uploads/f223ff16-baf7-4f4a-bb88-309e9d3dfd0f_thumb.webp b/data/uploads/f223ff16-baf7-4f4a-bb88-309e9d3dfd0f_thumb.webp new file mode 100755 index 0000000..bf077bc Binary files /dev/null and b/data/uploads/f223ff16-baf7-4f4a-bb88-309e9d3dfd0f_thumb.webp differ diff --git a/data/uploads/f303b7ce-46c2-48da-b22c-f563970fb75b.jpg b/data/uploads/f303b7ce-46c2-48da-b22c-f563970fb75b.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/f40a22b0-9fec-481a-85b7-696af10a58ea.webp b/data/uploads/f40a22b0-9fec-481a-85b7-696af10a58ea.webp new file mode 100755 index 0000000..b9f4976 Binary files /dev/null and b/data/uploads/f40a22b0-9fec-481a-85b7-696af10a58ea.webp differ diff --git a/data/uploads/f7fba076-625a-431c-a21d-8359cdea9a40.jpg b/data/uploads/f7fba076-625a-431c-a21d-8359cdea9a40.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/fa43b43d-80e6-4bea-bf45-8c91f1bdb073.jpg b/data/uploads/fa43b43d-80e6-4bea-bf45-8c91f1bdb073.jpg old mode 100644 new mode 100755 diff --git a/data/uploads/fa6637be-b7fb-4dbc-9fde-c366f836ff15.webp b/data/uploads/fa6637be-b7fb-4dbc-9fde-c366f836ff15.webp new file mode 100755 index 0000000..0968f98 Binary files /dev/null and b/data/uploads/fa6637be-b7fb-4dbc-9fde-c366f836ff15.webp differ diff --git a/data/uploads/fc55122c-7df4-4e35-9521-6441903977a3.webp b/data/uploads/fc55122c-7df4-4e35-9521-6441903977a3.webp new file mode 100755 index 0000000..0fa1726 Binary files /dev/null and b/data/uploads/fc55122c-7df4-4e35-9521-6441903977a3.webp differ diff --git a/data/uploads/fcb643da-6f16-41da-8128-34657104873d.webp b/data/uploads/fcb643da-6f16-41da-8128-34657104873d.webp new file mode 100755 index 0000000..b941b9d Binary files /dev/null and b/data/uploads/fcb643da-6f16-41da-8128-34657104873d.webp differ diff --git a/data/uploads/garden_585f5897-78d3-4bfb-acee-dc13a5d1a9e9.webp b/data/uploads/garden_585f5897-78d3-4bfb-acee-dc13a5d1a9e9.webp new file mode 100755 index 0000000..8f87713 Binary files /dev/null and b/data/uploads/garden_585f5897-78d3-4bfb-acee-dc13a5d1a9e9.webp differ diff --git a/data/uploads/garden_7ec74a31-6921-4820-97a6-6581cdd600ce.webp b/data/uploads/garden_7ec74a31-6921-4820-97a6-6581cdd600ce.webp new file mode 100755 index 0000000..0055b67 Binary files /dev/null and b/data/uploads/garden_7ec74a31-6921-4820-97a6-6581cdd600ce.webp differ diff --git a/data/uploads/garden_8fa0fa3b-1093-48a0-a1ea-7b54f89a03b4.webp b/data/uploads/garden_8fa0fa3b-1093-48a0-a1ea-7b54f89a03b4.webp new file mode 100755 index 0000000..4eeebda Binary files /dev/null and b/data/uploads/garden_8fa0fa3b-1093-48a0-a1ea-7b54f89a03b4.webp differ diff --git a/data/uploads/garden_d82e09ca-bf79-45e6-8199-a98afe001ccf.webp b/data/uploads/garden_d82e09ca-bf79-45e6-8199-a98afe001ccf.webp new file mode 100755 index 0000000..a57c2d7 Binary files /dev/null and b/data/uploads/garden_d82e09ca-bf79-45e6-8199-a98afe001ccf.webp differ diff --git a/data/uploads/unused/07b6be57-7d04-4cab-8198-a1f634381143.webp b/data/uploads/unused/07b6be57-7d04-4cab-8198-a1f634381143.webp new file mode 100755 index 0000000..1592cc5 Binary files /dev/null and b/data/uploads/unused/07b6be57-7d04-4cab-8198-a1f634381143.webp differ diff --git a/data/uploads/unused/07fdee4c-61c9-4dd3-9226-d87eff0dfcca.webp b/data/uploads/unused/07fdee4c-61c9-4dd3-9226-d87eff0dfcca.webp new file mode 100755 index 0000000..7c76eb8 Binary files /dev/null and b/data/uploads/unused/07fdee4c-61c9-4dd3-9226-d87eff0dfcca.webp differ diff --git a/data/uploads/unused/082e636b-eb70-40d9-9903-729b606b5909.webp b/data/uploads/unused/082e636b-eb70-40d9-9903-729b606b5909.webp new file mode 100755 index 0000000..d5e6ee2 Binary files /dev/null and b/data/uploads/unused/082e636b-eb70-40d9-9903-729b606b5909.webp differ diff --git a/data/uploads/unused/0ce4b560-3f57-476c-b7d8-6e1016bfdbd5.webp b/data/uploads/unused/0ce4b560-3f57-476c-b7d8-6e1016bfdbd5.webp new file mode 100755 index 0000000..4f4b5f5 Binary files /dev/null and b/data/uploads/unused/0ce4b560-3f57-476c-b7d8-6e1016bfdbd5.webp differ diff --git a/data/uploads/unused/113784d0-afd4-4ecf-98c7-a4e67989936c.webp b/data/uploads/unused/113784d0-afd4-4ecf-98c7-a4e67989936c.webp new file mode 100755 index 0000000..1b0f2e7 Binary files /dev/null and b/data/uploads/unused/113784d0-afd4-4ecf-98c7-a4e67989936c.webp differ diff --git a/data/uploads/unused/15a47e82-4f68-405c-90f1-a3cf85a85847.webp b/data/uploads/unused/15a47e82-4f68-405c-90f1-a3cf85a85847.webp new file mode 100755 index 0000000..3e97fde Binary files /dev/null and b/data/uploads/unused/15a47e82-4f68-405c-90f1-a3cf85a85847.webp differ diff --git a/data/uploads/unused/1e67a8c6-8899-40c9-a47a-6d39b0d4c49b.webp b/data/uploads/unused/1e67a8c6-8899-40c9-a47a-6d39b0d4c49b.webp new file mode 100755 index 0000000..a757c81 Binary files /dev/null and b/data/uploads/unused/1e67a8c6-8899-40c9-a47a-6d39b0d4c49b.webp differ diff --git a/data/uploads/unused/1f8299cd-f108-44dd-832a-da2e855d1735.webp b/data/uploads/unused/1f8299cd-f108-44dd-832a-da2e855d1735.webp new file mode 100755 index 0000000..aa4c083 Binary files /dev/null and b/data/uploads/unused/1f8299cd-f108-44dd-832a-da2e855d1735.webp differ diff --git a/data/uploads/unused/1f8c8069-e648-4380-a48d-d99d61fd982e.webp b/data/uploads/unused/1f8c8069-e648-4380-a48d-d99d61fd982e.webp new file mode 100755 index 0000000..1f84253 Binary files /dev/null and b/data/uploads/unused/1f8c8069-e648-4380-a48d-d99d61fd982e.webp differ diff --git a/data/uploads/unused/20c17f47-4192-468a-a771-b688e917b263.webp b/data/uploads/unused/20c17f47-4192-468a-a771-b688e917b263.webp new file mode 100755 index 0000000..1d96b1e Binary files /dev/null and b/data/uploads/unused/20c17f47-4192-468a-a771-b688e917b263.webp differ diff --git a/data/uploads/unused/23591a65-7101-4006-abe7-f2fd7086e502.webp b/data/uploads/unused/23591a65-7101-4006-abe7-f2fd7086e502.webp new file mode 100755 index 0000000..f41f27d Binary files /dev/null and b/data/uploads/unused/23591a65-7101-4006-abe7-f2fd7086e502.webp differ diff --git a/data/uploads/unused/24f5055d-18f9-434e-9a18-82b8e8400ab0.webp b/data/uploads/unused/24f5055d-18f9-434e-9a18-82b8e8400ab0.webp new file mode 100755 index 0000000..c710d4e Binary files /dev/null and b/data/uploads/unused/24f5055d-18f9-434e-9a18-82b8e8400ab0.webp differ diff --git a/data/uploads/unused/24f5055d-18f9-434e-9a18-82b8e8400ab0_thumb.webp b/data/uploads/unused/24f5055d-18f9-434e-9a18-82b8e8400ab0_thumb.webp new file mode 100755 index 0000000..01a4c87 Binary files /dev/null and b/data/uploads/unused/24f5055d-18f9-434e-9a18-82b8e8400ab0_thumb.webp differ diff --git a/data/uploads/unused/27a75a23-b541-4e0b-9b46-50146be48ab2.webp b/data/uploads/unused/27a75a23-b541-4e0b-9b46-50146be48ab2.webp new file mode 100755 index 0000000..f1204d5 Binary files /dev/null and b/data/uploads/unused/27a75a23-b541-4e0b-9b46-50146be48ab2.webp differ diff --git a/data/uploads/unused/29a7eb25-5bf4-47ad-be21-c0af45e315cc.webp b/data/uploads/unused/29a7eb25-5bf4-47ad-be21-c0af45e315cc.webp new file mode 100755 index 0000000..abe042c Binary files /dev/null and b/data/uploads/unused/29a7eb25-5bf4-47ad-be21-c0af45e315cc.webp differ diff --git a/data/uploads/unused/2efbdf73-dd30-45fb-a1e5-bb86bcb51fb8.webp b/data/uploads/unused/2efbdf73-dd30-45fb-a1e5-bb86bcb51fb8.webp new file mode 100755 index 0000000..4b215a5 Binary files /dev/null and b/data/uploads/unused/2efbdf73-dd30-45fb-a1e5-bb86bcb51fb8.webp differ diff --git a/data/uploads/unused/2fbb9d4f-eead-447e-a5d3-cc4653337402.webp b/data/uploads/unused/2fbb9d4f-eead-447e-a5d3-cc4653337402.webp new file mode 100755 index 0000000..e011862 Binary files /dev/null and b/data/uploads/unused/2fbb9d4f-eead-447e-a5d3-cc4653337402.webp differ diff --git a/data/uploads/unused/2fbb9d4f-eead-447e-a5d3-cc4653337402_thumb.webp b/data/uploads/unused/2fbb9d4f-eead-447e-a5d3-cc4653337402_thumb.webp new file mode 100755 index 0000000..fe6cdd9 Binary files /dev/null and b/data/uploads/unused/2fbb9d4f-eead-447e-a5d3-cc4653337402_thumb.webp differ diff --git a/data/uploads/unused/3241e492-bf06-4741-97d8-4d5e8e63bc4c_Préparer du purin ortie.mp4 b/data/uploads/unused/3241e492-bf06-4741-97d8-4d5e8e63bc4c_Préparer du purin ortie.mp4 new file mode 100755 index 0000000..c727551 Binary files /dev/null and b/data/uploads/unused/3241e492-bf06-4741-97d8-4d5e8e63bc4c_Préparer du purin ortie.mp4 differ diff --git a/data/uploads/unused/384670c3-e3bc-4b30-af94-6a7f0fd0a0a9.webp b/data/uploads/unused/384670c3-e3bc-4b30-af94-6a7f0fd0a0a9.webp new file mode 100755 index 0000000..9526bfb Binary files /dev/null and b/data/uploads/unused/384670c3-e3bc-4b30-af94-6a7f0fd0a0a9.webp differ diff --git a/data/uploads/unused/38c7b6c9-6b34-4bf0-af6e-8d846f5fc827.webp b/data/uploads/unused/38c7b6c9-6b34-4bf0-af6e-8d846f5fc827.webp new file mode 100755 index 0000000..96443e5 Binary files /dev/null and b/data/uploads/unused/38c7b6c9-6b34-4bf0-af6e-8d846f5fc827.webp differ diff --git a/data/uploads/unused/38d53447-8bc3-4186-977b-8aa56fae61ad.webp b/data/uploads/unused/38d53447-8bc3-4186-977b-8aa56fae61ad.webp new file mode 100755 index 0000000..5b515a7 Binary files /dev/null and b/data/uploads/unused/38d53447-8bc3-4186-977b-8aa56fae61ad.webp differ diff --git a/data/uploads/unused/3b768826-122a-49c0-8160-09359fea3ff7.webp b/data/uploads/unused/3b768826-122a-49c0-8160-09359fea3ff7.webp new file mode 100755 index 0000000..93702eb Binary files /dev/null and b/data/uploads/unused/3b768826-122a-49c0-8160-09359fea3ff7.webp differ diff --git a/data/uploads/unused/3ddff9a7-c022-4da9-aee1-ad30c7e72279.webp b/data/uploads/unused/3ddff9a7-c022-4da9-aee1-ad30c7e72279.webp new file mode 100755 index 0000000..b75d874 Binary files /dev/null and b/data/uploads/unused/3ddff9a7-c022-4da9-aee1-ad30c7e72279.webp differ diff --git a/data/uploads/unused/4089ab3c-1301-4774-87f9-83174b083eb6.webp b/data/uploads/unused/4089ab3c-1301-4774-87f9-83174b083eb6.webp new file mode 100755 index 0000000..cad4561 Binary files /dev/null and b/data/uploads/unused/4089ab3c-1301-4774-87f9-83174b083eb6.webp differ diff --git a/data/uploads/unused/41987cd7-0a86-42e5-a809-41476c171632.webp b/data/uploads/unused/41987cd7-0a86-42e5-a809-41476c171632.webp new file mode 100755 index 0000000..65830a2 Binary files /dev/null and b/data/uploads/unused/41987cd7-0a86-42e5-a809-41476c171632.webp differ diff --git a/data/uploads/unused/4929ffd6-3528-44d0-863b-a5367bab27fa.webp b/data/uploads/unused/4929ffd6-3528-44d0-863b-a5367bab27fa.webp new file mode 100755 index 0000000..de256e4 Binary files /dev/null and b/data/uploads/unused/4929ffd6-3528-44d0-863b-a5367bab27fa.webp differ diff --git a/data/uploads/unused/4ad2afed-7e30-474f-b9cf-e4925a805e95.webp b/data/uploads/unused/4ad2afed-7e30-474f-b9cf-e4925a805e95.webp new file mode 100755 index 0000000..e6573ba Binary files /dev/null and b/data/uploads/unused/4ad2afed-7e30-474f-b9cf-e4925a805e95.webp differ diff --git a/data/uploads/unused/4bf5c363-f5a5-4e35-823e-55234377ea4f.webp b/data/uploads/unused/4bf5c363-f5a5-4e35-823e-55234377ea4f.webp new file mode 100755 index 0000000..279ddf8 Binary files /dev/null and b/data/uploads/unused/4bf5c363-f5a5-4e35-823e-55234377ea4f.webp differ diff --git a/data/uploads/unused/5084a4d6-4129-42f5-88f4-d3e0716c6a13.webp b/data/uploads/unused/5084a4d6-4129-42f5-88f4-d3e0716c6a13.webp new file mode 100755 index 0000000..2ea3284 Binary files /dev/null and b/data/uploads/unused/5084a4d6-4129-42f5-88f4-d3e0716c6a13.webp differ diff --git a/data/uploads/unused/5781c661-55b8-441c-97e0-c6c69fe2c90f.webp b/data/uploads/unused/5781c661-55b8-441c-97e0-c6c69fe2c90f.webp new file mode 100755 index 0000000..c1f9464 Binary files /dev/null and b/data/uploads/unused/5781c661-55b8-441c-97e0-c6c69fe2c90f.webp differ diff --git a/data/uploads/unused/59535247-fe36-45f8-aebf-7bbc2e2e555d.webp b/data/uploads/unused/59535247-fe36-45f8-aebf-7bbc2e2e555d.webp new file mode 100755 index 0000000..a3d2f3d Binary files /dev/null and b/data/uploads/unused/59535247-fe36-45f8-aebf-7bbc2e2e555d.webp differ diff --git a/data/uploads/unused/59a23daf-c480-495f-bff8-4d8284e501b1.webp b/data/uploads/unused/59a23daf-c480-495f-bff8-4d8284e501b1.webp new file mode 100755 index 0000000..a2ac3bf Binary files /dev/null and b/data/uploads/unused/59a23daf-c480-495f-bff8-4d8284e501b1.webp differ diff --git a/data/uploads/unused/5a283160-e740-479f-94ad-39526d37e109.webp b/data/uploads/unused/5a283160-e740-479f-94ad-39526d37e109.webp new file mode 100755 index 0000000..681f726 Binary files /dev/null and b/data/uploads/unused/5a283160-e740-479f-94ad-39526d37e109.webp differ diff --git a/data/uploads/unused/5e972043-d4f0-4078-b008-d342cb887404.webp b/data/uploads/unused/5e972043-d4f0-4078-b008-d342cb887404.webp new file mode 100755 index 0000000..4a373d8 Binary files /dev/null and b/data/uploads/unused/5e972043-d4f0-4078-b008-d342cb887404.webp differ diff --git a/data/uploads/unused/688fd820-4689-4b2e-ae10-4c799b72cf8c.webp b/data/uploads/unused/688fd820-4689-4b2e-ae10-4c799b72cf8c.webp new file mode 100755 index 0000000..7bde433 Binary files /dev/null and b/data/uploads/unused/688fd820-4689-4b2e-ae10-4c799b72cf8c.webp differ diff --git a/data/uploads/unused/68acf752-2434-4341-aba8-aeb457faae5e.webp b/data/uploads/unused/68acf752-2434-4341-aba8-aeb457faae5e.webp new file mode 100755 index 0000000..c084847 Binary files /dev/null and b/data/uploads/unused/68acf752-2434-4341-aba8-aeb457faae5e.webp differ diff --git a/data/uploads/unused/6a5a8bde-3cb3-4a70-8d0b-20330ab3bc8f_JE TEST L'EMIETTEUR LEBORGNE.mp4 b/data/uploads/unused/6a5a8bde-3cb3-4a70-8d0b-20330ab3bc8f_JE TEST L'EMIETTEUR LEBORGNE.mp4 new file mode 100755 index 0000000..dda9c4c Binary files /dev/null and b/data/uploads/unused/6a5a8bde-3cb3-4a70-8d0b-20330ab3bc8f_JE TEST L'EMIETTEUR LEBORGNE.mp4 differ diff --git a/data/uploads/unused/6da85890-944c-49aa-b649-a9bbbdb88aa3.webp b/data/uploads/unused/6da85890-944c-49aa-b649-a9bbbdb88aa3.webp new file mode 100755 index 0000000..406d413 Binary files /dev/null and b/data/uploads/unused/6da85890-944c-49aa-b649-a9bbbdb88aa3.webp differ diff --git a/data/uploads/unused/7cd3e08a-ebaa-4c93-a9ec-c2aafb765557.webp b/data/uploads/unused/7cd3e08a-ebaa-4c93-a9ec-c2aafb765557.webp new file mode 100755 index 0000000..c2f78cc Binary files /dev/null and b/data/uploads/unused/7cd3e08a-ebaa-4c93-a9ec-c2aafb765557.webp differ diff --git a/data/uploads/unused/833a7cb8-75a8-451a-97ec-85033372f595.webp b/data/uploads/unused/833a7cb8-75a8-451a-97ec-85033372f595.webp new file mode 100755 index 0000000..3bcab7e Binary files /dev/null and b/data/uploads/unused/833a7cb8-75a8-451a-97ec-85033372f595.webp differ diff --git a/data/uploads/unused/89d6aa47-4fd0-4cd5-8603-83526d4e610e.webp b/data/uploads/unused/89d6aa47-4fd0-4cd5-8603-83526d4e610e.webp new file mode 100755 index 0000000..d969345 Binary files /dev/null and b/data/uploads/unused/89d6aa47-4fd0-4cd5-8603-83526d4e610e.webp differ diff --git a/data/uploads/unused/8f74ad74-7766-4634-a328-72075941848d.webp b/data/uploads/unused/8f74ad74-7766-4634-a328-72075941848d.webp new file mode 100755 index 0000000..2132d4a Binary files /dev/null and b/data/uploads/unused/8f74ad74-7766-4634-a328-72075941848d.webp differ diff --git a/data/uploads/unused/8f981fa8-f59e-45ed-9f5c-755591624a30.webp b/data/uploads/unused/8f981fa8-f59e-45ed-9f5c-755591624a30.webp new file mode 100755 index 0000000..c217d97 Binary files /dev/null and b/data/uploads/unused/8f981fa8-f59e-45ed-9f5c-755591624a30.webp differ diff --git a/data/uploads/unused/a0140ad1-10a6-4d2a-9a28-5873d778d3b6.webp b/data/uploads/unused/a0140ad1-10a6-4d2a-9a28-5873d778d3b6.webp new file mode 100755 index 0000000..c3d0488 Binary files /dev/null and b/data/uploads/unused/a0140ad1-10a6-4d2a-9a28-5873d778d3b6.webp differ diff --git a/data/uploads/unused/a7f5faa2-4b10-4047-b374-feff3230dcc9.webp b/data/uploads/unused/a7f5faa2-4b10-4047-b374-feff3230dcc9.webp new file mode 100755 index 0000000..d00010f Binary files /dev/null and b/data/uploads/unused/a7f5faa2-4b10-4047-b374-feff3230dcc9.webp differ diff --git a/data/uploads/unused/a97b4a31-83f3-4976-82f9-6fdf316ae6c0.webp b/data/uploads/unused/a97b4a31-83f3-4976-82f9-6fdf316ae6c0.webp new file mode 100755 index 0000000..8681b92 Binary files /dev/null and b/data/uploads/unused/a97b4a31-83f3-4976-82f9-6fdf316ae6c0.webp differ diff --git a/data/uploads/unused/af3e3f8c-b8ac-47bc-934a-48fb9fc189c4.webp b/data/uploads/unused/af3e3f8c-b8ac-47bc-934a-48fb9fc189c4.webp new file mode 100755 index 0000000..76e4324 Binary files /dev/null and b/data/uploads/unused/af3e3f8c-b8ac-47bc-934a-48fb9fc189c4.webp differ diff --git a/data/uploads/unused/b1d4c0af-c9ed-45bf-a8dd-7a2f78f1b609_Préparer du purin ortie.mp4 b/data/uploads/unused/b1d4c0af-c9ed-45bf-a8dd-7a2f78f1b609_Préparer du purin ortie.mp4 new file mode 100755 index 0000000..c727551 Binary files /dev/null and b/data/uploads/unused/b1d4c0af-c9ed-45bf-a8dd-7a2f78f1b609_Préparer du purin ortie.mp4 differ diff --git a/data/uploads/unused/b428f6b3-0b3a-48eb-87f6-25a292efbaee.webp b/data/uploads/unused/b428f6b3-0b3a-48eb-87f6-25a292efbaee.webp new file mode 100755 index 0000000..b361e0e Binary files /dev/null and b/data/uploads/unused/b428f6b3-0b3a-48eb-87f6-25a292efbaee.webp differ diff --git a/data/uploads/unused/b5d9f1ab-dd8c-43c4-a4e7-b440cbad1e36.webp b/data/uploads/unused/b5d9f1ab-dd8c-43c4-a4e7-b440cbad1e36.webp new file mode 100755 index 0000000..8c0b96d Binary files /dev/null and b/data/uploads/unused/b5d9f1ab-dd8c-43c4-a4e7-b440cbad1e36.webp differ diff --git a/data/uploads/unused/bab0bf59-3641-4f41-b073-dae0640c7ef9.webp b/data/uploads/unused/bab0bf59-3641-4f41-b073-dae0640c7ef9.webp new file mode 100755 index 0000000..412e157 Binary files /dev/null and b/data/uploads/unused/bab0bf59-3641-4f41-b073-dae0640c7ef9.webp differ diff --git a/data/uploads/unused/bab0bf59-3641-4f41-b073-dae0640c7ef9_thumb.webp b/data/uploads/unused/bab0bf59-3641-4f41-b073-dae0640c7ef9_thumb.webp new file mode 100755 index 0000000..7cd24c3 Binary files /dev/null and b/data/uploads/unused/bab0bf59-3641-4f41-b073-dae0640c7ef9_thumb.webp differ diff --git a/data/uploads/unused/c44d7174-dd5a-4de4-8692-e977b01c98b1.webp b/data/uploads/unused/c44d7174-dd5a-4de4-8692-e977b01c98b1.webp new file mode 100755 index 0000000..5a647b4 Binary files /dev/null and b/data/uploads/unused/c44d7174-dd5a-4de4-8692-e977b01c98b1.webp differ diff --git a/data/uploads/unused/c5fdbcd6-acc3-4d4b-9246-1742229c921d.webp b/data/uploads/unused/c5fdbcd6-acc3-4d4b-9246-1742229c921d.webp new file mode 100755 index 0000000..a413bd1 Binary files /dev/null and b/data/uploads/unused/c5fdbcd6-acc3-4d4b-9246-1742229c921d.webp differ diff --git a/data/uploads/unused/cdbcb620-232d-418d-b6f4-1c2731cc7599.webp b/data/uploads/unused/cdbcb620-232d-418d-b6f4-1c2731cc7599.webp new file mode 100755 index 0000000..366cb27 Binary files /dev/null and b/data/uploads/unused/cdbcb620-232d-418d-b6f4-1c2731cc7599.webp differ diff --git a/data/uploads/unused/d095eb68-a7ae-458a-b15e-2cd8bb3d6a9a.webp b/data/uploads/unused/d095eb68-a7ae-458a-b15e-2cd8bb3d6a9a.webp new file mode 100755 index 0000000..2516716 Binary files /dev/null and b/data/uploads/unused/d095eb68-a7ae-458a-b15e-2cd8bb3d6a9a.webp differ diff --git a/data/uploads/unused/d1021d20-3aac-4d3f-bfe9-bbbba2f2831d.webp b/data/uploads/unused/d1021d20-3aac-4d3f-bfe9-bbbba2f2831d.webp new file mode 100755 index 0000000..ffe7f53 Binary files /dev/null and b/data/uploads/unused/d1021d20-3aac-4d3f-bfe9-bbbba2f2831d.webp differ diff --git a/data/uploads/unused/de592188-4617-473c-ac13-480025b35f9c.webp b/data/uploads/unused/de592188-4617-473c-ac13-480025b35f9c.webp new file mode 100755 index 0000000..1ed4b29 Binary files /dev/null and b/data/uploads/unused/de592188-4617-473c-ac13-480025b35f9c.webp differ diff --git a/data/uploads/unused/de974155-c5ad-4848-9cd6-af0d7d2ba926.webp b/data/uploads/unused/de974155-c5ad-4848-9cd6-af0d7d2ba926.webp new file mode 100755 index 0000000..86e2a4e Binary files /dev/null and b/data/uploads/unused/de974155-c5ad-4848-9cd6-af0d7d2ba926.webp differ diff --git a/data/uploads/unused/e7756b47-500c-44c2-b2ee-3eac6fee37b1.webp b/data/uploads/unused/e7756b47-500c-44c2-b2ee-3eac6fee37b1.webp new file mode 100755 index 0000000..9ebe177 Binary files /dev/null and b/data/uploads/unused/e7756b47-500c-44c2-b2ee-3eac6fee37b1.webp differ diff --git a/data/uploads/unused/eceb1e2c-338e-4a5a-8be4-0816bd052788.webp b/data/uploads/unused/eceb1e2c-338e-4a5a-8be4-0816bd052788.webp new file mode 100755 index 0000000..16c083f Binary files /dev/null and b/data/uploads/unused/eceb1e2c-338e-4a5a-8be4-0816bd052788.webp differ diff --git a/data/uploads/unused/f0e873a3-8dd3-47e6-89f0-c5e2ccfb2a3c.webp b/data/uploads/unused/f0e873a3-8dd3-47e6-89f0-c5e2ccfb2a3c.webp new file mode 100755 index 0000000..9a89737 Binary files /dev/null and b/data/uploads/unused/f0e873a3-8dd3-47e6-89f0-c5e2ccfb2a3c.webp differ diff --git a/data/uploads/unused/f2951083-cbae-485b-9b24-fdabaa37059e.webp b/data/uploads/unused/f2951083-cbae-485b-9b24-fdabaa37059e.webp new file mode 100755 index 0000000..ae77263 Binary files /dev/null and b/data/uploads/unused/f2951083-cbae-485b-9b24-fdabaa37059e.webp differ diff --git a/data/uploads/unused/fa6637be-b7fb-4dbc-9fde-c366f836ff15.webp b/data/uploads/unused/fa6637be-b7fb-4dbc-9fde-c366f836ff15.webp new file mode 100755 index 0000000..0968f98 Binary files /dev/null and b/data/uploads/unused/fa6637be-b7fb-4dbc-9fde-c366f836ff15.webp differ diff --git a/data/uploads/unused/fa776ed0-e2f6-4cc9-866d-8cccdea1fe6b.webp b/data/uploads/unused/fa776ed0-e2f6-4cc9-866d-8cccdea1fe6b.webp new file mode 100755 index 0000000..b2bc620 Binary files /dev/null and b/data/uploads/unused/fa776ed0-e2f6-4cc9-866d-8cccdea1fe6b.webp differ diff --git a/frontend/src/api/settings.ts b/frontend/src/api/settings.ts index d58321e..ccc8ef9 100644 --- a/frontend/src/api/settings.ts +++ b/frontend/src/api/settings.ts @@ -47,4 +47,21 @@ export const settingsApi = { }), backupSamba: () => client.post<{ ok: boolean; fichier: string; chemin: string }>('/api/settings/backup/samba').then(r => r.data), + resizeAllImages: () => + client.post<{ ok: boolean; redimensionnees: number; ignorees: number; erreurs: number; message?: string }>( + '/api/settings/images/resize-all' + ).then(r => r.data), + restoreBackup: (file: File, overwrite: boolean) => { + const form = new FormData() + form.append('file', file) + form.append('overwrite', String(overwrite)) + return client.post<{ + ok: boolean + uploads_copies: number + uploads_ignores: number + db_restauree: boolean + db_lignes_ajoutees: number + erreurs: number + }>('/api/settings/backup/restore', form).then(r => r.data) + }, } diff --git a/frontend/src/views/ReglagesView.vue b/frontend/src/views/ReglagesView.vue index 8752004..36e09db 100644 --- a/frontend/src/views/ReglagesView.vue +++ b/frontend/src/views/ReglagesView.vue @@ -138,6 +138,52 @@
{{ backupMsg }}
+ + +
+
+ 🔁 + Restaurer une sauvegarde +
+ + + +
+ + +
+ +
+ {{ restoreMsg }} +
+
@@ -175,7 +221,21 @@ -
+
+ +
+ {{ resizeAllMsg }} +
+
+ +
{{ imageSavedMsg }}