Compatibilité rétroactive avec les anciens navigateurs

J’aide à gérer un forum pour les personnes touchées par une maladie neurodégénérative qui est alimenté par Discourse. Je maintiens le logiciel à jour en suivant la liste de sécurité sur Commit search results · GitHub et en mettant à jour dès qu’il y a un problème de sécurité. Cependant, cela a pour effet secondaire involontaire de bloquer un nombre croissant d’utilisateurs qui ont des machines plus anciennes.

Cela a bloqué une utilisatrice qui s’occupe de son mari et n’avait accès au forum que via un iPad qui ne reçoit plus de mises à jour iOS/Safari, et plus récemment une autre avec un ancien Chromebook qui ne peut pas mettre à jour Chrome vers une version compatible. Je comprends la politique de ne prendre en charge que les dernières versions des navigateurs, mais lorsque des appareils fabriqués il y a seulement quelques années ne reçoivent plus de mises à jour mais sont par ailleurs entièrement fonctionnels, empêcher l’accès à ce qui est, pour beaucoup, une bouée de sauvetage vitale est extrêmement frustrant.

L’en-tête du forum indique à ces utilisateurs qu’une version avec moins de fonctionnalités est disponible, mais comme le forum est uniquement accessible par connexion (en raison de problèmes d’atteinte à la vie privée que nous avons eus par le passé) et que la version avec moins de fonctionnalités ne permet pas les connexions, cela n’est pas utilisable.

Idéalement, je suppose qu’il y aurait un flux de mises à jour de sécurité qui n’empêcherait pas les anciens navigateurs de fonctionner, ou au moins un avertissement lors de la mise à jour que certains navigateurs cesseront de fonctionner afin que je puisse avertir les utilisateurs avant d’appliquer la mise à jour.

Voici quelques citations de nos utilisateurs à ce sujet :

« Je reste là pour soutenir une autre femme par messages privés - c’est tellement angoissant que vous ne saurez jamais le chaos que cela provoque… Je suis sérieusement… brisée😢 »

« Désolée si je semble si en colère… Je ne poste plus depuis la perte de mon mari il y a 17 mois, mais je me connecte toujours quotidiennement et je suis pleine de désespoir »

« Je pense que je peux accéder au forum à la bibliothèque locale, mais c’est très frustrant de ne pas avoir accès à la maison »

« Je veux dire, je peux accéder à tous les autres sites et banques, etc., il n’y a pas de problème là-bas et ils mettent constamment à jour »

« Donc, j’ai essayé votre suggestion de télécharger l’application et, malheureusement, elle ne s’installe pas. Elle indique qu’elle n’est pas compatible avec mon iPad. Sans aucun doute, cela est dû à la version iOS (encore). »

« C’est vraiment frustrant ! Je n’ai pas les moyens de remplacer mon iPad et c’est la seule chose qui me maintient en contact avec cette communauté »

« le forum est une bouée de sauvetage… ils me l’ont arrachée et je soupçonne beaucoup d’autres »

15 « J'aime »

C’est assez tragique. Malheureusement, le développement de Discourse semble toujours aller de l’avant, et quelques fois par an (il me semble) il y a une sorte de changement qui aliène une autre vague d’anciens appareils ou navigateurs.

Votre cas pourrait être l’un de ceux où l’utilisation de la version stable aiderait, un peu. Mais tout type de politique de mise à jour vous rend vulnérable au problème que vous voyez. Et une politique de non-mise à jour vous rend vulnérable à l’utilisation de l’ancien logiciel.

Je ne vois pas de solution, autre que de s’éloigner de Discourse pour un autre logiciel avec une politique beaucoup plus généreuse de prise en charge des anciens appareils et des anciens navigateurs. Je ne sais pas ce que cela pourrait être.

Il y a aussi la probabilité que ces anciens appareils et navigateurs soient eux-mêmes peu sûrs. Mais cela pourrait peu importe s’ils ne sont utilisés que comme appareils de communication.

6 « J'aime »

Est-il possible d’installer un navigateur tiers ? Sur l’iPad ou le Chromebook ?

J’ai trouvé ceci pour un vieil iPad. Vous pourriez également être en mesure d’installer d’autres navigateurs.

Download and install Google Chrome - iPhone & iPad - Google Chrome Help.

Voici un lien pour Chromebook qui pourrait vous aider.

Top 5 Chromebook Web Browsers 2024 [Ranked & Reviewed] - Alvaro Trigo's Blog.

