Journal
5 min de lecture

Le mail que j'attendais : Souffle est sur l'App Store

Trois semaines après quatre motifs de refus, le bon mail est enfin arrivé. Comment la contestation a été acceptée, ce que ce parcours m'a appris, et où télécharger Souffle.

Cette fois, le mail était le bon.

« Your app is now Ready for Distribution. » Sept mots, en haut d'un message d'App Store Connect, un matin comme les autres. J'ai relu trois fois — la même méfiance que pour le refus, mais à l'envers. Pas de quatre motifs. Pas de guideline numérotée. Juste : c'est bon, c'est en ligne.

Trois semaines plus tôt, je vous racontais le premier refus : quatre motifs en un seul mail, dont un qui m'empêchait de dormir. Voici comment ça s'est terminé.

Les motifs faciles, d'abord

Trois des quatre motifs étaient des problèmes que je pouvais régler seul, et vite.

Le piège fiscal : j'ai rempli le W-8BEN, le Certificate of Foreign Status et la DAC7. Vingt minutes de formulaires américains depuis la France, et le Paid Apps Agreement est passé en « actif ». Du coup le Tip Jar — mes achats in-app — est redevenu visible en sandbox. Le reviewer pouvait enfin le voir.

Le disclaimer médical : une phrase ajoutée à la description. « Souffle n'est pas un dispositif médical. Consultez un professionnel de santé avant toute décision médicale. » Dix secondes. Réglé.

Le background audio : aucun code à changer — il était déjà correct. J'ai juste détaillé les étapes de reproduction dans les App Review Notes. Lancez l'app, démarrez une session, activez une ambiance, verrouillez l'écran, attendez. Le son continue. Cette fois, le reviewer a suivi le chemin.

Trois motifs sur quatre, neutralisés en une soirée. Restait celui qui me terrifiait.

Le motif qui pouvait tout faire capoter

Le compte organisation — guideline 5.1.1(ix). Apple voulait que Souffle soit publiée par un compte Developer Organization : SIRET, structure juridique, numéro DUNS. Moi, je n'ai qu'un compte développeur individuel. Un type qui code le soir pour aider son père à respirer, pas une entreprise.

Si Apple maintenait sa position, il fallait créer une structure juridique avant de pouvoir publier. Pour une app gratuite. C'est le genre de blocage qui peut enterrer un projet, ou au minimum le repousser de plusieurs mois.

Alors j'ai contesté. Posément, par écrit, dans la Resolution Center. J'ai expliqué trois choses, factuellement :

Souffle ne donne aucun conseil médical personnalisé. Elle ne diagnostique rien, ne prescrit rien, ne mesure aucun signe vital. Elle propose des rythmes de respiration et des ambiances sonores — du bien-être, pas du médical.

Le disclaimer médical était désormais en place, bien visible.

L'app n'écrit pas dans les données de santé sensibles. Elle log des minutes de pleine conscience dans Apple Santé, via HealthKit, et c'est tout. Pas de fréquence cardiaque, pas de données cliniques.

Et puis j'ai attendu. C'est la partie la plus difficile : tu as envoyé tes arguments, tu ne peux plus rien faire, et il n'y a aucun délai annoncé. Tu rafraîchis App Store Connect dix fois par jour en sachant que ça ne sert à rien.

Apple a répondu trois jours plus tard. Ils ont accepté ma contestation. Souffle reste sur mon compte individuel.

Je ne sais pas si c'est mes arguments, le disclaimer, ou le fait que l'app soit manifestement inoffensive. Probablement les trois. Mais la leçon, elle, est claire : un refus n'est pas un verdict. La Resolution Center n'est pas une boîte aux lettres morte. Un reviewer humain lit ta réponse. Si tu argumentes calmement, avec des faits plutôt qu'avec de la frustration, tu peux faire bouger les lignes.

Ce que ce parcours m'a appris

En reprenant les trois mois écoulés — du premier commit au « Ready for Distribution » — voici ce que je retiens, et que j'aurais aimé qu'on me dise au départ.

Le code est la partie facile. J'ai passé des semaines sur SwiftUI, HealthKit, AVFoundation, les haptiques synchronisées. Et au final, aucun des quatre motifs de refus ne concernait le code. Tous étaient administratifs, fiscaux ou réglementaires. Le plus dur dans la publication d'une app, ce n'est pas de la coder. C'est tout le reste.

L'onglet Business avant tout. Avant même de soumettre, va vérifier que tes accords sont actifs et tes formulaires fiscaux validés. C'est vingt minutes, et ça t'évite le motif de refus le plus bête qui soit.

Le santé/bien-être attire une attention particulière. Disclaimer médical obligatoire, question du compte organisation, prudence sur les données HealthKit. Si ton app touche de près ou de loin à la santé, anticipe ces trois points dès le début.

Les reviewers ne devinent pas. Tout ce qui ne se teste pas en deux taps depuis l'écran d'accueil doit être décrit dans les App Review Notes. Mon background audio était correct depuis le début — il a quand même valu un refus, faute d'instructions.

Contester, ça marche. Quand tu es sûr de ton bon droit, argumente. Calmement, avec des faits. Le pire qui puisse arriver, c'est qu'Apple maintienne sa position — exactement là où tu serais resté en abandonnant.

Souffle est disponible

Voilà. Après trois mois de soirs et de weekends, un refus, une contestation et beaucoup de patience, Souffle est sur l'App Store.

Respiration guidée, 13 ambiances sonores, vibrations synchronisées, 4 programmes pré-configurés et des programmes sur mesure. Pas d'abonnement, pas de compte à créer, aucune donnée qui quitte ton iPhone. Tu installes, tu respires.

Télécharger Souffle sur l'App Store

C'est gratuit. Si l'app t'aide à dormir, à te calmer ou à te concentrer, le plus beau cadeau que tu puisses me faire, c'est de laisser un avis. Ça aide d'autres gens à la trouver — et accessoirement, ça fait sourire le dev qui l'a codée pour son père.

Le mail que j'attendais est arrivé. Maintenant, le vrai travail commence : la v1.1 est déjà sur l'établi.

— Pato