PROJET AUTOBLOG


le hollandais volant

Site original : le hollandais volant

⇐ retour index

Mise à jour

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

Flash, tu fais vraiment chier

vendredi 7 août 2015 à 17:46
Ça fait 3 semaines que je me bats avec un problème de merde sous Firefox. En JS, je fais du Drag-n-drop, pour l’upload d’images.

Mon script fait en sorte que quand je glisse un fichier sur le navigateur, un bloc prend toute la largeur de la page pour réceptionner les fichiers. Jusque là, ça va : ça marche, tout va bien. En fait, tout le drag-n-drop fonctionne parfaitement.

Sauf parfois.
Parfois j’ai un comportement étrange. Parfois « ça veut pas ».

En temps normal, quand je glisse les fichiers sur la page web, j’ai l’icône de la petite main avec la flèche :
arrow hand cursor
Mais parfois, en plein milieu de la page, le pointeur change : c’est juste la petite main. Sans la flèche : signifiant que que le "drop" est impossible :
hand cursor
Il semble ainsi y avoir un sorte de « zone morte » en plein milieu de la page où mon drag-n-drop ne marche pas.
La zone morte est invisible. Je ne peux la mettre en évidence qu’en déplaçant le curseur lors du glissement des fichiers et trouver environ les limites de la « zone morte ».

J’ai utilisé des tas de garde-fou en JS pour savoir ce qui se passe : rien de concluant.
JS voit bien que le glissement (drag) s’arrête quelque part sur la page (et agit en conséquences), mais il ne sait pas me dire ce qui se passe réellement : ni afficher l’ID d’un éventuel bloc « mort » sur l’écran, ni mettre ce bloc en évidence…

En fait j’ai fini par trouver d’où ça vient.

Vous voulez savoir ? Vraiment ?

C’est ce connard de Flash de merde à con de mes deux.

La « zone morte » correspond exactement à l’emplacement d’un lecteur Flash… sur un autre putain d’onglet !
Oui, Flash obstrue une zone du navigateur sur TOUS les onglets, même s’il est utilisé dans un seul onglet.

Quand je ferme l’onglet avec flash (Youtube en l’occurrence), je n’ai pas de problèmes.
Je ne sais pas si le coupable est Flash ou Firefox, mais là, Flash c’est terminé. Raz le bol de ces conneries récurrentes avec ce plugin de merde.


Bref.
Il y a une chose à retenir en programmation. Des bugs, vous aurez forcément : aucun script ne fonctionne du premier coup. Parfois les bugs seront plus coriaces que d’autres, et souvent, très souvent le problème vient de là où on ne l’attends absolument pas.
Ceci en est un exemple : l’événement de glissement de fichiers sur une page web, dans Firefox, ne fonctionne pas si Flash fonctionne, même sur un autre onglet.

[CSS] Astuce simple pour des icônes nettes sur les mobile

dimanche 2 août 2015 à 16:27
(oui encore une astuce CSS, je suis en plein dedans, c’est pour ça :p)

Quand vous faites un bouton avec une icône, dans mon cas de 48px de côté, il s’affichera très bien sur l’ordi :
icônes sur l’ordinateur
Sur mobile en revanche, l’image sera toute pixelisée et moche :
icônes sur le téléphone (ne vous fiez pas à la taille des captures d’écran : la première est zoomée 3 fois et la seconde seulement 2 fois ; sans interpolation dans les deux pas. C’est la pixellisation qu’il faut regarder).

Pourquoi ? Parce qu’un écran de mobile en full-HD mesure 12 cm, alors qu’un écran full-HD d’ordi mesure 40 cm : la densité de pixels (pixel-ratio) est plus grande sur mobile.

Pour contrer ça, les navigateurs mobiles doublent les pixels : un pixel sur l’ordinateur correspond à 4 pixels sur mobile afin de respecter les tailles d’affichage.
Si cela concerne une image, l’image de 48px est étirée sur le double : 96px, et on se retrouve avec un effet de pixellisation désagréable.

CSS et JS offrent des solutions pour détecter le pixel-ratio et fournir une image plus détaillée pour les écrans les plus denses.
On trouve des articles sur ça avec du code et des exemples :

Mais je trouve ça vachement lourd. Il y a en effet beaucoup plus simple : utiliser une image avec une grande résolution et la rétrécir sur les écrans les moins denses.
Le résultat visuel est sans appel :

icônes améliorées sur mobile et ordinateur
Dans les deux cas, j’ai fait deux boutons : celui du haut avec une image de 48px affichée dans un bouton de 48px, et celui du bas est une image de 96px affichée dans un bouton de 48px et dont la taille est rapportée à 48px.

