Précharger des images avec jQuery (ou pas)

Je travaillais récemment sur un site qui devait afficher des photos en plein écran avec une qualité élevée. J’ai voulu trouver un moyen de précharger ces images afin qu’elles ne s’affichent pas abrutement à leur chargement mais avec un fondu et quand je l’avais décidé.

Pour cela, il existe trois solutions : la très rapide, la rapide et la très lente.

La très lente

Dans mes égarements codistiques, je me suis demandé si une requête AJAX en GET aurait des chances de fonctionner correctement avec une image.

C’est le cas, mais le résultat avec la méthode get de jQuery sont très mauvais niveau performances. A proscrire donc. Voici tout de même le code :

var url = 'mon-image.jpg';
$.get(url, function(img){
    $('<img/>').attr('src', url).appendTo('body');
});

La rapide

Cette méthode utilise la syntaxe jQuery. Si vous n’êtes pas à 2 ms prêt (mais vous devriez toujours l’être), vous pouvez l’utiliser afin de garder un peu de cohérence dans votre code.

Continue reading “Précharger des images avec jQuery (ou pas)”

Une doc HTML, CSS, Javascript et plus encore à portée de main

Contrairement à PHP, MySQL, ActionScript et d’autres langages gérés par des organismes bien définis, HTML, CSS, Javascript et consors ne disposent pas exactement d’une doc générale et précise du fait de leur implémentation diverse. Bien sûr, on peut se baser sur les documents du W3C pour savoir comment utiliser quoi mais ceux-ci sont peu buvables et manquent d’exemples. De plus, ils ne référencent pas les compatibilités sur les différents navigateurs, information primordiale.

Pour palier à ceci, Mozilla à eu la bonne idée de créer le Mozilla Developer Network. Ce site référence autant que possible toute la documentation liée aux langages et API que supporte Firefox ainsi que les autres navigateurs modernes.

Personnellement, je m’en sers chaque jour afin de vérifier l’existence d’une propriété ou son usage, ou encore pour apprendre à dompter les dernières API HTML 5.

Continue reading “Une doc HTML, CSS, Javascript et plus encore à portée de main”

Réduire drastiquement le poids de ses images

Outre la réduction des requêtes HTTP, l’utilisation de gzip et la compression des fichiers Javascript et CSS, un des meilleurs moyens d’améliorer les performances de son site reste de réduire le poids de ses images.

L’export avec Fireworks

La plupart des intégrateurs utilisent la fonction Enregister pour le web de Photoshop pour exporter leurs images. Etonnement, l’export jpeg de celui-ci n’est pas très optimisé et Fireworks fait un bien meilleur travail de ce côté-là.

Voici un exemple parlant. Cette image a été exporté en jpeg à 70% avec Photoshop, elle pèse 126 ko :

Et voici la même image exportée d’abord en PNG avec Exporter pour le web puis en jpeg à 70 % avec Fireworks, elle ne pèse plus que 64 ko.

Les couleurs sont très légèrement délavées mais il est possible d’exporter en meilleur qualité tout en gardant un poids moindre.

Cette “technique” fonctionne aussi bien quelle que soit la taille de l’image.

J’ai créé un script Fireworks que vous pouvez utiliser afin d’automatiser cet export, il vous suffit d’ouvrir les images que vous voulez optimiser puis d’ouvrir ce fichier avec Fireworks, les fichiers optimisés seront placés dans le même dossier que ceux que vous avez ouvert et un back-up sera fait.
Vous pouvez le télécharger ici : Script Fireworks – Export jpeg 70 %
Fireworks utilise Javascript comme langage de script aussi il vous sera facile d’ouvrir ce fichier et de modifier ses paramètres à votre convenance.

ImageAlpha et ImageOptim

Pour les PNG 32 bits (avec couche de transparence ou couche alpha), il est aussi possible de fortement réduire leur poids grâce à ImageAlpha.
Vous pouvez le télécharger pour Mac ici : http://pngmini.com/
Ce logiciel se base sur les programmes pngquant et pngnq qui s’utilisent en ligne de commande si vous voulez plus de contrôle sur vos exports.

Voici un exemple de PNG 32 bits exporté avec Photoshop, il pèse 75 ko :

Voici la même image passée à travers ImageAlpha, elle ne pèse plus que 24 ko :

Enfin, encore la même image passée à travers ImageOptim, son poids définitif est de 22 ko :

Nous avons donc réduit de plus d’un tiers le poids de l’image grâce à ces deux logiciels !

Notez que ImageOptim permet de compresser plusieurs fichiers ou dossiers d’un coup, on gagne souvent 10 à 20 % sur le poids de ses images en quelques secondes.

 

Voilà, j’espère que grâce à ces petites techniques vous arriverez à rendre vos sites encore plus rapides !

Afficher son localhost directement sur son appareil iOS

Lorsqu’on construit un site mobile ou spécifique à l’iPad, il est pratique de pouvoir afficher directement son serveur local sur son iPhone ou son iPad sans devoir mettre en ligne chaque changement avant de le tester.

Si vous travailler sur Mac, il est très facile d’afficher directement son localhost sur son iPhone ou son iPad. Pour cela, il vous suffit de connaître le nom de votre ordinateur.

Pour se faire, allez dans Préférences Système puis Partage. Vous devriez tomber sur ceci :

Nom du mac

Comme vous pouvez le voir, l’adresse de mon serveur local est Skoua.local

Il me suffit donc de taper ceci dans Safari et voilà !
Mon serveur local s’affiche, la seule restriction étant que l’appareil et votre mac doivent être sur le même réseau.

Si comme beaucoup vous travaillez avec MAMP, il vous suffit d’ajouter le port à la fin de cette adresse comme ceci :

Skoua.local:8888

Enjoy !

[MAJ] : Windows

Cette astuce fonctionne aussi sur Windows si vous avez iTunes installé (cf. 2e commentaire).
Merci Pierrot_de_la_Lune !