Archives mensuelles : avril 2010

[Facebook] Voir le contenu d’une fanpage sans avoir à devenir fan

Je sais pas vous (enfin si j’ai quand même une vague idée) mais moi je suis fatigué de voir ce type de pages pulluler sur le réseau social des jeunes. Je veux bien sûr parler des fanpage dont il faut devenir membre pour voir le contenu. Souvent le contenu en question n’est pas des plus intéressant mais le titre est suffisamment aguicheur pour qu’un nombre colossal de pigeons se laissent avoir et oublient de quitter les groupes une fois le « précieux » contenu découvert. Ces listes de pigeons servent ensuite à envoyer de la pub soit via le mur soit directement par messages.

Je me suis un peu penché sur le problème et y ai trouvé une solution très simple et diablement efficace : une seule ligne de javascript (pondue par mes soins un jour de repos !) qui permet d’afficher le contenu caché sans avoir à rejoindre quoi que ce soit.

La ligne en question la voici :

javascript:spans=document.getElementById("tab_canvas").getElementsByTagName("span"); for(var sp in spans){spans[sp].style.visibility="visible"}

Pour que cela fonctionne il faut que vous soyez sur l’onglet de la page qui contient le contenu caché. Souvent il s’agit du premier onglet à être ouvert quand vous cliquez sur un lien. Ensuite vous avez deux solutions : la copier/coller dans la barre d’adresse à la place de l’url et valider avec la touche entrée comme si vous veniez d’entrer une réelle url. Ou, plus simple, ajouter un favoris dans votre navigateur dont l’adresse serait cette fameuse ligne. En plaçant le favoris dans la barre personnelle de Firefox par exemple vous n’aurez plus qu’à cliquer sur le bouton pour que le contenu de la page se mette à jour en direct.

Comment et pourquoi cela fonctionne

Le principe de ces pages est très simple : le créateur ajoute un onglet à sa page pour y faire figurer son contenu et décide de n’afficher le contenu qu’aux membres en le cachant aux autres dans un bête <span> caché par la propriété CSS visibility:hidden. Partant de là il suffit de parcourir tous les spans de la page affichée et de transformer la propriété visibility:hidden en visibility:visible.

Bien sûr cette méthode ne fonctionne que pour les balises <span> et uniquement si celles-ci ont été cachées en utilisant la propriété visibility. Mais jusqu’à présent je n’ai pas trouvé une seule page sur laquelle cela ne soit pas fait comme cela.

Petit conseil aux super développeurs qui ont pondu un concept du genre : utilisez des <div> ou d’autres balises et les propriétés display ou opacity pour continuer à ferrer du pigeon ! Et quand ça ne suffira plus il faudra songer à cacher le contenu côté serveur et à le faire apparaître en Ajax ^^

Zahia.fr – nouveau projet plein de rebondissements

Si vous ne vivez pas dans un igloo vous devez connaitre ce prénom qui a envahi ces derniers jours le petit monde de la presse et plus particulièrement celui de la presse en ligne. Si toutes-fois vous vivez dans un igloo, le fait que vous soyez arrivé jusqu’ici témoigne du fait que vous êtes connecté à internet (balaise dans un igloo !) et je vous conseille donc de faire une petite recherche sur google pour voir de quoi je vais parler ici.

Voyant le scandale pointer le bout de son nez j’ai fait ce que tout bon webentrepreneur fait dans ce cas là : go go gandi.net et check des noms de domaines en rapport avec l’affaire !

Et là, bonne surprise : le nom de domaine en .fr est libre… Ni une ni deux, et sans même savoir ce que je pourrais bien mettre dessus, je réserve le nom de domaine et commence à réfléchir à une idée de concept à la con que je puisse développer dans l’urgence que le buzz impose.

L’idée est simple : la twittosphère bourgeonne de talent et d’humour noir, exploitons cela ! Je me renseigne rapidement sur l’API de recherche de twitter et vois combien elle est simple. Le concept est né.

Je rentre du travail en RER et commence à dessiner, sur le trajet les grandes lignes d’un cahier des charges très sommaire (une feuille A4 tout compris !). Le soir même je poste un tweet à 18h30 (oui j’avais quitté tôt pour avoir un peu de temps pour développer ça) pour annoncer le début de la phase de dev imminente.

Quelques heures plus tard, et après avoir pris une grosse pause pour aller voir des amis, je reposte un nouveau tweet à 1h10 annonçant la fin de la phase de dev et le début de la mise en prod.

