PROJET AUTOBLOG


le hollandais volant

Site original : le hollandais volant

⇐ retour index

Mise à jour

Mise à jour de la base de données, veuillez patienter...

Firefox 57 « Quantum » est là !

mardi 14 novembre 2017 à 18:26

i
Le nouveau Firefox « Quantum » est là.

On sait tous que Chrome sux mais tout le monde l’utilisait parce que Firefox était devenu lent. Avec cette version Quantum, Firefox revient définitivement dans la course et il explose tout !

Le travail accompli par l’équipe de Mozilla ainsi que tous les 780 contributeurs et bénévoles du monde entier sur le projet est absolument énorme.

Ils ont réécrit tout le moteur de rendu du navigateur (toute la mécanique interne, qui permet de transformer le code d’un site web en une page web bien jolie et lisible pour tous), ce qui est déjà en soi un travail monstrueux, mais ils sont pour cela allé jusqu’à mettre au point un langage de programmation dédié, Rust, sur lequel ils travaillent depuis quelques temps déjà et qui évite certains types de bug (en particulier liée aux processeurs multi-cœurs actuels) et qui permet de tirer profit de toute la puissance des ordinateurs modernes.

Sérieux, si vous surfez beaucoup, essayez-le : niveau vitesse, il est fulgurant.

Ils ont refait le système d’extensions (désormais beaucoup plus rapide et sécurisé) et ils y ont ajouté une nouvelle interface (plus jolie et plus moderne) ainsi qu’une nouvelle charge graphique.

Bref, c’est la plus grande mise à jour pour ce navigateur, sans qui le web en serait toujours comme en 2000 avec Internet Explorer 6.

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

mercredi 1 novembre 2017 à 08:16

photo of an agry cat
Quatre années et demie après mon premier article à ce sujet, je me permets de mettre à jour la liste ici, vu que les mœurs ont évoluées et les pratiques de web-design de merde également.

Les popup pour la newsletter

Le grand gagnant cette année. Oui, vous voulez mon e-mail, on a compris. Mais vous ne l’aurez pas.
Vos popup sont chiantes, m’empêchent de lire, me freinent dans ce que je fais et m’obligent à dégainer la souris alors que je fais tout avec mon clavier. Arrêtez.

Idem pour les popup demandant à vous suivre sur les réseaux sociaux.
De tout façon, si on tombe sur votre site, c’est probablement déjà via Facebook ou Twitter, donc on est probablement déjà abonnés et si ce n’est pas le cas, alors on peut le faire depuis Facebook ou Twitter. Et puis si ce n’est pas le cas, c’est sûrement qu’il y a une bonne raison aussi.

Personne n’a rien contre un simple bouton avec un lien « suivez nous sur Facebook » ou « abonnez vous sur Twitter ». Pas la peine, d’en rajouter une couche…

Les popup pour les applications mobile

Même remarque pour les applications mobile des sites web. Non, je ne veux pas installer une application pour lire un article de votre site : j’ai déjà une application pour ça et ça s’appelle mon navigateur.

Je ne veux pas installer 15 navigateurs pour lire 15 sites différents, ok ? (Car avouez que tout ce que font ce genre d’appli, c’est récupérer la page web et l’afficher à l’écran, rien de plus…).
Gardez les heures-hommes de votre staff pour faire un travail de rédacteur, pas une énième appli pleine de pub sans valeur ajoutée.

La redirection vers site mobile

Ça aussi, c’est super chiant : oui le mobile et le desktop sont deux mondes différents et dans certains cas il y a besoin d’avoir des expériences utilisateurs spécifiques, mais est-ce le cas pour afficher du texte à l’écran (blog, news…) ? Vous pouvez pas vous tourner vers du responsive-design plutôt ? Ah ben c’est sûr, ça demande quelques compétences supplémentaires en CSS (et donc ça se paye), mais on y gagne largement à plus long terme : un seul thème à maintenir, une seule URL, etc.

