indeXweb.info blog d'actualités Internet & référencement annuaire généraliste gratuit Barre d'outils référencement Support indeXweb.info (FAQ)

Derniers billets: (plus)

DMOZ is NOT like gold
Bah ouais quoi ! Vous connaissez le groupe Gold (Emile et Images était mon groupe préféré au lycée. J'écoute moins aujourd'hui. Mais j'aime toujours autant ;) ). Et dmoz n'est pas un groupe musical.

Plus sérieusement. Notre cher staffer (technicien payé par AOL et en charge du projet ODP) bbqgrant a posté aujourd'hui un billet sur le blog officiel dmozien intitulé "DMOZ Is Like Gold".

Opinions et démontage en bonne et due forme.
bbgrant cite un article sur un site que je ne nommerais et vers lequel je ne ferai pas de lien.
Ce site dit :

Getting a site into DMOZ is like Gold.
Google loves links from DMOZ and your site will reap the benefits.
The big catch however is actually getting your site into the directory in the first place.
Find the perfect category for your site and check to see if it has an editor. If you see a link "Volunteer to edit this category" try and find another relevant location.
Pages without active editors take much longer to get listed into.
Once you find the perfect directory submit your site every 4-6 months until listed.
If you are lucky you will get in eventually.


Alors, premièrement, si vous regardez sur le billet, vous verrez que notre cher staffer a rajouté toute la partie sur le lien dmozien qui vaut de l'or. Sans cette remarque, la phrase est beaucoup moins positive pour l'annuaire.
Notre cher staffer cherche donc à déformer ce que le webmaster a dit en remontant l'image de dmoz. Vu ce qu'il ajoute, on ne peut vraiment pas considérer qu'il s'agisse d'une citation. Le fond est totalement modifié.

Mais ... Que vois-je également ? Il dit "si il n'y a aucun éditeur dans la catégorie, choisissez une autre catégorie pour que votre site soit listé plus rapidement".

Horreur et damnation ! Ceci est la dernière chose à faire. Si vous suggérez votre site dans une catégorie appropriée, celui-ci sera de toute façon déplacé par l'éditeur vers la catégorie appropriée.
Par ailleurs, le fait qu'une catégorie n'ait pas d'éditeur ne signifie pas que personne n'y passe. Tous les éditeurs peuvent éditer dans les catégories où ils sont marqués comme éditeur. Mais également toutes ses sous-catégories.
Par ailleurs, près de 300 éditeurs ont les droits nécessaires pour éditer dans toutes les sections de l'annuaire.

Ne pas soumettre votre site dans la bonne catégorie peut multiplier par deux le temps d'attente de votre site. Faites donc bien attention à l'endroit où vous suggérez votre site.

Enfin notre cher staffeur a vraissemblablement posté son article beaucoup trop rapidement. En effet, celui-ci n'est qu'une copie d'un autre article publié 10 jours plus tôt ici.
Si les seuls éditeurs rémunérés pour travailler sur l'ODP ne respectent pas nos directives d'éditions et mettent en avant des sites n'ayant pas du contenu original, où allons nous ?

De nombreuses choses m'ont déçu à l'ODP depuis un an. Celle-ci serait-il la goutte d'eau ? Je me donne le week-end pour y réflechir et presser où non le gros bouton rouge.

P.S. : promis, le prochain article sera technique.

Tags : dmoz blog bbqgrant odp ...


Google Reader, les éléments partagés et bug


Depuis quelques jours, Google Reader propose une fonctionnalité on ne peut plus intéressante. :-)
En plus de pouvoir ajouter des notes aux éléments partagés, chacun des utilisateurs peut maintenant partager ... des url, via un bookmarklet.

Je me suis empressé d'ajouter ce bookmarklet. Et voulant partager une image un peu plus tôt, je me suis retrouvé avec l'erreur de l'image ci-dessus (et ci-dessous).



Je n'ai pas le temps/motivation de corriger cela maintenant. Mais j'avais envie de vous le faire partager (et puis il parait que des Googlers lisent mon blog alors bon ...)

FYI, voici l'image que j'ai voulu partager.

Tags : google photo bug google-reader ...


Wordcamp : le compte rendu
Pour ceux qui ne le sauraient pas, j'étais présent au premier Wordcamp parisien samedi dernier.
M'enfin vous devez le savoir puisque j'ai déjà posté en direct.

Voici tout de même un petit compte rendu.

  • Session sur les extensions
Cette première session a été principalement sur le sujet "quelles sont les extensions les plus utiles. Et comment trouver l'extension la plus appropriée à mes besoins".

Cette discussion a débouché notemment sur un topic sur wordpress-fr.

  • Open-ID
