PROJET AUTOBLOG


le hollandais volant

Site original : le hollandais volant

⇐ retour index

Pourquoi vous ne verrez pas le Soleil à partir de ce soir ?

mercredi 3 novembre 2021 à 18:06

Photo de la Lune.
Ce soir, vers 18 heures environ, ça va être tout noir1.

La raison à cela a été inventée2 par Kepler3 en 1609 et provient de la rotation de la Terre sur elle-même face au Soleil. Cette dernière n’éclairera alors plus du tout nos contrées et nous passeront dans l’obscurité.

Vous avez bien lu : le Soleil ne sera plus visible ! Merde alors.

Ce phénomène provoquera alors ce qu’on appelle dans le jargon scientifique « la nuit ». Par chance cependant, cette nuit devrait normalement se terminer approximativement à 07h24 UTC+1 (grosso-modo) demain matin et alors le Soleil pourra à nouveau éclairer le ciel et être visible si la météo le permet et que vous n’êtes pas aveugle.

En attendant, profitez-en pour rentrer chez vous, vous mettre à l’abri et peut-être dormir (c’est-à-dire vous allonger et rester ainsi de façon inconsciente durant 7-8 heures dans un lit) pour vous reposer.

Notes :


Pourquoi cet article stupide ?

Parce que si RTL se permet de le faire, et en disant beaucoup de conneries aussi : Nouvelle Lune : pourquoi vous ne verrez pas la Lune le 4 novembre (via Twitter).

Alors qu’on soit d’accord : je plussoie la vulgarisation scientifique.

Mais là on parle de RTL, une station de radio/télé généraliste francophone, pas de Dora l’Exploratrice ou des leçons de Monsieur Patate ! Les phases de la Lune c’est du niveau quoi… CP ? CE1 ? En tout cas pas exactement le genre de choses — à mon avis — que des adultes découvrent en écoutant la radio en allant au travail le matin. Ou alors le niveau en science en France est à un niveau particulièrement alarmant.

De plus, et c’est peut-être le pire dans tout ça : l’article parle d’une « Lune Noire ». Or il n’y aura pas de Lune noire ce mois-ci.

« Lune noire » n’est pas un terme scientifique, mais désigne bien quelque chose : c’est quand, au cours d’un même mois calendaire, on observe une deuxième nouvelle Lune. Le cycle lunaire dure 29,5 jours et il y a donc de la place d’en commencer un deuxième si le premier a début tout au début du mois. D’un point de vue astronomique, ceci n’a cependant aucune signification particulière. C’est juste un hasard du calendrier.

Ceci est loin d’être systématique : la prochaine sera en avril 2022 seulement : il y aura une nouvelle lune le 1ᵉʳ avril et une autre nouvelle lune le 30 avril ; cette seconde nouvelle lune porte alors le nom de Lune Noire. Pour la suivante il faudra ensuite attendre décembre 2024 !

Dans tous les cas, ce 4 novembre-ci ne marquera, en aucun cas, un tel phénomène. Dire le contraire est faux.

De la même façon, si un mois voit deux pleines Lunes, la seconde est appelée « Lune bleue ». Là également cela est un hasard du calendrier et le « bleu » ne réfère pas du tout à sa couleur. C’est plutôt une traduction contemporaine d’une déformation de l’expression « double lune », qui aurait donné « blue moon » en anglais.

Lune bleue ou lune noire… est-ce qu’on peut parler de phénomène rare ? Pas vraiment : elles se produisent chacun environ tous les 3 ans, ce qui est moins rare que les jeux olympiques ou une coupe du monde de football. Or personne ne parle des « rares jeux olympiques »…

Donc, @RTL : que vous fassiez de la vulgarisation sur des trivialités, ok, pourquoi pas. Quitte à remonter le niveau, autant commencer par le bas, et finalement c’est peut-être pas bête.
Mais alors remontez-le effectivement et ne racontez pas n’importe quoi.

