sept 24 2008

L’XMLHttpRequest Cross Site en cours de spécification : Présentation

Catégorie : ProgrammationSiM07 @ 16:50

Une des principales restrictions de ceux qu’on appel vulgairement AJAX, c’est qu’il ne permet que peu d’interaction entre différent site, entre différent domaine pour des questions de sécurité. Mon article ne vise pas à présenter l’XMLHttpRequest en tant que tel mais une évolution en cours qu’est l’XMLHttpRequest Cross Domain, c’est à dire une requête AJAX vers un domaine différent.

Explication :

Actuellement si je suis sur le site www.sim07.net  alors il m’est possible d’effectuer des requêtes AJAX que vers ce domaine pour des questions de sécurité. Pourtant moi, webmaster je sais très bien que www.sim07.net est très proche de simonrolland.fr, c’est en gros le même site et pourtant je ne peux effectuer directement mes requêtes.

La solution actuelle, le proxy

Actuellement on doit donc faire un mini proxy sur le domaine www.sim07.net pour effectuer la demande à simonrolland.fr. Shématiquement cela donne :

XMLHttpRequest Cross Site

Le code du proxy est on ne peut plus simple, en PHP :

<?php
$s = file_get_contents(”http://simonrolland.fr/ajax.php”);
echo $s;
?>

Le chemin en bleu est bien sur plus rapide et c’est ce que permet l’XMLHttpRequest XDomain mais cela pose un certain nombre de problème de sécurité.

Plus qu’un simple changement de domaine

 Mon exemple simplifie un peu les choses, on peut très bien imaginer que la requête se fasse vers le même nom de domaine mais sur un port différent. Exemple, mon site est codé en PHP et tourne sur un serveur Apache2, sur www.sim07.net et implicitement le port 80, j’héberge mon JavaScript sur le sous domaine static.sim07.net et mes traitements serveur AJAX sont fait via un servlet Java sur un serveur Apache Tomcat sur le port 8080. Problème ! impossible depuis le domaine www.sim07.net d’effectuer une requête vers www.sim07.net:8080. Idem si on avait voulu faire la requête sur un hypothétique ajax.sim07.net.

La solution du W3C : Header HTTP ou XML

 Le W3C à produit un brouillon de travail sur le sujet et suggère plusieurs solutions. Firefox 3 dans ses versions Beta implantait ce brouillon mais il n’est plus possible de faire marcher les différents proof of concept hormis pour des extensions. Dommage mais sécurité oblige. J’ai eu beau chercher je n’ai pas trouver d’article relatif à ce sujet pour Firefox 3.1, donc à priori pas de changement.

La solution du W3C est vraiment pas mal, l’idée est de faire la requête qui dans l’en-tête HTTP de la réponse indique si le site est accepté ou pas, si tous les sites sont accepté, tous sauf etc …

Il faut donc rajouter :

header(”Access-Control: allow <www.sim07.net>”)

Et le tour est joué, la requête est accepté. Perso je trouve que c’est la solution la plus simple. La solution XML est plus proche de la technique qu’utilise Flash à savoir un fichier crossdomain.xml à la racine du site.

Internet Explorer …

Chez Microsoft on discute du sujet mais il n’y a pas beaucoup plus d’information sur le sujet en tout cas cela ne ressemble que peu aux spécifications du W3C.

Pour aller plus loin :


sept 23 2008

Youtube complètement en vrac depuis hier soir

Catégorie : GoogleSiM07 @ 23:08

Je ne sais pas si vous avez été sur Youtube mais il y a une page au moins qui est complètement en vrac. Voir la capture ci dessous :

Youtube en vrac

En tout c’est un excellent de monétiser Youtube et un très bon coup de pub pour la sortie de Wario Land Snake It sur Wii.


sept 21 2008

Un superbe spot publicitaire pour GNU/Linux

Catégorie : LinuxSiM07 @ 19:40

Imagine a place
where everything is possible
where everyone
can fly.
Be Linux.

Vidéo trouvée via la terrible Helran via Guillaume. Je le trouve vraiment beau ce spot, pas vous ?


sept 18 2008

Linux ne fait vraiment parler de lui que deux fois par an.

Catégorie : Google, LinuxSiM07 @ 13:00

Je me suis promis de faire plus d’article sur mon blog, alors même les choses moins intéressante mais surprenantes j’ai décidé de les publier. Et là j’ai fait un petit test avec Google Trends et le résultat est assez intéressant.

Ubuntu et Fedora sur Google Trends

En rouge les recherches “Ubuntu” et en bleu les recherches “Fedora”, malgré un volume bien plus faible pour Fedora il y a une chose qui saute aux yeux, les différentes distributions ne font vraiment parler d’elle que tous les 6 mois soit à chaque fois qu’une nouvelle version est publié.Maintenant la question est de savoir si il faut sortir 1 ou 2 versions par an ou pas …

Espérons que la courbe fera un gros pic pour la prochaine sortie d’Ubuntu 8.10 Intrepid Ibex dans quelques semaines.


sept 17 2008

Mon nouveau PC à la démesure de mes envies

Catégorie : PersonnelSiM07 @ 14:52

Il y a quelques heures je viens de commander un nouveau PC. Je garde bien sûr toujours mon Dell Inspiron 9400 malgré que sa batterie n’ai plus aucune autonomie mais mon stage m’a donné l’habitude de retravailler sur un bureau et avec 2 écrans. Je me suis donc fait plaisir et j’ai acheté une tour et 2 écrans de 22 pouces.

Mais qu’a acheté le Geek que je suis ?

Je reste fidèle à Dell, il faut dire que leurs écrans sont vraiment bien et le prix pour la configuration choisi était à mon goût correct. En plus je dois dire que je n’avais pas le courage de monter moi même ma machine. Au début, ma seul limite était un PC par trop chère, au environ de 1000€ avec les deux écrans compris. Après quelques tests je me suis rapidement apercu que j’arriverais à avoir 2 écrans de 22 pouces et même peut être une machine avec 4 Go de RAM et un processeur à quatre coeurs.

Dell e228wfp

Résultat :

  • Processeur : Core 2 Quad Q6600
  • Mémoire : 4096 Mo de DDR2 (4*1024)
  • Carte graphique : ATI Radeon HD 2600 XT (2 sorties DVI)
  • Moniteurs : 2 * Dell E228WFP noir

Le tout dans une tour Dell Inspiron 530.

Le gag Windows Vista ! Vive Linux !

Il y a un gag sur la machine, le PC est vendu avec Windows Vista (normal … ou presque) en version 32 bits et est donc incapable de gérer les 4 Go de RAM que j’ai mis en option ! De toute façon je n’utiliserais jamais Vista et si j’ai mis autant de RAM c’est pour pouvoir virtualiser tranquille un système sous XP voir sous Vista. A priori mais je ne suis pas encore certain, le système devrait être une Debian Lenny sous KDE 4.1.1. Mon passage sous Fedora 9 n’étant pas 100% satisfaisant et préférant Debian pour faire office de serveur. Oui car si j’ai pris 2 écrans c’est principalement pour développer et qui dit développement dit serveur avec moi.

Je suis en train de réfléchir un peu à comment je vais organiser les 500 Go de stockage, nombre de partition, séparation de /var ? etc etc …

En résolution de  3360*1050 !!! Le pied !