Le second atelier traitait de Open-ID et son implémentation dans Wordpress, soit pour permettre aux visiteurs de se connecter avec leur compte Open-ID pour poster des commentaires où à l'administration.
Soit pour utiliser son compte wordpress comme identifiant Open-ID.

Pour la première problématique, le plugin qui est ressorti est WP-OpenID. Pour la seconde, c'est WP-Yadis.

  • Wordpress MU
Lors du troisième atelier, Amaury nous a fait une présentation de Wordpress MU pour lequel il est contributeur.
Wordpress MU permet de créer une plateforme multiblogs basée sur Wordpress.
Il est notemment utilisé sur wordpress.org et par lemonde.fr.

  • Session technique sur la création d'extensions
Lors de la première session sur les extensions, il s'est avéré que plusieurs personnes cherchaient également à comprendre comment créer leur propre extension.
Cela tombait bien, j'avais justement préparé un atelier à ce sujet ;-)
Vous pouvez donc voir mes slides à ce propos sur le site de la meilleure agence web lyonnaise.

Et evidemment comme j'ai profité de mon nouvel objectif, il y a plein de photos ;-)

Tags : conf?rence wordpress wordcamp barcamp paris ...


En direct du Wordcamp Paris 2008
Comme déjà annoncé, je suis aujourd'hui au premier BarCamp Wordpress Paris.
Les discussions n'ont pas officiellement commencé. Mais cela ne saurait tarder vu que l'on entends les tests micro.
Mais l'ambiance est déjà très geek et on a déjà tous commencé à causer.

Oups ! Ca commence ! ;-)



Tags : conf?rence wordpress wordcamp barcamp paris ...


Viendez manger
Je serais de vendredi à dimanche sur Paris pour le premier Wordcamp Parisien.
Vous pouvez, si vous êtes intéressé, toujours vous inscrire et venir assister à des conférences sur le moteur de blog qui fait sensation.
Puis c'est la bonne occasion pour rencontrer les personnalités actives de la communauté francophone.

Et puis comme Thanh et moi venons de loin, on arrive avant et on repars après. Vous pouvez donc, si vous le désirez, venir manger avec nous (et plein d'autres gens. Pas de tête à tête aux chandelles) le vendredi soir où le dimanche midi.

A ce week-end ! ;-)



Tags : conf?rence wordpress wordcamp repas ap?ro ...


Sac à dos et objectif Tamron 90mm
Pour ceux qui n'étaient pas au courant, j'ai eu 22 ans vendredi dernier.
Et dites pas que je vous l'ai pas dit, c'est pas vrai. Suffit de faire ctrl + A sur l'article de vendredi. Et c'est marqué à la fin.

M'enfin on s'en fou ;-)
Ce qui est intéressant, c'est ce que ma môman m'a offert.
Un magnifique sac Kata R-103.


Et je me suis moi même offert l'objectif macro Tamron 90mm.


Ca me fait un super gros engin maintenant ! ;-)




Tags : photo perso anniversaire objectif sac kata ...


Google AppEngine : impressions après quelques tests
J'ai obtenu, la semaine dernière, une invitation pour la version béta de Google AppEngine. Premiers avis et impressions.

"Whoot ! I know Python !" dit Neo en enlevant son casque

Je ne connaissait absolument pas Python, qui est le seul langage actuellement disponible avec AppEngine.
Alors l'une des premières choses que j'ai fait est de commander le livre Python de chez Eyrolles. Le titre de ce paragraphe est la première phrase du livre.
Evidemment, le livre n'est pas constitué que de citations de geek rigolotes.

Bien au contraire, il détaille extrêmement bien toutes les possibilités offertes par le langage. Malheureusement cependant, il n'aborde absolument pas le développement web avec Django par exemple.

Celà n'est cependant pas spécialement génant pour toute personne qui a déjà une bonne expérience dans le développement avec au moins un autre langage (PHP avec les objets par exemple).

Les trucs qu'ils sont trop bien

Revenons un peu dans le sujet de Google AppEngine. Il s'agit d'une plateforme offrant l'hébergement d'applications web développées en Python.
D'autres langages pourront faire leur apparition dans le futur. Mais si vous souhaitez commencer à développer sur cette plateform, dès maintenant, il faudra le faire avec ce langage.

Voici donc l'avantage principal de Google AppEngine. Le fait que l'on puisse héberger rapidement une application web, sans se soucier de contraintes serveur. Où presque.

Les trucs un peu moins bien

