Skip to content

📖 docs(index): documentation racine avant la 1.0#31

Merged
ronan-develop merged 1 commit into
mainfrom
docs/index-avant-1.0
Jul 16, 2026
Merged

📖 docs(index): documentation racine avant la 1.0#31
ronan-develop merged 1 commit into
mainfrom
docs/index-avant-1.0

Conversation

@ronan-develop

Copy link
Copy Markdown
Owner

Dernier point manquant de la checklist de release : le plan §4 et §10 liste docs/index.md comme obligatoire, au même titre que le README et la LICENSE.

Ce qu'il contient

Le README installe et démarre. Ce document explique pourquoi le code fait ce qu'il fait, et documente ce qu'on a appris des fichiers réels — qui n'est écrit nulle part ailleurs :

  • la structure observée d'un NEF : la chaîne principale ne contient qu'un IFD, tout est dans les SubIFDs, dont 24 Mo de capteur qu'un parser naïf prendrait pour une preview ;
  • celle d'un CR2 : Canon stocke le capteur en JPEG lossless marqué Compression = 6, honnêtement — mais aucun décodeur ne le lit ;
  • celle d'un CR3 : PRVW sous son propre UUID à la racine, précédé de 8 octets propriétaires non documentés ;
  • le piège de getimagesizefromstring(), qui accepte un JPEG lossless parce qu'elle ne lit que l'en-tête ;
  • la distinction corrompu / sans preview, et pourquoi l'inverser fait rejeter des fichiers parfaitement lisibles.

Les limites, explicitement

Pas de décodage (c'est la raison d'être du package), pas de redimensionnement (c'est le travail de GD), et les fichiers qui ne contiennent objectivement aucune preview.

Prochaine étape : tag 1.0.0.

OK (138 tests, 224 assertions)

Exigence du plan §4 et §10, dernier point manquant de la checklist de release.

Le README installe et démarre ; ce document explique pourquoi le code fait ce
qu'il fait. Il documente surtout ce qu'on a appris des fichiers réels et qui
n'est écrit nulle part ailleurs :

- la structure observée d'un NEF (la chaîne principale n'a qu'un IFD, tout est
  dans les SubIFDs), d'un CR2 (le capteur en JPEG lossless marqué
  Compression = 6) et d'un CR3 (PRVW sous son propre UUID à la racine, précédé
  de 8 octets propriétaires non documentés) ;
- le piège de getimagesizefromstring(), qui accepte un JPEG lossless parce
  qu'elle ne lit que l'en-tête ;
- la distinction corrompu / sans preview, et pourquoi l'inverser fait rejeter
  des fichiers lisibles.

Les limites sont explicites : pas de décodage, pas de redimensionnement, et les
fichiers qui n'ont objectivement aucune preview.
@ronan-develop
ronan-develop merged commit c7cd2d9 into main Jul 16, 2026
7 checks passed
@ronan-develop
ronan-develop deleted the docs/index-avant-1.0 branch July 16, 2026 21:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant