Pour effectuer des redirections basées sur les agents utilisateurs (user-agents), il est crucial de comprendre ce qu’est un agent utilisateur et comment il fonctionne. Un agent utilisateur (user-agent) est une chaîne de caractères que les navigateurs et autres clients Web envoient aux serveurs Web pour les informer du type d’appareil, de système d’exploitation, de navigateur et de la version utilisée. Cela peut être utile pour fournir des expériences spécifiques en fonction de l’appareil de l’utilisateur, comme rediriger les utilisateurs mobiles vers une version mobile d’un site web.
Voici comment vous pouvez mettre en œuvre des redirections basées sur les agents utilisateurs en utilisant des langages de programmation ou des fichiers de configuration de serveur.
L’un des moyens les plus courants de rediriger un utilisateur basé sur son agent utilisateur est d’utiliser JavaScript. Voici un exemple simple qui détecte si l’utilisateur navigue avec un appareil mobile et le redirige vers une version mobile du site.
```
if (/Mobi|Android/i.test(navigator.userAgent)) {
// Redirige les utilisateurs mobiles
window.location.href = “https://m.example.com”;
}
```
Dans cet exemple, on utilise une expression régulière pour vérifier si le `navigator.userAgent` contient des mots-clés typiques des agents utilisateurs mobiles comme “Mobi” ou “Android”.
Si vous préférez gérer cette redirection côté serveur, PHP peut être une bonne option. Voici un exemple simple :
```
$user_agent = $_SERVER[‘HTTP_USER_AGENT’];
if (preg_match(‘/Mobi|Android/i’, $user_agent)) {
// Redirige les utilisateurs mobiles
header(‘Location: https://m.example.com’);
exit;
}
```
Le script PHP lit l’agent utilisateur à partir des en-têtes de requête et utilise `preg_match` pour vérifier la présence de mots-clés mobiles, puis effectue une redirection en utilisant la fonction `header()`.
Pour ceux qui utilisent le serveur web Apache, le fichier `.htaccess` peut être utilisé pour configurer des redirections basées sur des agents utilisateurs sans avoir à toucher au code de votre site web.
```
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} “Mobi|Android” [NC]
RewriteRule ^$ https://m.example.com [L,R=302]
```
Dans cet exemple, `RewriteCond` vérifie si l’agent utilisateur contient “Mobi” ou “Android” (de manière non sensible à la casse grâce au drapeau `[NC]`). Si la condition est remplie, `RewriteRule` effectue une redirection vers la version mobile du site.
Si vous utilisez Nginx, vous pouvez configurer des redirections basées sur les agents utilisateurs directement dans le fichier de configuration du serveur.
```
if ($http_user_agent ~* “Mobi|Android”) {
rewrite ^(.*)$ https://m.example.com redirect;
}
```
Ce code utilise une instruction `if` pour vérifier si l’agent utilisateur contient “Mobi” ou “Android” et effectue une redirection en conséquence.
La redirection basée sur les agents utilisateurs est une technique puissante pour fournir des versions adaptées de votre site web en fonction du type d’appareil utilisé par vos visiteurs. Que vous choisissiez de la mettre en œuvre côté client avec JavaScript ou côté serveur avec PHP, Apache, ou Nginx, la clé est d’identifier correctement les mots-clés dans les agents utilisateurs et de configurer des redirections appropriées.
Sources:
1. Mozilla Developer Network (MDN) – [Navigator.userAgent](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/userAgent)
2. PHP.net – [$\_SERVER](https://www.php.net/manual/en/reserved.variables.server.php)
3. Apache HTTP Server Documentation – [mod\_rewrite](https://httpd.apache.org/docs/2.4/rewrite/)
4. Nginx Documentation – [if directive](https://nginx.org/en/docs/http/ngx_http_rewrite_module.html#if)