LinkedIn est Web 2.0!

Mar
2

Je viens tout juste d’installer l’application WordPress sur mon profil LinkedIn et je l’ai trouvé suffisamment bien conçu pour rédiger un article sur le sujet. L’outil se veut être simplissime puisqu’il suffit d’entrer l’URL de son blog WordPress et préciser quels billets importer. Pour ça, deux choix possibles: la totalité des billets, idéal lorsque l’on possède un blog dont les sujets sont intimements liés à sa profession ou alors, seconde option, tagger un article “LinkedIn” !

J’ai trouvé cette idée extrêment intéressante dans le sens où elle reste orientée web 2.0, augmente la présence sur le web de la marque et surtout, permet aux utilisateurs de passer à la trappe les articles plus personnels ou tout du moins, qui n’ont rien à faire sous les yeux de vos différents partenaires professionnels. Vraiment, très bon coup de la part de LinkedIn, chapeau bas messieurs !

Propel: jointure avec plusieurs conditions

Feb
28

J’ai été très récemment confronté à un problème avec Propel au moment de faire une jointure: il me fallait faire la jointure sur 2 champs. Aussi, le fait d’être tombé sur une demande similaire il y’a quelques heures sur le Google Groupe symfony-fr m’a poussé à poster directement une solution ici.

Voici le cas qui nous servira d’exemple en SQL:

  1. SELECT * FROM user LEFT JOIN diplome ON (user.id_diplome = diplome.id_diplome AND user.version_diplome = diplome.version_diplome)

Comme vous pouvez le constater, rien de bien méchant en SQL. Toutefois, lorsqu’il s’agit de “convertir” cette requête en Propel, la tâche devient plus ardue puisque après avoir fait un tour sur le site officiel de Propel, ce cas ne semble pas être géré jusqu’à la version 1.3 incluse. Espérons que celà sera corrigé dans la 1.4.

Mais comme je suis (encore) un mec sympa, voici une petite technique pour arriver à ses fins:

  1. $c = new Criteria();
  2. $c->addJoin(DiplomePeer::ID_DIPLOME, UserPeer::ID_DIPLOME . ' AND ' . DiplomePeer::VERSION_DIPLOME . ' = ' . UserPeer::VERSION_DIPLOME, Criteria::LEFT_JOIN);
  3. $users = UserPeer::doSelect($c);

Voilà de quoi éviter de se cogner la tête contre les murs !

Référencement: victoire dans la première bataille!

Feb
28

J’avais déclaré, il y’a quelques temps, la “guerre” du référencement face à Xavier Lacot. Aujourd’hui j’ai l’honneur de vous annoncer que la première bataille est remportée puisque lorsque l’on effectue une recherche de xavier symfony” sur Google, je suis enfin dans le top 3, ce qui correspondait à la première étape. Toutefois, j’ai eu une petite surprise puisqu’un autre site internet vient de faire son apparition à la tête du classement… Tant pis, ça fera un concurrent de plus et de toute façon, j’occupe actuellement les troisième et quatrième places!

Autre grosse surprise pour la recherche développeur symfony puisque j’occupe actuellement la cinquième position! Waow, je ne m’attendais pas à grimper aussi vite pour ce genre de recherche!

Aux vues de ces résultats, je ne peux qu’être heureux et confiant pour la suite des événements !

Premiers retours des statistiques

Feb
26

Voilà maintenant une semaine jour pour jour que j’ai remis Google Analytics en activité et comme les premiers chiffres m’ont fait vraiment plaisir, en voici une petite analyse.

Read more »

Non au spam!

Feb
25

Voilà quelques jours que je me prends pas mal de spam dans les commentaires et c’est pourquoi je viens de mettre en place un système très simple pour remédier à ça. Vous devrez donc à l’avenir, pour pouvoir poster un commentaire, savoir compter !

Safari 4 dans les bacs!

Feb
25

Vous l’avez peut-être lu un peu partout, la béta de Safari 4 vient tout juste de sortir. C’est donc tout logiquement que je met cette version à l’épreuve depuis hier soir. Premières impressions et petite astuce, parce que je suis en gentil garçon comme le voulait ma maman!

Read more »

Création d'un plugin Flickr pour symfony

Feb
18

Comme si je ne m’impliquais pas dans suffisament de projets, j’étais en train de refaire, secrètement, mon blog avec symfony. Comme vous l’avez constaté très récemment, je me suis mis à Flickr et j’ai donc cherché à, vous vous en doutez, mettre en place une fonctionnalité à la fois puissante et surtout, très souple qui me permettrait de gérer totalement mes galleries directement depuis mon application symfony. Non, je n’accroche toujours pas vraiment avec l’interface du site, même si je dois reconnaitre que l’utilitaire permettant de gérer le traitement par lots est relativement bien conçu et puissant. De plus, un autre projet encore tenu secret (dont le brouillon de l’article à ce propos commence sérieusement à prendre la poussière) me fait aimer de moins en moins cette notion de toujours-plus-de-comptes-utilisateur. Certains d’entre-vous auront déjà deviné ce sur quoi porte ce “projet secret”… :)

