Skip to content

✨ feat(Media): pack photographe — réglages EXIF (RAW + JPEG) + panneau galerie#269

Merged
ronan-develop merged 7 commits into
mainfrom
feat/#268-exif-photographe
Jul 19, 2026
Merged

✨ feat(Media): pack photographe — réglages EXIF (RAW + JPEG) + panneau galerie#269
ronan-develop merged 7 commits into
mainfrom
feat/#268-exif-photographe

Conversation

@ronan-develop

Copy link
Copy Markdown
Owner

Closes #268

Backlog #7 — orientation photographes. Extrait et affiche les réglages de prise de vue (RAW et JPEG).

Deux repos

Changements

  • Media : 5 colonnes nullable (aperture, shutter_speed, iso, focal_length, lens) + migration réversible.
  • ExifService : réglages des JPEG (FNumber/ExposureTime/ISOSpeedRatings/FocalLength/LensModel), mise en forme isolée dans ExifValueFormatter (pur, testé).
  • MediaProcessor : RAW → métadonnées via le package ($preview->metadata) ; JPEG → ExifService. La vignette reste générée depuis le fichier d'origine (orientation RAW préservée).
  • API : MediaOutput/MediaProvider exposent les 5 champs.
  • Galerie : panneau EXIF dans le lightbox (module pur assets/js/exif-panel.js + <hc-alert>-style overlay) ; tri « date de prise de vue » (m.takenAt).

Ce que voit le photographe

En ouvrant une photo (JPEG ou RAW) : bandeau « Prise le … · Nikon Z 6 · f/2.8 · 1/250s · ISO 400 · 50 mm · objectif » + lien carte si GPS.

Tests

  • ✅ PHPUnit 782 (0 échec) : ExifValueFormatter, MediaProcessor (JPEG + RAW via package mocké + dégradation gracieuse), API, menu de tri.
  • ✅ Jest 89 (+7 exif-panel : items, GPS, XSS).
  • ✅ Migration réversible.

Bornes

CR3 (ISO-BMFF) : metadata = null pour l'instant (parseur distinct) → champs vides, aucune erreur. Pas de carte GPS embarquée ni d'édition EXIF.

@ronan-develop ronan-develop added feature Nouvelle fonctionnalité api Modifications ou ajouts concernant l’API (routes, contrôleurs, ressources…). doctrine Modifications liées à Doctrine ORM (entités, mapping, migrations…). frontend CSS, Twig, Stimulus, JS labels Jul 19, 2026
@ronan-develop
ronan-develop marked this pull request as ready for review July 19, 2026 19:41
@ronan-develop
ronan-develop merged commit 8682ac7 into main Jul 19, 2026
3 checks passed
@ronan-develop
ronan-develop deleted the feat/#268-exif-photographe branch July 19, 2026 19:44
ronan-develop added a commit that referenced this pull request Jul 20, 2026
…manuel) (#300)

- cicd.md affirmait un déploiement automatique via webhook après CI verte —
  faux : le webhook public/deploy.php est cassé (401 depuis plusieurs jours)
  et de toute façon plus utilisé, le déploiement réel est manuel via
  bin/deploy-all.sh. DEPLOY_WORKFLOW.md/DEPLOY_SECRETS.md annotés "non
  implémenté" plutôt que réécrits (référence technique valide si #288 reprend).
- avancement.md rattrapé : #274 à #299 (zip dossier, drag-drop, viewer PDF,
  scan PDF actif + fix Content-Type décalé, page changelog auto-alimentée +
  pagination + PrTitleCleaner, centralisation factories, 7e instance
  baptiste, découvertes déploiement — webhook cassé, SshWhitelist, piège IP
  dynamique/VPN entreprise).
- deploiement.md : piège IP dynamique/VPN + API SshWhitelist documentés.
- technique.md : Factory/ ajouté à la structure src/, section Déploiement
  corrigée (même faux "automatique").
- features.md : limite EXIF RAW obsolète corrigée (lu depuis #269, sauf
  CR3), viewer PDF/zip dossier/changelog ajoutés.
- README.md : nombre de tests obsolète (738 → 832, 17 → 25 suites Jest).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api Modifications ou ajouts concernant l’API (routes, contrôleurs, ressources…). doctrine Modifications liées à Doctrine ORM (entités, mapping, migrations…). feature Nouvelle fonctionnalité frontend CSS, Twig, Stimulus, JS

Projects

None yet

Development

Successfully merging this pull request may close these issues.

EXIF pack photographe : réglages de prise de vue (RAW + JPEG) + affichage

1 participant