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.0rc9

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.0rc9
File Size Uploaded
forge_mvc_images-1.0.0rc9.tar.gz 36.3 kB Details

Built distribution (wheel)

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

Total release size: 67.7 kB

Release files / forge_mvc_images-1.0.0rc9.tar.gz

Download URL forge_mvc_images-1.0.0rc9.tar.gz
Size 36.3 kB
Tags Source
SHA-256 checksum
How to use checksums
78357d3a47303396db46399e3b2963c52125ef5af16669ec260a46a39d13e1d4
BLAKE2b-256 checksum
How to use checksums
acb419db800a8b75f560e2095470ccbfe30018cbff71f1279dbdeacc897de74d
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.0rc9-py3-none-any.whl

Download URL forge_mvc_images-1.0.0rc9-py3-none-any.whl
Size 31.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f3d977c96a5e38943a69b37ccdf7da333409bf5c75cce05a98f8dd2242be1a9d
BLAKE2b-256 checksum
How to use checksums
cfa85e515d602b6187e8f7713d14ae21c6e762bbad25fba92df75f6b052f2b85
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