Si vous racontez de la merde sur les phases de la Lune, arrêtez immédiatement, ça vaut mieux pour vous. Car le jour où vous allez parler des Kugelblitz ou du processus de Blandford–Znajek, ça va être un carnage.

(Par contre vous pouvez toujours demander de l’aide, si c’est votre projet).

image d’en-tête de Luke Stackpoole

Est-il écologique de changer de voiture pour une voiture électrique ?

mercredi 27 octobre 2021 à 19:55

Voir :

« Est-ce que garder une vieille voiture est mieux pour l’environnement ? » sous entendant : « que changer pour une voiture plus récente (moins polluante) ou une voiture électrique ? ».

TL;DR : oui, sauf si vous roulez vraiment très peu.

Un EV émet-il plus de CO2 ?

J’en ai déjà parlé, mais ils font le descriptif détaillé dans la vidéo.

Il faut comprendre qu’une voiture qui existe déjà coûte zéro CO2 en fabrication (elle est déjà fabriquée !), elle coûte seulement du CO2 à l’usage.

Une voiture neuve qui n’existe pas, il faut la produire et ça va émettre du CO2 en plus par rapport à tout le CO2 déjà émis.

Sauf que les voitures plus récentes sont plus optimisées et à l’usage elles émettent moins de CO2 que les anciennes (normalement, et selon les gabarits des voitures).

Il faut donc se demander si le gain sur le long terme compense le « coût » de fabrication de la voiture neuve. C’est le but du calcul, et seulement en termes de CO2.

Le résultat :

Ce que cela veut dire…
Si vous avez une vieille voiture et que vous êtes dans la moyenne (en km par an), alors une voiture électrique neuve deviendra plus écologique après seulement 4 ans d’utilisation que rouler avec l’ancienne sur la même période.
De même si vous roulez encore 7 ans avec cette vieille voiture, vous finiriez par être plus polluant que si vous aviez changé de voiture pour une thermique récente.

Dit autrement : après 4 ans d’utilisation d’une EV, on a rentabilisé le « capital CO2 » et on devient moins polluant que si on avait continué à rouler avec la vieille voiture.

Ces chiffres sont donnés pour les USA avec la moyenne de distance parcourue par an (35 000 km/an) et la qualité de l’électricité américaine (60 % fossile).

On remarque une chose intéressante : aujourd’hui, la production d’une EV n’émet que relativement peu de CO2 en plus par rapport à une voiture thermique : 11 tonnes au lieu de 9 tonnes.
On parle de 20 % de plus : c’est donc loin des phrases types du détracteur : « mais la production est beaucoup plus polluante ! ».

En France, les chiffres ne sont pas les mêmes. Déjà, on roule en moyenne 12 000-15 000 km/an et les voitures sont un peu moins gourmandes. De plus, en France toujours, 90 % de l’électricité est décarbonée (seulement 10 % de fossile).

Dans ces conditions, si je fais le calcul (ce n’est pas dans la vidéo) :

Et si je dois changer la batterie ? Ça pollue plus !

Ça n’arrivera pas, en tout cas à la très grande majorité des gens.

Les Tesla 3 (référence de la vidéo, et EV la plus vendue au monde) ont encore une capacité de batterie de 90 % après 320 000 km (chiffres Tesla d’après leurs données de télémétrie pour les voitures qui ont dépassé cette distance).

Déjà on peut donc dire qu’il n’y a aucun risque d’avoir à changer de batterie pour cause d’usure naturelle, même après 700 000 km (certains EV les ont atteintes).

Ajoutons à ça que les voitures thermiques qui atteignent ce kilométrage tombent généralement en lambeau et beaucoup de pièces sont à changer (du moteur à l’échappement, en passant par la boîte de vitesse, l’embrayage ou le système de refroidissement… autant d’éléments qu’une EV n’a pas… et qui contiennent elles aussi des matériaux rares et toxiques comme le palladium ou le platine).

