Comment rendre un site web installable (manifeste d'application web)

Transformez un site web en application installable : servez-le en HTTPS, préparez des icônes de 192 et 512 pixels, écrivez un manifeste d'application web, liez-le depuis la page et vérifiez les exigences d'installation.

Dernière vérification :

AdSense Placeholder
Slot: header_reference_page
Sur cette page

Étapes

  1. Servez le site en HTTPS

    L'installation exige une origine sécurisée. localhost est autorisé pendant le développement.

  2. Préparez les icônes

    Créez des icônes PNG carrées de 192 × 192 et 512 × 512 pixels, plus une version maskable avec le dessin dans la zone de sécurité centrale pour qu'Android puisse la recadrer en cercle ou en carré arrondi.

  3. Écrivez le manifeste

    Renseignez le générateur de manifeste d'application web avec le nom, le nom court, l'URL de départ, le mode d'affichage, les couleurs et la liste d'icônes, puis copiez le JSON dans manifest.webmanifest.

  4. Liez-le depuis chaque page

    Ajoutez <link rel="manifest"> et une balise meta theme-color dans le <head>. Le générateur affiche ces balises pour vous.

  5. Vérifiez les exigences

    Le générateur contrôle la présence d'un nom, d'une URL de départ, d'un affichage standalone et des deux tailles d'icône (obligatoires), et recommande une icône maskable, un nom court de 12 caractères au plus, une couleur de thème et une description.

  6. Testez sur de vrais appareils

    Dans Chrome DevTools, ouvrez Application puis Manifest pour voir les avertissements, et essayez l'invite d'installation sur un téléphone. Regardez aussi le rendu de l'icône et de la couleur de thème sur l'écran d'accueil.

Ce dont vous avez besoin

Un site servi en HTTPS, un logo carré pour fabriquer les icônes et l'accès à l'en-tête de la page.

Exemple

Ce manifeste réussit toutes les vérifications d'installation du générateur :

{
  "name": "Example App",
  "short_name": "Example",
  "description": "A small example application",
  "start_url": "/",
  "display": "standalone",
  "theme_color": "#0d6efd",
  "background_color": "#ffffff",
  "icons": [
    {
      "src": "/icons/icon-192.png",
      "sizes": "192x192",
      "type": "image/png"
    },
    {
      "src": "/icons/icon-512.png",
      "sizes": "512x512",
      "type": "image/png"
    },
    {
      "src": "/icons/maskable-512.png",
      "sizes": "512x512",
      "type": "image/png",
      "purpose": "maskable"
    }
  ]
}

Et les balises à placer dans l'en-tête de la page :

<link rel="manifest" href="https://example.com/manifest.webmanifest">
<meta name="theme-color" content="#0d6efd">
<link rel="apple-touch-icon" href="https://example.com/icons/icon-192.png">

Pièges courants

  • Les chemins d'icônes relatifs se résolvent par rapport à l'URL du manifeste, pas de la page.
  • L'start_url doit se charger sans redirection de connexion, sinon l'application installée s'ouvre sur un écran vide.
  • Utilisez display: standalone pour une fenêtre d'allure applicative ; browser garde l'interface normale du navigateur et n'est pas installable à lui seul.
  • iOS utilise apple-touch-icon et son propre parcours d'ajout à l'écran d'accueil ; conservez donc aussi ce lien.

Essayez ces outils

Voir aussi

  • Guide Comment fonctionnent les balises meta SEO
    Titre, description, canonical, hreflang, robots.txt.
  • Glossaire Favicon
    Un favicon est la petite icône qu'un navigateur affiche dans un onglet, un favori ou l'historique pour identifier un site web.
  • Glossaire HTTPS
    Le HTTPS est du HTTP envoyé via une connexion TLS chiffrée, ce qui garde le trafic privé et confirme l'identité du serveur.
  • Glossaire JSON-LD
    Le JSON-LD intègre des données structurées en JSON dans une page web, avec les types schema.org.
  • Aide-mémoire Aide-mémoire CSS
    Unités CSS, raccourcis, ombres, dégradés, typographie fluide avec clamp(), grille, courbes d'accélération, spécificité et contraste.

Questions fréquemment posées

Pas dans les navigateurs Chromium actuels : un manifeste valide servi en HTTPS suffit pour l'invite d'installation. Un service worker reste nécessaire pour l'usage hors ligne et d'autres fonctions.

Vérifiez le HTTPS, que le manifeste est lié et s'analyse correctement, qu'il a un nom, une URL de départ, un mode d'affichage standalone et des icônes de 192 et 512 pixels, et que l'application n'est pas déjà installée.

AdSense Placeholder
Slot: footer_leaderboard