{}const=>[]async()letfn</>var
DéveloppementMobile

Autorisation en 2026 pour les débutants : e-mail/mot de passe, OAuth, OTP et JWT sans douleur 🔐

Nous analysons le fonctionnement d'une connexion moderne : pourquoi hacher les mots de passe, comment fonctionnent les jetons JWT et de rafraîchissement, ce qui se passe lors de la connexion via Google/Apple et comment implémenter OTP/TOTP sans failles de sécurité. En plus, les erreurs courantes des débutants et une liste de contrôle pour les entretiens.

К

Kodik

Auteur

8 min de lecture

Vous avez développé votre première application mobile ? Félicitations ! 🎉 Mais il est trop tôt pour se détendre, car l'une des étapes les plus stressantes vous attend : la modération. Selon les sensations (et selon la pratique des équipes), environ chaque seconde la première publication reçoit un « refus » ou une liste de modifications. Voyons ce qui ne va pas le plus souvent et comment réussir l'examen du premier coup.

Spécificités russes : que faut-il savoir ?

Avant de se plonger dans les détails techniques, il est important de comprendre les « réalités du marché » actuelles pour les développeurs russes. Elles affectent les comptes, les paiements, les API et la monétisation, et donc la possibilité de passer la modération en douceur.

Problème de paiement du compte développeur

Apple et Google peuvent bloquer les paiements effectués avec des cartes russes. Ce qu'ils font habituellement :

  • Utilisent les comptes d'amis/partenaires à l'étranger

  • Travaillent par le biais de sociétés intermédiaires étrangères

  • Utilise des cartes virtuelles internationales (par exemple, Wise)

  • Pour Android, les alternatives suivantes sont envisagées : RuStore, NashStore, AppGallery

Restrictions régionales

Certains services et API peuvent ne pas être disponibles ou fonctionner avec des nuances :

  • Cartes : API Google Maps — restrictions possibles ; alternatives : Yandex Maps, OpenStreetMap

  • Paiements : les options étrangères peuvent fonctionner de manière limitée ; réfléchissez à l'avance au modèle de monétisation

  • Push: Firebase fonctionne généralement, mais des « nuances soudaines » sont possibles — gardez un plan B

Ensuite, le plus important : pourquoi est-ce rejeté applications. Analysons les deux plateformes de manière humaine et avec des exemples.

🔥 100 000+ étudiants déjà avec nous

Marre de lire la théorie ?
Il est temps de coder !

Kodik — une appli où tu apprends à coder par la pratique. Mentor IA, leçons interactives, projets réels.

🤖 IA 24/7
🎓 Certificats
💰 Gratuit
🚀 Commencer
Ont rejoint aujourd'hui

🍎 Top 5 des raisons de refus sur l'App Store

1) Métadonnées et description incorrectes

Ce qui ne va pas :

  • La description contient des contacts (e-mail, téléphone) ou des liens vers des réseaux sociaux

  • Les captures d'écran ne correspondent pas aux fonctionnalités réelles

  • La description mentionne Android/Google Play/autres plates-formes

  • Les mots-clés contiennent des noms de marques/concurrents

Comment bien faire :

❌ Mauvais

Лучшее приложение! Пишите на email@example.com
Доступно также в Google Play!

✅ Bien

Планируйте задачи, управляйте проектами и повышайте продуктивность.
Синхронизация между устройствами, напоминания и удобный интерфейс.

Important pour les développeurs russes : si vous avez une version Web avec un domaine russe, n'insérez pas le lien dans la description « sur la machine ». Apple peut s'en prendre au contenu du site.

2) Fonctionnalité minimale (MVP trop « vide »)

Rejeté si :

  • C'est une page Web trop simple et sans valeur

  • L'application duplique les fonctions intégrées d'iOS (lampe de poche/calculatrice) sans valeur ajoutée

  • L'application ne fonctionne pas sans compte, mais vous n'avez pas donné l'identifiant de test aux modérateurs

Solution :

  • Donnez un compte de démonstration avec des données complétées

  • Décrivez dans les notes ce qu'il faut cliquer et où (oui, cela aide vraiment)

  • Ajoutez une valeur unique (pas seulement une vue Web)