Même si cela devait être le cas, ça sera toujours moins polluant : l’usage de la Tesla Model 3 émet tellement moins qu’on peut en produire une seconde au bout de 7 ans d’usage et toujours moins avoir émis de CO2 qu’utiliser une voiture thermique… pour les USA (donc c’est encore plus valable en France)

Autrement dit — et pour ce qui est des gaz à effet de serre, j’insiste — pour un usager moyen, il n’y a aucun scénario où l’usage d’une EV émet plus de CO2 qu’une voiture thermique.
Le seul cas, mais ça n’est pas « l’usager moyen », c’est si vous roulez très peu.

Et le lithium ! Et le cobalt !

Le lithium se mine comme du sel de table : avec de l’eau qu’on envoie dans la mine, qui dissout le sel de lithium, et on récupère l’eau que l’on laisse s’évaporer pour récolter le sel de lithium. Ce n’est pas plus polluant que miner du sel de table.
Or, pour le sel de table, personne, jamais, nulle part, n’est parti en « croisade verte » parce ça polluerait. Et comme le Lithium n’est pas rare, ni lourd (il flotte sur l’eau), son transport n’est pas aussi polluant que l’acier ou (au hasard) le pétrole par exemple (dont l’acheminement jusqu’à la station essence est lui aussi émetteur de CO2).

Aussi, il faut dire qu’une EV comme la Model 3 n’en contient que… 8 kilos ! Ce n’est pas rien et il les faut pour faire avancer la voiture, mais ce n’est pas le gros du poids de la voiture comme on voudrait le penser.

Pour ce qui est du Cobalt : il est rare et à ce jour son extraction se fait de manière peu éthique, c’est vrai. Mais c’est un problème en passe d’être corrigé.

Tesla (principal constructeur d’EV) compte s’en passer complètement et les autres constructeurs en réduisent drastiquement la quantité nécessaire en améliorant sans-cesse les technologies de leur batterie. Un EV grande autonomie (400+ km) c’est 14 kilos de cobalt aujourd’hui. Et c’est en baisse. Là aussi, le cobalt est (pour l’instant) essentiel pour une EV, mais ce n’est pas non plus ce qui fait le gros de son poids.

Aussi faut-il ajouter que cette masse reste dans la voiture et ne se retrouve pas dans la nature : il est donc facilement collectable en fin de vie (ce qui, je rappelle, intervient après plusieurs centaines de milliers de kilomètres). Pour info : le taux de recyclabilité atteint (selon les sources) 90 %. Et le taux de recyclage actuel en est à 5-10 % (chiffres Toyota).

C’est pas comme les ~30 tonnes d’essence, et les huiles, liquides diverses qui partent en fumée au cours de la vie d’une voiture thermique ou finissent lentement sur la route.
Ou encore les plaquettes de freinage qui ne s’usent que très peu sur une voiture électrique (et électrifiée) grâce au freinage régénératif.

Et du coup ?

En somme, la pollution soi-disant supérieure des EV par rapport à une voiture thermique, c’est un argument qui ne tient plus. C’est devenu tout simplement faux.

Des progrès ont été faits, et on s’approche très franchement de la pollution générée par une voiture thermique. Garder une vieille voiture est très rapidement beaucoup plus polluante que passer sur une voiture électrique.

Un jour viendra où produire une EV sera moins polluante, et ça risque à mon avis d’arriver d’ici 5 ans au plus.

L’argument du lithium ne tient pas, et celui du cobalt est également en train d’être résolu, et a déjà largement été amélioré.

Concernant les terres rares (néodyme & co), l’enjeu est géopolitique. Ces éléments ne sont pas rares, contrairement à ce qu’indique leur nom, mais ils sont tous en Chine.
Néanmoins, des technologies un poil moins efficientes existent si le besoin devait se faire sentir de s’en passer (les moteur à induction asynchrone sont sans aimants permanents et donc sans ces terres rares ; ces moteurs équipaient les premières Tesla et certaines (toutes ?) les Zoé, notamment).

Les limites actuelles