Mais je suis d’accord, il est regrettable de ne pas avoir de rétrocompatibilité adéquate avec les anciens appareils. Je me demande si un plugin pourrait être créé pour résoudre ce problème dans des cas d’utilisation spécifiques comme le vôtre.

1 « J'aime »

Et pourtant, ce sont des Safaris, à ma connaissance. Mais de toute façon, ceux-ci ne peuvent pas contourner le test de Discourse car ce résultat provient d’iOS.

3 « J'aime »

Alors installer un navigateur tiers comme Chrome ou Firefox et l’utiliser à la place de Safari ? Non ?

2 « J'aime »

Ce ne sont pas de vrais navigateurs avec leurs moteurs. Cela peut être décrit comme s’il s’agissait davantage de skins.

3 « J'aime »

Je ne comprends pas. Mes excuses, dites-vous que Google Chrome ou Firefox, etc. ne sont pas les versions légitimes de ces navigateurs sur iOS ? Juste un navigateur Safari relooké ?

2 « J'aime »

Plus comme un moteur relooké d’Apple, mais le résultat final est très similaire. Apple limite très fortement son environnement.

4 « J'aime »

C’est vraiment malheureux, mais avec Apple, ce n’est pas surprenant. Je me souviens que Microsoft a essayé quelque chose de similaire à l’époque de Windows 95 en limitant les performances des navigateurs tiers (enfin, peut-être pas tout à fait la même chose) à l’époque de Netscape (maintenant connu sous le nom de Mozilla Firefox). MS a été durement frappé pour cela devant les tribunaux et par les développeurs web.

2 « J'aime »

Ce ne serait pas idéal. Mais une idée comme l’utilisation d’une sorte de navigateur Web pourrait-elle être utilisée comme intermédiaire ? Un peu comme la façon dont les gens utilisent Tor ?

Comme une couche de compatibilité dans ce cas ?

1 « J'aime »

Apple exige que tous les navigateurs sur iOS utilisent Apple WebKit.

Je suppose que la source de Discourse pourrait être ajustée pour permettre la connexion tout en la rendant en lecture seule (puisqu’il semble que ce soit nécessaire pour empêcher l’apparition dans le navigateur d’éléments qu’il ne pourrait pas gérer).

5 « J'aime »

Vraiment dommage qu’Apple ait l’intention de forcer ses clients à mettre à niveau. Android peut parfois être un casse-tête, mais il existe des options disponibles.

Heureux de ne jamais avoir été aspiré dans l’écosystème des appareils i. Et probablement trop compliqué pour les utilisateurs dans ce cas d’essayer d’installer un système d’exploitation Linux sur leurs appareils vieillissants. Comme Apple n’est pas vraiment très convivial.

3 « J'aime »

Eh bien, le problème de la compatibilité ascendante est très souvent discuté et est inacceptable. La lecture seule avec des fonctionnalités limitées est la seule chose que Discourse offre lorsque les navigateurs/systèmes d’exploitation ont atteint la fin de leur vie/support.

Si quelqu’un peut coder une telle couche, c’est bien, mais je suis totalement sûr que CDCK ne la prend pas en charge. C’est un peu comme le jailbreak sur les mobiles d’Apple :wink:

2 « J'aime »

@codev quelles sont les exigences minimales du navigateur pour une « pleine fonctionnalité », actuellement ? (Désolé, je ne suis pas sûr où cela est publié)

3 « J'aime »

Eh bien, maintenant que nous avons la partie officielle du fil de discussion illustrée, consistant à « dénigrer Apple » et à dire qu’« ils sont les pires », je suis curieux de connaître la politique en matière de compatibilité ascendante prise en charge. La plupart des équipes de produits, sinon toutes, publient leur politique de compatibilité ascendante, et certaines sont plus généreuses que d’autres. Heureusement, la technologie progresse et, malheureusement, cela met une date d’expiration à la durée de vie utile de la plupart des technologies.

Concernant le problème soulevé par @codev, je suis également curieux car j’étais sur le point de déployer Discourse, bien que j’aie la possibilité d’avoir des utilisateurs avec des appareils vieillissants. Comme l’a suggéré @Ed_S, il se peut que ce soit quelque chose que je doive considérer, pour chercher ailleurs.

Personnellement, j’utilise une technologie qui a plus de 5 ans et j’ai de la famille avec des appareils un peu plus anciens. Je ne pense pas être le seul dans ce cas. À l’honneur d’Apple, leur matériel est solide (ce qui signifie qu’il continue généralement de bien fonctionner bien au-delà du logiciel pris en charge), et en général, ils offrent une couverture généreuse pour la compatibilité ascendante.

