Téléchargement

Ce qu’un gestionnaire de téléchargement fait et qu’un navigateur web ne fera pas

Un fichier de quatre gigaoctets, à quatre-vingt-dix pour cent, puis un appel — ou juste un écran qui se verrouille — et tout est perdu. C’est la plainte la plus courante à propos du téléchargement sur iOS, et ce n’est pas un bug. C’est le système d’exploitation qui fait exactement ce pour quoi il a été conçu, et c’est la raison pour laquelle une classe d’apps à part existe.

9 min de lecture Mis à jour 29 juillet 2026

  • 30 s À peu près le temps qu’une app suspendue continue de tourner avant qu’iOS l’arrête
  • 206 Le statut HTTP qui rend la reprise possible tout court
  • 1 octet Ce qu’un transfert correctement repris retélécharge

Pourquoi le transfert s’arrête quand tu changes d’app

iOS ne laisse pas une app continuer à travailler simplement parce qu’elle en aurait envie. Quand tu la quittes, elle est suspendue en quelques secondes, et une app suspendue n’a pas de temps processeur, pas de connexion réseau et aucun moyen de remarquer qu’on l’a arrêtée. Tout ce qu’elle gardait en mémoire est toujours là, mais figé — et si le système a besoin de cette mémoire, l’app est purement et simplement fermée sans être prévenue.

Un téléchargement qui tourne sur une connexion ordinaire à l’intérieur de l’app se termine donc au geste d’accueil. Certaines apps masquent ça en demandant quelques secondes de temps d’arrière-plan supplémentaires, ce qui explique qu’un téléchargement survive parfois au passage en arrière-plan tout juste le temps que tu remarques qu’il n’a pas survécu.

La bonne réponse est d’une autre nature. iOS fournit un service de transfert en arrière-plan : tu donnes au système une liste d’adresses et de destinations, et c’est le système qui télécharge, dans son propre processus, selon son propre calendrier. Ton app peut être suspendue, fermée ou pas lancée du tout — le transfert continue, et l’app est relancée en arrière-plan quand il y a quelque chose à signaler. C’est le mécanisme derrière chaque téléchargement qui survit à un écran verrouillé, et l’utiliser est une décision de conception qu’une app prend d’emblée, pas un réglage que tu peux activer.

Les quatre mécanismes qui décident si un téléchargement survit

Requête de plage
Une requête HTTP qui demande les octets à partir du 5 000 000e au lieu du fichier entier. Si le serveur répond 206 Partial Content, reprendre au milieu est possible ; s’il répond 200 OK et recommence depuis le début, non — le fichier doit être récupéré depuis zéro.
Connexions parallèles
Découper un fichier en plusieurs plages et les récupérer en même temps. Ça aide parce qu’une connexion unique est souvent bridée par le serveur ou limitée par la latence d’aller-retour, pas parce que ton internet va plus vite avec plus de sockets ouverts.
Position validée
La part du fichier qui est écrite sur le disque de façon sûre, par opposition à celle encore en vol. Un téléchargement qui reprend au dernier octet validé est correct ; celui qui reprend là où il *croit* en être produit un fichier corrompu qui ne se révèle que des heures plus tard.
Session d’arrière-plan
Le transfert géré par le système décrit plus haut. Il démarre plus lentement, on ne peut pas lui confier une logique arbitraire, et c’est la seule chose qui continue de tourner quand l’app ne tourne plus.

Pourquoi un téléchargement échoue, et à quoi ressemble chaque échec

La plupart des signalements de « téléchargement bloqué » sont l’un de ces cinq cas, et ils sont faciles à distinguer une fois que tu connais la forme.

