Pourquoi mes photos iPhone ne s'envoient pas ? (et comment régler ça)

Vous remplissez un formulaire — une candidature, une vérification d'identité, une annonce sur une place de marché — et il vous demande une photo. Vous en choisissez une récente depuis votre iPhone. Au lieu de s'envoyer, un message du genre « type de fichier non pris en charge » s'affiche, ou l'envoi échoue silencieusement sans rien afficher. La photo a pourtant l'air tout à fait normale dans votre pellicule.

Presque tous les articles sur le sujet vous diront que la réponse est le HEIC. C'est la cause la plus fréquente, mais ce n'est vraiment pas toujours celle-là — et si vous convertissez un fichier qui n'a jamais été le problème, vous vous retrouverez exactement au point de départ. Déterminons donc laquelle de ces cinq choses se produit.

Partez du symptôme

Ce que vous voyezCause la plus probable
« Type de fichier non pris en charge » / « format invalide »HEIC, ou un HEIC sans type MIME (cause 1)
« Fichier trop volumineux » — ou rien ne se passePoids ou dimensions (cause 2)
La barre démarre puis échoue tout près de la finPoids, contre une limite du serveur et non du navigateur
Envoyée, mais affichée de traversOrientation EXIF (cause 5)
Ça marche depuis l'ordinateur, pas depuis le téléphoneFormat du sélecteur, ou Live Photo (causes 1 et 3)
Une seule photo précise échoueCette photo est en ProRAW, un panorama ou une Live Photo

Un échec silencieux, sans le moindre message, mérite une mention à part : c'est en général une limite de poids appliquée côté navigateur, et c'est le cas le plus mal diagnostiqué de tous, parce que rien à l'écran ne désigne le fichier.

D'abord : vous n'avez peut-être pas envoyé de HEIC du tout

Depuis 2017, les iPhone enregistrent les nouvelles photos en HEIC plutôt qu'en JPG. Mais voici la partie qu'on omet : Safari le convertit pour vous. Depuis Safari 17, quand vous choisissez une photo via le sélecteur de fichiers d'un formulaire web, iOS utilise par défaut un réglage de format appelé « Automatique », qui signifie « le meilleur format pour la destination » — et en pratique cela veut généralement dire remettre un JPEG au site.

Donc si vous avez choisi la photo depuis un formulaire web dans Safari, le fichier arrivé était peut-être un JPEG des plus ordinaires, et le HEIC n'est pas votre problème.

Les cas où vous envoyez bel et bien un vrai HEIC :

  • Vous l'avez joint depuis l'app Fichiers plutôt que par le sélecteur de photos.
  • Vous avez touché le bouton Options du sélecteur et réglé le format sur Actuel.
  • Vous utilisez un navigateur autre que Safari, ou une app native avec son propre sélecteur.
  • Vous avez d'abord transféré les photos sur un ordinateur et vous envoyez depuis là.

Comment vérifier : regardez le nom de fichier que le formulaire affiche après la sélection. S'il se termine par .HEIC ou .HEIF, c'est bien du HEIC. S'il se termine par .JPG, votre problème se trouve plus bas.

Cause 1 : c'est réellement un fichier HEIC

Si l'extension le confirme, c'est le cas simple. Beaucoup de sites, de formulaires et d'applications anciennes n'ont jamais été conçus pour lire le HEIC. Les médiathèques de WordPress et de Shopify refusent le .heic, les services d'impression ne le reconnaissent généralement pas, et une longue traîne d'outils internes d'entreprise n'en a jamais entendu parler.

Il existe une version plus subtile de cet échec, qui explique bien des erreurs « type de fichier invalide » sur des fichiers apparemment corrects. Beaucoup de combinaisons système d'exploitation / navigateur transmettent les fichiers HEIC avec un type MIME vide ou générique au lieu de image/heic. Nous y avons été confrontés en développant la gestion du HEIC de ce site : on ne peut pas se fier au type déclaré, il faut aussi vérifier l'extension. Un formulaire qui effectue une validation MIME stricte côté serveur voit un fichier qui ne prétend être rien de particulier, et le refuse — le message dit « format invalide », la vraie cause est une étiquette manquante.

Cause 2 : le fichier est tout simplement trop lourd

La deuxième cause la plus fréquente, et elle est invisible si vous ne pensez qu'aux formats. Une photo iPhone standard de 12 mégapixels fait quelques mégaoctets, ce qui passe très bien. Mais :

  • Les photos en ProRAW atteignent plusieurs dizaines de mégaoctets chacune. Beaucoup de formulaires plafonnent à 5 Mo, certains à 2 Mo.
  • Les panoramas sont énormes, en dimensions comme en octets.
  • Certains formulaires limitent aussi les dimensions en pixels, pas seulement le poids, et refusent une photo de 4032 × 3024 d'une manière que le message d'erreur n'explique jamais.