À gauche c’est sur mon ordinateur : on ne voit pas de différences entre les deux. À droite, c’est sur mobile : la différence est très visible : une icône de 96px réduite à 48px est bien plus nette !

Le code CSS est très simple et elle tient en un seul mot : background-size.


#bouton-48 {
    width: 48px;
    height: 48px;
    background: url(icon96.png) no-repeat 
    background-position: 0px 0px;
    background-size: 48px 48px;
}

L’image mesure bien 96 pixels de côté, mais elle est réduite à la taille de l’icône, donc ici d’un facteur 2.

La démonstration en temps réel est disponible sur cette page : affichez la sur l’ordi, puis sur mobile et vous verrez.

Avec la méthode des portes coulissantes, si vous savez disons deux icônes de 96px côté à côte, votre image fait 192px de large sur 96px de haut. Vous devrez donc utiliser ceci :
    background-size: 96px 48px;

Les valeurs dans le background-position ne sont pas à modifier.

Notez qu’il y a un seul inconvénient à ceci : l’image de fond est plus grande, donc aussi plus lourde.
Je pense que ça vaut le coup quand même : si la gestion du cache est correcte, l’image restera dans le cache du navigateur.
De plus, si vous utilisez des images multi-icônes avec la méthode des portes coulissantes, le poids de l’image ne sera pas excessif non plus.

Enfin, vous pouvez utiliser SVG, mais je pense que ça ne vaut pas le coup en terme de poids des images si petites.

Encore quelques tweaks pour Firefox

samedi 1 août 2015 à 18:18
firefox logo Pour les utilisateurs de Firefox, voici quelques idées qui peuvent le rendre plus pratiques. Il y en a un peu pour tous les goûts.

Les extensions

Mes extensions du moment sont, pour la vie privée et la sécurité :

Pour les fonctionnalités supplémentaires :

Pour l’interface :

Dans About:config




Des moteurs de recherche personnalisés


C’est sûrement la truc le plus pratique disponible dans tous les navigateurs. Ce sont les « !bang » directement dans le champ de l’URL (sans passer par DDG ou Google). N’importe quel champ de recherche peut être lié à un raccourcis « !bang ».

Personnellement j’ai ainsi Wikipédia (w), Youtube (y), Google (g), Google Image (i), Google Image recherche par URL (ii), Flickr Recherche d’images en CC (fcc)…

Il suffit de faire un clic droit dans un champ de recherche et faire « ajouter un mot clé pour cette recherche ». Ajoutez ainsi un mot clé en face du champ « mot clé », par exemple « w » pour le champ de recherche de Wikipédia et il vous suffira ensuite de taper « w le hollandais volant » pour afficher la page Wikipédia sur le Hollandais Volant.


Sur l’interface


Pour l’interface, j’ai déjà la barre personnelle affichée verticalement sur le côté, mais j’ai aussi supprimé le champ de recherche (la barre d’URL remplissant cette fonction).
Mes icônes d’extensions sont aussi sur la barre des personnel.

Avec l’extension ClassicThemeRestorer je peux modifier beaucoup plus de choses dans Firefox. Je remet ainsi l’icône de rafraîchissement de la page à gauche de la barre d’adresse.

Scripts GreaseMonkey


GreaseMonkey permet de faire des scripts pour modifier des pages à la volée.
J’ai ainsi quelques scripts pour supprimer systématiquement les paramètres de tracking « UTM_* » dans les URL, ou pour réactiver les suggestions et le redimensionnement des champs de saisie.

J’ai aussi un script pour Youtube, me permettant d’avoir des URL Youtube propres (sans les « featured » ou « source »), ce qui est pratique pour les partager, voir là.

Pour Wikipédia, je lis principalement les pages en Français et en Anglais. Voici un script qui va mettre en rouge les liens sur la gauche de la page (celle pour voir un article dans les autres langues). Ça permet de gagner du temps quand on cherche à trouve le lien « English » dans la liste des 200 langues disponibles.


UserChrome.css


C’est le fichier dans le dossier ~/.mozilla/firefox/<le dossier du profile>/chrome/userChrome.css.

Ce fichier CSS permet de modifier l’interface de Firefox, en CSS. À une époque je l’utilisais énormément, mais avec les changements tout le temps depuis la version 3.5, je n’ai jamais tout mis à jour.
Le code suivant fonctionne cependant toujours très bien et il permet de diminuer la largeur des onglets et des onglets quand ils sont épinglés. Plus de place de gagné permet d’épingler plus d’onglets :

.tabbrowser-tab[fadein]:not([pinned]) {
	min-width: 20px !important;
	max-width: 180px !important;
}

.tabbrowser-tab[pinned] {
	width: 24px!important;
	min-width: 20px !important;
	max-width: 24px !important;
}