À ce jour, je ne vois plus qu’un seul argument qui pourrait tenir ; ainsi qu’un potentiel problème logistique à résoudre.

L’argument : le prix. Les EV aujourd’hui sont plus chers, c’est vrai. La batterie y est pour une très grande partie, mais leur coût diminue à mesure que la production monte en échelle. On peut voir tout ça changer dans les années à venir.

Pour l’instant, passer par une hybride ou une hybride rechargeable peut être financièrement intéressant, tout en étant moins polluant (20-30 % moins de CO2 pour une hybride ; 70-80 % en moins pour une rechargeable, moyenné au cours d’une année). Note : moins de CO2, c’est moins d’essence consommée et donc des économies là-aussi.
Ces voitures sont également les plus efficaces pour les petits trajets (les plus nombreux, et ceux où les voitures thermiques sont les moins efficientes). Ces voitures sont moins chères que les voitures électriques (mais plus que les pures thermiques).

Il convient aussi de surveiller le marché de l’occasion : les EV conservent leur capacité beaucoup plus longtemps que les thermiques, et on gagne sur le long terme en coût de l’énergie mais aussi énormément en entretien (aucun fluide à changer, aucune pièce d’usure sinon les pneus et les essuie-glaces).

Si l’on est réticent à acheter du neuf parce que ça implique de produire du neuf, cherchez du côté de l’occasion !
La voiture existe déjà, donc l’acquérir ne montera pas le bilan carbone.

Je ne cherche absolument pas à inciter qui que ce soit : je dis juste ce qui est, et quels arguments ne tiennent tout simplement pas (ou plus), mais que je continue d’entendre.

Enfin, concernant les bornes de recharge : une EV n’est réellement possible qu’à condition d’avoir la possibilité de la recharger chez soi (où 95 % des recharges sont effectuées). Pas tout le monde peut se le permettre.

Quant au problème que je vois : il faudra produire plus d’électricité à un moment. Le réseau sera aussi à adapter.
Mais avec les résidences et les appareils électriques qui s’améliorent eux aussi, le problème est moins important qu’il pourrait sembler (faudrait qu’EDF communique sur ça).

Enfin, en positionnant les stations de recharge aux bons endroits, on pourra limiter les lignes de transport de l’énergie et réduire les pertes (30 % de l’électricité mondiale produite est perdue dans les lignes), voire produire sur place certains jours.


Enfin, bien sûr, question CO2, un vélo sera toujours meilleur.
Ce moyen devrait être utilisé pour tous les trajets en ville, selon moi.

Mais le débat ici n’est pas là : la voiture reste un moyen utile dans certains cas et il s’agit donc aussi d’améliorer ces cas-là.

Ma gestion améliorée de cache statique PHP/Apache

jeudi 7 octobre 2021 à 22:44

Programmation.
Ceci est une implémentation de l’idée que j’avais postée ici et qui concernait une gestion de cache basée sur le .htaccess et les erreur 404.

Le modèle habituel d’un cache statique PHP

Habituellement, pour gérer les caches de fichiers statique, on envoie une requête sur un fichier PHP qui va s’occuper de récupérer une ressource statique et l’envoyer vers le navigateur :

cache.php

<?php
    readfile($fichier_statique);
?>

Le $fichier_statique contient des données HTML déjà prêtes. Normalement, une fois que la page HTML est envoyée au visiteur, elle est oubliée de la mémoire de l’ordi. Si un autre visiteur fait la même requête, le serveur doit tout refaire.

L’idée d’un cache est de stocker le code HTML que l’on a envoyé au visiteur. Comme ça, si un second visiteur fait la même requête, on lui envoie ce qui se trouve en cache, sans avoir à tout recalculer : c’est beaucoup plus rapide.

