Claude Code
Passe chaque page et chaque composant au crible d'une checklist fixe, prend des captures d'écran à des largeurs de téléphone et de tablette, corrige le CSS et le balisage en petits commits et vous laisse une commande slash réutilisable.
Claude Code + design
Les reviewers jugent une web app encapsulée en quelques secondes : du contenu sous l'encoche, des boutons trop petits pour être touchés, une page qui zoome quand on touche un champ. Rien de tout cela n'est difficile à corriger, et Claude Code excelle à le trouver dès qu'il dispose d'une checklist et d'un moyen de voir l'écran. Ce guide met en place un sous-agent d'audit, une boucle de captures d'écran, le CSS vers lequel les corrections doivent converger et les réglages WebViewGold correspondants.
Dès $109 en paiement unique par plateforme, ou notre équipe s'occupe de tout dès $698.
La guideline 4.0 demande des apps soignées et faciles à utiliser, et les apps basées sur le web font l'objet d'un examen plus strict au titre de la 4.2 si elles donnent l'impression d'un site web. Les problèmes qui déclenchent ces remarques sont prévisibles : un en-tête qui glisse sous la barre d'état ou la Dynamic Island, une barre d'onglets posée sur l'indicateur d'accueil, des boutons-icônes plus petits que les 44 x 44 points recommandés par Apple (la recommandation Material d'Android est de 48 x 48 dp), un défilement horizontal sur un petit iPhone, des champs qui zooment au focus parce que leur police fait moins de 16 px, une mise en page pleine hauteur qui saute à cause de 100vh, et des menus qui ne s'ouvrent qu'au survol. Les reviewers lancent aussi les apps iPhone sur iPad : une mise en page qui casse à la largeur d'une tablette se remarque donc également.
Chaque problème se trouve à l'un de deux endroits : votre CSS ou les réglages WebViewGold autour de la WebView. Le guide de la guideline 4.0 explique le refus lui-même ; cette page montre comment trouver et corriger les causes avec Claude Code avant qu'un reviewer ne le fasse.
Passe chaque page et chaque composant au crible d'une checklist fixe, prend des captures d'écran à des largeurs de téléphone et de tablette, corrige le CSS et le balisage en petits commits et vous laisse une commande slash réutilisable.
Jugez les constats (certains sont des faux positifs), tranchez les compromis de design et réglez la barre d'état, la barre du bas et les options de zoom dans les projets WebViewGold.
Prouve ce qu'aucune capture d'écran ne peut prouver : l'encoche, l'indicateur d'accueil, le clavier et le comportement du zoom dans la vraie WebView.
| Problème | Réglage WebViewGold | Dans votre web app |
|---|---|---|
| Zone de la barre d'état | iOS : statusBarBackgroundColor, statusBarTextColor et leurs variantes pour le mode sombre, ou transparentStatusBar avec autoAdjustSafeAreaInsets sur false. Android : TRANSPARENT_STATUS_BAR, blackStatusBarText | Seulement si le contenu passe derrière la barre : viewport-fit=cover et env(safe-area-inset-top) |
| Indicateur d'accueil | iOS : bottombar, iPadBottombar, bottombarBackgroundColor (documentation des safe areas) | env(safe-area-inset-bottom) sur les barres fixes en bas |
| Zoom | iOS : preventZoom. Android : ENABLE_ZOOM, MAX_TEXT_ZOOM pour plafonner la mise à l'échelle du texte système | Police de 16 px dans les champs, aucune largeur fixe |
| Rebond et aperçus de liens | iOS : preventoverscroll (laissez-le sur false si vous utilisez pulltorefresh), disablecallout | Rien |
| Clavier qui masque les champs | Android : INPUT_SCROLL_HELPER | Évitez les pieds de page fixes au-dessus des formulaires ; faites défiler le champ actif pour qu'il reste visible |
| Orientation | iOS : orientationiphone, orientationipad. Android : PHONE_ORIENTATION, TABLET_ORIENTATION | Testez chaque orientation que vous autorisez |

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 :-)
Les sous-agents (subagents) sont des fichiers Markdown avec un court frontmatter, placés dans .claude/agents/ ; vous pouvez aussi en créer un de manière interactive avec /agents. Celui-ci se contente de lire et de faire un rapport : il n'entre donc jamais en conflit avec votre session principale sur les modifications.
---
name: mobile-ui-auditor
description: Audits pages and components for problems in the native iOS and Android WebView apps (safe areas, tap targets, overflow, input zoom, viewport units). Use after UI changes and before every store submission.
tools: Read, Grep, Glob, Bash
---
You audit a web app that also ships as iOS and Android apps built with WebViewGold
(WKWebView / Android WebView). You report problems; you do not edit files.
Check every page and shared component for:
1. Safe areas: the viewport meta includes viewport-fit=cover if content draws behind
the status bar; fixed or sticky top bars use env(safe-area-inset-top); bottom bars,
tab bars, floating buttons and toasts use env(safe-area-inset-bottom).
2. Tap targets: interactive elements at least 44 x 44 CSS px (icon buttons, close
buttons, checkboxes, links in dense lists) with at least 8 px between them.
3. Overflow: nothing wider than the viewport at 320 px; long words, tables, code
blocks and images are constrained.
4. Inputs: font-size of at least 16 px on input, select and textarea; correct type,
inputmode and autocomplete attributes on login and checkout forms.
5. Viewport units: 100vh on full-height layouts (use 100dvh with a 100vh fallback).
6. Hover-only UI: menus, tooltips or actions that need :hover to be reachable.
7. Desktop leftovers: sidebars without a mobile variant, Download our app banners,
builder badges, cookie walls shown inside the app.
8. Dark mode: contrast of text and backgrounds if the app supports dark mode.
Output a table: file, line, issue, check number, suggested fix. Group by severity:
blocks review, looks broken, polish. End with the three fixes that matter most.Un après-midi pour une app typique ; ensuite, une commande slash la rend peu coûteuse.
Ajoutez le serveur MCP Playwright avec claude mcp add playwright npx @playwright/mcp@latest et vérifiez-le avec /mcp. L'agent peut alors ouvrir votre URL de preview, redimensionner le viewport et prendre des captures d'écran. Il s'agit d'un moteur de navigateur desktop, pas de la WebView d'un téléphone, et il ne simule pas les encoches : il trouve donc les problèmes de débordement et de dimensionnement, mais pas ceux de safe area.
Placez le fichier ci-dessus dans .claude/agents/mobile-ui-auditor.md et committez-le, pour que toutes les personnes qui lancent Claude Code dans le dépôt obtiennent le même audit.
Utilisez le prompt ci-dessous. Lisez le rapport avant toute correction : vous repérerez les faux positifs (un bouton de 40 px dans une zone tactile plus grande ne pose aucun problème) plus vite que l'agent.
Un commit par groupe de gravité. Une fois le schéma clair, passez en mode accept-edits avec Shift+Tab et relisez le diff à la fin.
Compilez pour TestFlight et le test interne, et parcourez la checklist ci-dessous. Si vous n'avez pas de Mac, le Cloud Builder produit les deux builds de test depuis le navigateur.
Remplacez la liste des routes par vos vrais écrans, y compris ceux qui se trouvent derrière la connexion. La dernière étape vous laisse une commande slash pour chaque modification future.
Utilisez le sous-agent mobile-ui-auditor pour auditer src/app et src/components. Ensuite, utilisez le serveur MCP Playwright pour ouvrir https://preview.example.com et prendre des captures pleine page de /, /login, /dashboard, /settings et du paywall à 320, 375, 390, 430, 768 et 1024 px de largeur (connectez-vous avec notre compte de test ; demandez-moi le mot de passe quand vous en avez besoin). Comparez les captures avec le rapport d'audit et ajoutez ce qui n'est visible qu'à l'écran : éléments qui se chevauchent, texte coupé, défilement horizontal, boutons trop proches les uns des autres. Montrez-moi le rapport combiné et attendez mon feu vert. Corrigez ensuite dans cet ordre : blocks review (bloque la validation), looks broken (a l'air cassé), polish (finitions), un commit par groupe. Règles pour les corrections : - Safe areas avec env(safe-area-inset-top) et env(safe-area-inset-bottom) via des variables CSS dans globals.css ; viewport-fit=cover dans la balise meta viewport. - Zones tactiles d'au moins 44 x 44 px ; agrandissez la zone cliquable avec du padding plutôt que d'agrandir les icônes. - Champs de saisie, selects et textareas avec une police de 16 px. - min-height 100dvh avec un repli 100vh pour les écrans pleine hauteur. - Effets de survol uniquement dans @media (hover: hover). - Ne désactivez pas le zoom globalement et ne touchez pas à la configuration WebViewGold. Enfin, créez .claude/commands/mobile-check.md : une commande slash qui lance le sous-agent mobile-ui-auditor uniquement sur les fichiers modifiés dans le diff git en cours et affiche le rapport.
Choisissez un seul responsable de la safe area. Soit WebViewGold tient le contenu à l'écart des zones de la barre d'état et de l'indicateur d'accueil (le comportement par défaut, plus bottombar), soit votre CSS s'en charge, avec transparentStatusBar activé et autoAdjustSafeAreaInsets désactivé. Mélanger les deux donne des espaces doublés sur certains appareils et aucun sur d'autres.
/* app/globals.css
Balise meta viewport : <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
Sans viewport-fit=cover, env(safe-area-inset-*) vaut toujours 0. */
:root {
--safe-top: env(safe-area-inset-top, 0px);
--safe-bottom: env(safe-area-inset-bottom, 0px);
--tabbar-height: 64px;
}
.app-header { position: sticky; top: 0; padding-top: var(--safe-top); }
.tab-bar {
position: fixed; left: 0; right: 0; bottom: 0;
height: calc(var(--tabbar-height) + var(--safe-bottom));
padding-bottom: var(--safe-bottom);
}
main { padding-bottom: calc(var(--tabbar-height) + var(--safe-bottom) + 16px); }
.screen { min-height: 100vh; min-height: 100dvh; }
input, select, textarea { font-size: 16px; }
.icon-button { min-width: 44px; min-height: 44px; display: inline-grid; place-items: center; }
@media (hover: hover) {
.card:hover { box-shadow: 0 4px 16px rgb(0 0 0 / 0.12); }
}orientationipad autorise la rotation. Voir la prise en charge de l'iPad.MAX_TEXT_ZOOM.darkModeStatusBarTextColor sur iOS).disablecallout est activé.preventZoom ou ENABLE_ZOOM que si votre app en a vraiment besoin.C'est une recommandation des Human Interface Guidelines d'Apple, pas une guideline de validation numérotée. Les reviewers refusent pourtant les apps difficiles à utiliser, et des zones tactiles minuscules sont le moyen le plus rapide d'en arriver là.
Un prompt fonctionne une fois. Le sous-agent garde la checklist dans le dépôt, tourne dans son propre contexte pour ne pas encombrer votre session principale, et la commande slash en fait un réflexe après chaque modification de l'interface.
Parce que certains constats sont des faux positifs et que certaines corrections entrent en conflit avec votre design. Relire d'abord le rapport prend quelques minutes et vous évite d'annuler un gros diff.
La prise en charge dans une Android WebView dépend de la version du système et de la façon dont l'app dessine derrière les barres système. Testez sur un appareil, et gardez un padding de repli pour l'app si vous activez TRANSPARENT_STATUS_BAR.
En général, oui. Détectez l'app grâce au jeton WebViewGoldApp du user agent et masquez la navigation marketing, les murs de cookies et les bandeaux de téléchargement de l'app ; le guide sur le CSS et le JS personnalisés présente les options.
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.
$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$349 par licence, extension en paiement unique
Ni Mac, ni Xcode, ni Android Studio : configurez dans le navigateur, nous compilons les deux apps dans le cloud et les transmettons à App Store Connect et à la Play Console.
Comment fonctionne le Cloud Builder Essayer la démo gratuite$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é parPrix Soldes d'hiver valables jusqu'au 31 décembre 2026.
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.