Posté le 21. mars 2024 par Jan Bunk
Dans de nombreux cas, il peut être utile de faire la distinction entre une personne qui consulte votre site web dans un navigateur et une personne qui le consulte par l'intermédiaire de votre application. Vous souhaitez peut-être consulter des données analytiques sur l'adoption de votre application par les utilisateurs ou montrer un contenu différent aux utilisateurs de l'application.
Tout comme il existe de multiples cas d'utilisation, il existe également de multiples façons d'atteindre cet objectif. Examinons-les une à une.
L'agent utilisateur est une courte chaîne de caractères que le navigateur envoie aux sites web lorsqu'il charge une page. L'agent utilisateur contient des informations sur le navigateur. Par exemple, un navigateur Firefox pourrait envoyer quelque chose comme cet agent utilisateur :
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0À partir de là, votre site web peut détecter que l'utilisateur utilise la version 47.0 du navigateur Mozilla Firefox. Tout comme les navigateurs, votre application envoie également un agent utilisateur qui l'identifie.
L'application utilise plusieurs agents utilisateurs différents :
$version est la version interne de l'application (par exemple 1.4.8+52) et $operatingSystem est la plateforme sur laquelle l'application est utilisée (par exemple iOS ou android).
$regularUserAgent est l'agent utilisateur d'un navigateur mobile auquel on peut s'attendre de la part de l'appareil, par exemple, Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148
Un exemple de user-agent que l'application pourrait utiliser sur iOS serait donc le suivant : Mozilla/5.0 (iPhone; CPU iPhone OS 12_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 App-WebView (ios) 1.4.8+52
Sur la base du format d'agent utilisateur ci-dessus, vous pouvez détecter que votre site web est chargé par l'application en vérifiant si l'agent utilisateur contient "App-WebView". Si vous souhaitez également vérifier le système d'exploitation, vous pouvez également vérifier si l'agent utilisateur contient également "(android)" ou "(ios)".
Si vous utilisez WordPress, vous pouvez utiliser le plugin "UserAgent Content Switcher". Le nom du plugin est assez descriptif : il vous permet d'afficher un contenu différent aux utilisateurs en fonction de leur agent utilisateur. Voici comment vous pouvez le configurer (et un exemple de cas d'utilisation) :
Ce texte est visible par tous.
[agentsw ua='app']
Ce texte n'est visible que par les utilisateurs de l'application !
[/agentsw]
Bien entendu, vous pouvez non seulement vérifier l'agent utilisateur du côté du serveur (comme indiqué dans la section précédente), mais aussi en JavaScript.
Voici un exemple de la manière dont vous pouvez utiliser JavaScript pour détecter si l'utilisateur utilise l'application ou un navigateur :
const isApp = navigator.userAgent.includes("App-WebView");
if (isApp) {
console.log("The user is using the app.");
} else {
console.log("The user is using a browser.");
}
Vous pouvez également utiliser getAppPlatform
à partir du script d'aide à l'application, qui fonctionne de manière très similaire.
L'application apporte de minuscules modifications invisibles au code HTML du site web, qui sont nécessaires pour certaines fonctions de l'application. Nous pouvons également utiliser ces modifications pour savoir si la page a été chargée par l'application.
Comme il s'agit d'une opération un peu délicate, nous vous recommandons d'utiliser executeWhenAppReady
à partir du script d'aide à l'utilisation de l'application.
Vous pouvez alors placer n'importe quel code dans la fonction executeWhenAppReady
, et il ne sera exécuté que si la page a été chargée par l'application.
L'inconvénient de cette méthode est qu'il faut quelques millisecondes avant que le code ne soit exécuté, même si la page a été chargée par l'application.
Sur la page de personnalisation de votre site web, vous avez la possibilité d'ajouter du JavaScript ou du CSS que l'application doit injecter dans chaque page chargée. Les possibilités sont infinies, mais à titre d'exemple, rendons ce texte vert dans l'application :
<p id="red-text" style="color: red;">This text is red in the browser.</p>
Nous pouvons maintenant configurer ce JavaScript pour qu'il soit injecté :
document.getElementById("red-text").style.color = "green";
Ou encore, ce CSS à injecter :
#red-text {
color: green !important;
}
Comme vous pouvez le constater, cela permet également d'avoir un comportement différent sur le site web et sur l'application.
Articles connexes
Applications Web progressives et applications natives
Vous souhaitez faire passer votre site web à la vitesse supérieure ? Voici comment les applications web progressives se comparent aux applications natives standard et comment transformer votre site web en application.
Nous avons publié un grand nombre d'applications et suivi le temps qu'il a fallu pour les introduire dans les magasins d'applications, y compris les délais de rejet et de resoumission.
Transformez votre site web en application
Convertissez votre site web en application pour profiter des notifications push, d'une meilleure notoriété et bien plus encore. Sans code.
Bonjour, je m'appelle Jan ! J'ai créé webtoapp.design en 2019 alors que j'étudiais l'informatique à l'université. Beaucoup de choses ont changé depuis - non seulement j'ai obtenu mon diplôme, mais ce n'est plus seulement moi qui dirige webtoapp.design. Nous sommes devenus une équipe mondiale, entièrement à distance, et nous avons accumulé beaucoup d'expérience autour du développement et de la publication d'applications. Nous avons créé et publié des centaines d'applications dans les magasins d'applications, où elles ont été téléchargées des centaines de milliers de fois.