D’ailleurs, un site entièrement mobile c’est chiant lors du partage : je partage le lien mobile ou le lien desktop ? Et je ne parle pas du fait que la redirection se fait toujours dans un sens mais il n’y aucune détection dans l’autre sens (passage vers le site desktop quand on visite un site mobile depuis un PC).

La meilleure solution à mes yeux (après un site compatible desktop et mobile) reste encore de mettre un lien en bas de la page, comme le fait Wikipédia.

Flash

On est en 2017.
Flash est mort.
Get over it.

Java

On est en 2017.
Java est encore plus mort qu’avant.
Get over it.

Silverlight

On est… 2017 *paf*
Lol ?

Les lecteurs HTML5

Flash, Java et les autres ont laissé place aux nouveaux éléments HTML5 dédiés. Les navigateurs utilisent tous leur propre interface de lecteur mais qu’il est aussi possible d’outrepasser ça en JavaScript. Mais de ce cas, il faut faire ça bien, sinon… ben ça foire ! N’est-ce pas Vimeo, qui empêche la lecture d’une vidéo si on désactive la lecture automatique ?

Et bordel de merde, cessez de lancer toutes les vidéos de façon automatique ! Non seulement vous volez la bande passante que je paye (à qui j’envoie la facture, après, hein ?) mais surtout c’est emmerdant à mourir d’avoir des vidéos, sons et autres pubs qui se lancent. Heureusement ces bons vieux navigateurs ont de quoi pallier ça.

Les messages pour les cookies

Ouais alors celui-ci, je sais.
JE SAIS que c’est apparu à cause de la Loi : la loi oblige les sites-web à indiquer aux visiteurs qu’ils utilisent des cookies pour tracker les utilisateurs. L’idée n’est pas mauvaise, mais sa mise en forme est mal fichue.

Sur 80 % des sites, vous avez maintenant un bandeau « acceptez-vous les cookies ? Oui ou Oui ? ». Car effectivement, le bandeau (qui prend une place monstrueuse, surtout sur un petit écran de mobile et qui en plus se trouve en position: fixed;), ne nous laisse en fait jamais le choix : soit on accepte… soit on va se faire foutre car il n’y a jamais d’option « non ».

Je bénis les extensions de navigateur comme I don’t care about cookies qui me permet de ne pas subir cette merde. Quant aux cookies, je configure mon navigateur pour qu’il ne conserve que les cookies légitimes. C’est en place dans tous les navigateurs depuis 15 ans, alors leur loi à la con, ils peuvent se la @µµ%£ dans le ¥À"{⋅Ð≥¯.
Si je suis assez grand pour cliquer sur le « oui » de votre site, je le suis également pour cliquer sur « non » dans mon navigateur.

Les sites pour tel ou tel navigateur

On est retourné 20 ans en arrière le jour où un rigolo a décidé de faire des sites spéciaux pour Google Chrome ou bien pour Microsoft Edge (étrangement, des sites qui ne marchent QUE dans Firefox, y en a pas des masse, je n’en ai encore jamais vu en fait).

Alors ouais, tous les navigateurs n’en sont pas au même point. Mais faire un site qui ne marche qu’avec un seul navigateur (alors qu’il y a en plein d’autres qui sont légitimes tout autant) c’est n’est pas faire du web, c’est créer un gadget. Pour votre business, vous voulez un gadget ou un site-web ?

Si vous n’avez pas le temps ou l’envie de vous casser le cul à apprendre à faire un site web, assumez et puis c’est tout, cas là c’est bel et bien un choix délibéré que d’être un gros fainéant. Mais ne venez pas me dire d’installer un navigateur en particulier juste pour vous. Je vous le dis : si mon navigateur n’est pas assez bon pour vous, alors votre site n’en vaut pas la peine.

Le champion ici c’est évidemment Google Chrome, qui intègre tout un tas de technos non-standards détectées par aucun autre navigateur (et que les webmasters utilisent en masse).

Et je ne parle pas des sites tout à fait fonctionnels dans tous les navigateurs mais dont l’éditeur a décidé que les utilisateurs d’autres navigateur que le leur n’ont pas le droit de lire. Ceux là peuvent clairement aller se faire voir.