Dans mon cas, je le fais avec des images d’avatar de chez Gravatar et avec des favicon que je met en face des sites dans mon lecteur RSS. Je ne fais pas une requête vers ces sites, mais vers mon lecteur RSS. C’est lui qui va faire une requête externe, sauver l’avatar ou la favicon localement, puis l’envoyer au client. La fois d’après, il envoie directement l’icône locale au client, sans faire de requête réseau. On gagne beaucoup en performances globales.

Le problème que je vois ici, c’est que le fichier cache.php est appelé pour chaque requête sur un fichier. C’est plus rapide que recalculer une miniature, mais une instance PHP est tout de même créée, ne serait-ce que pour lancer le readfile(), et éventuellement après quelques calculs rapides pour déterminer quel fichier cache on envoie au navigateur.

On peut s’affranchir de cette requête et de PHP.

Utiiliser .htaccess

On va prendre l’exemple du cache pour les images favicon et gravatar, car c’est ce que j’utilise et c’est ce pourquoi j’ai fait cette méthode.

Avant je faisais une requête vers cache.php?w=favicon&site=example.com
Et j’avais cette arborescence :

cache.php
var/
| - - cache/
      | - - favicon/
            | - - icone1.png
            | - - icone2.png
            | - - ...
      | - - gravatar/
            | - - avatar1.png
            | - - avatar2.png
            | - - ...
      | - - .htaccess

Quand je voulais une icône, je faisais un hit sur cache.php?get=icone1.png, et il m’envoyait l’icone1.png après l’avoir soit téléchargée, soit lue sur le disque.
Pour moi, l’image était située à l’URL cache.php?get=icone1.png, pas ailleurs.

Maintenant je fais autrement.

Je fais mon hit sur /var/cache/favicon/icone1.png. Plus besoin de PHP : si l’image existe, l’icône est envoyée directement.

Mais si le fichier n’existe pas, ça renvoie un 404, non ?

Exactement ! Mais ça, c’est uniquement si le fichier n’est pas là.
La distinction « fichier là / fichier pas là » n’est plus à faire par PHP comme avant : elle est déjà faite par le serveur (Apache, …), et on va s’en servir !

Il est possible d’utiliser une redirection en cas de 404. Dans le fichier .htaccess de notre arborescence, je vais mettre :

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) ../../cache.php?w=gravatar&q=$1 [L]

L’important ici est le !-f de la première ligne.

Un simple -f signifierait « notre requête est un fichier ». Mais avec le point d’exclamation devant, ça signifie « notre requête n’est pas un fichier », dans le sens « un fichier qui n’est pas, qui n’existe pas ».

Si je demande un fichier qui n’est pas là (donc un 404), cette condition est est satisfait : « le fichier n’est pas ! » et on accède à la ligne suivante, c’est à dire le renvoie vers le script PHP.

Ce n’est pas une redirection 301 ou 302 : le serveur demande uniquement à PHP de s’occuper de la demande au lieu de s’en occuper lui-même par l’envoie d’une erreur 404.

Une fois que PHP a fait son boulot, il sauvegarde le fichier et la renvoie au navigateur : le navigateur ne reçoit jamais de 404 : si le fichier est là, le serveur lui donne. Si le fichier n’est pas là, PHP produit le fichier avant de lui donner également. Le fichier est également sauvegardé pour la prochaine fois.

En plus de ça, la requête est faite directement sur le fichier que l’on veut, pas sur une page à PHP qui devra lire le fichier. On gagne donc en logique aussi.

Pour aller plus loin

Comme je l’ai dit, j’utilise ce système à la fois pour des icônes de site et pour des avatars de commentaires. Il y a donc une distinction à un moment. Les images sont mis en cache dans deux répertoires dédiés :

var/
| - - cache/
      | - - favicon/
      | - - gravatar/
      | - - .htaccess

Aussi, une complication est de ne faire qu’un seul fichier .htaccess.

Pourquoi ? Car je ne veux pas mettre un .htaccess dans chaque dossier et ceci pour une raison simple : quand veux purger le cache (en supprimant le dossier et son contenu), je ne veux pas perdre mon fichier .htaccess.

