Google a lancé, il y a quelques semaines maintenant, les communautés sur son réseau social. Soit l’équivalent des « groupes » sur Facebook, mais en beaucoup plus soigné, soyons honnête. Personnellement, c’est LA fonctionnalité qui m’a fait revenir sur Google+ et qui semble le faire revivre. A vrai dire, ça m’apporte un vrai plus. Effectivement, pour le moment, j’utilisais Twitter pour suivre les différentes communautés et nouveautés autour des différents langages, framework que j’utilisais. Mais Twitter a rapidement ses limites dans ce domaine puisque les informations étaient noyées parmi les postes perso du millier (ou presque) de twittos que je follow. Google+ a donc apporté une véritable solution à ce besoin ! Les posts sont classés en fonction des communautés (donc de la technologie ciblée) et même classés par groupes pour arriver directement là où l’on souhaite chercher la bonne information.

Je fais déjà parti de plusieurs communautés française comme Titanium appcelerator, PHP, etc … Mais il y en a une qui manquait beaucoup à son sens, une communauté française sur jQuery. Voila qui est donc réglé, la communauté jQuery France vient d’être créée sur Google+ et permettra le partage d’infos, de ressources, de plugins et d’entraide en français.

N’hésitez pas à y participer ! J’essayerais, pour ma part, d’y être actif, d’y poster un peu tout ce que je trouve en français et de répondre aux questions que certains peuvent se poser.

jquery_logo

Google laisse à disposition des développeurs une API complète pour intégrer Google Map à l’intérieur de vos sites internets. Malheureusement, cette API reste relativement complexes car extrêmement complète. Ainsi, rien que pour créer une simple carte et y ajouter un point, il faut déjà compter plus d’une cinquantaine de lignes. De quoi rebuter la plupart d’entre nous !

Ainsi, pour optimiser le temps de développement sur les actions les plus courantes, je vous ai concocté rapidement un petit plugin jQuery. Celui-ci reprend les fonctionnalités suivantes :

  • Création d’une carte
  • Gestion des points :
    • Ajout d’un ou plusieurs points
    • Icône personnalisée
    • Choix de l’action au clic :
      • Lien de redirection
      • Contenu HTML à afficher dans une fenêtre
    • Ciblage par coordonnées GPS
    • Ciblage par adresse postale
  • Gestion des itinéraires :
    • Calcul de l’itinéraire
    • Affichage de l’itinéraire sur la carte
    • Modification de l’itinéraire
    • Affichage du détail de l’itinéraire

Et tout ça en 2 lignes de javascript !

Voir la démo et télécharger le plugin

Pour tout support ou suggestion, vous pouvez utiliser les commentaires de cet article.

Suite à la dernière Après-midi du développement sur le Javascript organisé par Microsoft à laquelle j’ai eu la chance de participer, nous avons été sensibilité au partage et à la création de plugin jQuery universel. Ainsi, lorsqu’une problématique se présente et qu’aucune réponse ne se trouve sur internet, il est alors de la responsabilité d’un développeur citoyen, de partager son travail et sa création.

Ainsi, la semaine dernière, j’ai eu à développer la problématique d’une variance d’un taux financier en fonction de deux paramètres. Jusque là, pas trop de soucis. Mais c’est au moment où le client m’a demandé de pouvoir gérer cette variance que tout s’est compliqué. Comment l’afficher au client ? Comment lui laisser la possibilité d’éditer ces valeurs ?

Préparation

La première étape est de formater les données de telles sortes qu’elles soient exploitables par le plugin EditTable. Pour se fare, il vous suffit de créer ce genre de tableau :

Array
(
    [0] => Array (
        [x] => 0
        [y] => 1
        [value] => 0.5
    )
    [2] => Array (
        [x] => 2
        [y] => 1
        [value] => 0.6
    )
    [3] => Array (
        [x] => 2
        [y] => 1
        [value] => 0.6
    )
)

L’installation

Rien de bien compliqué ! Commençons par un peu de CSS totalement facultatif puis le plugin jQuery.

Initialisation

$('#table').editTable();

Le reste, c’est à votre sauce ! Mais une démo et une documentation complète se trouvent ici.

N’hésitez pas à poser vos questions ou à demander de l’aide en commentaire.

En travaillant sous Titanium Appcelerator pour la création d’applications mobile (j’écrirais peut-être un petit quelque chose à ce sujet par ailleurs) je me suis vite confronté à un petit problème. Ce problème, presque insignifiant, m’a tout de même prit plus d’une heure de recherche pour en trouver une solution propre et native (prise en charge par tous les navigateurs).

Le problème est simple : Comment savoir si l’index est présent dans un tableau associatif ?

Bien entendu, on peut faire de la manière suivante :

// Erreur javascript avec Titanium Appcelerator
if(array[key] != undefined) {
// ...
}

