Skip to main content

Brique médias applicatifs pour Forge — repository, galerie, couverture.

Project description

forge-mvc-media

Module opt-in pour la gestion applicative des médias dans Forge MVC.

Statut : Alpha — opt-in officiel publié sur PyPI depuis 1.0.0-beta.9

forge-mvc-media est en statut 3 - Alpha depuis MEDIA-PYPI-READY-002. L'extraction depuis core/uploads/ est complète. La documentation et les shims de compatibilité ont été livrés.

Publié sur PyPI depuis 1.0.0-beta.9 (forme PEP 440 : 1.0.0b9). L'API applicative reste bêta — voir docs/production-limits.md avant déploiement.

Installation :

pip install --pre forge-mvc-media

Pour développer le paquet en mode éditable depuis les sources du dépôt Forge :

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

Ce que contient ce module

Depuis MEDIA-REPOSITORY-MOVE-001, le package contient :

  • media_repository — persistance SQL des métadonnées médias (table media) : create_media_record, attach_media_to_entity, get_media_record, list_media_for_entity, update_media_alt_text, update_media_position, delete_media_record, delete_media

  • media_gallery — galerie, couverture, URL des médias par entité : get_media_gallery, get_cover_media, media_url

Ce qui reste dans le core (définitif)

Les briques génériques restent dans core/uploads/ et ne bougent pas :

  • exceptions.py — hiérarchie UploadError
  • validators.py — validation extension, MIME type, taille
  • storage.py — filesystem, protection anti-traversal
  • manager.py — SavedUpload, save_upload, serve_media_file
  • image.py — save_image, generate_image_variants (Pillow)
  • rate_limit.py — rate limiting in-memory

Note sur les générateurs CLI

À partir de MEDIA-CRUD-INTEGRATION-OPTIN-001, les nouveaux générateurs média applicatifs (forge make:crud --media, forge make:public:list, forge make:public:show) ciblent forge_mvc_media pour les helpers applicatifs :

from core.uploads import save_upload  # générique — reste dans core
from forge_mvc_media import (
    attach_media_to_entity,
    delete_media,
    get_cover_media,
    # ... autres helpers : voir packages/forge-mvc-media/forge_mvc_media/__init__.py
)

Les anciens imports from core.uploads import attach_media_to_entity ne sont plus supportés depuis MEDIA-SHIMS-REMOVE-001. Ce package est publié sur PyPI depuis 1.0.0-beta.9 : pip install --pre forge-mvc-media.

Shims de compatibilité dans core

Les fichiers core/uploads/media_repository.py et core/uploads/media_gallery.py étaient des shims de compatibilité qui re-exportaient depuis ce module. Ils ont été supprimés dans MEDIA-SHIMS-REMOVE-001.

Conditions avant publication sur PyPI

Toutes les conditions préparatoires sont remplies depuis MEDIA-PYPI-READY-002. La publication PyPI sera déclenchée par un ticket dédié lors d'une prochaine release.

Les critères étaient :

  1. MEDIA-DOCS-MIGRATION-001 livré ✓ livré — documentation technique à jour dans docs/.
  2. Shims supprimés ✓ livré (MEDIA-SHIMS-REMOVE-001) — core/uploads/media_repository.py et core/uploads/media_gallery.py retirés du core.
  3. Development Status ajusté ✓ livré (MEDIA-PYPI-READY-002) — statut 3 - Alpha actif.
  4. Classifier retiré ✓ livré (MEDIA-PYPI-READY-002) — "Private :: Do Not Upload" supprimé du pyproject.toml.

Le ticket de publication PyPI sera PYPI-PUBLISH-MEDIA-001 (ou PYPI-PUBLISH-B8-MEDIA-001 selon la version cible).

Tickets de référence

Ticket Description État
MEDIA-CORE-BOUNDARY-AUDIT-001 Audit de la frontière core/opt-in livré
MEDIA-EXTRACT-PACKAGE-SCAFFOLD-001 Création du squelette source-only livré
MEDIA-REPOSITORY-MOVE-001 Déplacement du code applicatif livré
MEDIA-CRUD-INTEGRATION-OPTIN-001 Mise à jour des générateurs CLI livré
MEDIA-DOCS-MIGRATION-001 Mise à jour de la documentation livré
MEDIA-SHIMS-REMOVE-001 Suppression des shims core/uploads livré
MEDIA-PYPI-READY-001 Décision source-only confirmée livré
MEDIA-PYPI-READY-002 Requalification Alpha, retrait classifier privé livré

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_media-1.0.0b11.tar.gz (5.7 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_media-1.0.0b11-py3-none-any.whl (6.4 kB view details)

Uploaded Python 3

File details

Details for the file forge_mvc_media-1.0.0b11.tar.gz.

File metadata

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

File hashes

Hashes for forge_mvc_media-1.0.0b11.tar.gz
Algorithm Hash digest
SHA256 87ddd378cbdb49b916c3dbfa08de00f26e5c6c0d00f511bc40dc29b76db37931
MD5 9f56138bbdf8782249e1f5c06682a400
BLAKE2b-256 598a822492d7b84093254d0a6f30b5233a0c9e6aabdcef3021d243a0860d31c7

See more details on using hashes here.

File details

Details for the file forge_mvc_media-1.0.0b11-py3-none-any.whl.

File metadata

File hashes

Hashes for forge_mvc_media-1.0.0b11-py3-none-any.whl
Algorithm Hash digest
SHA256 7a63506a03dc76134bdfe8eff1482e1186f4ea593932ebf68dba1e85930eeee0
MD5 9b0b60fefcb745a7cf2e81cc6dac5ef3
BLAKE2b-256 65abafc5361b55e8d7ea60911232aba7d5396073cabc427f110ce60290bb5d1a

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