Avec un seul fichier situé à un niveau plus haut, je supprime les dossier favicon/ et gravatar/ et c’est bon, ils seront recréés par PHP lors de la prochaine requête.

Mon .htaccess doit distinguer quel est le dossier où l’on fait la requête. Je fais ça comme ça :

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} ./gravatar/(.*)$
RewriteRule (.*)gravatar/(.*)$ ../../favatar.php?w=gravatar&q=$2 [L]

Explication ligne par ligne :

RewriteCond %{REQUEST_FILENAME} !-f

↑ Je regarde si le fichier existe. Si oui, le fichier est envoyé au navigateur et ça s’arrête. Autrement on continue.

RewriteCond %{REQUEST_URI} ./favicon/(.*)$

↑ Je regarde sur la requête concerne un fichier dans /favicon

RewriteRule (.*)favicon/(.*)$ ../../favatar.php?w=favicon&q=$2 [L]

↑ Si oui et oui, on renvoie sur favatar.php?w=favicon&q=icone.png, et PHP fera son travail. Le [L] permet de dire qu’il s’agit de la dernière condition et que le traitement du .htaccess s’arrête.

Il reste une ligne à ajouter. En effet, si je fais une requête sur le dossier .favicon/, je ne veux pas que ça renvoie sur PHP. C’est un dossier, pas une image. Et même si je gère cette exception dans PHP pour plus de sécurité, il faut mieux mettre un garde-fou en plus.

Par conséquent, ça nous fait quatre lignes :

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} ./gravatar/(.*)$
RewriteCond %{REQUEST_URI} !./gravatar/$
RewriteRule (.*)gravatar/(.*)$ ../../favatar.php?w=gravatar&q=$2 [L]

La ligne ajoutée, la troisième, dit « si le fichier est autre que le dossier gravatar/, on applique la règle ». Dans le cas contraire, on laisse faire (et on ne renvoie pas vers PHP.

Ceci est bon pour les avatars.
Reste à faire la même chose pour les favicon. Il suffit de dupliquer tout ça :

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} ./gravatar/(.*)$
RewriteCond %{REQUEST_URI} !./gravatar/$
RewriteRule (.*)gravatar/(.*)$ ../../favatar.php?w=gravatar&q=$2 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} ./favicon/(.*)$
RewriteCond %{REQUEST_URI} !./favicon/$
RewriteRule (.*)favicon/(.*)$ ../../favatar.php?w=favicon&q=$2 [L]

Et voilà !

Exemple de fonctionnement

Juste pour résumer ce qui se passe :

Une requête sur ./gravatar/fichier.png sera traité par le premier bloc ci-dessus. Une requête sur ./favicon/fichier.png sera traité par le seconde bloc ci-dessus.

Dans les deux cas, si fichier.png existe, il est envoyé normalement au navigateur. Sinon, il est créé par PHP puis envoyé. Il n’y a pas de 404 envoyé au navigateur.
Si le fichier demandé est invalide, on renvoie une erreur 400 (Bad Request) avec PHP. C’est par exemple le cas si on demande un fichier à Gravatar qui n’est pas un MD5 d’une adresse e-mail, ou si l’on demande un favicon pour une URL qui n’est pas une URL correcte.

Enfin, si je fais une requête sur un autre dossier (./foo/fichier.png par exemple), alors il est ignoré par ce .htaccess et par PHP. Pas de risque donc de faire tourner PHP sur d’autres fichiers que des icônes ou des avatars.

image d’en-tête de Ferenc Almasi

Encore un peu d’optimisation pour les pages Web

jeudi 16 septembre 2021 à 18:23

Code de programmation.
J’ai déjà fait un article sur Pourquoi mettre le JavaScript à la fin et le CSS au début ?, et je vous invite à le lire.

Les astuces ici sont en plus.

Utiliser preload pour précharger les ressources utiles

Bien que l’on puisse mettre le CSS dans l’entête, il faut se souvenir que dans le CSS, on peut lier d’autres CSS, avec les @import, ou même des polices, des images (avec background-image). Cela peut ralentir l’affichage.