Le site a donc vu le jour en un peu moins de 6 heures, je crois que c’est un record pour moi… Mais je n’ai pas dit mon dernier mot et attend avec impatience un prochain scandale à nom de domaine libre pour essayer de faire mieux 🙂

Le site

Le site est plutôt simple : à droite on affiche les résultats de recherche en temps réel (cachés 30 secondes quand même) et au milieu le meilleur de l’humour noir des internautes. En cliquant sur un bouton dans la timeline de droite on peut choisir de faire figurer un tweet parmi les résultats du centre de la page qui composent en fait le contenu du site.

Les internautes peuvent aussi voter pour ces tweets afin de leur attribuer une note qui permette de les trier.

Les meilleurs tweets sont renvoyés vers un compte twitter (Zahiafr) qui les retweete automatiquement, permettant d’assurer un peu de viralité au tout.

Bref en un mot un BDG-like (ou VDM-like pour ceux qui ne savent pas que BDG est plus vieux que VDM de quelques semaines) basé sur twitter et dont le thème est relatif au sujet chaud du moment.

Continuer la lecture

Retrouver le créateur d’une fanpage sur Facebook

Cette méthode ne fonctionne plus et je n’ai pas de solution à vous proposer sur la nouvelle version de facebook.

Je sais j’écris beaucoup à propos de Facebook ces derniers temps. Mais là j’ai trouvé un truc assez intéressant pour retrouver le créateur d’une page fan sur le réseau social le plus utilisé du moment.

Je vous préviens tout de suite, la technique est assez compliquée et implique de trifouiller un peu plus que d’habitude.

L’idée est assez simple à la base :  lorsque l’on affiche la liste des fans d’une page, ceux-ci sont affichés par ordre d’inscription – les derniers inscrits étant affichés en premier. Aussi, en toute logique, le créateur de la page doit-être le dernier de la liste aka le premier inscrit.

Lorsque la page n’a qu’un faible nombre de fans il est assez simple de tous les parcourir à la main – Mais si l’on s’attaque à un sujet hautement intellectuel tel que « Obliger un agent de la SNCF à travailler et le regarder pleurer » (exemple pris au hasard parmi les derniers statuts de mes amis facebook), on ne va pas s’amuser à parcourir xx pages à la main.

De quoi a-t-on besoin ?

Pour trouver cette astuce je me suis basé sur Firefox ainsi que deux de mes extensions préférées : Tamper Data et Firebug.

Avec Tamper Data on va modifier la requête envoyée par Facebook pour choisir d’afficher la dernière page – ceci va générer un bug et les données, bien que transmises, ne seront pas affichées – il faudra donc les lire à l’aide de Firebug.

Tamper Data

Tamper Data permet de modifier tous les paramètres d’une requête envoyée au serveur – qu’elle soit synchrone ou asynchrone. Cette extension est très pratique pour faire des essais en Ajax et avait déjà été utilisée dans un précédent hack qui permettait de visionner tous les profils Facebook, qu’ils soient publics ou non. Télécharger

Firebug

Je n’ai même pas envie de présenter cette extension tant vous auriez tort de ne pas déjà la connaître ! En l’occurrence elle va nous servir à analyser le retour d’une requête Ajax que le script côté client a du mal à rendre… C’est pas grave, on est plus fort que Chuck Norris, on lit directement le code source ! Télécharger

Continuer la lecture

J’ai testé les nouvelles cabines téléphoniques Orange

Ayant un peu de temps devant moi et une main de libre pendant que l’autre tenait un sandwich, je me suis mis en tête d’essayer l’une des nouvelles cabines téléphoniques Orange devant lesquelles je passe tous les jours sans jamais voir personne devant.

N’ayant que mon téléphone sur moi et franchement la flemme de passer pour un touriste je ne vous ai pas fait de photos… Il faudra se contenter des photos officielles du lancement.

Première impression : ce n’est pas parce que je ne vois personne devant que personne ne les utilise apparemment : l’écran est couvert de traces de doigts – je dois pas être le seul à avoir envie de tester pendant la pause repas.

L’écran

Parlons-en justement de cet écran ! Puisque c’est là toute la nouveauté : les cabines intègrent maintenant un écran tactile d’une taille confortable et d’un format à priori adapté au surf. Sauf que là où le bât blesse, c’est qu’il s’agit d’écrans tactiles resistifs sans aucun retour de force. En clair, il faut appuyer comme un bourrin sur une plaque en verre qui ne réagit pas pour espérer voir une action se produire…

En appuyant (fort) sur un picto censé représenter un clavier on fait apparaître un clavier virtuel très pénible à utiliser. J’ai abandonné en plein milieu du mot que j’avais entrepris d’écrire et ai laissé la cabine dans l’état.