Ce que tu voisCe qui se passe vraimentCe qui aide
S’arrête à l’instant où tu quittes l’appLe transfert tournait dans le processus de l’app, pas dans une session d’arrière-plan.Rien à faire de l’extérieur — c’est une question de conception de l’app.
Repart de 0 % chaque foisLe serveur ignore les requêtes de plage, il n’y a donc aucun moyen de continuer depuis le milieu.Une connexion stable, ou un fichier plus petit. Certains hébergeurs n’autorisent les plages que sur les liens signés.
Échoue au bout de quelques minutes, encore et encoreLe lien a expiré. Beaucoup d’hébergeurs délivrent des adresses valables cinq ou dix minutes.Récupère le lien depuis sa page et recommence ; l’ancien ne marchera jamais.
Télécharge vite, puis le fichier ne s’ouvre pasCe qui est arrivé était une page d’erreur HTML ou une page de connexion portant un nom de fichier vidéo.Regarde la taille — un « film » de 14 Ko est une page web. Inspecte le lien avant de t’y engager.
Très lent malgré une connexion rapideBridage par connexion du côté du serveur.Plus de connexions parallèles, si le serveur les permet. S’il plafonne par adresse IP plutôt que par socket, rien n’y fera.

Quand il n’y a aucun fichier à télécharger

Une grande partie de la vidéo sur le web n’est pas livrée sous forme de fichier. Elle est livrée en HLS — une liste de lecture .m3u8 qui énumère des centaines de petits segments de quelques secondes chacun, souvent à plusieurs niveaux de qualité pour que le lecteur puisse changer quand ta connexion change. Il n’existe aucune adresse unique contenant le film, parce que le film n’existe que sous forme de séquence.

En sauvegarder un, c’est récupérer chaque segment puis les remuxer : écrire les flux vidéo et audio dans un conteneur MP4 normal. Rien n’est réencodé, donc rien n’est perdu, et ça prend des secondes plutôt que la durée du film. Le résultat est un fichier ordinaire qui se lit partout.

C’est aussi pourquoi « télécharger ce flux » met sensiblement plus de temps à démarrer que télécharger un fichier : la liste de lecture doit être récupérée et analysée, un niveau de qualité choisi, et c’est seulement ensuite que les segments peuvent commencer à arriver. Et c’est pourquoi certains flux ne peuvent pas être sauvegardés du tout — si les segments sont chiffrés sous un système de DRM, les clés sont délibérément impossibles à obtenir, et aucun outil respectueux de la loi ne passera outre.

Ce qui sépare un vrai gestionnaire de téléchargement d’un bouton de téléchargement

Il survit à la fermeture de l’app

Des transferts en arrière-plan confiés au système, avec une passation qui continue au même octet validé au lieu de reprendre le fichier depuis le début.

Il te dit ce qu’est un lien avant que tu t’engages

Taille, type et prise en charge de la reprise par le serveur — tout est connaissable avec une seule requête HEAD, et tout est utile avant de dépenser quatre gigaoctets de forfait.

Il met en file plutôt que d’inonder

Dix fichiers à la fois, c’est plus lent que trois à la fois, parce que chaque connexion reçoit une part plus petite et que les échecs se multiplient. Une file avec une limite de simultanéité raisonnable finit plus tôt.

Ce qui arrive est un fichier normal

Dans un dossier que tu peux voir, nommé correctement, lisible par n’importe quoi — pas un bloc de base de données que seule cette app peut ouvrir.

Les habitudes qui évitent la plupart des problèmes de téléchargement

  • Lance les gros fichiers en Wi-Fi et laisse l’écran allumé les premières secondes

    La passation à la session d’arrière-plan se fait tôt ; après ça, l’écran n’a plus d’importance.

  • Ne mets pas vingt éléments en file d’un coup

    Trois à cinq transferts simultanés, c’est le bon compromis sur presque toutes les connexions.

  • Vérifie l’espace libre avant, pas après

    Un transfert qui remplit le disque échoue à 98 %, et iOS a peut-être déjà vidé tes caches pour essayer de faire de la place.

  • Méfie-toi d’un « terminé » instantané

    Un film qui a fini en deux secondes est une page d’erreur. Regarde la taille du fichier.

  • Récupère les liens expirés depuis leur page

    Réessayer une adresse signée morte échouera éternellement, peu importe le nombre de tentatives de l’app.

