5139 sujets

Le Bar du forum

Pages :
Salut!

Ici pour un petit débat sur le javascript.

Je code énormément (mes fronts) avec javascript. Du coup, si l'utilisateur à le malheur de désactiver javascript la moitié de mes fronts deviennent obsolètes.

Je sais que le javascript n'est pas obligatoire, mais je gère quasi tout par Ajax (jquery)
du coup j'aimerais "obliger" l'utilisateur, celui qui n'a pas le js d'activer, à justement activer celui ci.

Y-a-t'il un moyen efficace est pas trop intrusif pour obliger cela ? parce que j'ai des clients qui se plaignent, mais le choix de la techno été mienne! dans ce cas là, qui à raison/tord ?

Merci
Modifié par JENCAL (07 Jan 2019 - 16:52)
Hello

Afin de mieux comprendre ta façon de travailler, est-ce que tu peux préciser ce que tu codes en JavaScript, plus précisément ?
Chaque événement.

Exemple :
- Une recherche dans un tableau.
- un filtrage dans une tableau
- Aucun formulaire, mais uniquement de l'ajax.
- les événements 'change' sur les listes déroulantes (qui mettent à jour d'autres listes déroulante en cascade)
- des dizaines d'autre trucs lol, j'dois avoir environ 4000 lignes de JS
Modifié par JENCAL (07 Jan 2019 - 18:14)
Modérateur
Bonjour,

Juste pour info, j'avais posé à peu près la même question il y a plus de 20 ans.

A l'époque, on m'avait répondu :
- t'es naze d'utiliser javascript (ce qui était vrai),
- plein de gens désactivent javascript ou n'ont pas javascript (ce qui était vrai),
- javascript marche mal (ce qui était vrai),
- javascript est plein de trous de sécurité (ce qui était vrai),
- javascript n'a aucun avenir (ce qui était ... heu ... comment dire .... Smiley cligne ).

Aujourd'hui, on constate quoi :
- je suis toujours naze car j'utilise javascript (et tous les jours, je dépanne des gens qui veulent utiliser javascript),
- peu de gens désactivent javascript. Je viens par exemple à l'instant d'essayer de désactiver javascript sous Chrome pour tester ce qui pouvait marcher comme grand site sans javascript. J'ai cherché pendant 2 mn et j'ai renoncé (je n'ai jamais rien compris au paramétrage de Chrome). J'imagine donc que la plupart des gens, qui ne savent même pas ce que c'est qu'une barre d'adresse, ne vont certainement pas désactiver Javascript. Y a que ceux qui savent qui le font. Et ceux-là sauront bien le remettre s'ils veulent voir ton site.,
- javascript marche plutôt bien,
- javascript a surement des trous de sécurité, mais pas plus que le reste,
- une grosse partie des sites utilisent javascript, et même des frameworks entièrement en javascript se répandent un peu partout.

Mon conseil :
- utilise javascript si c'est ce qui te convient,
- propose éventuellement à tes clients une version minimaliste sans javascript, ce qui au passage ne peut faire que du bien à ton référencement, et qui est par ailleurs un très bon exercice pour bien structurer tes sites,
- n'essaie pas de forcer la main des utilisateurs. De toute façon, ceux qui désactivent javascript sont soit des gros têtus qu'il ne faut surtout pas forcer, soit des gens qui utilisent un ordi sur lequel ils ne peuvent pas décider de remettre javascript car un technicien a verrouillé le truc exprès (sans doute la très grosse majorité des utilisateurs sans javascript qui apparaissent dans les stats aujourd'hui selon moi).

Amicalement,
parsimonhi a écrit :



Merci parsimonhi pour ta réponse ! je partage énormément ton point de vue


parsimonhi a écrit :

peu de gens désactivent javascript. Je viens par exemple à l'instant d'essayer de désactiver javascript sous Chrome pour tester ce qui pouvait marcher comme grand site sans javascript. J'ai cherché pendant 2 mn et j'ai renoncé (je n'ai jamais rien compris au paramétrage de Chrome). J'imagine donc que la plupart des gens, qui ne savent même pas ce que c'est qu'une barre d'adresse, ne vont certainement pas désactiver Javascript. Y a que ceux qui savent qui le font. Et ceux-là sauront bien le remettre s'ils veulent voir ton site.,

Oui, c'est ce que je me dit aussi.
parsimonhi a écrit :

propose éventuellement à tes clients une version minimaliste sans javascript, ce qui au passage ne peut faire que du bien à ton référencement, et qui est par ailleurs un très bon exercice pour bien structurer tes sites

Proposer deux versions, cela me rajoute beaucoup trop de travail, je n'ai vraiment pas du tout le temps pour ça. mais c'est une piste pour, peut être, d'autres futures projets.
Niveau référencement, ce n'est pas mon objectif, car c'est bien un "front" mais plus en utilisation back office. Il n'a pas pour but d'être référencé.

parsimonhi a écrit :

n'essaie pas de forcer la main des utilisateurs. De toute façon, ceux qui désactivent javascript sont soit des gros têtus qu'il ne faut surtout pas forcer, soit des gens qui utilisent un ordi sur lequel ils ne peuvent pas décider de remettre javascript car un technicien a verrouillé le truc exprès (sans doute la très grosse majorité des utilisateurs sans javascript qui apparaissent dans les stats aujourd'hui selon moi).

Amicalement,

Oui. c'est cela que je voulais entendre, "forcer la main" est une technique de .... Smiley diablo

Merci.
Modérateur
Bonjour,

Après, bon, si on utilise javascript à tout va alors que du html + css aurait suffi, là, il faut se poser des questions.

En particulier, pour les mises en page, ou la gestion de menus, j'en vois beaucoup trop faire du javascript alors que ce n'était pas nécessaire.

Amicalement,
Bonjour (et meilleurs vœux)

pour ceux qui veulent maîtriser JavaScript côté client, Noscript est assez souple. Il est installé d'office chez moi. A chaque visite d'un nouveau site, je décide de l'activer soit temporairement soit définitivement pour ce site. Et je m'en sors plutôt bien avec cette méthode.
Ce qui n'est pas abordé dans cette discussion, c'est la possibilité pour un site de détecter l'absence de js et de l'annoncer, afin que le visiteur sache pourquoi certaines fonctions sont absentes.
J'aimerais bien connaître la technique pour placer cette annonce sur un site.
Modérateur
Bonjour,

Balise <noscript> dont le contenu n'est affiché que si javascript n'est pas activé.

Amicalement,
Hello,

Javascript est juste utilisé dans tellement de framework aujourd'hui pour ne citer que Angular de Google et React de Facebook, que je vois mal comment on peut naviguer sur le net en ayant l'intention de le désactiver.

Certains sites exploitent peu être ce langage pour exécuter du code pas propre côté client, mais pour éviter ce problème il suffit de bien choisir les sites en question sur lesquels ont navigue. C'est un peu la même problématique que les virus. Il existe une panoplie de logiciels pour s'en protéger, mais la plus grosse faille ça restera l'utilisateur.

Faut vivre dans son époque, en 2019 celui qui désactive Javascript sur son navigateur il a raté plusieurs trains selon moi.
Bonjour,
je n'ai pas parlé de désactiver complètement JavaScript, mais de le contrôler.
Et comment tu choisis les sites sur lesquels tu navigues, avant de les connaître ? Si tu ne vas plus que sur des sites dont tu as une entière confiance, tu te prive de toute la richesse du net. Même chose pour les virus. Tiens, un intervenant sur ce forum s'est fait pirater sa boîte. Ses liens proposés arrivent sur du porno (topîc sur le menu handburger). Un anti-spam ou un peu de Noscript l'aurait sans doute protégé.

Je désactive JavaScript pour certains sites et je prends les TGV, et même l'avion.
Cordialement.
Modérateur
Bonjour,

En sus de la réponse fort détaillée de Parcimonhi, je pense qu'il ne faut uniquement pas prendre en compte les utilisateurs qui désactivent volontairement JS dans les paramètres du navigateur.

En effet, il est très certainement à ne pas négliger les très nombreux utilisateurs de module chargés de bloquer par défaut les scripts (par exemple, le leader - il me semble - Noscript sur la boutique de Mozilla affiche à cette heure 1 396 488 utilisateurs).

Selon moi, le meilleur compromis, surtout pour du back-off, est de signaler la nécessitée de l'activation du JS comme le suggère Parcimonhi un petit peu plus loin (balise noscript).
Ainsi, par un minimum d'efforts tu avertis tes utilisateurs de la cause du dysfonctionnement de ton back-off.
Modifié par Greg_Lumiere (08 Jan 2019 - 11:19)
Modérateur
Bonjour,

PapyJP a écrit :
Petite question idiote: que peut on faire SANS javascript ?


Tout ! Smiley cligne

Amicalement,
Anymah a écrit :
Faut vivre dans son époque, en 2019 celui qui désactive Javascript sur son navigateur il a raté plusieurs trains selon moi.

Tu as raison... faut vivre avec son époque et, justement, désactiver javascript est un gage de santé mentale eu égard à toutes les "conchoncetés" qui traînent sur la toile.
Je te rassure, ceux qui s'adonnent à cette pratique et désactivent leur navigateur côté script n'ont loupé aucun train et savent parfaitement ce qu'ils font en la matière.
Que tu prennes le problème dans n'importe quel sens, HTML est et reste un langage statique où le danger est limité.
Dès que tu y ajoutes une pincée de Javascript, et à moins d'être devin, tu ne sais jamais a priori le contenu des scripts qui vont arriver sur ton navigateur.
Il ne s'agit pas de paranoïa aiguë mais bien de contrôler en amont ce qui arrive dans les tuyaux et s'éviter de servir d'hôtes pour des tâches aussi variées que le cryptage de monnaie et j'en passe.
Comme indiqué supra, on peut mettre en place une protection de type NoScript, ce qui revient quasiment au même que désactiver Javascript avec pour avantage toutefois de pouvoir plus facilement activer / désactiver, de façon ciblée, ce que l'on autorise ou non.
Bref, ceux qui s'adonnent à la désactivation de Javascript sur leur machine n'ont rien d'illuminés ou vieux têtus qui refusent le progrès. Ils en mesurent plutôt les inconvénients (sans nier les avantages) et adaptent leur poste de travail en conséquence, ni plus, ni moins.
A ma connaissance, la balise NOSCRIPT est toujours au catalogue des spécifications W3C et je n'ai rien lu ou entendu qui puisse laisser penser qu'elle soit dépréciée dans un avenir proche. Il est donc probable que l'usage de Javascript sur 100% des sites visités ne soit pas encore à l'ordre du jour.
J'ajoute que des sites et non des moindres fonctionnent parfaitement sans Javascript activé, il faut juste un peu plus de jus de cerveau pour monter la structure et la rendre accessible à tous Ce qui, au passage, élargit l'audience desdits sites qui balayent large...
Modérateur
Bonjour,
sepecat a écrit :

Dès que tu y ajoutes une pincée de Javascript, et à moins d'être devin, tu ne sais jamais a priori le contenu des scripts qui vont arriver sur ton navigateur.

Tou à fait d'accord.

Mais dans ce cas, je ne vois pas bien sur quel critère on peut activer javascript !

Enfin bon, je dis ça, je dis rien ! Smiley cligne

Amicalement,
Modérateur
parsimonhi a écrit :
Bonjour,

Tou à fait d'accord.

Mais dans ce cas, je ne vois pas bien sur quel critère on peut activer javascript !

Enfin bon, je dis ça, je dis rien ! Smiley cligne

Amicalement,
L'url du script et son nom peuvent donner une indication et déterminer s'il s'agit d'un script bancaire, une font ou une régie pub par exemple.

Par contre je l'accorde, si on tombe sur un malhonnête on aura du mal à le discerner. En ce cas, le principe de précaution n'est-il pas le meilleur recours ?!

Je dis ça... Smiley cligne
sur quels critères ?
l'humain, qui reprend un peu sa place au milieu de bits.
Alsacreations, j'active js, ma banque, j'active, certains médias en ligne, j'active, SNCF, j'active, etc. Et il y a ceux en qui j'ai une confiance limitée mais pour lesquels je suis obligé d'activer, sinon, le moitié des fonctions n'est pas au rendez-vous. Pour ceux-ci, il y a l'activation temporaire et des nettoyeurs efficaces après-coup. On peu bien sûr automatiser tout ça.

J'ajouterai que JavaScript est un peu une drogue. Quand j'ai construit mes premiers sites, je cherchais à tout prix à faire sans js, jusqu'à que je me casse les dents sur les écrans tactiles, pour lesquels il faut reconnaître que la gestion de la souris pose des problèmes. Après, on trouve que js, c'est bien, on ajoute pour une autre fonction. Et ainsi de suite, jusqu'à une dizaine de scripts, pour résulat des sites lents à charger à cause de scripts qui bloquent.
Très intéressantes vos réponses. Merci à vous.

je pourrais répondre "rien" à la question
Petite question idiote: que peut on faire SANS javascript ?
mais "tout" est une réponse acceptable aussi
Oui, tout ou rien c'est un peu la même chose, c'est comme cela que je le comprends. Smiley biggrin

Tout dépend de la page HTML qu'on affiche.
Dès l'instant où on a besoin d'une interaction autre que changer de page, on a besoin de JavaScript.

Dans le temps on en avait aussi besoin pour des choses qui aujourd'hui se font en CSS.
Il y a quelques années, quand CSS3 est devenu largement supporté, j'ai essayé de reprendre les pages où j'utilisais JS pour compenser les insuffisances de CSS. En particulier j'ai tenté de faire que la mise en page s'adapte au changement de taille de l'écran, principalement quand on change l'orientation des mobiles.
Je n'y suis pas totalement arrivé et il reste des points où je continue à utiliser JS pour ce faire.

Je constate que j'ai de plus en plus besoin d'interactions, notamment pour la gestion des petits écrans: je mets un bouton avec le titre de l'objet, et je l'affiche quand on clique dessus.
Si je voulais faire ça sans JS, il faudrait ouvrir une nouvelle fenêtre, ce qui n'est pas très ergonomique.
Modérateur
Bonjour,
PapyJP a écrit :

Je constate que j'ai de plus en plus besoin d'interactions, notamment pour la gestion des petits écrans: je mets un bouton avec le titre de l'objet, et je l'affiche quand on clique dessus.
Si je voulais faire ça sans JS, il faudrait ouvrir une nouvelle fenêtre, ce qui n'est pas très ergonomique.

Mhhh ! T'es sûr d'avoir besoin de JS pour ça ? On parie ? Smiley cligne

Amicalement,
Pages :