Oui car forcément, comme toute offre gratuite (où payante d'ailleurs), il y a des limitations techniques.
Celles-ci sont disponibles sur le site d'AppEngine.
De base, cette plateforme ne sera donc vraiment accessible que aux petites applications, nécessitant peu de ressources système.
J'ai voulu par exemple intégrer les données du RDF dmoz afin d'exporter certains de mes outils dédiés aux éditeurs là-bas. Malheureusement, l'importation de telles données est totalement inenvisageable à cause des limitations du système au niveau de l'ouverture et du téléchargement de fichiers.
C'est d'ailleurs pour cette raison que je n'ai aucune application à vous présenter bien que j'ai déjà commencé à développer. J'ai une seconde application en tête. Mais il faudra attendre un peu ;-)

Google parle de possibilités payantes d'évolution du service afin de pouvoir passer outre ces limitations. Mais elles ne sont pas encore implémentées et nous n'avons aucune idée de la manière dont elles le seront.

L'utilisation d'un compte Google

Un truc qui m'a paru intéressant au départ, c'est le fait que l'utilisateur puisse s'identifier avec con compe Google.
Intéressant afin de s'épargner le développement d'une interface de connexion utilisateur.
Mais lorsque l'on regarde la documentation, on se rends compte que cette identification est difficilement utilisable à l'heure actuelle.

En effet, aucun identifiant unique n'est fourni pour chaque utilisateur. Seul l'email de celui-ci est présent. Que se passe-t-il donc lorsqu'un utilisateur change son email ?
La documentation le dit clairement : vous l'avez dans le baba. L'utilisateur a changé son email, vous ne connaissez que celà. Vous avez donc perdu la relation entre l'email et l'utilisateur.

Génant et limite légal lors de l'implémentation d'une newsletter sur votre service par exemple.

BigTable, un pseudo SGBDR

Bah oui quand même, il y a un système de gestion de bases de données. Déjà que ce billet n'est pas très positif pour l'outil. Dans le cas contraire, cela aurait été un démontage total ;-)

Le R de SGBD est à mettre car on peut mettre en relation deux tables. Un bon point pour l'outil.

Cependant, seuls les SELECT sont abordables en SQL pur. Aucune possibilité de faire des INSERT, UPDATE où DELETE en SQL pur. Il faut impérativement passer par les méthodes de l'API.
Je n'ai ainsi pas encore trouvé comment faire l'équivalent d'un TRUNCATE (suppression de toutes les entrées d'une table) autrement que ... manuellement dans l'interface (et on ne peux supprimer que jusqu'à une centaine d'uplets à la fois. Génant).

Et encore une limitation, au niveau du SQL pur. Chacune de ces limitations possède un chemin détourné pour arriver à la même chose. Cependant ce chemin détourné n'épargnera par les ressources systèmes.

  • Pas de ORDER BY ran(). Chemin raccourci : récupérer toutes les données. Puis voir combien il y en a, générer un nombre aléatoire et récupérer l'uplet relatif à ce numéro.
    Pas d'optimisation de la RAM de la machine puisque vous récupérez toutes vos données et devez impérativement les placer dans un objet pour au final ne garder qu'un seul uplet.
  • Pas de JOIN. C'est toujours du relationnel quand on peut associer un champ d'une table à une autre (table). Mais que l'on ne peut pas faire de requête qui récupère les données des deux tables ?
  • Pas de LIKE (et encore moins de MATCH). Pas de recherche possible donc.
    La seule solution à l'heure actuelle est de récupérer toutes les données de votre base et de chercher dans chacune d'elles si une n'est pas intéressante.
    Sachez cependant qu'un technicien Google a parlé d'une méthode search() sur la mailing liste officielle de la plate forme. Cependant il a dit clairement que cette méthode n'est absolument pas optimisée et n'est pas documentée car elle est déconseillée.
    Il a cependant parlé de possibilité de meilleures méthodes à ce niveau dans le futur.


Et comment j'envoie mes données ?

Un SDK est à télécharger sur le site de la plate forme. Celui-ci comprends deux applications :
appcfg_devserver.py, qui vous permet de lancer un serveur local sur le chemin de votre application. Utile (voir indispensable) pour développer votre application.

appcfg.py, qui vous permet d'envoyer votre application sur AppEngine.

Et seulement envoyer ! Aucune possibilité de rapatrier votre application sur votre machine. En cas de crash de votre machine et d'un manque de sauvegardes, votre application ne sera alors plus maintenable.

Un service encore en béta

Et ça se voit !
L'idée est appréciable. Non seulement afin d'offrir une meilleure visibilité au langage Python, qui est très sympathique à utiliser.
Cependant à la vue de tous les défauts énumérés ci-dessus, l'outil n'est pas encore utilisable sur des grosses applications.