Les sites qui ne marchent pas

Tout simplement un site avec un formulaire qui ne fonctionne pas, un bouton qui ne fait rien ou des tas de liens morts. Dites, ça vous arrive de tester votre site ?

Les sites anti-adblock

On est en 2017, la publicité est mo… *paf*

Ok, je pense que le message de fond n’est pas mauvais : un site est un business comme un autre et ça a un coût, surtout quand on a une équipe de rédacteurs à payer à la fin du mois. Mais il faut bien se rendre à l’évidence : au delà du problème du tracking, certains sites ont mis un tel niveau de publicité qu’il en est totalement inutilisable : la page met 2 minutes à charger, on a des popup partout, des liens débiles, des liens trompeurs… C’est juste devenu im-po-ssible. Essayez vous-même : je suis sûr que vous même utilisez un bloqueur de pub, y compris sur votre site.

À cause de ça, j’en suis à un point où je ne peux même pas dire aux sites de mettre de la pub de façon normale, car ça n’arrivera jamais et que de toute façon tout le monde a déjà un bloqueur de publicité actif et fonctionnel. Donc ça ne servirait à rien, il est trop tard maintenant, la publicité est morte de vos mains.

Les sites annonceurs ont tué leur propre business et maintenant ils pleurent. La solution, je sais pas moi, innovez ? Inventez un autre système pour gagner des thunes ? Je dis pas que c’est facile, ni simple, mais c’est 1) pas mon problème et 2) on n’a rien sans rien, surtout après avoir tout cassé (ça serait la moindre des choses que de le réparer, non ?).

Les formulaires de merde

Juste 500 caractères pour laisser une review, un commentaire ? Je dis non.

Aussi, un champ de recherche en HTML, ça peut s’agrandir, avec la souris. Alors cessez d’utiliser resize: none; : c’est débile, chiant, inutile.

Des champs qui ne sont pas liés à leur <label> ? Vous avez appris à coder avec Dora l’Exploratrice ? Avec Franklin la tortue, peut-être ?

Les sites avec une redirection foireuse…

… ou inexistante.

Je tape "site.com" dans ma barre d’adresse et cela produit une erreur. Pour accéder au site, je dois mettre "www.site.fr". Généralement il y a moyen de mettre une redirection automatique avec une seule ligne dans un fichier, mais certains sites ne le font pas. C’est chiant.

Les sites avec une fausse sécurité

Les banques sont championnes pour ça : ils ont bien le petit cadenas, ils ont bien un formulaire sécurisé, mais elles ont aussi un code pin à 4 chiffres.
Vous savez combien de temps je met pour générer et afficher tous les codes à 4 chiffres possibles avec mon ordinateur ? 515 millisecondes (en JS, qui est loin d’être rapide comme langage). Voilà. C’est avec ça que vous protégez mon argent.

Alors qu’à cette vitesse, un vrai mot de passe avec chiffres, minuscules, majuscules long de 6 caractères, je mets déjà 1 mois. Long de 12 caractères, je mets 5,269 milliards d’années.

Moi je vous confie mon argent que vous protégez par une porte ouverte sans serrure, et vous, quand je me rend au guichet, vous mettez une chaîne sur le petit stylo, des fois que je vous le volerait… Vivement le bitcoin partout qu’on se passe de vous, les banques, hein.

Et ceci s’adresse aussi à tous les sites qui ont l’une de ces pratiques :

(MÀJ : oui, je sais que les banques utilisent des méthodes un peu plus poussées et pas juste un code pin. Encore heureux. Mais bon, Google, Steam, Facebook et en fait beaucoup de sites le font aussi. Je vois pas pourquoi, la sécurité d’une banque devrait toujours rester en deça de la sécurité d’un compte permettant de jouer aux jeux vidéo. Je crois que même WoW utilise des token RSA ([i]ÉDIT: Étienne me signale que Blizzard produit bien des token RSA pour WoW)…)[/i]

Les sites qui désactivent le clic-droit, le clavier ou autre

