Encoder ses images en base 64 et les utiliser en HTML

Une des méthodes utilisées afin de limiter les fichiers à télécharger lors du chargement d'une page web est l'utilisation de schémas d'URI data (Data URI schemes).‎ Avec cette méthode on peut aisément incorporer une image dans le HTML ou l'utiliser avec du javascript et la stocker par exemple dans local storage - s'en servant comme cache - et l'utiliser plus tard sans la re-télécharger.

Le schéma d'URI data est le suivant:

data:[<mediatype>][;base64],<data>

En exemple cette image gif transparente de 1px x 1px:

data:image/gif;base64,R0lGODlhAQABAAAAACwAAAAAAQABAAA=

Oui c'était bien une image!

En gros pour insérer cette image il suffit de mettre dans l'attribut src de notre image data: suivi du mime type de l'image (ici c'est image/gif) suivi d'un point-virgule, suivi de l'encodage (ou pas; mais pour les images on aura besoin de l'encodage base64.. On peut insérer ce qu'on veut comme mime-type avec le data URI scheme et certains mime-type n'ont pas besoin d'être encodé afin d'être utilisés correctement (exemple: text/html).. ) suivi - donc, elle était un peu grande la parenthèse - d'une virgule puis le fichier image encodé en base64.

Alors comment obtenir justement cet encodage base64?

Une solution facile sous linux est d'utiliser openssl. D'une simple commande on peut encoder un fichier image:

openssl enc -base64 -in mon_fichier.png

Le switch -in c'est pour lire à partir d'un fichier. Par défaut l'encodeur base64 d'openssl découpe le contenu encodé en lignes de 64 caractères chacune. C'est pas grave puisque le data URI scheme ignore les caractères de nouvelle ligne et les espaces. Vous pouvez aussi désactiver ce comportement par le switch -A

Comme exemple je vais transformer mon fichier d'émoticones (que j'ai créé dans cet ancien tutorial):

émoticones

Un simple:

openssl enc -base64 -A -in sm.png > sm.html

Et bang j'ai ce contenu dans le fichier sm.html vers qui j'ai redirigé la sortie d'openssl:

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

Oui c'était 23ko de texte!

On l'adapte:

<img src="data:image/png;base64,le_text_chinois_de_tout_à_l'heure" alt="émoticones" title="émoticones"/>

Et voilà le résultat:

émoticones

Voilà voilou! Des questions?! Des remarques?! N'hésitez pas!


Lire aussi: