Aujourd’hui mes amis, c’est le jour de la victoire. Après deux années à ne pas comprendre pourquoi ces putains de podcasts n’affichaient aucune barre de progression lors des téléchargements sous iOS (et sous Firefox), j’ai enfin trouvé la solution.

Bon ok, je n’avais pas cherché des masses non plus, mais ma joie d’avoir réglé cette connerie n’en est pas moins grande. En conséquence, et même si vous vous en battez gravement les couilles, je vous fais un petit article pour résumer le souci et vous donner sa solution. Dans quelques années, quand je serai devant le même problème en ayant bien entendu complètement oublié comment faire, cela rendra au moins service à une personne.

La situation :Vous êtes un fringuant podcasteur diffusant un podcast à succès sur les coutumes sexuelles  des gladiateurs dans la Rome antique et le tricotage artisanal de slips en cuir pour vos grandeurs nature. Compte tenu du nombre de téléchargements, vous optez pour un serveur dédié qui va diffuser votre production.

Le drame : Les téléchargements fonctionnent bien mais impossible de voir la progression de ceux ci. La progress bar n’apparaît jamais et sur iTunes on passe directement de la phase « Préparation du téléchargement » à la phase « Téléchargement terminé ».

La solution : Désactiver le mod_deflate d’apache pour vos podcasts (ancien mod_gzip sur Apache 1). Méthode la plus simple, indiquer dans le fichier de config (httpd.conf typiquement) que les fichiers .mp3 et m4a sont exclus du mod_deflate. Exemple sur un serveur release 2 OVH (gentoo, le fichier est dans : /usr/local/apache/conf) :

Et voila, c’est aussi simple que cela mais encore faut-il le savoir. Et pour la petite explication de texte, mod_deflate sert à compacter ce qui sort de votre serveur pour économiser de la bande passante, le client s’occupant de le décompacter à la reception (le navigateur typiquement).

Bon, sur ce c’est la fin de l’article le plus chiant que j’aurais jamais écrit (en même temps c’est peut être le seul avec un peu d’intérêt aussi).