Ce qui change d’un appareil à l’autre

iPhone

L’environnement le plus strict : la suspension est agressive et le stockage est serré. Les sessions d’arrière-plan ne sont pas une optimisation ici, c’est la seule chose qui marche.

iPad

Les mêmes règles, avec plus de marge — et le seul appareil iOS où une grosse bibliothèque peut raisonnablement atterrir sur un disque externe plutôt que dans le stockage interne.

Mac

Aucune suspension, donc les longs transferts se comportent comme sur n’importe quel ordinateur de bureau. La limite pratique, c’est le serveur, pas le système d’exploitation.

Les questions que ça soulève

Plus de connexions veut-il toujours dire un téléchargement plus rapide ?

Non. Elles aident quand un serveur limite la vitesse de chaque connexion individuelle, ce qui est courant. Elles ne servent à rien quand la limite est ta propre connexion, et elles peuvent empirer les choses quand un hébergeur compte les sockets par adresse IP et se met à les refuser. Entre quatre et huit, c’est la plage utile ; trente, c’est contre-productif.

Un téléchargement peut-il continuer pendant que l’écran est verrouillé ?

Oui, s’il a été confié au service de transfert en arrière-plan du système. L’écran de verrouillage n’a aucune importance pour ce service — ce qui compte, c’est la suspension de l’app, et tout l’intérêt du mécanisme est justement de continuer malgré ça.

Pourquoi mon téléchargement repart de zéro au lieu de reprendre ?

Le serveur n’a pas honoré la requête de plage. Tu le vois parce que la progression revient à zéro au lieu de repartir de là où elle était. Certains hébergeurs ne prennent en charge les plages que sur leurs adresses de téléchargement signées, d’autres les désactivent complètement, et quelques-uns les honorent pour les petits fichiers mais pas pour les gros.

Convertir un flux en MP4, est-ce la même chose que le réencoder ?

Non. Le remux déplace la vidéo et l’audio existants dans un conteneur MP4 sans y toucher — sans perte, et assez vite pour finir en quelques secondes. Le réencodage reconstruit l’image avec un autre codec et perd toujours de la qualité. Si sauvegarder un flux de deux heures prend deux heures, quelque chose réencode alors que ce n’était pas nécessaire.

FoxDL

Comment FoxDL télécharge

Le moteur a deux voies : une voie in-process, rapide quand l’app est à l’écran, et la session d’arrière-plan système qui prend le relais au même octet quand elle ne l’est plus.

  • Blocs parallèles pour un même fichier, écrits directement à leur position finale sur le disque plutôt que dans des morceaux temporaires qu’il faut assembler ensuite.
  • Des transferts en arrière-plan qui continuent après que l’app a quitté l’écran, et qui repartent de la dernière position validée — pas du dernier octet que l’app croyait avoir.
  • Reprise après une coupure, un redémarrage ou une fermeture forcée, à condition que le serveur honore les requêtes de plage. Quand ce n’est pas le cas, FoxDL le dit au lieu de tourner en boucle.
  • Les flux HLS remuxés en MP4, pour que ce qui arrive dans la bibliothèque soit un fichier ordinaire, pas un dossier de segments.
  • Un inspecteur de téléchargement qui indique la vraie taille, le vrai type et la prise en charge de la reprise d’un lien avant que tu commences.
  • Tout arrive dans un dossier normal que l’app Fichiers peut voir.

Les quotas gratuits diffèrent selon la plateforme : sur iPhone et iPad, un petit nombre de passes rechargées par une courte vidéo récompensée que tu lances toi-même ; sur Mac, où il n’y a aucune publicité, un nombre fixe par jour. Pro retire la limite sur tous les appareils.

Questions fréquentes

Toutes les questions

À lire aussi

Ta bibliothèque, enfin au même endroit.

Téléchargement gratuit. Pas de compte, pas d’inscription — tout est dans la version gratuite.

Télécharger dans l’App Store