Aller au contenu
WebViewGold Du vibe coding à l'App Store
Français
Obtenir WebViewGold

ChatGPT & Codex

Une bibliothèque de prompts pour Codex : de l'app web à l'app prête pour l'App Store en huit tâches

Chaque prompt ci-dessous est une tâche Codex ciblée, avec une définition claire de « terminé », dans l'ordre qui compte pour les stores. Lancez-les un par un dans le dépôt, relisez le diff, déployez, puis passez au suivant. Ensemble, ils couvrent les règles à l'origine de presque tous les refus d'apps web lors d'une première soumission.

Dès $109 en paiement unique par plateforme, ou notre équipe s'occupe de tout dès $698.

  • Garantie d'approbation – ou remboursement sous 14 jours
  • Aucun codage requis
  • Paiement unique, mises à jour gratuites
  • Support humain 24/7
  • Conçu en Allemagne depuis 2014 · ISO 27001

Comment les utiliser

Un prompt par session ou par tâche cloud. Codex donne le meilleur de lui-même avec un périmètre limité et un moyen de se vérifier, c'est pourquoi chaque prompt se termine par un rapport ou un test. Si vous avez un AGENTS.md avec le contexte WebView, les prompts raccourcissent ; sans lui, ils embarquent leur propre contexte. Deux prompts supposent que l'app native s'identifie par un marqueur de user agent (MYAPPNATIVE ci-dessous) : définissez-le une fois dans WebViewGold via useragent_iphone / useragent_ipad dans Config.swift et USER_AGENT dans Config.java, ajouté à la chaîne de user agent par défaut.

Les prompts 7 et 8 nécessitent aussi un réglage natif : la clé API et l'ID de projet RevenueCat dans la configuration WebViewGold, et la demande d'autorisation push au premier lancement désactivée (askforpushpermissionatfirstrun sur iOS, requirePush sur Android) pour que votre app web puisse la déclencher à un meilleur moment.

1. Audit de la mise en page mobile

Apple cite la guideline 4.0 (design) et la 2.1 (complétude) pour les mises en page qui cassent sur téléphone ; Google parle de fonctionnalité défaillante.

Prompt 1 : audit mobile
Auditez cette app web pour son utilisation dans une WebView native iOS et Android, et corrigez ce que vous trouvez. Checklist : meta viewport avec width=device-width et viewport-fit=cover ; aucun débordement horizontal entre 320px et 1024px ; zones tactiles d'au moins 44x44px ; en-têtes, pieds de page et bottom sheets fixes avec un padding env(safe-area-inset-top) et env(safe-area-inset-bottom) ; champs de saisie avec un font-size de 16px ou plus ; aucun contrôle accessible uniquement au survol ; images avec des dimensions explicites pour éviter les décalages de mise en page ; contraste lisible. Ne refaites pas le design ; faites les plus petits changements qui suffisent. Terminez par un tableau des pages vérifiées et de ce que vous avez changé sur chacune.

2. Pages de politique de confidentialité et de conditions d'utilisation

Les deux stores exigent une URL de politique de confidentialité accessible ; une route dans l'app s'ouvre aussi dans la WebView. Voir ce que la politique doit contenir.

Prompt 2 : confidentialité et conditions
Ajoutez deux vraies routes, /privacy et /terms, affichées comme des pages lisibles (pas des modales), liées depuis le pied de page et l'écran des réglages. Générez la politique de confidentialité à partir de ce que ce code fait réellement : analysez package.json, les routes API et les noms des variables d'environnement, et listez chaque service tiers qui reçoit des données utilisateur (base de données, authentification, e-mail, analytics, fournisseurs d'IA, paiements, notifications push). Utilisez les placeholders [COMPANY], [ADDRESS] et [EMAIL] pour les mentions légales. Incluez des sections sur les données collectées, la finalité, la durée de conservation, la suppression de compte, les enfants, le contact et la date de dernière mise à jour. Gardez un langage simple. N'inventez aucun traitement que le code ne fait pas.

Avec une bonne version optimisée de votre application Web, vous pouvez avoir une superbe application mobile en quelques minutes. De plus, le service client est très agréable et très utile! Je ne peux que recommander WebViewGold :-)

Julian Koch · Co-fondateur de DuelDonkey · CodeCanyon

3. Suppression de compte

Exigée par la guideline 5.1.1 d'Apple et par Google Play pour toute app avec inscription. La suppression doit se faire côté serveur, avec des droits d'administrateur.