3) Confidentialité et vie privée

Erreurs fréquentes :

  • Collecte de données sans consentement

  • Pas de politique de confidentialité

  • Demande d'autorisation sans explication claire

  • Suivi sans autorisation correcte (ATT)

Exemple : dans iOS, n'écrivez pas « j'ai besoin d'une caméra parce que j'en ai besoin ». Écrivez de manière spécifique et directe.

// Lors de la demande de la caméra dans Info.plist, il est nécessaire de :
<key>NSCameraUsageDescription</key>
<string>Приложению нужен доступ к камере для
сканирования QR-кодов ваших заказов</string>

// ET PAS simplement :
<string>Нужен доступ к камере</string>
  • Il est préférable d'avoir une politique de confidentialité en anglais (pour l'international) et en russe (pour le public)

  • Un lien vers la politique de confidentialité est requis dans App Store Connect

  • Si vous collectez des e-mails / numéros de téléphone, expliquez directement pourquoi

4) Bogues et plantages lors des tests

Les modérateurs testent réellement l'application. Si elle plante au premier démarrage ou affiche un écran blanc, vous serez exclu de l'examen en un clin d'œil 😅

Problèmes typiques :

  • Crash au premier démarrage

  • Écran blanc/blocage

  • Boutons inactifs

  • Problèmes avec la version iPad (si le support est spécifié)

Comment vous tester :

  • Testez sur de vrais appareils (pas seulement un simulateur)

  • Vérifiez les scénarios de base : premier lancement, connexion, écrans clés

  • Utilisez TestFlight pour les tests bêta

5) Achats et monétisation

Erreurs critiques :

  • Paiement « contournant » IAP (In-App Purchase)

  • Mention de meilleurs prix sur le site

  • Abonnement sans gestion dans l'application

Réalité difficile : si vous ne pouvez pas accepter les paiements via Apple IAP (par exemple, il n'y a pas de société étrangère), pensez au modèle : application gratuite, activation via le Web (sans mention de prix), ou publication dans des magasins alternatifs.

🤖 Top 5 des raisons de refus sur Google Play

1) Non-conformité au niveau de l'API cible

Google exige un targetSdkVersion à jour. Si vous utilisez l'ancien, préparez-vous à un refus.

// En 2025, au moins (exemple) :
android {
  compileSdk 34
  defaultConfig {
    targetSdk 34  // Pas plus bas !
    minSdk 24
  }
}

Pourquoi est-ce rejeté : ancien targetSdk (par exemple, 28/30). Solution : mettre à jour le projet et les dépendances.

2) Violation de la politique de contenu

Problèmes fréquents :

  • Les icônes/le nom sont trompeurs (trop similaires aux marques connues)

  • Contenu 18+ sans classification

  • Fonctionnalité anti-spam (actions automatiques sans consentement)

  • Conseils médicaux/financiers sans clause de non-responsabilité

Pour le marché russe : si l'application est liée aux finances, écrivez clairement qu'il ne s'agit pas d'un conseiller financier. Soyez prudent avec les sujets liés aux crypto-monnaies, la modération peut être stricte.

3) Problèmes d'autorisations (Permissions)

Ce qui met les modérateurs en colère : quand vous demandez tout, mais que vous utilisez 1 bouton.

<!-- ❌ Плохо: просите всё подряд -->
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<!-- но реально используете только камеру -->

Règle : chaque autorisation doit être justifiée (y compris dans les déclarations de sécurité des données).

4) Aucune information obligatoire sur la collecte de données (Data Safety)

Google exige de remplir la sécurité des données : ce que vous collectez, comment vous l'utilisez, si vous le transmettez à des tiers, si les données peuvent être supprimées.

Astuce : même si vous ne collectez rien, indiquez-le directement No data collected. Ignorer cette étape se termine souvent par un échec.

5) Éléments cassés ou de test

  • Debug a été rempli au lieu de Release

  • Nous avons laissé les boutons de test/fonctionnalités

  • Journaux dans la console (supprimer console.log, Log.d())

  • Taille AAB trop grande

✅ Собрали Release-версию
✅ Включили ProGuard/R8
✅ Удалили console.log / Log.d
✅ Протестировали на разных экранах
✅ Проверили работу на Android 14