Et vu que j’utilise l’add-on Vertical Bookmarks, avec la barre de favoris sur le côté droit de l’écran, je réduis là aussi la taille des favoris à leurs favicon :

#personal-bookmarks {
	width: 24px;
}

Quelques raccourcis clavier utiles


Les raccourcis clavier que j’utilise le plus souvent sont :

Et si Google fermait mon compte (v2015)

mardi 28 juillet 2015 à 18:38
Il y a deux ans, j’écrivais cet article : et si Google fermait mon compte ?
Ça faisait suite, dans une certaine mesure, à l’annonce d’Opera de fermer quelques mois plus tard leur service mail : je m’étais demandé quel impact pour moi aurait la fermeture d’autres services web que j’utilisais à l’époque, principalement Google.

Depuis la fermeture de My-Opera, j’ai effectivement pris quelques mesures. Je pense être devenu moins dépendant de services externes. Il faut dire que la fermeture de mon compte email principal m’a beaucoup fait chier, mais d’un autre côté ça m’a permis d’apprendre beaucoup de choses.

Voici mon retour d’analyse, deux ans après cet « incident », et la mise aupoint concernant ma dépendance vis à vis des autres « grands sites ».
Toujours la même notation : 0/5 correspond à « je m’en fous totalement » et 5/5 à « je suis vraiment dans la merde ».

Si Google fermait mon compte, en 2015 :



C’est tout pour Google.

Pour les autres sites :
Paypal, eBay, Amazon, ça me ferait un peu chier parce que j’achète régulièrement en ligne, mais je peux m’en passer : il y a d’autres sites et d’autres moyens.
Microsoft/Skype, Facebook, Yahoo : totalement rien à faire. Je n’utilise pas de XBox, et Facebook me sert un peu à rien. Mon compte Yahoo, je ne sais même plus ce que c’est…
Twitter : je l’utilise de temps à autre en version web pour interagir avec ceux qui suivent mon blog via Twitter (le RSS de mon blog est reposté sur Twitter). Ça serait dommage si ça vienne à être supprimé, mais bon, tant pis : ça m’empêchera pas de poster et ça n’empêchera personne de lire mon site quand même si elle le souhaite vraiment.
Tumblr : j’aime bien Tumblr, le site est sympa et on trouve pas mal de monde. Mon site n’est plus dupliqué sur Tumblr depuis un moment car je l’utilise pour d’autres raisons maintenant, plus orienté jeux-vidéos, manga, pokémon… Là aussi, ça m’embêterait que le site ferme où que mon compte soit fermé, mais ça ne sera pas la fin du monde non plus.

Je n’ai autrement pas de compte « Cloud » grand public, ni de compte d’écoute de musique en ligne (SoundCloud, LastFM, Deezer…).

Bref, je suis un peu partout sur Internet, mais mon point central c’est mon site, mes noms de domaines. Je n’ai pas encore de quoi m’auto-héberger (ou même devenir mon propre FAI) pour garantir une bonne et vraie indépendance, mais si ça venait à arriver pour des raisons politiques, je suppose que le web ne sera plus un lieu digne d’intérêt pour partager quoi que ce soit. Je serais alors passé sous Tor ou Freenet depuis longtemps.

Ce ne sont pas la fermeture de mes comptes sur les réseaux sociaux qui me font peur en tout cas.

Le streaming 4K menacé par les royalties sur les codecs

dimanche 26 juillet 2015 à 10:59
Netflix, entre autres, qui utilise le codec H265 pour diffuser de la vidéo en Ultra-HD (4K), est ciblé par HEVC Advanced, pour leur faire payer des droits d’utilisation du codec.

Je me marre.


Bah comment dire : c’est bien fait et ça leur apprendra d’utiliser des technologies non libres ?

Parce que ça fait des années, même des décennies, qu’il existe de très bon codecs et conteneurs libres d’usage et de droits pour l’audio et la vidéo : Vorbis, Theora, WebM (reprise du Matroska, lui aussi libre), VP8/9, Opus.

Les formats ne sont pas ce qui manque. Et s’ils peuvent très bien ne pas être aussi bon que le H265, je pense que ça coûtera bien moins cher à Netflix et les autres d’investir dans l’évolution de ces codecs libres que de payer pour avoir le droit de se servir du H265. Et en prime, ces évolutions profiteront à tout le monde, comme ces codecs pourront profiter à eux, gratuitement.

Il faut croire que personne n’apprend jamais : ça fait des années que les ayants droits du H265/H264 et même aussi ceux du MP3 et avant cela ceux du format GIF font ce qu’ils peuvent pour imposer des royalties quand on utilise leur codecs.