Mais peut-être est-ce le but recherché, d'héberger des milliers de petits trucs sans intéret mais de laisser les gros qui peuvent en présenter en externe.

Le seul réel avantage que je trouve à Google AppEngine est donc le fait qu'il me permet de débuter facilement avec Python, qui est un langage magnifique.

Et vous, que pensez-vous de Google AppEngine ?

Tags : d?veloppement google appengine python ...


Quand How I Met Your Mother sors du petit écran
Un petit garçon pris au piège d'une machine attrape jouet.

En soi l'actualité est amusante. Mais ... Have you Met Ted ?
How I Met Your Mother est LA série du moment. Pas parce qu'elle est récente. Je regarde depuis plus d'un an déjà.
Mais parce que xuxu et Thanh s'y sont mis eux aussi.
Et c'est Legend ... wait for it ... ary !

Attention, spoilers !

Alors pourquoi cette actualité me fait penser à HIMYM ? Eh bien remémorez vous la saison 1, le tout premier épisode ! Lorsque Ted tente de séduire Robin.
Eh bien celle-ci est en train de couvrir évènement ... Un petit garçon qui s'est retrouvé bloqué dans une machine à jouer !
Merci Hélène d'avoir signalé cela :)

Oh ! Et aujourd'hui j'ai 22 ans.

Tags : how-I-met-your-mother humour ...


Journée des développeurs Google 2008
Il y a un peu moins d'un an avait lieu la première journée des développeurs Google.
Ils remettent ça ! :-P (merci TOMHTML pour l'information).

Elle aura donc lieu à Paris le 18 septembre prochain.
Vous pouvez voir toutes les dates sur la page officielle de la journée.

Contrairement à l'an passée, elle n'aura en revanche pas lieu partout au même moment. Mais sera décalée de quelques jours en fonction des lieux. Pour permettre à des conférenciers d'être présent à plusieurs ?
Où pour permettre aux participant d'aller à plusieurs ? ;-)

Je ne sais pas encore si je pourrais être présent (il est même fort probable que je ne puisse pas). Mais je tenterai.
Le must serait même de ne pas aller à celle de Paris mais à celle de Londres le 16 septembre !

Tags : d?veloppement google ...


Manipuler un serveur XML/RPC en Javascript
Vous avez déjà tenté de récupérer les données provenant d'un serveur XML/RPC en JavaScript ?
Je l'ai fait ces derniers jours et ayant perdu pas mal de temps à tenter de comprendre comment faire fonctionner l'API JSXMLRPC, je vous propose ici un mini tutoriel pour son utilisation :-)

Tout d'abord, ayant constaté et du corriger plusieurs bugs dans cette librairie, j'ai décidé de mettre mes modifications en ligne. Vous pouvez la télécharger ici
Où bien en SVN avec la commande suivante :
svn checkout http://twitterbook.googlecode.com/svn/trunk/jsxmlrpc twitterbook-read-only

Tout d'abord, implémentons l'outil dans notre page.
<script type="text/javascript" src="/js/lib/xmlrpc_lib.js" />
<script type="text/javascript" src="js/lib/xmlrpc_wrappers.js" />


Supposons donc maintenant que notre serveur est situé à l'adresse example.com:2504 et que nous souhaitions appeler la méthode "tralala".

Nous allons d'abord initialiser un client pour ce serveur :
var client = new xmlrpc_client('/', 'example.com', '2504');

Puis nous pouvons faire un appel à notre méthode.
var tralala = wrap_xmlrpc_method(client, 'tralala');
var t = tralala(paramètre);

Notre requête est correctement transmise. Nous n'avons plus qu'à traiter les données retournées.
Dans le cas d'un paramètre unique retourné, celui-ci sera directement rendu.
Dans le cas de multiples paramètres, ils seront accessibles comme des variables de classe javascript.

Ainsi si notre méthode tralala nous retourne un paramètre "id" et un paramètre "nom", nous pourrons faire :
alert(t.id);
pour afficher cet identifiant.

Dans le cas où une erreur a été détectée, le paramètre errstr contient le texte de celle-ci (et errno son numéro).
Dans le cas où il n'y a pas d'erreur, celui-ci n'est pas défini.

Nous pouvons donc faire une fonction du type :
var call: function(method, param) {
    var client = new xmlrpc_client('/', 'example.com', '2504');
    var explore = wrap_xmlrpc_method(client, 'method);
    var t = explore(param);

    if (t.errstr != undefined) {
        return false;
    } else return t;
}


Tags : d?veloppement xml javascript o2sources rpc ...



[ Kazhar, le blog ]
Cette page vous propose des liens vers les derniers billets du blog de Kazhar.