
Dans la série des optimisation rapides à mettre en place pour accélérer le temps de chargement d’un site internet : la compression GZIP. La compression GZIP c’est quoi ? Un façon de compresser les fichiers servis par votre serveur, afin d’en diminuer le poids, et donc, le temps de chargement. Selon la taille initiale de vos fichiers, vous pouvez réduire le poids de 85% ! Si votre site tourne sur Apache 2 (logiquement c’est le cas), on utilisera DEFLATE. Pour ce faire, il suffit de placer ce code dans son .htaccess : SetOutputFilter DEFLATE AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml [...]

Google prendrait de plus en plus en compte le temps de chargement des sites dans son algorithme. Info ou intox, ce qui est sur c’est qu’optimiser le temps de chargement de son site ça ne mange pas de pain, alors pourquoi s’en priver. Petit aparté avant de commencer : si vous voulez calculer le temps de chargement de votre site, Webwait fait ça très bien, mais vous pouvez tout aussi bien utiliser excellentissime plugin pour Firefox Firebug (onglet Réseau) si vous voulez connaitre les détails des différents temps de chargement de vos fichiers. Entrons maintenant dans le vif du sujet [...]
Comment se protéger un minimum des aspirateurs d’images ? En y ajoutant un Watermark ! Bien sûr, cela est loin d’être la parade ultime (un copieur en série aura vite fait de faire un traitement par lot sur Photoshop); mais puisque PHP nous offre la possibilité de le faire sans trop de prise de tête, autant en profiter, ça limitera toujours un peu les dégâts. On trouve souvent des scripts très compliqués pour effectuer ce genre de manipulation, mais le concept est très simple : il s’agit de fusionner une image à protéger avec un watermark. Voici donc un petit [...]
Dans la série je traque les éventuelles erreurs générées sur mon site internet, voici un sujet qui fâche : les pages introuvables. Couramment appelées ‘erreurs 404′, ces pages sont un véritable fléau, un caillou pouvant ruiner un engrenage parfaitement huilé. Et les causes pouvant être multiples et particulièrement vicieuses (liens relatifs de répertoires virtuels mal interprétés sur certains navigateurs), plus ou moins aucun webmaster n’est épargné. Qu’il s’agisse d’une faute de frappe dans une balise href , de pages effacées ou accessibles à une autre url sans redirection 301, dans tous les cas l’image renvoyée par le site n’est pas [...]

Parce que l’optimisation est une nécessité, un code propre gage qualité, il faut tracker la moindre erreur possible sur son site internet. Aujourd’hui, petit snippet PHP pour vous aider à enregistrer les erreurs SQL générées sur votre site. Rien de bien compliqué au niveau de la mise en place, commencez par créer la table qui va logger les erreurs : CREATE TABLE IF NOT EXISTS `sql_errors` ( `sql_id` int(5) NOT NULL auto_increment, `sql_erno` int(6) NOT NULL, `sql_msg` text character set latin1 collate latin1_general_ci NOT NULL, `sql_time` datetime NOT NULL, `sql_query` text character set utf8 collate utf8_unicode_ci NOT NULL, PRIMARY KEY [...]

Pas grand chose à se mettre sous la dent ces dernières temps, alors je profite de l’occasion pour vous présenter tcpdf, selon moi la meilleure classe PHP disponible à ce jour pour générer des PDFs à la volée. Ce qui est appréciable avec ce genre de classe, c’est que tout le sale boulot est fait par le script, quand beaucoup de libraries ont encore besoin des positions exactes des différents objets dans un page. Après avoir pas mal utilisé le solution open source concurrente dompdf, je dois reconnaitre que je suis plutôt satisfait d’avoir changé mon fusil d’épaule. Pas que [...]

Envie de de tester le comportement de vos javascript selon une version spécifique d’une librairie (jQuery, Mootools, Prototype, YUI), ou de développer un nouveau script selon un framework particulier? Pour les gens qui comme moi (et même pour les autres) ne sont pas des professionnels du développement Javascript complexe, mais plutôt bons en personnalisation de scripts Open Source, voici un outil qui devrait vous faire gagner un certain temps : JsFiddle ! Sélectionnez le Framework de votre choix (diverses option sont possibles, telles que la définition du DocType du document, etc.), ajoutez du code HTML, des styles CSS, et codez/modifiez [...]
Alors que j’étais en train de réaliser un formulaire d’échange de liens automatique (avec Anchor Text aléatoire et tout ce qui va bien niveau SEO bien sûr…), je me suis trouvé confronté à un problème de taille : mon hébergeur avait paramétré Allow_url_fopen sur OFF dans php.ini. En d’autres termes, impossible d’ouvrir une URL distante pour vérifier la présence de mon BackLink… Après plusieurs minutes de réflexion sur le sujet, j’ai pensé à creuser les possibilités offertes par l’extension cURL pour PHP. Cette librairie étant présente sur une grande majorité d’hébergeurs mutualisés, c’était plus ou moins la seule piste envisageable [...]
Parmi les nombreuses questions sans réponses liées au développement web que je me pose, je vous présente : pourquoi le code d’insertion d’animation .swf produit par Flash est-il si complexe ? Pourquoi autant de paramètres inutiles, de code invalide W3C, etc. A croire qu’ils le font exprès… depuis des années. Bien sûr je n’ai toujours pas la réponse à cette question, mais je profite de l’intégration de contenu flash sur un site en cours de développement pour publier une petite astuce . Rien de bien nouveau (elle date de 2002 !), mais un code toujours pratique conforme aux standards : [...]

Pour intégrer un bouton de type J’aime sur Facebook, rien de plus simple : direction sur la page des plugins sociaux de l’espace développeurs de FaceBook. Différents outils sont disponible, mais ici nous utiliserons le Like Button. Sur la page de ce plugin, vous noterez la présence d’un formulaire sur votre gauche, vous permettant de personnaliser l’apparence de votre bouton, dont l’aperçu correspondant s’affiche à droite. Lorsque vous est satisfait du résultat obtenu, cliquez sur le bouton ‘Get Code’ pour obtenir le code à insérer sur votre site. Dans la popup qui s’ouvre, 2 codes seront alors disponibles pour intégrer [...]