Bootstrap et Google Maps

J’ai rencontré quelques problèmes lors de l’intégration de cartes Google Maps (mais ce problème peut arriver dans d’autres cas) dans une application Web utilisant Bootstrap. Le problème: les images utilisées dans la carte (marqueur, barre de scroll, etc.) étaient complement déformées sans raison apparente puisque le même code aurait très bien fonctionné ailleurs.

Après quelques recherches avec l’inspecteur d’éléments de Chrome, j’ai finalement identifié la source: un “max-width: 100%” appliqué à toutes les balises img par Bootstrap. En regardant un peu plus dans le le fichier bootstrap.css, voici ce qu’on peut trouver:

img {
width: auto;
height: auto;
max-width: 100%;
vertical-align: middle;
border: 0;
-ms-interpolation-mode: bicubic;
}

#map_canvas img,
.google-maps img {
max-width: none;
}

Autrement dit, le cas est géré par le framework CSS uniquement si vous avez appelé le conteneur de la carte avec

<div id="map_canvas"></div>

ou

<div class="google-maps"></div>

La solution, outre changer le nom de votre conteneur, est d’ajouter cette ligne à votre CSS: .votreClasse { max-width: none; }

Une fois cela fait, tout fonctionne à nouveau correctement! Dans l’espoir que cette astuce puisse aider quelqu’un un jour.

jQuery Address Picker & Symfony 2

Essayant de découvrir Symfony 2, je cherchais un moyen de créer un nouveau type de champs de formulaire pour gérer les champs de type “Address” tout en offrant la possibilité d’utiliser une carte et l’API Google Maps pour localiser les adresses.

Je suis tombé sur un tutoriel très intéressant qui résume ça comme il faut, très bien expliqué.

Ca se passe là bas: http://devyourdream.net/2012/09/24/jquery-address-picker-symfony2-google-map-dans-vos-formulaires/

Problème avec MAMP et mysql.sock

En essayant d’utiliser la fonction doctrine:build –all de Symfony, un problème est survenu et m’a pris la tête aujourd’hui car PDO n’arrivait pas à trouver le socket sur lequel écrire pour communiquer avec la base de données MySQL installée en local grâce à MAMP.

L’erreur:

[...] No such file or directory (trying to connect via unix:///var/mysql/mysql.sock) in [...]

Tout simplement, le “fichier” mysql.sock n’existe pas à cet endroit. Il se trouve ailleurs, dans le répertoire d’installation de MAMP, un lien symbolique suffira à résoudre le problème…

La solution:

sudo mkdir /var/mysql
sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /var/mysql/mysql.sock

Tout d’abord, il faut créer le répertoire /var/mysql (il n’existait pas sur mon installation), ensuite on créer le lien symbolique vers ce dossier et depuis les fichiers temporaires de MAMP. Le tour est joué!

Fix posté dans l’espoir de pouvoir aider quelqu’un, un jour, à ne pas perdre son temps.

Les treizes qualités et défauts majeurs de Windows 8

À la lecture de ces deux articles écrits par 01net, je ne suis absolument pas emballé par Windows 8. Ce qui s’annonçait comme une belle unification des univers classiques et mobiles ne semble au final pas tout à fait au point. Attendons donc, d’une part de pouvoir y toucher pour voir ce que Windows 8 vaut réellement, d’autre part les résultats pour savoir si cette nouvelle stratégie choisie par Microsoft séduit le grand public et/ou les professionnels.

À lire: Les treize qualités de Windows 8 et Les treize défauts majeurs de Windows 8

Vraiment rentabiliser son contenu avec le marketing d’affiliation

Lorsqu’on créé un site, et qu’on souhaite le voir générer de l’argent, on va souvent penser publicité, et donc finir par se ruer sur les bannières de publicité proposée par Google AdSense ou autre régie de publicité. Et cette solution rapportera probablement quelques euros (pour un peu plus élevé que la moyenne disons quelques centaines d’euros) par an, mais devinez quoi: ce n’est pas la meilleure solution pour rentabiliser votre contenu!

Face aux publicités qui pourraient rémunérer votre site trois fois rien pour mille affichages (CPM) ou une somme encore plus dérisoire pour chaque clic (CPC), il faut déjà savoir que ce qui peut réellement rapporter, c’est le “lead” (CPL) à savoir lorsque le visiteur provenant de votre site via une bannière, un lien ou une redirection ACHÈTE sur le site du partenaire.

Proposer une campagne inadaptée ne servira à rien (et rapportera certainement moins que les pubs au clic au final). En revanche, proposer un lien d’affiliation ciblé et en relation directe avec votre contenu marchera quasiment à coup sur. Les visiteurs qui suivent régulièrement votre site mais aussi et surtout ceux qui arrivent par les moteurs de recherche sont intéressés par votre contenu, ils cherchent souvent à lire ce que vous apporterez de plus que les autres sites et si votre contenu est innovant ou au moins personnel, il peut devenir une source de revenus très rapidement.

Le vrai contenu vaut de l’or, le reste ne vaut rien

Un exemple: vous êtes fan de cuisine et écrivez vos dernières recettes sur votre blog, vos lecteurs seront tout autant intéressés par le plat que vous décrivez que par votre savoir faire et certains aimeront même savoir quel matériel vous utilisez pour le réaliser. Un encart sous la recette listant les ustensiles nécessaires avec une image, une description, le prix et un lien discret vers où se le procurer ne fera pas mouche à tout les coups mais vous offrira au moins une chance qu’un jour, un vos de lecteurs finisse par vraiment cliquer sur ce lien pour acheter, et donc vous rapporter une commission. Essayer d’appliquer ce principe avec d’autres domaines (tests de jeux vidéos, sorties des films en DVD, tests d’applications pour smartphone, nouveautés matérielles quelle qu’elle soit, et bien d’autres encore…).

Il y a bien d’autres moyens d’utiliser le marketing d’affiliation pour gagner de l’argent, mais je pense qu’écrire du contenu de qualité et tenter de le rentabiliser de cette manière est le moyen le plus efficace pour y parvenir.