favicon.ico : ce que c'est et si vous en avez encore besoin
favicon.ico est le fichier d'icône que les navigateurs demandent à la racine de votre domaine, à /favicon.ico, lorsqu'une page ne déclare aucune icône propre. C'est un conteneur ICO, donc un seul fichier peut contenir plusieurs bitmaps à la fois (généralement 16x16, 32x32 et 48x48), et le client choisit la taille dont il a besoin. Vous en voulez toujours un, car les robots d'exploration, les lecteurs de flux et les bots d'aperçu de liens demandent ce chemin exact sans lire votre HTML.
Une convention, pas une norme
Le chemin /favicon.ico n'a jamais été spécifié par personne ; Internet Explorer 5 le demandait, et le reste du web a suivi. C'est pourquoi il fonctionne sans aucun balisage. Un navigateur qui ne trouve pas de balise link d'icône sur votre page demande simplement ce chemin au serveur et utilise ce qui revient.
L'effet secondaire est que la requête a lieu que vous ayez le fichier ou non. S'il est absent, le serveur enregistre une 404 pour chaque visiteur, et tout outil qui ne vérifie que ce chemin affiche un placeholder vide pour votre site.
Ce que contient un favicon.ico typique
| Entrée | Utilisée pour |
|---|---|
| 16x16 | Barre d'adresse, listes de favoris, entrées d'historique |
| 32x32 | Onglets de navigateur sur les écrans à densité standard |
| 48x48 | Raccourcis Windows et onglets à plus haute densité |
Où va le fichier
- public/
- favicon.icoaddServed at /favicon.ico
- favicon-32x32.pngPrimary tab icon
- apple-touch-icon.pngiOS Home Screen
Il doit se résoudre à la racine du site, pas dans un sous-répertoire. La plupart des frameworks associent un répertoire public ou static à la racine précisément pour cela ; certains, dont les versions récentes de Next.js, acceptent aussi un app/favicon.ico et câblent la balise pour vous.
Le déclarer explicitement
<link rel="icon" href="/favicon.ico" sizes="any">Facultatif, puisque le chemin est demandé de toute façon, mais utile : cela rend l'ensemble d'icônes visible dans le balisage et vous permet de forcer le rafraîchissement du cache avec une chaîne de requête quand l'icône change.
FAQ sur favicon.ico
favicon.ico peut-il réellement être un PNG ?
Les navigateurs reniflent le contenu plutôt que de se fier à l'extension, donc un PNG servi à /favicon.ico fonctionne généralement. C'est quand même une mauvaise idée. Vous perdez le comportement multi-tailles qui est la seule raison d'utiliser ce chemin, et les consommateurs plus stricts peuvent le rejeter.
Comment arrêter les 404 dans mes journaux ?
Livrez le fichier. Supprimer la ligne de journal masque le symptôme pendant que chaque outil qui demande le chemin continue de ne rien recevoir.
Le fichier doit-il être à la racine ?
Pour la requête automatique, oui. Les clients demandent /favicon.ico précisément. Vous pouvez servir une icône depuis n'importe quel chemin si vous la désignez avec une balise link, mais le fichier à la racine est ce qui couvre les clients qui n'analysent jamais votre HTML.