Ceux là me font rire : je ne peux pas faire un clic droit sur une image pour en conserver une copie sur mon ordi ? Ben c’est pas grave : je cherche l’image dans le code source. Pareil pour les vidéos. Pareil pour… tout ce que votre site affiche, en fait.
Ces protections sont inutiles, elle font juste perdre du temps à tout le monde.

De façon générale : laissez ma souris et mon clavier tranquille. Je n’ai pas besoin d’un menu spécial ou de raccourcis clavier redéfinis pour votre site.

Même remarque (reçue dans l’oreillette) pour le scroll : sans déconner, c’est quoi cette manie de faire un scroll latéral, ralenti, pâteux ou saccadé ? J’ai configuré ma souris pour qu’elle défile la page à la vitesse que je désire. C’est pas pour que votre site vienne imposer la votre.


Bon.
En 2017 le web n’est pas tout noir de couleur non plus. Voici quelques trucs qui me font dire que vous avez pensé à vos utilisateurs, notamment dans les formulaires :

illustration de Magnus Bråth

MySQL, SQLite ou fichiers texte ?

mercredi 11 octobre 2017 à 20:54

Le moteur de blog sur lequel tourne ce site, Blogotext, était à l’origine basé sur un stockage en fichiers XML (un sorte de balisage à la XML, plutôt).
Aujourd’hui j’utilise à la fois SQLite et le stockage sous forme de fichier contenant des données sérialisées.

En relisant l’article de Matronix sur Pluxml qui devient un peu plus lent quand le nombre d’articles s’accumulent, je me suis décidé à dresser un petit comparatif et un retour sur les formats de stockage pour un moteur de blog : XML, base64-serialisé, SQLite, MySQL.

XML, texte Base64-sérialisé

Ces deux formats reposent sur de simples fichiers texte : il est donc plutôt passe partout, y compris sur les rares hébergeurs qui ne proposent aucun système de base de donnée (mais parfois interdits par les hébergeurs car assez gourmands en ressources).

Le format est également adapté quand la quantité de données reste limitée : pour un blog avec des articles longs, il est préférable de s’abstenir.

Pour des liens partagés courts, force est de constater que ça reste rapide, mais je suis quand même curieux de connaître la limite de ce système. Tous les systèmes ont tendances à s’embourber quand la quantité de données devient importante, mais certains résistent mieux que d’autres (et surtout, passer de 1 ms à 2 ms pour une requête, c’est doubler le temps mais ça reste totalement invisible, alors que passer de 1 s à 2 s, ça l’est beaucoup moins).

Ces formats conviennent très bien pour les petits blogs sans commentaires, et pour tout autre gestion de donnée sans associativité entre les données (les commentaires sont en effet associés à un article et nécessitent un tri — spécifique et très long — à cause de ça).

En revanche, pour un moteur de blog, avec fonction de listage des articles, commentaires associés ou fonction de recherche, ça devient rapidement très lent au fur et à mesure que le nombre d’articles augmente.
Quand j’utilisais les fichiers XML sur ce site, avec 5000 commentaires, le temps de génération d’une page prenait jusqu’à 500 millisecondes. Ça semble rien, mais c’est énorme (c’est 20 à 100 fois la durée actuelle de génération d’une page, alors que le nombre d’articles et commentaires à triplé).

J’avais un jour testé l’utilisation d’un fichier sérialisé pour le blog : la page prenait 800 millisecondes à charger. Là aussi, c’est bien trop long, pour le visiteur qui doit attendre et pour le serveur qui est trop sollicité. C’était impensable.

SQLite & MySQL

Ces systèmes contiennent une véritable gestion des données : ils les stockent bien-sûr, mais ils peuvent aussi les trier, ordonner, rechercher et créer des liaisons (articles/commentaires) : SQL est spécifiquement fait pour ça. C’est donc parfait pour le stockage de données qui sont susceptibles de changer, d’être triées ou d’êtres liées à d’autres données de façon dynamique.

