Meilleure copie pour le navigateur est "trop ancien pour fonctionner sur ce site"

En me connectant aujourd’hui à SDMB (et aussi à try.discourse.org), je suis accueilli par le message suivant :

Malheureusement, votre navigateur est trop ancien pour fonctionner sur ce site. Veuillez mettre à jour votre navigateur pour afficher du contenu riche, vous connecter et répondre.

Cependant, j’utilise la version la plus récente de mon navigateur, SeaMonkey 2.53.13, qui est sortie il y a seulement quatre jours. Discourse a peut-être choisi de ne pas le prendre en charge, mais il est faux de dire qu’il est « trop ancien » pour fonctionner avec Discourse. En effet, si je remplace la chaîne User-Agent du navigateur, je constate que tout semble fonctionner correctement.

Le problème semble être une analyse incorrecte de l’User-Agent par Discourse. Par défaut, la chaîne User-Agent de SeaMonkey annonce la compatibilité avec Firefox :

Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0 SeaMonkey/2.53.13

Si je modifie la chaîne User-Agent comme suit pour masquer la compatibilité avec Firefox (via Édition->Préférences->Avancé->Réseau HTTP->Chaîne d’agent utilisateur->S’identifier comme SeaMonkey), alors SeaMonkey peut à nouveau visiter les sites Discourse sans problèmes évidents :

Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 SeaMonkey/2.53.13

Je comprends que Discourse puisse ne pas souhaiter prendre en charge des navigateurs comme SeaMonkey qui ne sont plus courants, mais il serait souhaitable que ces navigateurs ne soient pas bloqués de manière proactive pour accéder aux sites Discourse. Et même si ces navigateurs sont bloqués de manière proactive, il serait souhaitable que Discourse ne fournisse pas de raison erronée pour le faire.

Veuillez améliorer l’analyse de l’User-Agent afin qu’elle vérifie jusqu’à la fin de la chaîne avant de décider si l’agent utilisateur est « trop ancien ». (Je soupçonne qu’elle recherche simplement les noms et versions des navigateurs pris en charge, quelle que soit leur position dans la chaîne User-Agent.) Après tout, vous ne bloquez pas les navigateurs parce qu’ils signalent une ancienne version de Mozilla au début de la chaîne, alors pourquoi bloquer les navigateurs parce qu’ils signalent une ancienne version de Firefox au milieu de la chaîne ?

Si pour une raison quelconque il est indésirable ou peu pratique de modifier l’algorithme d’analyse, veuillez alors modifier le comportement lors de la détection d’un user-agent prétendument incompatible : au lieu de dire (peut-être à tort) à l’utilisateur que son navigateur est « trop ancien » et de bloquer l’accès, dites à l’utilisateur que son navigateur n’est pas pris en charge et fournissez un lien vers la liste des navigateurs pris en charge, mais donnez-lui la possibilité de continuer en utilisant son navigateur actuel.

Cela a très probablement à voir avec la façon dont Discourse vérifie l’agent utilisateur, d’après moi, Seamonkey ne devrait pas avoir une option d’en-tête Firefox s’il va afficher une ancienne version de Firefox, qui n’est pas compatible avec Discourse, très probablement une mauvaise planification du côté de Seamonkey, pas avec Discourse.

2 « J'aime »

Normalement, Discourse essaie de détecter les versions non prises en charge via la vérification des fonctionnalités plutôt que par l’analyse de l’agent utilisateur (UA).

Un problème récent avec le compositeur dans les anciennes versions de Firefox les a obligés à utiliser l’analyse de l’UA car si vous interrogiez certaines versions de Firefox, elles indiqueraient volontiers (et techniquement avec précision) qu’elles prenaient en charge les fonctions nécessaires alors qu’elles sont en fait boguées et ne fonctionnent pas correctement.

Le problème ici est que Seamonkey indique par défaut aux sites qu’il est compatible avec une version beaucoup plus ancienne de Firefox plutôt qu’avec la version avec laquelle il est réellement compatible.

Discourse fait la bonne chose dans ce cas.

4 « J'aime »

Je ne pense pas que ce soit aussi simple. Une version donnée de SeaMonkey annonce sa compatibilité avec une certaine version de Firefox car ces deux versions de navigateur partagent le même code de base. On peut généralement supposer que cette version de SeaMonkey peut faire, au minimum, tout ce que cette version de Firefox peut faire. En plus de cette compatibilité de base, une version donnée de SeaMonkey peut également prendre en charge certaines fonctionnalités prises en charge par les versions ultérieures de Firefox, mais pas nécessairement toutes. Il ne serait donc pas véridique (ni généralement utile) pour SeaMonkey d’annoncer explicitement sa compatibilité avec ces versions ultérieures.

En bref, ce n’est pas parce qu’un nouveau navigateur annonce sa compatibilité avec un ancien navigateur que le nouveau navigateur ne prend pas en charge les fonctionnalités plus récentes. Encore une fois, la plupart des navigateurs aujourd’hui annoncent leur compatibilité avec Mozilla/5.0, mais cela ne signifie pas qu’ils sont strictement limités à ce que ce moteur ancien peut faire.

Pourriez-vous essayer d’ouvrir l’éditeur et de voir si les boutons Gras/Italique fonctionnent correctement ? C’est le problème que nous avons eu avec les anciennes versions de Firefox.

1 « J'aime »

Une alternative à la détection de UA qui correspond à une version proche (89 → 91) de Firefox est la détection de fonctionnalités de window.visualViewport. Peut-être pouvons-nous passer à cela ? Mais nous devrons toujours ajouter un contournement pour Safari 12.5 jusqu’en janvier :weary:

Pourriez-vous essayer d’ouvrir l’éditeur et voir si les boutons Gras/Italique fonctionnent correctement ? C’est le problème que nous avons eu avec les anciennes versions de Firefox.

Je peux confirmer que ces boutons ne fonctionnent pas correctement pour moi dans SeaMonkey 2.53.13, mais ils fonctionnent dans Firefox 100.0.2. Je n’avais pas essayé de les utiliser auparavant car j’écris toujours directement en Markdown.

Maintenant que vous le mentionnez, le bouton Répondre ne fonctionne pas non plus dans SeaMonkey ici sur meta, bien qu’il fonctionne sur boards.straightdope.com (hébergé sur hosted-by-discourse.com).

1 « J'aime »

L’avertissement que nous avons en haut est donc valide ?

2 « J'aime »

Pas tel qu’il est formulé, non, car mon navigateur n’est pas « ancien » et je n’ai pas besoin de le « mettre à niveau ». Le moins que vous puissiez faire serait de changer la formulation en : « Vous semblez utiliser un navigateur non pris en charge. Veuillez passer à un navigateur pris en charge pour afficher du contenu riche, vous connecter et répondre. »

4 « J'aime »

Oui, je suis d’accord pour mettre à jour la copie, « old » porte en effet un jugement et même lynx est toujours activement développé.

3 « J'aime »

@nbianca pouvez-vous mettre à jour la copie ?

2 « J'aime »

J’ai mis à jour la copie dans cette PR :

2 « J'aime »

Ce sujet a été automatiquement fermé après 4 jours. Les nouvelles réponses ne sont plus autorisées.