Base de connaissances

1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !

Utiliser le fichier browscap.ini

Mise à jour 06/08/2026

Ce guide présente le rôle du fichier browscap.ini, utilisé par PHP pour identifier certaines caractéristiques d'un navigateur web (nom, version, système d'exploitation et capacités) à partir de son en-tête HTTP User-Agent.

L'utilisation de browscap.ini est aujourd'hui principalement destinée à assurer la compatibilité avec des applications existantes. Pour les nouveaux développements, des méthodes plus modernes sont généralement privilégiées.

 

Utilisation avec la fonction get_browser()

La fonction native PHP get_browser() nécessite l'accès à un fichier browscap.ini à jour afin d'identifier les caractéristiques du navigateur ayant effectué la requête.

Sur les Hébergements Web Infomaniak, ce fichier est généralement disponible à l'emplacement suivant :

/opt/php/lib/php/browscap.ini

Si nécessaire, vous pouvez vérifier son contenu à l'aide du script suivant :

<?php
header('Content-Type: text/plain');

$file = '/opt/php/lib/php/browscap.ini';

if (file_exists($file)) {
    echo file_get_contents($file);
} else {
    echo 'File not found.';
}

En raison de sa taille et du coût de son chargement, l'utilisation de browscap.ini peut avoir un impact sur les performances des applications qui s'appuient sur get_browser().

 

Alternatives recommandées

Pour les nouveaux projets, il est généralement préférable d'utiliser des solutions plus adaptées aux pratiques actuelles du développement web :

  • Bibliothèques PHP installées avec Composer, telles que matomo/device-detector ou whichbrowser/parser, qui proposent une détection régulièrement mise à jour et plus complète des navigateurs et appareils.
  • User-Agent Client Hints (UA-CH), lorsque le navigateur les prend en charge, afin d'obtenir des informations structurées via les mécanismes prévus par les standards HTTP actuels.
  • Détection de fonctionnalités (Feature Detection), en vérifiant directement la disponibilité d'une fonctionnalité (par exemple en JavaScript ou avec la règle CSS @supports) plutôt qu'en déduisant le comportement à partir du navigateur utilisé.

Lien vers cette FAQ: https://faq.infomaniak.com/505


Cette FAQ a été utile?