Les logiciels et les frameworks de sécurité évoluent constamment, et encore plus de nos jours, nécessitant des mises à niveau car tant de choses sont interdépendantes. J’accepte l’argument de la mise à niveau pour la sécurité, cependant, ne plus prendre en charge une version particulière de quelque chose parce qu’elle n’est plus « expédiée » ne signifie pas qu’il n’y a pas d’utilisateurs qui utilisent encore la technologie.

Si quelqu’un devait argumenter : « Hé, je dois prendre en charge des clients avec des navigateurs non SSL datant de 1993 », je suis d’accord que c’est absurde. Cependant, si nous disons que vous ne pouvez utiliser que quelque chose qui a été publié en tant que N-1 (disons, expédié uniquement au cours des 18 derniers mois), eh bien, tout le monde ne met pas à jour tous les 6 mois.

Firefox, par exemple, fournit des ESR (versions prises en charge étendues) pour les anciennes plateformes. C’est formidable pour Firefox et pour ceux qui ont besoin d’ESR. Cependant, cela devient sans objet si les fournisseurs, par exemple Discourse, ne prennent pas en charge quelque chose en raison d’un numéro de version de navigateur stupide ne correspondant pas à leur chaîne de version minimale prédéfinie / codée en dur. S’il existe des frameworks requis, c’est une chose – s’il s’agit simplement de « la version 1 n’est pas égale à 2 », mais sinon cela fonctionne, alors c’est vraiment malheureux. Je constate de plus en plus ce manque d’intérêt pour la prise en charge des éléments antérieurs. C’est une tendance décevante. Les ingénieurs d’aujourd’hui, nés à la fin des années 80 et tout au long des années 90, ont grandi dans une culture où « il faut toujours mettre à niveau ».

Je sais que j’ai fait des détours ici, merci pour la licence artistique. Je ne veux pas perdre de vue la requête originale de @codev. C’est important, surtout là où Discourse fournit un objectif si significatif en matière de communication et de communauté.

4 « J'aime »

Vous pourriez probablement coder une version très simplifiée de l’interface utilisateur qui permet de se connecter, d’envoyer des messages privés et probablement de répondre via l’API Discourse et de la servir à partir d’un sous-domaine différent (ou à partir de la même découverte, avec des règles Nginx intelligentes ?).

De cette façon, vous conservez des fonctionnalités très basiques pour les anciens appareils et restez à jour avec le fonctionnement de Discourse.

3 « J'aime »

Ok, j’ai trouvé ceci (concernant ma question)

« Discourse est conçu pour les 10 prochaines années d’Internet, donc les exigences minimales du navigateur sont élevées. »

Je ne suis pas sûr de comprendre le message, à moins que Discourse ne se développe à l’intérieur d’une machine à remonter le temps. Je m’attendrais à ce que la majorité des utilisateurs en 2030 n’utilisent pas le produit aujourd’hui. Peut-être que je rate quelque chose.

EDIT :
@Canapin quelle est la politique de support des navigateurs ? Stable actuel - 2 (N-2), ou N-1, ou seulement « le dernier » ?

Les préoccupations de sécurité mises en évidence ici (plus de souci de la part de l’utilisateur que spécifiquement lié à l’utilisation de Discourse, j’en suis sûr), il ne peut vraiment pas y avoir quelque chose que Discourse exige qui ne soit pas pris en charge dans les bibliothèques JS de base qui n’ont pas beaucoup changé depuis 6 ans. Même Gmail via le navigateur Web sur ces anciens appareils fonctionne bien, sans problèmes. Les préoccupations de sécurité mises à part, déjà notées ici.

4 « J'aime »

Salut @codev,

J’aimerais pouvoir vous souhaiter la bienvenue dans notre communauté dans de meilleures circonstances.

Je crains que mes mots ne sonnent plutôt creux en réponse, mais je comprends la frustration que vous ressentez.

Il y a un problème inhérent au processus d’évolution des logiciels, et les gens disent souvent : « Votre logiciel ne prend plus en charge mon téléphone, mais ce logiciel similaire le fait ; pourquoi ? ». Malheureusement, il n’y a pas de réponse facile.

Nous apprécions que votre communauté souffre. Nous pouvons clairement voir la détresse et l’angoisse de vos membres à la perspective d’être coupés de leur système de soutien.

Devoir aller à la bibliothèque pour utiliser l’ordinateur ne remplace en rien l’accès à votre réseau de soutien quand et comme vous en avez besoin, ainsi que la différence entre utiliser un espace public et partager et contribuer dans le confort et l’intimité de votre propre maison.