Les fonctionnalités

Outre le fait de téléphoner (oui quand même), il est possible de naviguer sur le net parmi un bouquet de sites choisis par Orange (partenariats juteux ?), consulter ses mails – là encore sur un certain nombre de portails sélectionnés par l’opérateur historique, consulter la météo ou faire une recherche localisée.

Pour ce qui est de la consultation des emails je trouve ça tout simplement dangereux. Au delà du fait que dès que vous vous approchez de la cabine vous avez trois ou quatre badauds qui vous rejoignent pour surveiller par dessus votre épaule ce qui se passe, la consultation se passe directement sur les sites des divers portails. Par exemple, et je n’ai pas testé, il est possible de consulter ses mails sur Gmail. Pour rappel, sur ce portail comme sur beaucoup, la case « rester connecté » est cochée par défaut…

Au niveau surf c’est assez simple : vous avez accès au site voila… Et voilà… Bon j’abuse un peu, vous pourrez aussi accéder à cityvox et quelques sites en lien direct (wikipedia, voyages sncf, …), mais n’espérez pas trouver une barre d’adresse quelque part. Note amusante : la publicité du site s’affiche bien (même sur l’interface Orange d’ailleurs), mais si vous cliquez dessus vous êtes redirigé vers une page vous informant que le site demandé n’est pas autorisé. Désolé meetic !

Pour ce qui est des recherches localisées il faudra composer de bing et une base de données qui semble être celle du 188 712. Ayant les applis pages jaunes et Google Maps sur mon téléphone je pourrai aussi me passer de tout cela.

En un mot (ou presque)

Pour conclure rapidement ce test rapide (cinq minutes montre en main tant j’ai été agacé par les passants qui surveillent et l’écran qui ne réagit pas) : si l’idée est bonne, il va falloir investir à la fois dans le hardware pour proposer un écran moins pénible à utiliser et éventuellement directif pour éviter les regards incessants et dans le software pour proposer un portail plus complet, plus intuitif et surtout proposant plus de fonctionnalités.

On peut par exemple imaginer intégrer un download manager pour échapper à l’hadopi un annuaire, la possibilité d’utiliser skype (je sais je rêve là), des infos en continu (au format court pour éviter une file d’attente trop longue), … Bref une réelle valeur ajoutée par rapport à une cabine téléphonique avec un écran et 4 sites !

Je vous invite à aller tester vous même les cabines et à laisser vos impressions dans les commentaires de ce billet – que je ne passe pas pour le seul aigri de la soirée. Le plan des cabines parisiennes.

[Facebook] Inviter tous ses amis à un groupe / fanpage en une seule fois

Il peut-arriver, parfois, que l’on ait une bonne raison de vouloir inviter tous ses amis facebook à rejoindre un groupe ou à grossir les rangs d’une fanpage quelconque.

Cette manœuvre peut-être assez fastidieuse si l’on doit tous les sélectionner un par un… Aussi je vous propose aujourd’hui une astuce qui vous permettra de sélectionner tous vos amis d’un coup. Libre à vous, ensuite, de désélectionner ceux qui ne seraient pas intéressés par la fanpage de Benjamin Biolay (ouais pourquoi pas).

Une fois la popup DHTML servant à inviter les amis ouverte (donc après avoir cliqué sur « Recommander à des amis » pour une fanpage ou « Inviter des amis à rejoindre le groupe » pour un groupe), vous devrez copier/coller le code suivant dans la barre d’adresse de votre navigateur :

javascript:els=document.getElementById(‘friends’).getElementsByTagName(‘li’);for(var id in els){if(typeof els[id] === ‘object’){fs.click(els[id]);}}

Il suffit ensuite d’appuyer sur la touche entrée et d’attendre quelques secondes (en fonction de votre nombre d’amis) pour voir toutes les petites vignettes s’illuminer.

Vous n’avez plus qu’à valider votre choix pour effectivement inviter tous vos amis; comme si vous veniez de tous les sélectionner à la main.

Petite analyse du code en question :

On commence par préciser que l’on ne va pas passer une url mais un code javascript avec la bête instruction javascript:

Ensuite, on va sélectionner tous les <li> enfants de la liste <ul id= »friends »>.

Ces <li> sont stockés dans la variable els que l’on va parcourir dans une boucle for in que les habitués du javascript ou même du bash devraient connaître.

Finalement, pour chacun de ces éléments, on va appeler la fonction fs.click(els[id]); qui est normalement appelée si l’on clique effectivement sur l’élément en question.