Mon blog a tourné sous MySQL à un moment, mais je suis très vite revenu à SQLite, après avoir appris à optimiser quelques trucs.
Le résultat est celui que vous voyez là : ce site tourne avec 1100 articles, 16 000 commentaires et 16 000 liens partagés, et je suis en mutualisé (donc le serveur gère également plein d’autres sites en parallèle).

Tout a été ici une question d’optimisation : choix des indexes, gestion du cache et de la mémoire, et de la façon dont on l’utilise. En PHP par exemple : une bonne gestion des boucles fait beaucoup de choses. Le nombre de requêtes SQL est également à prendre en compte : une requête pour sortir 50 articles sera largement plus rapide que 50 requêtes.

SQLite est pratique car il très simple à utiliser : pas de mot de passe, pas d’installation, pas de système client/serveur (contrairement à MySQL) : la bibliothèque logicielle pour utiliser SQLite peut être incluse dans les logiciels et être utilisée à la volée (Firefox le fait, par exemple). Il suffit de l’utiliser comme n’importe quelle fonction.
MySQL a la réputation d’être un peu plus rapide et plus complet.

Meewan me fait remarquer très justement que SQLite a un défaut par rapport au reste, c’est qu’on ne peut écrire qu’une seule chose à la fois dans la base de données SQLite. Une opération doit se terminer complètement avant que la suivante ne puisse se faire. Ceci concerne uniquement l’écriture dans la base de données (pas la lecture). En pratique, sur un blog comme le miens, ce n’est pas un problème du tout, mais sur les sites (beaucoup) plus gros où des dizaines de commentaires peuvent être écrits en même temps, cela pose problème. Il est ainsi impensable d’avoir un système similaire à Twitter, ou bien un tchat, utilisant SQLite.

Pour conclure

Je pense évidemment que chaque application a ses besoins spécifiques.

À mon niveau cependant, je n’ai pas encore eu de situations où SQLite ne suffisait pas (ceci mis à part car ça a été résolu depuis) : son avantage est d’être utilisable dans énormément de langages (que ce soit côté serveur (PHP), côté client (JS, HTML5?) et en local (Python, SH…)) et très simplement, sans gestion de mot de passe ou de nom de serveur, le tout avec une portabilité très simple puisqu’il s’agit d’un seul fichier à copier-coller.

Dans certains cas, où le nombre de données n’est pas emmené à varier beaucoup, les fichiers textes sérialisés ou le XML/Json (voire les fichiers de configuration INI ou INF) suffisent.

Note : cet article a été initialement écrit en 2015. Je l’ai déterré pour un lecteur qui m’avait demandé mon avis entre les différents formats. Les chiffres sont mis à jour et correspondent à ceux de la date de publication.

Pourquoi je souhaite une licence globale

mardi 10 octobre 2017 à 19:30

Quelques semaines après que l’UE a annoncé que le partage de fichiers protégés ne diminue en rien les ventes d’œuvres de façon légale, voilà que la Hadopi nous dit que la fermeture il y a quelques temps de Zone-Téléchargement n’avait rien changé : le partage de fichiers est toujours là et il n’a pas non plus diminué.

Vous voulez que je fasse une prédiction ?
Le téléchargement illégal ne s’effondrera que lorsque qu’acheter quelque chose soit plus simple qu’utiliser les sites de téléchargements.
Le problème c’est surtout que toutes les solutions « légales » sont une plaie à utiliser, ou alors qu’elles ne sont pas adaptées aux besoins des gens (elles sont juste une projection de ce que les « ayants-droits » souhaitent nous voir s’en contenter).

Et tout ça, ce n’est pas près de changer.

Du coup ben, on voit les artistes qui montent leur propres business (passant en dehors des circuits inadaptés), soit des sites de partage et de téléchargement de musique, financée par la pub et les abonnements.

Perso je vois deux solutions à tout ça.

La première, c’est que les « ayant droits » se sortent les doigts et montent eux-mêmes des sites de téléchargement financé par la pub : les gens veulent ce genre site, c’est pas compliqué à faire non plus et ça rapport pas mal de fric. Et du coup ce fric ira dans leurs poches. C’est pas ce qu’ils veulent ? Ça ne serait pas ce que tout le monde veut ?

