Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

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).

Extraction terminée (ADR-018)

Cet opt-in suit la version du cœur de Forge et n'a pas de cycle de maturité propre : sa version est celle du pyproject.toml racine (OPTINS-MATURITY-FOLLOWS-CORE-001).

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, variant_presets(), déclarés par IMAGE_VARIANTS.
  • 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.

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).

Release files for forge-mvc-images 1.0.0rc8

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for forge-mvc-images 1.0.0rc8
File Size Uploaded
forge_mvc_images-1.0.0rc8.tar.gz 36.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for forge-mvc-images 1.0.0rc8
File Interpreter ABI Platform
forge_mvc_images-1.0.0rc8-py3-none-any.whl Python 3 none any Details

Total release size: 67.1 kB

Release files / forge_mvc_images-1.0.0rc8.tar.gz

Download URL forge_mvc_images-1.0.0rc8.tar.gz
Size 36.0 kB
Tags Source
SHA-256 checksum
How to use checksums
36564a6f0597390d745a10c0ba631a71c1456e190d9f02d43e2fb632f10fae87
BLAKE2b-256 checksum
How to use checksums
dafc89942554fe6342664a413a639d1b082c19c79f43b67644340371c382b8d6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release files / forge_mvc_images-1.0.0rc8-py3-none-any.whl

Download URL forge_mvc_images-1.0.0rc8-py3-none-any.whl
Size 31.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ff16c589523a9ec98bf9d8ed47e93017fc66f6bc457524ffed0e938ffa29b983
BLAKE2b-256 checksum
How to use checksums
3c0c3b8f87881e75bd771ff1a6c485422007416f08bbc7ad0ba4c105c2021e98
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page