Validateur de manifeste d’application web
Validez un manifest.json de PWA par rapport à la spec Web App Manifest et prévisualisez les icônes masquables par rapport à la zone de sécurité des icônes adaptatives d’Android.
🔒 Entièrement traité dans votre navigateur — rien de ce que vous saisissez ici n'est jamais téléchargé.
Résultat
Une Progressive Web App ne s’installe proprement que lorsque son manifest.json satisfait les champs que les navigateurs et les boutiques d’applications vérifient réellement. Ce validateur analyse votre manifeste téléversé et parcourt la spec W3C Web App Manifest champ par champ : il signale un name et un short_name manquants, un tableau icons vide ou mal formé, des icônes sans src, sizes ou type, un start_url non analysable, une valeur display non reconnue et des chaînes theme_color ou background_color qui ne sont pas des couleurs CSS valides. Chaque constat est présenté sous forme de phrase en langage clair — pas une citation brute de la spec — afin que vous sachiez exactement quoi corriger et pourquoi c’est important pour l’installabilité.
La fonctionnalité phare est l’aperçu de la zone de sécurité des icônes masquables. Les icônes adaptatives d’Android appliquent une forme de masque choisie par l’OS — cercle, squirrcle, goutte d’eau, etc. — à toute icône marquée "purpose": "maskable". Tout ce qui se trouve en dehors d’un cercle centré couvrant 40 % de la zone d’affichage de l’icône peut être rogné selon le masque appliqué par l’appareil. Téléversez les fichiers image d’icône référencés par votre manifeste en même temps que manifest.json, et cet outil les fait correspondre par nom de fichier, dessine chaque icône masquable sur un canvas à sa taille déclarée et superpose ce cercle exact de zone de sécurité pour que vous puissiez voir de vos propres yeux si votre illustration survit au rognage.
Le badge succès/échec sous chaque aperçu n’est pas un élément de liste cosmétique — il provient d’une véritable analyse pixel par pixel des données d’image décodées. L’outil mesure combien de contenu non d’arrière-plan se trouve en dehors du cercle de zone de sécurité (le contenu qu’un masque rognerait) et quelle partie de l’icône est transparente (les icônes masquables devraient avoir un fond opaque en plein débordement, car la transparence laisse la couleur du masque sous-jacent transparaître). Les deux vérifications s’appliquent au bitmap réel que vous avez téléversé ; le résultat reflète donc votre véritable fichier d’icône, pas une supposition.
Tout se passe localement dans votre navigateur : manifest.json est lu avec l’API File, les icônes sont décodées avec createImageBitmap ou un repli FileReader/Image, et les pixels sont analysés sur un canvas en mémoire. Rien n’est envoyé vers un serveur, ce qui est important si votre manifeste référence un nom d’application non encore public, des chemins start_url internes ou des icônes en cours de développement.