Si les fichiers sont petits, il est préférable de les précharger : le téléchargement en parallèle est alors avantageux sur le téléchargement en série des fichiers.

Pour ça, dans le head de la page HTML, on peut utiliser ça :

<link rel="stylesheet preload" href="style/style.css" as="style" />
<link rel="preload" href="fonts/font.woff2" as="font" type="font/woff2" crossorigin />

Cela permet de précharger les ressources en même temps que la page.

Quelques remarques :

Ne charger les scripts que quand ils sont utiles

Ensuite, les scripts doivent être mis à la fin (voir mon article lié plus haut).

Sauf que certains scripts dépendent du contenu d’une page.
Par exemple, sur Couleur-Science, les équations dans certains articles utilisent KaTeX (il existe un standard HTML pour afficher des équations (MathML), mais il n’est supporté que par Firefox, donc pour l’instant, on passe par une lib JS).

Certains de mes articles n’ont pas d’équations. Dans ce cas, pourquoi télécharger 150 ko de JS ?
Chez KaTeX, on identifie une équation en le plaçant entre des signes « $ ». Comme ça : « $ equation $ ».

Je fais donc un test : si le contenu de l’article contient un signe $, je charge Katex. Autrement, je ne le charge pas.

Ah et je fais ça seulement quand le reste de la page a fini de charger : rappelez-vous, si vous initiez le chargement d’un script, le rendu de la page se bloque.

Je fais donc ça :

document.addEventListener("DOMContentLoaded", function() {
	var contenuDom = document.getElementById('contenu').textContent;
	if (contenuDom.indexOf('$') !== -1) {

		// only if Katex needed is it added
		var newLink = document.createElement('link');
		newLink.rel = 'stylesheet';
		newLink.type = 'text/css';
		newLink.href = 'katex/katex.min.css';
		document.head.appendChild(newLink);

		var katexRes = document.createElement('script');
		katexRes.src = 'katex/katex.min.js';
		document.head.appendChild(katexRes);

		setTimeout(function() {
			renderMathInElement(
				document.getElementById('contenu'),
				{
					delimiters: [
						{left: "$$", right: "$$", display: true},
						{left: "$", right: "$", display: false},
					]
				}
			);
		}, 1000);
	}
});

Explications :

Pas de base64 pour le SVG inclus dans le CSS

Si l’image est très légère, une requête sera plus longue que le téléchargement, il est alors préférable de l’inclure directement dans la source. Quand on veut mettre des images très légères directement dans le CSS, on les inclut en Base64 : le fichier image se met sous une forme textuelle et on la copie-colle dans le CSS.

Inconvénient : le Base64 pèse 33 % plus lourd.

Si notre image est en SVG, tout ceci est inutile : le SVG est lui-même du texte. On peut dont le placer directement dans le code. Il suffit de dire que le format est du SVG :

background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'><path d='M10.5 15l7.5 7.5 7.5-7.5z' /></svg>");

En prime, le SVG reste lisible. Il faut juste faire attention à correctement échapper les caractères (quotes, doublequotes…).

Pour les polices d’icônes

Concernant les petites images/icônes, j’utilise une police qui contient les glyphes. Les icônes que j’utilise sont les icônes de Google Material Design. Il y en a plus de 1 000 différentes.

Si vous n’utilisez que 10 icônes, il ne sert à rien de toutes les intégrer. Dans ce cas, on peut n’intégrer que les polices nécessaires.

Pour cela, j’utilise personnellement Icomoon, un outil en ligne. On peut lui donner ses propres SVG (ceux de Google Material par exemple) et produire une police en .woff ou un autre format.
Seul problème : il ne produit pas de .woff2 (dont la taille de fichier est moitié moindre). Il faudra donc utiliser un autre convertisseur pour transformer le .woff en .woff2.

Là aussi, si nécessaire, utilisez un préload pour ce fichier, ou bien incluez le directement dans le CSS en Base64.

