SvSIP - mieux que l’iPhone ?

13 septembre 2007

Personne n’a échappé au lancement de l’iPhone ! Ce joli téléphone portable avec un écran tactile. Mais saviez-vous qu’il existe aujourd’hui un téléphone portable avec un double écran dont l’un est tactile !?

Et oui ! Ses concepteurs auraient pu l’appeler DSphone, mais ils se sont contenté de l’appeler simplement SvSIP. Mais qu’est-ce donc ? En fait, SvSIP est un client SIP pour la Nintendo DS. Ainsi, muni de vos identifiants SIP, vous pourrez téléphoner avec votre console partout où vous aurez un accès Wi-Fi !

Bon ok, cela n’a rien de révolutionnaire. Mais l’initiative mérite d’être signalée. ;-)

Un homme pressé

12 septembre 2007

Ce n’est pas un billet technique je vous propose aujourd’hui. Mais plutôt un moyen d’améliorer votre vie chaque jour. ;-)

Vous vous rappelez sûrement de cette méthode pour plier un t-shirt en un instant. Dans le même esprit, le site Waitless vous propose de gagner du temps. Par exemple, ils donnent une astuce pour lasser ses chaussures plus rapidement. Je vous laisse découvrir la méthode du turbo parking…

Merci à Olivier M. pour cette découverte !

Un manchot USB

10 septembre 2007

Comment ça ? Un manchot USB ? Non, il ne faut pas confondre avec l’autre manchot qui lui est Wi-Fi. En effet, Tux Droid est le compagnon communicant sans fil des geeks encore plus geek que le bien français Nabaztag.

Le manchot que je souhaite vous présenter aujourd’hui est une clé USB d’1Go.

Un manchot très branché

Ces sympathiques petites clés d’origine taiwanaises sont disponibles à la vente sur l’archipel nippone.

Le manchot sans sa tête

Cross-domain en Javascript par l’exemple

5 septembre 2007

Il y a quelques temps, je vous avais présenté les différentes solutions
pour faire du cross-domain en Javascript.

Cet article a suscité beaucoup d’interrogations sur la mise en oeuvre. Alors
aujourd’hui, avec un peu de retard, je vais vous présenter l’implémentation
de ces astuces avec du code source ! ;-)

Le proxy

Cet exemple se base sur l’API de recherche de Yahoo! en mode XML.

La fonction Javascript how_many() permet d’interroger le proxy. La fonction Javascript count_results() permet d’afficher le nombre de résultats disponibles pour la recherche effectuée.

Le fichier proxy.php, qui doit être hébergé sur notre serveur se contente de récupérer l’adresse du site à interroger puis il effectue la requête et retourne le résultat.

Le code JavaScript

function count_results(httpRequest) {

 if (httpRequest.readyState == 4) {

 	if (httpRequest.status == 200) {

 		var xmldoc = httpRequest.responseXML;

 		var root_node = xmldoc.getElementsByTagName('ResultSet').item(0);

 		alert(root_node.getAttribut("totalResultsAvailable"));

 	} else {

 		alert('Un problème est survenu avec la requête.');

 	}

 }

}
function how_many() {

 if (window.XMLHttpRequest) { // Mozilla, Safari, ...

 	httpRequest = new XMLHttpRequest();

 } else if (window.ActiveXObject) { // IE

 	httpRequest = new ActiveXObject("Microsoft.XMLHTTP");

 }

 httpRequest = new XMLHttpRequest();

 httpRequest.overrideMimeType('text/xml');

 httpRequest.onreadystatechange = count_results;

 httpRequest.open('GET','proxy.php',true);

 httpRequest.send("url=http://api.search.yahoo.com/ImageSearchService/V1/imageSearch?appid=YahooDemo&query=Madonna&output=xml");

}

Le code du proxy (proxy.php)

<?php

$data = open($_REQUEST['url']);

header("Content-Type: text/xml");
echo $data;

?>

Les images invisibles

Cet exemple ne fait qu’envoyer des informations (”hello_world”) à un service distant (”anydomain.com”).

Le code JavaScript

var i = new Image();

var url = "url=http://www.anydomain.com?data=hello_world";

i.src = encode_utf8(url);

document.body.appendChild(i);

JSON

Cet exemple se base également sur l’API de recherche de Yahoo! mais en mode JSON. Ceci permet de se passer d’un proxy.

Les fonctions Javascript ont le même rôle que dans l’exemple avec un proxy.

Le code JavaScript

function count_results(obj) {

 alert(obj.ResultSet.totalResultsAvailable);

}
function how_many() {

 var s = document.createElement("script");

 s.type = "text/javascript";

 s.src="http://api.search.yahoo.com/ImageSearchService/V1/imageSearch?appid=YahooDemo&query=Madonna&output=json&callback=count_results";

 document.body.appendChild(s);

}

Voilà ! Vous pouvez constater que ses méthodes sont très simples. Je vous laisse imaginer toutes les possibilités qui s’offrent à vous… ;-)