Cela nous préoccupe étant donné que notre mission est de faciliter les discussions en ligne pour tous et de préserver ces discussions à long terme.

Nous sommes, comme vous, frustrés que les gens ne puissent pas utiliser leurs appareils jusqu’à ce qu’ils tombent littéralement en morceaux. Cependant, les appareils « boîte noire » comme les iPhones doivent continuer à être pris en charge et mis à jour par le fournisseur, sinon ils sont activement dangereux à utiliser. Nous notons qu’Apple ne fournit que des mises à jour très limitées pour les vulnérabilités les plus graves d’iOS 12 à ce stade et que Safari est obsolète depuis des années.

Nous discutons longuement de ces choix critiques en interne. Nous faisons de notre mieux pour les prendre en charge le plus longtemps possible jusqu’à ce que cela devienne un défi technologique qui serait immensément compliqué à maintenir dans le temps. Il n’est pas facile d’équilibrer ces choix pour s’assurer qu’ils fonctionnent au mieux pour la plupart des communautés sans sacrifier nos normes de sécurité ou notre facilité d’utilisation.

Malheureusement, tout choix de ce type a des inconvénients, et votre message est un exemple douloureux et honnête des problèmes que nous espérons éviter autant que possible.

Nous ne pouvons pas revenir en arrière, mais nous continuerons à en discuter en interne. Discourse ne fonctionnera plus sur certains appareils, et cela se reproduira avec le temps. Veuillez noter que nous avons déjà prolongé notre support pour iOS 12 d’un an et avons fait de notre mieux pour avertir les utilisateurs que le support serait bientôt supprimé.
La question demeure : Comment pouvons-nous aider à résoudre ce problème pour vos membres qui ont besoin d’accéder et de participer à votre forum ?

Pouvez-vous commencer par nous aider à comprendre la répartition de l’utilisation des appareils (avec des informations spécifiques sur les modèles) dans votre communauté, autant que possible ?

9 « J'aime »

Officiellement,

Discourse prend en charge les dernières versions stables de tous les principaux navigateurs et plateformes :

  • Microsoft Edge
  • Google Chrome
  • Mozilla Firefox
  • Apple Safari

De plus, nous visons à prendre en charge Safari sur iOS 15.7+.

D’après What is Discourse? | Discourse - Civilized Discussion

Pour développer ces propos, j’ajoute que « Discourse prend en charge cette version de navigateur ou une version supérieure » ne signifie pas nécessairement qu’une version plus ancienne de ce navigateur ne fonctionnera pas. Elle n’est tout simplement pas garantie et pourrait cesser de fonctionner à un moment donné.

6 « J'aime »

La dernière ligne :

De plus, nous visons à prendre en charge Safari sur iOS 15.7+.

Impliquerait alors au moins N-1, voire N-2 (dans le cas d’iOS) puisque la dernière version est 16.3.x.

Le problème avec cette déclaration de prise en charge est qu’elle aliène potentiellement toute une catégorie d’utilisateurs qui ont des clients « techniquement compatibles », mais Discourse ne s’engage pas à les tester. Comme le note @Canapin, « Ce n’est tout simplement pas garanti et cela pourrait cesser de fonctionner à un moment donné », c’est une façon de dire, utilisez à vos risques et périls. C’est aussi différent de l’application web qui vérifie la version du client et utilise un élément d’interface utilisateur pour communiquer qu’elle n’est pas compatible. Ou pire encore, limiter des fonctionnalités qui « fonctionneraient tout simplement », sauf qu’elles ne font plus l’objet de tests d’assurance qualité ou de tests de régression et sont dépréciées au nom de « personne ne teste cela maintenant ou n’a la bande passante pour le faire ».

S’il était possible de prendre en charge N-2 dans la plupart des cas applicables, il y aurait de bonnes chances de prendre en charge près de 80 % de la base d’utilisateurs potentiels du « client web ». Pour N-2, dans le cas d’iOS, cela signifierait prendre en charge Safari 14 / iOS 14.

Si le mot « prise en charge » est un mot déclencheur, alors s’il était possible de permettre N-2 avec la mise en garde en cas de problèmes, veuillez passer à un client pris en charge, beaucoup de choses « fonctionneraient tout simplement », peut-être pas dans l’expérience la plus préférée (rendu de l’interface utilisateur, etc.) mais au moins sans être bloqué de l’utilisation de quelque chose. C’est après tout un forum de discussion, pas Microsoft Office 365. (Aucune offense intentionnelle à l’équipe Discourse !)

3 « J'aime »