Si la conversion en JPG n'a rien changé, c'est la prochaine chose à vérifier. Compresser aide réellement ici, tout comme choisir un réglage de qualité raisonnable plutôt que d'envoyer au maximum.

Cause 3 : c'est une Live Photo

Une Live Photo n'est pas un fichier — c'est une image fixe plus une courte vidéo, stockées ensemble. Selon la façon dont vous la joignez, certains sélecteurs envoient l'image fixe, d'autres tentent d'envoyer les deux, et certaines destinations s'étranglent sur le couple.

La solution consiste à retirer le mouvement avant l'envoi : ouvrez la photo, touchez Modifier, touchez le bouton LIVE en haut à gauche pour le désactiver, puis enregistrez. Vous avez maintenant une image fixe ordinaire.

Cause 4 : c'est une capture d'écran, pas une photo

Bon à savoir, car cela inverse le conseil habituel : les captures d'écran d'iPhone sont en PNG, pas en HEIC. Donc si ce qui refuse de s'envoyer est une capture, la conversion depuis le HEIC n'est pas votre réponse, et un formulaire qui n'accepte que le JPG la refusera pour une raison complètement différente.

Les captures contenant du texte gagnent à rester sans perte quand c'est possible, mais si le formulaire exige du JPG, c'est la conversion qu'il faut — avec la réserve que les arêtes des lettres s'adouciront légèrement.

Cause 5 : elle s'est envoyée, mais de travers

Ce n'est pas une erreur, mais cela tombe dans le même tiroir « ma photo iPhone n'a pas marché ». Les photos portent un indicateur EXIF d'orientation : les pixels sont stockés dans un sens, et une balise indique dans quel sens l'afficher. Un logiciel qui ignore la balise affiche votre photo pivotée de 90 degrés.

Réencoder la photo corrige généralement le problème, car le fichier exporté intègre la rotation dans les pixels au lieu de la décrire dans une balise.

Les solutions, de la plus rapide à la plus durable

Juste pour cette fois : utilisez la conversion du sélecteur lui-même. Dans le sélecteur de photos d'iOS, touchez Options en haut et réglez le format sur Le plus compatible. La photo arrive en JPEG sans que vous changiez quoi que ce soit d'autre. C'est la solution la plus rapide, et presque personne ne sait qu'elle existe.

Pour que ça ne se reproduise pas : changez l'appareil photo. Allez dans Réglages → Appareil photo → Formats et choisissez Le plus compatible. Les nouvelles photos seront enregistrées en JPG à partir de là. La contrepartie est réelle : elles occuperont environ deux fois plus de stockage. Si vous photographiez beaucoup, mieux vaut laisser l'appareil sur Haute efficacité et utiliser la solution au coup par coup.

Si vous transférez des photos vers un ordinateur — cela se règle dans Réglages → Photos → Transfert vers Mac ou PC. Attention : « Automatique » ne veut plus dire « toujours convertir ». Depuis iOS 16.3.1, il vérifie si le système destinataire sait gérer le HEIC et saute la conversion si c'est le cas. Si vous voulez précisément des JPEG à l'arrivée, cette vérification joue contre vous.

Convertissez ce que vous avez déjà. Le convertisseur HEIC vers JPG d'img-compress lit les fichiers HEIC et les réenregistre en JPG que n'importe quel formulaire acceptera, sans que rien ne soit envoyé où que ce soit — la conversion s'exécute dans votre navigateur. Besoin d'une copie sans perte pour retoucher plutôt que pour envoyer ? Le convertisseur HEIC vers PNG fonctionne pareil.

Une limite qu'il faut énoncer clairement : ce convertisseur exige Safari — sur iPhone, iPad ou Mac il fonctionne ; dans Chrome, Edge ou Firefox il ne peut pas, parce que ces navigateurs n'embarquent pas de décodeur HEVC et que nous n'embarquons délibérément pas le nôtre. Si vous êtes sous Windows, ouvrir un fichier HEIC sous Windows couvre ce qui marche là-bas.

Pourquoi tout ne prend-il pas simplement en charge le HEIC ?

Parce que ce n'est pas seulement une question technique. Le HEIC stocke ses données d'image avec HEVC, un codec vidéo couvert par un large portefeuille de brevets dont les conditions de licence font de l'embarquement d'un décodeur une décision juridique et financière plutôt qu'une décision d'ingénierie. C'est pourquoi Chrome, Edge et Firefox — qui pourraient tous techniquement le faire — ne le font toujours pas, près d'une décennie après l'arrivée du format.

Le JPG est depuis trois décennies la valeur par défaut universelle et sans surprise, et il ne traîne rien de tout cela. C'est la réponse insatisfaisante mais pratique : quand quelque chose doit accepter votre photo, le JPG reste le format qui marche toujours.