Enfin, n’oubliez pas qu’il faut peut-être autoriser la mise en cache avec .htaccess (les formats .woff et .woff2 ne sont pas forcément pris en charge nativement dans ce fichier) :

<IfModule mod_expires.c>
  AddType application/x-font-woff .woff
  AddType application/x-font-woff2 .woff2
  ExpiresActive On
  ExpiresDefault "access plus 1800 seconds"
  ExpiresByType application/x-font-woff "access plus 1 year"
  ExpiresByType application/x-font-woff2 "access plus 1 year"
</IfModule>

D’autres liens

J’espère que les quelques astuces ci-dessus seront utiles.
Ci-dessous, quelques autres astuces accumulées depuis les années :

Enfin, pour des astuces plus générales :

Passer en HTTP2

Enfin, et c’est probablement le plus gros gain que vous aurez, mais il faut que ça soit mis en place au niveau du serveur (ce qui peut ne pas dépendre de vous) : passez en HTTP2.

Voir ces liens : 1 , 2 , 3 , 4 .

(merci Thibault pour celui-ci)

Résultat

Résultat satisfaisant (pour ce que ça vaut, mais ça donne une idée) :

Score PageSpeed Insight Google.
Donc non, il n’est pas nécessaire d’avoir un design ultra-flat tout blanc et noir si l’on veut qu’elles soient rapides.

image d’en-tête de Lucas Bravo

Résoudre le problème n’est pas leur solution

lundi 30 août 2021 à 05:21

Lire :

EELV veut taxer le CO2.
EELV veut aussi remplacer le nucléaire par du gaz et du charbon (en tout cas, c’est ce qu’ils font partout où ils passent).

C’est logique : ce sont avant tout des politiques et des buziness(wo)man.

Plus de CO2 émis = plus de taxes = plus de revenus.

J’appelle ça le paradoxe de pôle emploi, et ça existe sous plein de formes partout dans l’industrie.

En vrai, on ne résoudra jamais un problème en faisant confiance aux gens qui vivent de l’existence de ce problème.

Et les politiques sont très fort à ça, car c’est un peu leur job, leur poste qui en dépend. Les politiques sont élus par un programme où ils adressent des problèmes avec leurs solutions. Mais une fois que tout est fait, ils ne servent plus à rien. Résultat, ils ne résoudront jamais tout.

Ainsi, il est illusoire de croire le baratin politique habituel de tous les « grands » politiques, passés ou futurs :

On ne peut pas compter sur quelqu’un pour résoudre un problème s’il tire toute sa puissance de l’existence même du problème.

Comment résoudre ces problèmes, du coup ?
Probablement en supprimant la carotte qui pousse des gens à profiter du problème, plutôt que profiter de la solution. Pour ma part, quand on a une solution à un problème, je ne vois aucun souci à gagner sa vie avec, si ça résout effectivement le problème. J’ai en revanche plus de mal avec ceux qui profitent du problème seul, par exemple en mettant une taxe nouvelle, en installant des radars de vitesse ou en punissant ceux qui donnent aux SDF. Ces choses-là ne solutionneront jamais rien. Ils profitent du problème, c’est tout.

Empêchez plutôt de vendre du CO2.
Empêchez les lois anti-pauvres.
Empêchez la surveillance.
Et agissez réellement plutôt.

Pour le climat : punissez les responsables directs du CO2 (centrales fossiles, qui répercuteront leur amendes sur les clients, qui comprendront vite qu’ils voudront du nucléaire et du solaire pour payer moins pour la même chose, et par conséquent émettre 20x moins), subventionnez les installations moins émettrices autant qu’on subventionne le fossile (le fossile est largement plus subventionné que les ENR).

Ce ne sont que quelques idées, il y en a probablement d’autres. Mais installer des centrales à gaz à la place de centrales nucléaires, c’est absolument tout, y compris criminel, sauf un cadeau à la planète et à l’humanité.