Points clés
- Les PWA ne sont pas de simples sites web : elles ont des états visuels spécifiques (offline, standalone, installation, splash screen) que les tests web standards ignorent
- L'expérience utilisateur d'une PWA installée est jugée par les standards des apps natives, pas par ceux des sites web
- Le test visuel doit couvrir les transitions entre modes online et offline, le rendu standalone, et les éléments spécifiques comme les splash screens
- Sans couverture visuelle de ces états, vous livrez ce qui ressemble à une app native mais qui est en réalité un site web cassé
Une Progressive Web App (PWA) est définie par le W3C comme « une application web qui utilise les technologies web modernes — notamment les Service Workers, le Web App Manifest et HTTPS — pour offrir une expérience fiable, rapide et engageante aux utilisateurs, comparable à une application native, directement depuis le navigateur ou après installation sur l'appareil ».
Cette définition est techniquement exacte. Mais elle passe à côté de l'essentiel : du point de vue de l'utilisateur, une PWA installée n'est pas un site web. C'est une application. Elle apparaît dans le dock, dans la barre des tâches, dans le sélecteur d'apps. Elle a son propre splash screen, sa propre fenêtre, son propre comportement quand le réseau tombe.
Et c'est exactement là que le problème surgit. Si vos utilisateurs perçoivent votre PWA comme une app, ils la jugent avec les attentes d'une app. Mais si vous la testez comme un simple site web, vous laissez passer des catégories entières de bugs visuels.
Les PWA ont des états visuels que les sites web n'ont pas
L'état online : le faux ami
L'état online, c'est ce que tout le monde teste. C'est votre PWA dans un navigateur, avec une connexion réseau stable, qui se comporte exactement comme un site web normal.
Le piège est de croire que tester cet état suffit. C'est comme tester une app mobile uniquement en Wi-Fi au bureau et considérer la couverture suffisante. L'état online est le point de départ, pas la destination.
L'état offline : le vrai test de maturité
Quand une PWA perd la connectivité — ou quand l'utilisateur l'ouvre en mode avion — le Service Worker prend le relais. Les pages cachées sont servies depuis le stockage local. Les données non synchronisées sont gérées localement.
Du point de vue visuel, l'état offline est un champ de mines.
Les pages non cachées affichent une page d'erreur. Si votre stratégie de cache ne couvre pas toutes les routes, l'utilisateur voit une page blanche, une erreur navigateur, ou votre fallback. Avez-vous designé cette page de fallback ? L'avez-vous testée visuellement ?
Les images ne chargent pas. Votre cache contient le HTML et le CSS, mais les images non cachées affichent un placeholder cassé, une icône de lien brisé, ou pire, un espace vide qui désorganise le layout.
Les composants dynamiques se dégradent. Un graphique qui a besoin de données temps réel, un fil d'actualités, un chat embarqué — en mode offline, ces composants doivent afficher un état dégradé explicite et visuellement cohérent.
Les indicateurs de statut réseau apparaissent (ou pas). Si votre PWA affiche un bandeau « Vous êtes hors ligne », son apparence et sa cohabitation avec le reste du layout doivent être testées visuellement.
Le splash screen : les premières millisecondes comptent
Quand un utilisateur lance votre PWA installée, la première chose qu'il voit n'est pas votre page d'accueil. C'est le splash screen, généré automatiquement par le navigateur à partir des données de votre Web App Manifest.
Ce splash screen est souvent l'enfant négligé du design. Et c'est une erreur. Il définit la première impression de votre app à chaque lancement. Si l'icône est pixelisée, si la couleur de fond ne correspond pas au thème, si le texte est tronqué, l'utilisateur ressent immédiatement une dissonance qui érode la confiance.
Le splash screen est particulièrement délicat parce que son apparence dépend du navigateur et de l'OS. Chrome sur Android le génère différemment de Safari sur iOS.
Le prompt d'installation : le moment de conversion
Le prompt d'installation — la bannière ou la modale qui invite l'utilisateur à « Ajouter à l'écran d'accueil » — est un moment de conversion critique. C'est l'équivalent du bouton « Télécharger » dans un app store. Son apparence visuelle influence directement le taux d'installation.
Beaucoup de PWA utilisent un prompt custom (en interceptant l'événement beforeinstallprompt). Ce prompt custom est un composant de votre application. Il doit être testé visuellement comme tout autre composant.
Le mode standalone : l'interface sans chrome navigateur
Quand votre PWA est installée et lancée depuis l'écran d'accueil, elle s'ouvre en mode standalone : pas de barre d'adresse, pas d'onglets, pas de boutons de navigation du navigateur.
Ce changement d'environnement a des implications visuelles directes.
L'espace disponible change. Sans la barre d'adresse, votre application a 50 à 80 pixels de hauteur en plus. Si votre layout repose sur des hauteurs fixes ou des calculs en viewport (100vh), le rendu peut être notablement différent en standalone vs en navigateur.
La safe area entre en jeu. Sur les appareils avec encoche ou Dynamic Island, la zone safe est différente en standalone. Les éléments en haut ou en bas peuvent être partiellement cachés si les safe areas ne sont pas bien gérées.
La navigation change. Sans le bouton « back » du navigateur (notamment sur iOS), votre application doit fournir sa propre navigation.
Les interactions avec la barre de statut système. La couleur de votre barre de statut doit s'harmoniser avec votre header. Un header blanc avec une barre de statut noire crée une rupture visuelle inesthétique.
Le problème des tests web standards
Ils ne testent qu'un seul état
La grande majorité des suites de tests — y compris les tests visuels — ne teste que l'état online dans un navigateur. C'est l'état par défaut, le plus simple à mettre en place, le plus stable. Mais c'est aussi celui qui ressemble le plus à un simple site web.
Si vous ne testez que cet état, vous testez la version la moins exigeante de votre PWA.
Ils ignorent le cycle de vie de la PWA
Une PWA a un cycle de vie que les sites web n'ont pas. Installation, mises à jour du Service Worker, synchronisation en arrière-plan, retour en ligne après une période offline — chacune de ces transitions peut déclencher des états visuels inattendus.
Ils ne reproduisent pas le contexte standalone
Ouvrir votre PWA en plein écran dans un navigateur, ce n'est pas la même chose que l'ouvrir en mode standalone. Les dimensions sont différentes, la gestion des safe areas est différente, le comportement d'overscroll est différent.
Comment bien tester visuellement une PWA
Cartographier vos états visuels
Avant de configurer vos tests, listez explicitement tous les états visuels de votre PWA. Au minimum :
- L'état online en mode navigateur — votre baseline web standard
- L'état online en mode standalone — les mêmes pages, dans le contexte d'installation
- L'état offline — pages cachées (qu'est-ce que l'utilisateur voit sans connexion ?)
- L'état offline — pages non cachées (le fallback est-il visuellement correct ?)
- La transition online → offline (le bandeau apparaît-il correctement ?)
- La transition offline → online (la resync est-elle visible ?)
- Le splash screen sur les plateformes cibles
- Le prompt d'installation dans tous les contextes
Automatiser les changements d'état réseau
Pour tester l'état offline, simulez la perte réseau programmatiquement. Le Chrome DevTools Protocol permet la simulation offline, et des outils comme Playwright supportent nativement la manipulation des conditions réseau.
Tester le mode standalone sans appareil physique
Utiliser l'option de lancement « app » de Chrome (une fenêtre sans chrome navigateur) est l'approche la plus pragmatique. Ce n'est pas identique à une vraie PWA installée, mais c'est suffisamment proche pour détecter les régressions de layout liées à l'absence de barre d'adresse.
Spécificités iOS : un monde à part
Soyons clairs : Safari sur iOS est le navigateur le plus problématique pour les PWA. Et c'est probablement la plateforme la plus importante pour vos utilisateurs.
Malgré les progrès depuis iOS 16.4 (qui a introduit les notifications push pour les PWA), Safari reste en retard sur Chrome. Le splash screen est géré différemment. Le mode standalone a des comportements spécifiques. La gestion du viewport et des safe areas est plus stricte.
Cela signifie que vos tests visuels doivent inclure Safari iOS comme cible explicite, pas comme afterthought. Selon StatCounter 2025, Safari représente environ 27 % du marché mobile mondial. Ignorer ses spécificités PWA, c'est ignorer un quart de vos utilisateurs.
Ce que Delta-QA apporte aux PWA
Delta-QA simplifie considérablement le test visuel de PWA grâce à son approche no-code. Vous n'avez pas besoin d'écrire des scripts pour simuler les différents états de votre PWA — vous configurez vos scénarios visuellement.
La capacité de Delta-QA à tester sur différents viewports est particulièrement pertinente pour les PWA, qui doivent fonctionner aussi bien sur un écran de smartphone en mode standalone que sur un écran desktop dans un navigateur.
Et parce que les PWA se mettent à jour fréquemment (les mises à jour sont transparentes, sans passer par un app store), la cadence de test doit être élevée. L'intégration de Delta-QA dans votre pipeline CI/CD garantit que chaque déploiement est visuellement vérifié avant d'atteindre vos utilisateurs.
FAQ
Les tests visuels standards ne suffisent-ils pas pour une PWA ?
Non. Les tests visuels standards couvrent l'état online dans un navigateur. Pour une PWA, ça correspond à l'état le moins représentatif de l'expérience utilisateur réelle. L'état offline, le mode standalone, le splash screen, le prompt d'installation — ce sont des états visuels spécifiques aux PWA que les tests web standards ignorent.
Comment simuler l'état offline dans des tests automatisés ?
Vous pouvez utiliser les capacités du Chrome DevTools Protocol pour simuler la perte réseau programmatiquement. Des frameworks comme Playwright proposent des méthodes natives pour ça.
Ma PWA n'a pas besoin de fonctionner offline. Justifie-t-elle quand même un test visuel spécifique ?
Même si votre PWA ne fonctionne pas offline (stratégie « network only »), vous devez tester ce qui se passe quand le réseau est indisponible. L'utilisateur va voir quelque chose : une page blanche, une erreur navigateur, ou votre page de fallback. Quoi que ce soit, c'est partie de l'expérience utilisateur et ça mérite un test visuel.
Quelle différence entre tester une PWA et tester une app mobile native ?
Tester une app native exige des simulateurs ou appareils physiques spécifiques par plateforme. Le test de PWA peut largement se faire avec des navigateurs desktop configurés aux bons viewports.
Comment tester le splash screen sans appareil physique ?
Vous ne pouvez pas tester le splash screen réel sans appareil ou émulateur. Vous pouvez en revanche tester ses composants : vérifier visuellement que les icônes du manifest sont correctes à toutes les tailles requises.
Les PWA sont-elles encore pertinentes en 2026 avec les app stores ?
Absolument. Selon une étude web.dev (Google), les PWA délivrent des taux de conversion 36 % supérieurs aux sites mobiles standards. Avec l'amélioration continue du support PWA sur iOS et l'ouverture européenne aux navigateurs tiers (Digital Markets Act), les PWA sont plus pertinentes que jamais en 2026.
Pour aller plus loin
- Test visuel pour Gatsby : les sites statiques sont les plus faciles à tester — voici comment
- Test Visuel Ruby on Rails : Pourquoi les View Specs Ne Suffisent Pas et Comment le Test Visuel Comble la Lacune
- Le Meilleur Outil de Test Visuel pour les Agences Web en 2026
- Performance web et test visuel : le CLS est un problème visuel, pas fonctionnel
- Test Visuel des Applications Electron : Le Web dans un Shell Desktop, les Bugs en Prime
Vos utilisateurs ne distinguent pas une PWA d'une app native. Ils voient une icône sur leur écran d'accueil, ils tapent dessus, et ils s'attendent à ce que tout fonctionne — avec ou sans réseau, avec ou sans barre navigateur, avec un splash screen pro et des transitions fluides.
Si vous développez une PWA mais la testez comme un site web, vous trahissez la promesse que vous avez faite en proposant l'option « Ajouter à l'écran d'accueil ». Les PWA sont des apps. Testez-les comme telles.