Skip to main content

Forge Images — module opt-in propriétaire de tout le traitement d'image (variantes, miniatures, validation de contenu, Pillow) et de la couche médias applicative (repository, galerie, couverture).

Project description

forge-mvc-images

Module opt-in propriétaire de tout l'image dans Forge MVC : traitement (variantes, miniatures, validation de contenu — Pillow) et couche médias applicative (repository, galerie, couverture).

Statut : Alpha (extraction terminée, ADR-018)

forge-mvc-images est désormais l'unique propriétaire de tout l'image dans Forge. Le traitement (Pillow) et la couche applicative médias ont été rapatriés du core et de l'ancien forge-mvc-media, qui est supprimé. Le paquet expose une API publique stable :

  • Traitement : save_image, save_image_upload, generate_image_variants, image_variant_paths, image_variant_relative_paths, verify_image_content, plus les constantes ALLOWED_IMAGE_EXTENSIONS, ALLOWED_IMAGE_MIME_TYPES, IMAGE_VARIANT_SIZES.
  • Couche applicative médias : MediaRecord, create_media_record, get_media_record, delete_media, delete_media_record, attach_media_to_entity, list_media_for_entity, get_media_gallery, get_cover_media, media_url, update_media_alt_text, update_media_position.

Ce paquet dépend de forge-mvc-files (upload générique) et de Pillow. Il cible la publication PyPI de la release beta.13.

Pourquoi ce module (ADR-018)

forge-mvc-images remplace forge-mvc-media. Le nom « media » était trompeur depuis l'arrivée de forge-mvc-video (un développeur attendait que forge-mvc-media gère aussi la vidéo). Par ailleurs, embarquer Pillow et le traitement d'image dans le core contredit le principe de noyau minimal (charte principe 8, ADR-004).

Décision (option B, « renommer puis rapatrier ») :

  • le core ne garde aucune logique d'upload ni d'image : l'upload générique vit dans forge-mvc-files, l'image dans forge-mvc-images ;
  • forge-mvc-images devient l'unique propriétaire de tout l'image, traitement et couche applicative.

Conformément à la convention pré-1.0 (pas d'utilisateurs externes), le renommage s'est fait sans alias déprécié ni guide de migration : forge-mvc-media a été supprimé une fois le rapatriement terminé.

Plan d'exécution (ADR-018, terminé)

Ticket Description État
IMAGES-PKG-SCAFFOLD-001 Squelette du paquet (pyproject.toml + Pillow, __init__) livré
IMAGES-MOVE-PROCESSING-001 Déplacer le traitement image du core ; rendre save_upload générique livré
IMAGES-MOVE-APPLICATIVE-001 Déplacer repository + galerie depuis forge-mvc-media livré
CORE-DROP-PILLOW-001 Retrait de Pillow du core, inversion des garde-fous packaging livré
CLI-CRUD-IMAGES-RENAME-001 Générateurs CLI vers forge_mvc_images livré
CI-DOCS-IMAGES-RENAME-001 CI, README racine, docs, CONTRIBUTING livré
REMOVE-MEDIA-PKG-001 Suppression de packages/forge-mvc-media livré

Installation (mode éditable, depuis les sources)

git clone https://github.com/caucrogeGit/Forge.git
cd Forge
pip install -e packages/forge-mvc-images/

Référence

  • docs/adr/018-image-module-extraction.md — décision et périmètre figés.
  • Charte principes 8 (noyau minimal), 11 (une seule façon officielle).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

forge_mvc_images-1.0.0b17.tar.gz (12.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

forge_mvc_images-1.0.0b17-py3-none-any.whl (13.1 kB view details)

Uploaded Python 3

File details

Details for the file forge_mvc_images-1.0.0b17.tar.gz.

File metadata

  • Download URL: forge_mvc_images-1.0.0b17.tar.gz
  • Upload date:
  • Size: 12.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.13

File hashes

Hashes for forge_mvc_images-1.0.0b17.tar.gz
Algorithm Hash digest
SHA256 0e52ec8b638070434a7d857bf1a4ae483e3dff5ef04cc4b6acd8255c4900e5d6
MD5 27ec8609b0aa60dbedc647d9a97ac3cb
BLAKE2b-256 73f8b6ee03f535b317104a6ee45a1871c2c80796e8a51149a573d10dab4eccaa

See more details on using hashes here.

File details

Details for the file forge_mvc_images-1.0.0b17-py3-none-any.whl.

File metadata

File hashes

Hashes for forge_mvc_images-1.0.0b17-py3-none-any.whl
Algorithm Hash digest
SHA256 8c6a788c6a75cbf05eaec19e77bfb0af8b3581a12b7a9c6dfe9fa66a07d25e02
MD5 42682b00578707e1beebfa6ca7cfc249
BLAKE2b-256 986b56effe1ef69212e08a54ea5ce8497e8bf26dc89fe6fc4395891597a112b7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page