Oui mais voila, Titanium ne le prend pas en compte, ni même certains navigateurs. Comment faire alors ? Et bien la réponse est étonnamment simple, mais quand on ne la connait pas, on a du mal à l’inventer.

Rappelons-nous qu’en Javascript, un tableau, c’est avant tout un objet. L’index d’un tableau associatif est alors une propriété d’un objet. Ainsi, au lieu de faire notre recherche sur un index (ce qui provoque des erreurs), il suffit de faire une recherche sur la propriété.

// Marche sous Titanium Appcelerator ainsi que tous les navigateurs
if(array.hasOwnProperty(key)) {
//...
}

La méthode retourne une valeur booléenne, rien de plus simple. Je me sens ainsi bête d’y avoir passé autant de temps alors j’écris ces quelques lignes pour permettre à mes semblables perdus dans les méandres de google de trouver une réponse simple à un problème qui l’est tout autant.

#amdev, ou comment finir sa semaine de bonne humeur. En effet, ce fût, pour moi, la première fois que je me retrouvais dans une salle entouré de 200 personnes parlant le même langage (au sens large du terme, parce que moi et le .NET …) et très concrètement, ces quelques heures m’ont été très instructives et passionnantes.

Au programme de l’après-midi :

  • Les fondamentaux du JS, présenté par Jean-Pierre Vincent. La génération actuelle de développeur (moi y compris) a de grosse lacune concernant les bases même de ce langage. Et j’ai été le premier étonné de voir, qu’au fond, comme beaucoup de monde, je ne maîtrisais pas les bases de ce langage qui est pourtant utilisable chez 99.5% des internautes (contre 95% pour flash). Très bonne présentation pour faire le point, donc, sur les namespaces, la Programmation Orientée Objet (POO), le SCOPE (domaine de portée  des variables et des fonctions).
  • Les outils de Debug, par les très sympathiques David Rousset et David Cahute (expert en Troll Microsoft CHEZ Microsoft, un grand bravo), pour faire le tour des outils de développement d’Internet Explorer, de FireBug et de Chrome. C’est d’ailleurs avec une grande surprise que l’on a découvert des fonctionnalités trop peu connues d’IE (F12) comme le développement automatique de fichier JS compressé et le profiling.
  • jQuery, par Aurélien Verla (Directeur technique de la société Wygwam, entreprise au palmarès impressionnant, tout autant que notre intervenant). Bien que mes connaissances sur ce framework de développement sont relativement déjà poussées, j’ai tout de même eu la chance d’apprendre les spécifications techniques me permettant maintenant de contribuer à ce projet, ce à quoi je ne manquerais pas (dans ce blog d’ailleurs). Merci également pour ce petit historique (passé et futur) ainsi que la présentation de son outil de sélecteur CSS Sizzle.
  • Le choc des titans : Canvas VS SVG, par les deux survoltés David Rousset et David Cahute (encore !). La présentation était simple (mais complète). Entre Canvas et SVG, faites votre choix. Le miens est d’ailleurs fait grâce à vous ! SVG, bravo monsieur Rousset. En effet, le SVG reste accessible (et donc référençable), facile à écrire, facile à manipuler, compatible avec les spécifications du CSS3 (les animations notamment) et de nombreux outils de création existent sur le net !
En bref, j’ai passé une très bonne journée et cela faisait bien longtemps que je n’avais pas découvert autant de chose. J’ai eu un plaisir immense à Livetwitter l’évènement (et désolé pour mon troll sur le .NET qui a été remarqué en pleine conférence … Mais vous savez, les allergies, ça ne pardonne pas).
Je retiendrais d’ailleurs quelques autres points importants :
  • Internet Explorer 9 devient performant, fini la hantise de tout webmaster concernant la suite IE.
  • Internet Explorer 10 se présage vraiment intéressant, performant, abouti et pourrait, peut-être, faire changer d’avis la plupart des Anti-IE.
  • Microsoft a fait preuve de beaucoup d’auto-dérision pendant cette conférence concernant leur navigateur et il est rare, très rare, de voir une entreprise laisser ses employés blaguer sur les performances d’un produit face à ses concurrents. L’image de l’entreprise n’en ai que meilleure à mes yeux.
  • Le .NET n’est pas forcément le cancer du développement web. Juste une petite grippe …
  • Le combot Pizza/Bière, rien de mieux pour amadouer une bande de 200 geeks.
  • Contrairement à ce que je pensais, les développeurs web ne sont pas tous boutonneux, affreusement habillé et aux cheveux gras. Non. Il y en a même de plutôt craquant …
Merci donc à tous les intervenants et à Microsoft pour cette conférence.
Merci à Digital Dealer pour m’avoir débloqué une après-midi pour y aller.
Et merci à Synapse Studio sans qui le troll durant la conférence n’aurait jamais été aussi amusant.