Mais revenons à Flick. Tout naturellement, je me suis rendu sur le moteur de recherche de plugins pour symfony afin de voir ce qui existait déjà puisque j’ai toujours adhéré (un peut trop peut-être?) à l’idée de ne pas réinventer la roue! Je n’ai pu en trouver qu’un ne répondant pas à mes besoins et mes attentes bien spécifiques. J’ai donc lancé des recherches hasardeuses sur le sujet et je suis tombé sur phpFlickr. Et phpFlickr, bein… c’est vachement bien!

phpFlickr c’est une classe reprennant toutes les méthodes de l’API originale en version… php! Et avec ça, on fait (ou on peut faire, tout au moins) des miracles. Je me suis donc lancé dans le portage sous symfony et après plusieurs heures je me suis dit: pourquoi ne pas le proposer en tant que plugin?! J’en ai bien évidemment parlé à mon patron au cas où ça pourrait intéresser la société et il a tout de suite été séduit, tout en acceptant mes conditions (puisqu’à la base, il s’agit d’un projet personnel) à savoir, le rendre disponible pour la communauté.

N’ayant pas encore fait de recherche concernant la soumission de plugins puisque, je l’imagine, celà doit se faire sous certaines conditions, n’hésitez pas à me faire part de vos connaissances en la matière! Bein oui, la priorité est bien évidemment le développement dans l’immédiat!

xavismeh.com retrouve (tardivement) sa valentine

Feb
18

J’avais mis en place lors de la mise en ligne de la dernière version de ce blog (celle-ci), comme bon nombre de webmasters, Google Analytics, afin d’avoir des statistiques relativement précises sur le taux de fréquentation de celui-ci. Toutefois, j’avais un doute quand à la pertinence des résultats:

  • Chez mon ancien hébergeur, j’avais un outils de statistiques qui était, certes, incapable de différencier précisément les types de visiteurs (je pense aux robots des moteurs de recherche entre autre) mais pourtant, les chiffres annoncés étaient en moyenne… 600 fois supérieurs à ceux que me donnaient l’outil de Google! Une fois les visites des moteurs de recherche enlevées, on arrivait, de mémoire tout de même à une différence de 400%.
  • D’un autre côté, sur Analytics, il n’y avait aucun problème et, de toute façon, je n’en avais pas trouvé puisque j’avoue ne pas vraiment maitriser cet outil et être vite perdu dedans! Mais je sais tout de même encore lire et interpréter des statistiques de visites basiques surtout quand elles sont aussi maigres!

Je me suis donc penché sur la question, toujours par rapport à ce fameux challenge de référencement, et me suis aperçu de l’erreur certainement la plus stupide qu’il puisse exister: le code de Google Analytics se trouvait (selon le moteur de recherche) sur une page qui a disparu de mon serveur depuis environ 6 mois… Je me demande d’ailleurs comment j’ai pu avoir 2 visiteurs uniques à cette adresse pas plus tard que le… 19 Janvier 2009!

Bien évidemment je trouve ça vraiment étrange puisque cette fameuse page se retrouve très facilement sur le célébrissime moteur de recherche alors que, comme je l’avais dit, elle n’existe plus depuis des lustres, et surtout, l’adresse figurait dans les url à ne pas indexer dans mon robots.txt … étrange… Par simple curiosité, si quelqu’un a une explication plausible, je suis ouvert!

Tout ça pour dire que xavismeh.com a retrouvé, un peu tardivement, sa Valentine! C’est beau l’amour :D

Optimisation SEO des blogs utilisant WordPress

Feb
18

Toujours dans le but d’atteindre le challenge de référencement que je me suis fixé, je cherchais des informations diverses et variées sur le web lorsque je suis tombé un peu par hasard sur un lien fort utile. Il s’agit en fait d’un document pdf intitulé SEO for WordPress blogs rédigé par Blizzard Internet (qui n’a rien à voir avec la société éditrice de jeux vidéo ndlr) qui récapitule brièvement (une petite quinzaine de pages) les fondamentaux d’une optimisation appliquée, comme vous l’auriez deviné, aux blogs utilisant WordPress.

Globalement, les amateurs de référencement n’y apprendront pas grand chose hormis peut-être les précautions à prendre vis à vis du sytème d’archives afin d’éviter le duplicate content et ainsi, perdre en qualité de référencement! Je vous conseille toutefois d’y jeter un oeil, ça ne mange pas de pain:

SEO for WordPress blogs

Mon iPhone me trompe!

Feb
12

Voilà exactement 17 mois que je possède un iPhone et j’en apprends encore, pas plus tard qu’il y’a quelques minutes. J’avais toujours pensé que j’avais abimé le micro du kit main libre étant donné mon attention matérielle légendaire. Que nenni! Il s’avère que ce morceau de plastique cassé est en fait un bouton dont voici un échantillon de ce qu’il permet:

  • en “veille”, ce bouton permet de lancer l’ipod!
  • en mode ipod, un double click permet de passer à la chanson suivante
  • lors de la réception d’un appel, un click permet d’y répondre…
  • …alors qu’un double click renvoie l’appel sur le répondeur

J’imagine bien évidemment qu’il permet d’autres actions super cools, comme faire apparaitre Adriana Karembeu dans votre chambre, rendre muette les petites grand-mères qui se complaisent à râler en permanence ou avoir des chemises parfaitement repassées. On ne peut de toute façon en attendre moins d’un produit Apple!