⚠️ Erreurs courantes pour les deux plateformes

Taille incorrecte des icônes et des captures d'écran

App Store

  • Icône 1024 × 1024px (sans canal alpha, sans arrondi)

  • Captures d'écran pour iPhone et iPad séparément

  • Différentes tailles d'écran (par exemple, 6,7", 6,5", 5,5")

Google Play

  • Icône 512×512px

  • Feature Graphic 1024×500px

  • Au moins 2 captures d'écran (maximum 8)

  • JPG/PNG jusqu'à 8 Mo

Piège typique : télécharger des « captures d'écran iPhone » avec des arrondis sur Google Play — Play ajoute ses propres arrondis. Il en résulte un double cadre et un « look bon marché ».

Problèmes de classification par âge

  • Même la mention de l'alcool peut augmenter la cote

  • Chat/forum = classement potentiellement plus élevé

  • Contenu effrayant/choc même « en plaisantant » = classement supérieur

Conseil : il vaut mieux surestimer honnêtement que sous-estimer et être refusé avec une nouvelle soumission.

Impossible de supprimer le compte

Exigence de ces dernières années : si un utilisateur peut créer un compte, il doit pouvoir le supprimer directement dans l'application (et non « écrire au support »).

// Option minimale
async function deleteAccount() {
  if (confirm('Are you sure you want to delete the account? Data cannot be recovered.')) {
    await api.deleteUser(userId);
    await logout();
    showMessage('Account deleted');
  }
}

Sites alternatifs (si c'est vraiment difficile)

  • RuStore — audience croissante, modération propre

  • NashStore — une alternative pour Android

  • AppGallery — magasin Huawei, large audience en Asie

😵 Que faire si votre demande est rejetée

Pas de panique. Le refus est normal, surtout lors de la première publication.

  1. Lisez attentivement le motif du refus (vient à l'e-mail/à la console)

  2. Corrigez les points spécifiques

  3. Dans le Centre de résolution/réponse, décrivez ce qui a été corrigé

  4. Soumettre à nouveau

Si la raison n'est pas claire, demandez des précisions. Habituellement, les modérateurs répondent. Pour les développeurs russophones : écrivez en anglais simple, sans argot.

🏁 Conclusion : les règles principales

  • Règle d'or n° 1 : lisez les guides. La plupart des refus sont dus à l'ignorance de la documentation.

  • Règle d'or n° 2 : testez sur de vrais appareils. L'émulateur ne montrera pas tous les problèmes.

  • Règle d'or n° 3 : Soyez honnête. Évaluation, autorisations, fonctionnalités — sans « astuces ».

  • Règle d'or n° 4 : Ne vous précipitez pas. Une semaine de préparation vous évite un mois de réessais.

Pour les développeurs russes : gardez un plan de rechange. Les restrictions peuvent changer soudainement. Ayez des contacts de personnes/entreprises pour la publication et pensez à des magasins alternatifs.

🎓 Vous souhaitez approfondir vos connaissances en développement mobile ?

La publication est la touche finale d'un long voyage. Codique nous démontons l'ensemble du processus de l'idée à la sortie :

  • Développement sur React Native, Flutter et technologies natives

  • Architecture des applications mobiles

  • Travail avec les API et les bases de données

  • Configuration de CI/CD pour la publication automatique

  • Monétisation et analyse

  • Travaux pratiques et projets — sans eau

Besoin d'aide ? Nous sommes là ! 🤝

Vous êtes coincé avec une erreur ? La modération ne passe pas ? Vous ne savez pas comment configurer correctement la sécurité des données ou les métadonnées ?

Rejoignez notre Communauté Telegram: plus de 2000 développeurs actifs vous aideront à comprendre.

👉 Trouvez le code dans Telegram et faites partie d'une communauté active de développeurs !

🎯Arrête de reporter

Tu as aimé l'article ?
Place à la pratique !

Avec Kodik, tu ne lis pas seulement — tu codes immédiatement. Théorie + pratique = vraies compétences.

Pratique instantanée
🧠L'IA explique le code
🏆Certificat

Sans inscription • Sans carte