Prompt 3 : suppression de compte
Implémentez la suppression de compte telle qu'exigée par l'App Store (Guideline 5.1.1) et Google Play. 1) Écran des réglages : un bouton Supprimer le compte avec une boîte de dialogue de confirmation qui explique que la suppression est définitive. 2) Une fonction côté serveur qui, pour l'utilisateur authentifié, supprime toutes les lignes lui appartenant puis l'utilisateur d'authentification, en utilisant des identifiants administrateur uniquement sur le serveur. 3) Après la réussite : déconnectez l'utilisateur et affichez un écran de confirmation. 4) Une page publique /delete-account qui explique les étapes dans l'app et propose un contact par e-mail pour les utilisateurs qui n'ont plus l'app. 5) Une phrase sur la suppression dans /privacy. Écrivez un test pour la fonction serveur si le projet dispose d'un environnement de test.

4. États d'erreur, vides et hors ligne

WebViewGold affiche un écran hors ligne natif quand l'appareil n'a pas de connexion au lancement ; les requêtes qui échouent en cours de session relèvent de votre app web.

Prompt 4 : états d'erreur
Rendez résilient chaque écran qui charge des données. Pour chaque fetch ou requête : un état de chargement, un état vide avec un message utile, un état d'erreur avec un bouton Réessayer, et un timeout pour que l'interface ne reste jamais bloquée. Ajoutez une error boundary globale avec une action Recharger au lieu d'un écran blanc. Surveillez navigator.onLine et affichez une bannière hors ligne qui disparaît quand la connexion revient. N'avalez pas les erreurs en silence ; journalisez-les via le logger existant. Listez chaque écran que vous avez modifié.

5. Interface propre à l'app via le marqueur du user agent

Les examinateurs remarquent les restes du site web : bannières « Téléchargez notre app », murs de cookies, en-têtes desktop. Masquez-les uniquement dans l'app.

