msgbartop
Faut pas y craindre
msgbarbottom

01 juin 09 Un jeu pour les référenceurs (SEO): www.jeu-referencement.com

Decouvert au détour d’un lien un jeu pour les référenceurs « black hat ».

Organisé par seoblackout.com et oseox.com, dans la lignée d’Ouverture-Facile, mais orienté SEO, de quoi se tester sur une quinzaine d’épreuves-énigmes plus ou moins malicieuses, rarement très techniques, mais qui demandent une connaissance certaine du monde du référencement.

Cela m’a bien occupé quelques heures, mais j’ai pu me coucher vers 2h30 avec la satisfaction du devoir accompli… et n’étant pas SEO moi-même, je n’étais pas peu fier :-)

En tout cas, SEO ou pas, un passionné d’Internet devrait s’y retrouver et apprendre 2-3 choses au passage…

Pour jouer, c’est par là:

Jeu Référencement

Du beau boulot!

  • No related posts

03 mar 09 Instant Twitter Search Results on Google

Le petit point faible (et encore) de Google est probablement celui de la recherche en temps réel. Ainsi, pour suivre un buzz, Twitter est bien plus adapté, et extraordinairement puissant (cf. la panne de GMail la semaine dernière, qui faisait l’objet de 10 tweets par seconde, impressionnant).

Mark Carey a cependant mis à disposition un script GreaseMonkey (vous savez cet add-on de Firefox qui permet de faire tourner des scripts modifiant le comportement de Firefox) qui pallie à ce problème puisqu’il permet d’incorporer les derniers tweets (messages sur twitter) contenant aussi la requête et ce, juste avant les résultats proposés par Google.

Pour faire tourner ce script il faut:

Résultat:

twitter instant search in google

Je sens que ça va changer mon utilisation de Google…

Articles en rapport (ou pas!) :

27 fév 09 Transformation XSLT et document JDOM: tips & tricks

Je fais actuellement joujou avec JDOM sous Java, dont je me sers pour générer un flux Atom. Le but étant que ce feed soit ensuite visible en ligne. N’importe qui ouvrant ce fichier doit ensuite pouvoir facilement le lire, soit en s’abonnant soit directement grâce à une mise en forme XSLT.

Pour ceux qui se demande ce que c’est, peut etre avez-vous deja cliqué sur un flux RSS géré par feedburner, et constaté que le document était (parfois) mis en forme dans un style propre à Feedburner? Et bien cela est fait grâce à une feuille de style XSL, qui permet de modifier l’affichage (rendu) d’une fichier XML dans le navigateur. Un peu comme on modifie le rendu d’une page XHTML avec du CSS (mais pas exactement).

Ainsi au lieu d’avoir un méchant arbre XML, on se retrouve avec une page Web classique:

xml feedburner

Bref, étant débutant sous JDOM et en matière de génération de flux Atom, j’ai rencontré quelques obstacles, parfois bien vicieux, dont voici mes solutions:

1. Comment mettre le lien vers la feuille de style XSLT dans le document JDOM:

Pour « appeller » la feuille XSL depuis le document XML, il faut faire une déclaration dans le début du document disant ou se trouve la feuille XSL, et la déclarant comme telle. Cela ressemble à un lien vers une feuille de style CSS:

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type='text/xsl' href='fichier.xsl'?>

  • La première ligne est juste la déclaration disant qu’on a là un fichier XML. Elle est automatiquement écrite lors de la création du document JDOM
  • La seconde est le lien vers la feuille XSL en soi.

Manuellement, aucune difficulté, mais le but était pour moi de faire cela avec JDOM puisque tout le reste du document XML est généré ainsi.

En fait il faut savoir que dans le vocable XML, l’appel à la feuille XSL est une « Processing Instruction ».

Donc dans JDOM il faut:

// Créer la processing instruction:
static ProcessingInstruction pi = new ProcessingInstruction("xml-stylesheet",
"type='text/xsl' href='fichier.xsl'");

Et l’ajouter à notre document JDOM:

//On ajoute cette PI au début du doc, après la balise xml, mais avant toutes
les autres:
document.addContent(0,pi);

2. Comment faire accepter la transformation XSLT de votre feed RSS ou ATOM par les navigateurs:

En fait, on pourrait se demander pourquoi on aurait besoin de faire cela. Si on crée une feuille XSL et qu’on la déclare on s’attend à ce qu’elle soit utilisée non? D’ailleurs tout fonctionne parfaitement en local.

Sauf que, stupeur, une fois mis en ligne, Firefox aussi bien qu’IE7, imposait leur propre affichage, donc leur propre XSL. Evidemment la première réaction est de chercher une erreur dans son propre code qui ferait qu’il ne soit pas pris en compte. J’ai bien du y perdre un après-midi, avant de tomber sur ce rapport de bug chez Mozilla:

Lorsque Firefox détecte un feed RSS ou ATOM, il impose automatiquement sa propre feuille XSL ! Inutile de préciser que les développeurs sont pour la plupart mécontents. Mais chez Mozilla ils trouvent cela normal et n’ont pas l’intention de fixer ce « problème ». D’ailleurs les autres navigateurs font la même…

L’astuce c’est de se débrouiller pour que le navigateur ne détecte pas un feed RSS ou ATOM, mais un simple fichier XML, en lui cachant les balises <feed> ou <rss>, qu’il recherche dans les 512 premiers bytes du fichier…

Pour cela il suffit d’ajouter un commentaire XML suffisamment long avant ces balises, pour les repousser hors des 512 premiers bytes. C’est radical, effet immédiat.

Articles en rapport (ou pas!) :

31 jan 09 Google anti-Linux?

Here is what www.google.fr is returning me when I type « linux » as a query (click the picture to enlarge)

« This site might harm your computer » ( »Ce site risque d’endommager votre ordinateur » in French XD

Voila ce que me retourne www.google.fr quand je tape « linux » dans la barre de recherche en ce moment (cliquer sur l’image pour agrandir)

« Ce site risque d’endommager votre ordinateur »
XD

Google malware detection deconne

Come on, don’t be evil!

Articles en rapport (ou pas!) :

16 oct 08 Vue du relief sur Google Maps!

Je viens de m’apercevoir qu’en plus des vues « Plan » et « Satellite » Google Maps proposait une vue du relief. Il suffit de cliquer le bouton « Relief » pour en profiter, après avoir dézoomer un peu :)

Mont Blanc en relief sur Google Maps

Articles en rapport (ou pas!) :