Hibernate - attention aux injections SQL !

21 août 2007

J’avoue que le titre de cette note est quelque peu alarmiste. C’est avant tout pour retenir l’attention et marquer les développeurs qui se croient à l’abri de ce genre d’attaque parce qu’ils utilisent Hibernate.

En effet, l’utilisation de ce framework ne vous protège pas forcément des SQL">injections SQL comme le rappelle TSS dans son article intitulé “Une légende urbaine à propos d’Hibernate“.

L’auteur explique que la création de requête SQL par concaténation de chaîne de caractères rend possible les attaques par injection de code SQL. Et ce même si vous utilisez Hibernate (contrairement à ce que certaines personnes semblent croire) ! Alors, comment s’en protéger ?

Pour empêcher les injections SQL, il suffit d’utiliser les paramètres nommés lors de la création de requête SQL. Ce genre de pratique est une bonne habitude à avoir.

Donc n’oubliez pas d’utiliser les paramètres SQL plutôt que de construire la requête SQL à la main ! Ce message ne s’adresse pas seulement aux utilisateurs d’Hibernate, ni qu’aux développeurs Java par ailleurs. ;-)

BuiltWith - quelles technologies sont utilisées pour un site web ?

20 août 2007

Au fil des ballades sur le net, parfois vous pouvez arriver sur un site qui a un petit plus. Et pour les plus curieux d’entre vous, vous pouvez-vous demander : avec quoi ce site a-t-il bien pu être conçu ?

C’est en partant de cette interrogation que Gary Brewer a créé l’outil BuiltWith. Il suffit de saisir l’URL d’un site et il vous ressort tout un tas d’informations plus ou moins intéressantes telles que :

  • le type de serveur
  • le type de plateforme
  • les widgets utilisés
  • les outils de statistiques
  • les outils d’aggrégation
  • l’encodage
  • etc..

J’ai découvert cet outil grâce à Netwizz qui est toujours là pour nous faire découvrir des solutions surprenantes. ;-)

Tableaux de conjugaison dans Firefox

19 août 2007

Pour continuer sur la lancée du précédent billet, je vous propose une petite astuce pour avoir accès rapidement aux tableaux de conjugaison d’un verbe dans Firefox. Pour cela, il faut mettre en pratique la définition des marques-pages paramétrés dans Firefox.

Et voici le paramétrage pour deux sites différents de conjugaison :

  • Le conjugueur : http://www.leconjugueur.com/php/newconjugue.php?lang=fr&oblige=N&verbe=%S avec cj => cj [verbe à conjuguer]
  • La conjugaison : http://www.la-conjugaison.fr/du/verbe/%s.php avec cj => cj [verbe à conjuguer]

Vous n’aurez plus d’excuse pour ne pas avoir vérifié la conjugaison d’un verbe !

Quelques conseils pour améliorer son orthographe

18 août 2007

Je m’attache toujours à améliorer mon orthographe. Et tout particulièrement sur ce site. Mais force est de constater que cela n’est pas encore suffisant à la lecture des commentaires que je peux recevoir de temps en temps. ;-) J’y travaille…

Voici les recommandations que j’applique :

  • Relire l’article encore et encore tant il y a des erreurs à corriger avant de le publier.
  • Vérifier l’orthographe de certains mots dans un dictionnaire ou sur Google lorsqu’il a un doute.
  • Vérifier la conjugaison d’un verbe (sur le conjugueur par exemple) toujours lorsqu’il a un doute.

Olivier M. nous fait partager également ses conseils pour améliorer son orthographe. Il évoque notamment l’utilisation d’un correcteur orthographique dans Firefox.

J’ai pu découvrir dans les commentaires de son billet l’existence d’un service en ligne très intéressant pour notre problème : BonPatron. Ce service ne se contente pas seulement d’identifier les erreurs. Mais il propose également des solutions et surtout il explique pourquoi ! C’est très instructif.

Weblogue en vacances ?

17 août 2007

Je dois bien avouer que je n’étais pas très présent ces derniers temps. A vrai dire quelques activités ludiques parsemées de contraintes personnelles m’ont quelques peu tenu éloigné de ce weblogue.

Mais aujourd’hui c’est la rentrée ! Et j’espère être bien plus présent : publier quelques notes, répondre aux commentaires, etc…

A très bientôt !

ScummVM DS - l’aventure sur une console portable

20 avril 2007

Vous vous rappelez sûrement de ScummVM. Je vous avais présenté ScummVM pour Pocket PC. Cet environnement d’exécution de jeux d’aventure de type “point-and-click” continue sa propagation et débarque sur la Nintendo DS !

Ce portage porte le nom original de ScummVM DS. Même si tous les jeux supportés par ScummVM ne tournent pas forcément dans la version DS (à cause des capacités réduites de la petite console japonaise), la réalisation est excellente. La taille de l’écran de la console peut être dans certaines situations un peu trop petite. Mais heureusement, l’équipe du projet a pensé à y intégrer un système de zoom.

A croire que certains jeux restent éternels…