Le Hollandais Volant

Les trucs qui me font détester votre site web en 2019

Comme le veut désormais la tradition sur ce site, vu que je surfe pas mal sur le net et que je fais également dans le webmastering et le codage de sites web, voici une liste de pratiques de merdes qu’on trouve sur les sites web et qui m’énervent.

Mon premier article du genre date de 2014. J’ai refait une mise à jour en 2017, et me voilà désormais prêt pour en refaire un pour 2019.

Les notifications

le popup de demande de notification
Non, je veux pas de notifications à outrance.

Le HTML5 apporte plein de possibilités aux concepteurs de sites. L’une d’elles est l’ajout de notifications : un site web, un onglet peut ainsi envoyer une notification au navigateur et même au système. La notif s’affiche alors avec le reste des notifs du système.

Je le dis ici : non, je ne veux pas que votre site me notifie de quoi que ce soit. Je suis assez grand pour regarder l’onglet quand j’en ai envie. Et un popup qui me demande l’autorisation pour pouvoir afficher des notifs, c’est chiant car ça finit de toute façon systématiquement sur « ne jamais activer les notifications sur ce site ».

Rendez-nous plutôt les flux RSS ! C’est comme ça qu’on veut rester au courant des nouveautés de votre site. Ça marche très bien, le RSS.

(Et @Mozilla (et les autres navigateurs) : pitié, utilisez l’outil de notification du SYSTÈME, pas votre truc perso. Sous Mate, Firefox ne respecte pas Notify-OSD et c’est moche).

La géolocalisation

le popup de demande de localisation
Non, tu n’as pas à savoir où je vis.

Ok, celle-ci ne date pas de cette année, mais de plus en plus de site le demandent quand-même, et c’est généralement de façon totalement illégitime : que Google Maps ou OpenStreetMaps me le demande, ok, c’est normal. Mais ton blog personnel, non. Je viens ici pour lire ce que tu a à dire. Toi t’as pas besoin de savoir à 5 mètres près où je vis.

Les bots de hotline

le chatbot de la sncf
Oui ! J’ai une question : tu peux te casser, je suis en train réserver un billet de train, ok ?

Vous arrivez sur un site quelconque et un popup s’ouvre avec un soi-disant opérateur qui vous parle : « Bonjour, en quoi puis-je vous aider ? ». C’est particulièrement vrai pour les sites des SAV, de certains FAI, mais aussi quelques marchands en ligne.
Ils ne sont pas nouveaux, et à l’heure où je publie cet article ils sont moins présents (et moins pourris aussi), mais ils ne remplacent pas encore un formulaire bien foutu.

Un autre truc qu’ils ne remplaceront pas, c’est un humain à qui parler. On s’en fiche de votre chatbot. On ne veut pas parler à un robot. Si votre site est merdique au point que même vous vous savez qu’on aura besoin d’aide, je vous conseille plutôt de virer votre équipe de web-dév pour en recruter un autre.

Si votre site est merdique, la priorité est de le rendre plus accessible, pas de nous tenir la main pour contourner la merde.

À la place, mettez plutôt une page de contact (qui fonctionne) ou un e-mail / numéro de téléphone en bas de la page. C’est beaucoup plus efficace et vos utilisateurs vous remercieront.

Les sites qui stockent les mots de passe en clair

Ça ne se voit pas tout de suite, mais quand on s’inscrit sur un site, votre pseudo et votre mot de passe doivent être stockés quelque part. Comme ça, on peut se connecter la prochaine fois et le site vous reconnaît.
Il arrive que vous oubliez votre mot de passe. Dans ce cas, on utilise une fonction « mot de passe oublié » et le site enclenche une procédure de restauration du mot de passe. Si le site est bien fait, il envoie un lien sur votre boîte mail. En cliquant dessus, votre mot de passe (celui que vous avez oublié) est effacé de la base de donnée du site et vous êtes invités à en entrer un nouveau.

Si le site est mal foutu, alors l’ancien mot de passe vous est renvoyé par e-mail.

À première vue, vous renvoyer le mot de passe peut semble plus pratique et plus rapide. En réalité, il s’agit là d’une très mauvaise pratique.

En effet, ça signifie que le site peut connaître votre mot de passe : donc qu’il est stocké en clair dans la base de données, virtuellement à la vue de n’importe qui. La solution est alors de créer un « hash » du mot de passe (en gros, un code produit à partir du mot de passe, mais avec lequel retrouver le mot de passe est impossible). Comme ça, quand on se connecte, on recalcule le hash et c’est lui qu’on compare à ce qui se trouve dans la base de données. Comme ça, le site ne connaît pas votre mot de passe, et les administrateurs et les pirates non plus. C’est beaucoup plus sécurisé et c’est la bonne méthode aujourd’hui.

Sauf qu’en 2018, il y a toujours des sites qui stockent des mots de passe en clair… Et ça devient très grave. Même la CNIL condamne ces pratiques…

Les sites qui interdisent certains caractères dans le mot passe

C’est symptomatique du point précédent : si l’on stocke correctement un mot de passe, on le fait sous la forme d’un hash (donc une chaîne alpha numérique, empreinte du mot de passe). N’importe quel caractère peut être donné, ça finit toujours en hash.

Si l’on n’utilise pas un hash, alors oui il faut vérifier que le mot de passe ne va pas corrompre la base de données (et encore, avec les requêtes préparées, ce problème ne devrait plus en être un).