Prompt 5 : interface propre à l'app
Créez src/lib/platform.ts, qui exporte isNativeApp() ; cette fonction renvoie true quand navigator.userAgent contient le marqueur MYAPPNATIVE (l'app native définit ce user agent). Ensuite, quand isNativeApp() est true : masquez le bandeau cookies s'il n'est pas légalement obligatoire, masquez les bannières « Téléchargez notre app » et « Ouvrir dans l'app », masquez l'en-tête desktop et la navigation du pied de page au profit de la barre de navigation en bas de l'app, et remplacez les liens externes vers le site marketing par des routes internes à l'app. Ne changez rien dans les navigateurs normaux. N'utilisez pas un simple masquage CSS pour tout ce qui affecte le chargement des données.

6. Sign in with Apple

Guideline 4.8 : si vous proposez la connexion Google ou Facebook, proposez une option équivalente respectueuse de la vie privée. WebViewGold gère automatiquement le flux Apple, et le flux Google via le Social Login Helper.

Prompt 6 : Sign in with Apple
Notre app propose la connexion Google. La guideline 4.8 d'Apple exige une option équivalente respectueuse de la vie privée : ajoutez donc Sign in with Apple via notre fournisseur d'authentification (vérifiez lequel le code utilise : Supabase, Firebase, Auth.js ou Clerk). Ajoutez le bouton en respectant les règles de nommage et de placement d'Apple, avec la même taille et la même visibilité que le bouton Google. Gérez le cas de la première connexion, où Apple ne renvoie le nom qu'une seule fois, liez l'identité Apple à un compte existant ayant le même e-mail lorsque le fournisseur le permet, et écrivez dans SETUP.md la configuration côté fournisseur que je dois effectuer (Service ID, clé, URL de redirection). Gardez la connexion par e-mail et mot de passe fonctionnelle.

7. Achats intégrés via revenuecat://

Guideline 3.1.1 d'Apple : les biens numériques vendus dans l'app passent par l'achat intégré. WebViewGold déclenche RevenueCat avec une seule URL ; votre serveur accorde le droit d'accès à partir du webhook RevenueCat. Voir la configuration de RevenueCat.

Prompt 7 : achats intégrés
Dans l'app native, les produits numériques doivent être vendus via les achats intégrés. Trouvez chaque endroit où un abonnement, des crédits ou une fonctionnalité premium sont vendus. Quand isNativeApp() est true, remplacez le checkout Stripe par une navigation vers revenuecat://purchase?external_id=USER_ID&product=PRODUCT_ID, où USER_ID est notre identifiant utilisateur et PRODUCT_ID provient d'une table de configuration des identifiants de produits RevenueCat. Ajoutez à l'écran des réglages des liens Restaurer les achats (restoreinapppurchases://) et Gérer l'abonnement (cancelinapppurchase://), uniquement dans l'app native. Les droits d'accès doivent être accordés par notre serveur à partir du webhook RevenueCat, jamais par le client. Conservez Stripe pour les utilisateurs du navigateur. N'affichez jamais de prix avec des liens de paiement externes dans l'app native.

8. Demande d'activation du push au bon moment via registerpush://

Une demande d'autorisation au premier lancement est refusée la plupart du temps. Demandez une fois que l'utilisateur a vu ce que l'app lui apporte, avec registerpush:// de WebViewGold.

Prompt 8 : activation du push
Ajoutez une demande d'activation des notifications push qui intervient au bon moment. L'app native ne demande rien au premier lancement ; à la place, une fois que l'utilisateur a terminé [première action significative, p. ex. créer un premier projet], affichez dans l'app une courte explication des notifications qu'il recevra, avec un bouton Activer qui navigue vers registerpush:// quand isNativeApp() est true, et une option Pas maintenant dont nous gardons la trace. Sur l'écran des réglages, naviguez vers checkNativePushPermissions:// et lisez la variable injectée nativePushEnabled (interrogez-la brièvement à intervalles réguliers, elle est définie de manière asynchrone) pour afficher l'état actuel. Dans les navigateurs, masquez entièrement la fonctionnalité. N'ajoutez pas de service worker pour le web push.

Après les huit tâches

  • Déployez et lancez la vérification de conformité App Store et la vérification de conformité Google Play sur l'URL.
  • Testez les parcours réservés à l'app native sur un vrai build installé sur un appareil (TestFlight, test interne) : feuille de partage, demande push, achat, Face ID.
  • Rédigez les notes pour l'examen avec le compte de démo et la liste des fonctionnalités natives.
  • Gardez les prompts : chaque nouvelle demande de fonctionnalité peut se terminer par « et respectez les règles des stores dans AGENTS.md ».

Questions fréquentes

Dois-je lancer les huit ?

Lancez les prompts 1 à 5 pour chaque app. Le 6 uniquement si vous avez une connexion tierce, le 7 uniquement si vous vendez des biens numériques, le 8 uniquement si vous activez les notifications push dans WebViewGold.

Puis-je les coller dans ChatGPT plutôt que dans Codex ?

Oui, mais ChatGPT ne voit pas votre dépôt, sauf si vous collez les fichiers. Codex (CLI, extension IDE ou cloud) travaille sur le vrai code, lance les tests et vous donne un diff, et c'est ce qu'il vous faut pour ces tâches.

Pourquoi un marqueur de user agent plutôt qu'une détection de la WebView ?

La détection générique d'une WebView n'est pas fiable et casse d'une version d'OS à l'autre. Un marqueur que vous définissez vous-même dans WebViewGold est déterministe et ne peut pas se déclencher par erreur dans Safari ou Chrome.

Et si Codex dit que le fournisseur d'authentification ne prend pas en charge Sign in with Apple ?

Supabase, Firebase, Auth.js et Clerk le prennent tous en charge ; l'agent veut généralement dire que la configuration côté fournisseur manque. Suivez les notes qu'il a écrites dans SETUP.md, puis relancez le prompt.

Trois façons de mettre votre app dans les stores

Même résultat, charge de travail différente de votre côté. Les trois formules incluent la garantie d'approbation et le support humain 24/7.

Faites-le vous-même

$109 par plateforme, paiement unique

La licence WebViewGold : un projet Xcode ou Android Studio prêt à l'emploi. Collez votre URL, définissez le nom et l'icône, activez les fonctionnalités, compilez et soumettez. Mises à jour gratuites à vie.

Voir les offres sur la page principale

Full Service

$698 par plateforme $798

Envoyez-nous votre URL et votre icône. Notre équipe configure, compile et livre votre app sous 72 heures, en marque blanche, projets sources inclus. Les deux plateformes pour $1,158.

Détails du Full Service Propulsé par WeSetupYourWebViewApp

Prix Soldes d'hiver valables jusqu'au 31 décembre 2026.

Prêt à publier votre app ?

Garantie d'approbation App Store & Google Play – ou remboursement sous 14 jours

Vous préférez déléguer ? Full Service : nous configurons, compilons et livrons sous 72 heures, dès $698 par plateforme. Des questions ? Chattez avec nous 24/7.

Les remboursements sont accordés aux conditions indiquées dans notre FAQ : un refus non lié au contenu par Apple et/ou Google, demandé dans les 14 jours suivant l'achat.