Et la seconde, c’est un impôt facultatif appelée « licence globale ».
Dans ce cas, on paye une sorte de « redevance » qui nous permet de télécharger ce qu’on veut, autant qu’on veut, où on veut sans avoir à se soucier du fait que ce soit sur un site légal ou pas. De toute façon, empêcher les sites de partage et de téléchargement d’exister est voué à l’échec. Avec la licence globale : on paye genre 15€/mois et on peut télécharger autant qu’on veut. Ceux qui ne veulent pas payer, c’est pas grave, mais dans ce cas soit faut pas télécharger, soit faut assumer si on se fait prendre.

Je suis plutôt pro-licence globale : premièrement parce que cette idée est relativement simple à mettre en place administrativement (juste une case en plus sur le formulaire des impôts, et il suffira à Hadopi de regarder qui est abonné pour savoir si on chope son IP ou non) et techniquement : y a rien à faire, c’est peut-être ce qui est le plus déroutant, pour les spécialistes du brassage d’air les poches pleines dans l’hémicycle… Par ailleurs, l’argent de la licence globale sera ensuite redistribué aux artistes.

Quant à l’avantage d’une licence globale par rapport à des plateformes comme Google Play ou iTunes, c’est que l’on n’est pas prisonnier d’une plateforme précise. Si je vais chez Google Play et que que ce dernier ferme mon compte de façon arbitraire (comme écrit dans les conditions d’utilisations), alors je n’ai plus rien du tout. Alors qu’avec la licence globale, je paye et j’ai le droit d’aller où je veux tout en sachant qu’on ne viendra pas me faire chier.

Faire des « !bang » dans Firefox

mardi 3 octobre 2017 à 19:55

Les « !bang » sont des mots clés pour rechercher directement sur un site, depuis les moteurs de recherche comme DuckDuckGo ou Qwant. Ça permet par exemple de chercher Firefox sur wikipédia en tapant « !w firefox », qui ouvrira alors la page correspondante. Il y a des tonnes de « !bang » dans DuckDuckGo et c’est pratique (ils en ont même mis un pour mon site :p).

Le truc, c’est que cette fonction existe déjà, depuis toujours, dans Firefox (et même dans les autres navigateurs).
On peut les faire soi-même : il suffit de choisir le site que l’on veut et de faire un marque-page avec un mot clé et l’on a notre !bang. Ça se passe directement dans le navigateur, pas besoin d’extensions, et ça marche.

Ici je vais faire un exemple : faire un !bang pour mon site, avec le mot clé « lhv ».

Commencez par aller sur mon site et faites un clic droit dans le moteur de recherche puis « Ajouter un mot clé pour cette recherche » :

i

Dans la fenêtre qui surgit, ajoutez votre mot-clé (lhv) :

i
Puis cliquez sur Enregistrer.

Et c’est tout !

Maintenant, ouvrez un onglet, tapez « lhv » suivi de votre recherche, comme par exemple « lhv firefox » et vous trouverez tous les articles relatifs à « firefox » sur mon site !

Vous pouvez faire n’importe quel site disposant d’un champ de recherche comme ça.
Perso, j’ai fait youtube (y), wikipedia (w), google (g), flickr (f), wolfram-alpha (wa), google images (i), google images inversé (ii)…

Ce qui est bien, c’est que vous pouvez mettre n’importe quoi après votre mot clé : pas forcément une recherche, mais même une URL. Par exemple, pour la recherche inversée d’une image dans Google, j’affiche une image dans un onglet, je place mon curseur devant l’URL dans la barre d’adresse et je met « ii » suivie d’une espace puis je lance la recherche. Ça va chercher l’URL (l’image donc) dans le moteur inversé de Google.

Dans le même genre de chose pratiques, j’ai aussi mon !bang pour faire un QRcode : « qr », pour traduire du texte, ou le partager sur mon site, etc.