Quoi qu’il en soit, si je veux mettre @%£*ע#$☢☹⚠ dans mon mot de passe, je devrais pouvoir le faire. Quant à mettre une limite afin que les néophytes ne se trompent pas, ça revient à tirer tout le monde vers le bas.

Ça serait comme forcer tout le monde à boire de la purée ou de la bouillie sans aucun allergène sous prétexte que certains ne peuvent plus mâcher ou ne peuvent pas tout manger.

Éduquez plutôt les internautes, au lieu de faire un compromis sur la sécurité. À vous de voir : est-il plus probable que Mme Michu se trompe de mot de passe à cause de vous, ou que la CNIL vous tombe sur le dos avec 500 k€ d’amende pour un défaut dans votre sécurité ?

Les sites qui t’envoie un mail à chaque fois que tu te connectes

Certains sites t’envoient un mail à chaque fois que tu te connectes dessus. Si d’un point de vue sécuritaire ça peut paraître louable, ça fait surtout pas mal de spam.

En particulier, c’est ce que fait OVH Telecom, quand je me connecte à leur interface. Déjà, je me connecte depuis chez moi (donc avec l’IP qui m’est attribué), donc a priori ça ne devrait pas être frauduleux. Aucun moyen de désactiver ça, et aucun moyen de me mettre sur liste blanche. Mais surtout, c’est juste un e-mail pour me dire « vous vous êtes connectés » : il n’y a pas de 2FA ni rien.

Je ne vois pas trop l’utilité dans ce cas : si un pirate cherche à changer mon mot de passe, c’est à ce moment-là qu’il faut m’envoyer un e-mail (éventuellement avec un lien pour le changer).

Les e-mails de connexion qui arrivent en retard

Certains sites, que ce soit pour changer ton mot de passe ou justement confirmer une connexion, t’envoie un e-mail avec un lien de connexion. Ça c’est bien seulement si l’e-mail arrive dans les 30 secondes après avoir voulu se connecter.

S’il faut attendre ne serait-ce que 5 minutes, alors ça devient vite très chiant (oui on est la génération pressée, désolé).

Bien-sûr, je ne parle pas d’un grand site français qui met jusqu’à 4 heures pour envoyer un e-mail

Les pop-up pour le pistage

i
Encore heureux que tu respectes mon choix, connard !

Les navigateurs prévoient une fonction qui permet de spécifier au site visité qu’on ne souhaite pas être pisté. C’est plus ou moins respecté par les sites, mais ça a le mérite d’exister.

Certains sites n’ont pas vraiment compris les principes de base du « ne pas faire chier l’utilisateur » et qui affichent alors un joli pop-up en JS « Vous avez demandé à ne pas être pisté. OK/Annuler ». Suivi d’un second pop-up « Nous respectons votre choix. OK/Annuler ».

Ces popup sont bien-sûr bloquants et mettent en avant l’onglet en question (donc si t’étais en train de lire un truc dans un autre onglet, t’es dérangé).

Conseil aux pages-web :

i
(cf ce mème)

Respectez l’utilisateur et son choix. C’est son choix, vous respectez, point.

Les pop-up RGPD

Comme si les pop-up pour s’inscrire, pour follower, pour donner l’e-mail, pour accepter les cookies, pour demander la géolocalisation, pour confirmer le pas-de-pistage, pour demander de désactiver la pub, pour recommander Chrome, pour nous dire d’activer Flash… ne suffisaient pas, désormais il y a le RGPD.

C’est le règlement qui oblige les sites à nous demander la permission pour utiliser certains cookies. Au fond c’est une bonne chose, mais encore une fois, la façon dont c’est implémenté par les différents sites fait que c’est une entrave constante à la navigation.

Non seulement ces popup sont très chiants, mais surtout ils ne servent à rien : dans 90 % du temps, ils ne présentent qu’un bouton pour tout accepter (chose qu’ils veulent) et jamais pour tout refuser (chose qu’ils craignent) ; et comme nous on veut lire le putain d’article, on est obligé de tout accepter et au final le RGPD n’aura servi à rien. Enfin si : maintenant en cas de problème, le site pourra se défausser sur nous : « ah, mais mon bon monsieur, vous avez accepté et maintenant votre numéro de téléphone est dans la nature ».

(Et à vrai dire, ça fait plutôt double emploi avec la fonction déjà présente dans mon navigateur pour bloquer le pistage, et celui pour bloquer les cookies tiers, mais c’est un problème d’incompétence de nos élus).

Les mesures anti-scroll

J’ai déjà parlé des mesures anti-clic-droit l’an dernier, et des mesures visant à capturer les événements qu’on produit en faisant des raccourcis claviers (Alt, Shift, etc.). Jusqu’à récemment je n’avais encore pas vu un autre truc : une méthode qui m’empêche de produire un « clic-molette » sur la page, pour scroller très vite tout en bas ou tout en haut.

Du coup, sur une page de 3km, je vois obligé de faire fumer la molette manuellement. C’est ridicule : arrêtez de capturer les événements par défaut !

Laissez notre souris et notre clavier tranquilles, à la fin ! Si vous voulez utiliser des raccourcis clavier, il existe déjà un truc pour ça (les accesskey). C’est ensuite le navigateur qui fait en sorte que ça n’entre pas en conflit avec les autres raccourcis claviers.