Chargement...
Je vais vous proposez une idée simple, “faire un cluster avec l’idle CPU des gens qui trainent sur des sites webs”. Comment ? En JavaScript bien sûr !
Vous vous souvenez tous de Folding@Home (ou Seti@Home même si le coté UFO me botte beaucoup moins), pourquoi ne pas reprendre l’idée en AJAX ?
Les navigateurs Web récents on fait un énorme bon en terme de performance sur l’interprétation du JavaScript. Vous trouverez facilement sur google de nombreux articles qui traitent du sujet.

Si vous suivez ce blog vous avez dû tester un petit portage que j’avais fais de JBox2D avec GWT et les Canvas. Je vous laisse retenter l’expérience et vous verrez que le moteur physique est beaucoup plus rapide qu’il y a un an.
Pour rappel, GWT (Google Web Toolkit) permet de traduire du code Java en JavaScript. Bon ce n’est pas magique et il y a des limites mais ce compilateur permet assez facilement de porter des choses assez complexes.
Un langage de plus en plus rapide, un bon compilateur passons donc a l’étape suivante !
Le JavaScript est un langage de script fournit par le serveur et exécuté par le client. Il n’y a donc aucune installation et aucune restrictions (sauf en terme de sécurité, et ça se comprend) mais il n’y a aucune limitation en terme d’usage CPU.
Il est donc facile de faire un script qui récupère des données a traiter et l’algo de traitement (tant qu’a faire) effectue un certain nombre de calculs complexes puis transmet la réponse (en json par exemple) a un serveur.
Votre navigateur web permet donc (en terme pompeux), l’injection en javascript des données, le traitement et la transmission des résultats a un serveur.
Ici la seule difficulté, c’est le développement d’un serveur qui envoie les données a traiter et récupère les résultats et il faut le dire… c’est vraiment pas compliqué.
Vous avez donc grâce au couple HTML/JS un outil de déploiement facile de cluster. Et ben ça alors ! J’irais même plus loin en disant qu’il est UNIVERSEL puisqu’ici même votre téléphone (Android ou IPhone) pourra aussi contribuer au cluster. Tout ce qui peut aller sur le net (et qui a un navigateur JS) pourra contribuer aux calculs.
Mais, il y a forcément un bémol. L’utilisateur doit consciemment ou inconsciemment laisser son navigateur sur une page ou le script de calcul est présent. Je dis bien “inconsciemment” car l’utilisateur ne sais pas que du javascript tourne en arrière plan d’une page web. Un utilisateur mal intentionné pourrait donc recycler son site web en une énorme ferme de calcul (Je ne parlerais même pas ici d’attaque de cross site scripting) . Il faut bien comprendre qu’une simple balise SCRIPT dans une page web transforme un simple ordi en une partie du cluster.
Je vais ici proposer 3 idées d’utilisation d’un tel système de cluster.
Vous l’aurez compris il faut que l’utilisateur soit présent sur la page pour que le calcul se fasse.
Imaginons que Google demande a ses utilisateurs de GMail et Google Docs de participer a un projet de calcul pour le domaine médical (type folding@Home). Il suffirait que l’utilisateur accepte (en connaissance de cause) et le script JS pourrait être lancer en arrière plan.
Des centaines de milliers de navigateur utiliseraient donc leur temps idle CPU pour le domaine médicale. Merveilleux
.
Ici on est dans un domaine moins glamour. Un étudiant a prouver qu’il était possible de cracker des clé WPA avec le cloud d’Amazon, ici il suffirait de transposer ce principe sur un site web. Tout utilisateurs se connectant ce site web pourrait donc contribuer (sans le savoir) au hack de cette clé WPA.
L’utilisateur mal intentionné pourrait rajouter volontairement un script sur son site web ou alors l’injecter sur un site très connu par une attaque de type “cross site scripting” injectant ainsi son code de clustering.
J’insiste lourdement là dessus mais ce genre de pratique ne pourra JAMAIS être détecté car vous n’avez aucun contrôle sur les intentions du code JavaScript d’un site web.
Ici l’idée est de faire un système de peer2peer mais en terme de temps CPU.
Toutes personnes restant sur la page de “l’open cloud” obtiendrait un crédit temps CPU. Si il souhaite utiliser le cloud il pourra exécuter grâce a une API JS ou même GWT du code qui sera exécuté plus ou moins rapidement en fonction de son crédit temps.
Imaginez le super calculateur qui pourrait émerger d’une telle structure !
L’évolution d’application en AJAX nous réserve a mon avis bien des surprises. Ce sujet me passionne particulièrement en ce moment et j’espère assez rapidement mettre en place une sorte de “Proof Of Concept” avec un challenge de clé Sha1.
J’espère que cet article vous aura intéressé et n’hésitez pas a laisser un commentaire
.

Voici comment éviter les horaires d’affluence à la poste de Yutz. C’est au final assez simple…
Un peu comme la netiquette il y a bien longstemps, je propose en tant qu’éternel râleur une “tweetiquette” (qui peut aussi s’étendre au status facebook), un ensemble de chose a respecter pour ne pas être trop lourd sur tweeter.
Si d’autre choses vous agace sur certain de vos followers, n’hésitez pas a le rajouter en commentaire
En voyant la bande annonce du prochain film de Guillaume Canet je me suis dis que je devrais faire un post sur, “Qu’est-ce qu’un vrai film français ?”.
Attention, ici on parle du VRAI film français ! Pas de comédie potache avec Christian Clavier et Gerard Depardieu. Non non ! LE film français qui a des récompenses a Cannes !
On peut se dire que c’est compliqué mais en fait c’est TRES simple de faire un film français. Il suffit de suivre quelque “guidelines” ou “ligne de guide” (pour faire plus FRENCHY).
Si vous en avez d’autre, n’hésitez pas a laisser un commentaire. Je vous laisse aussi retrouver les films français qui m’ont inspirés pour ces règles
.

Dans un article précèdent, je conseillais d’utiliser CSS3 sans attendre en faisant une analogie avec des jeux vidéos qui ont des effets visuels dégradés si on a une vieille carte graphique.
Je viens de remarquer que certain “gros du web” ont déjà appliqué ce principe. Le site évènementiel de Twitter sur la coupe du monde utilise des CSS3. Si vous avez l’occasion de le visiter avec IE il sera un peu moins “kawaï”.
Si vous avez d’autre site qui sont moins beau sous IE mais qui ne gène pas a l’utilisation, n’hésitez pas a le mettre en commentaire
.
Je l’avoue ! Le billet d’hier était un “test” grandeur nature pour vérifier ce que je pensais en voyant les stats de mon blog.
En effet, j’ai remarqué que l’audience de mon blog été dopé par moment. En y regardant de plus prêt, j’ai remarqué que cela coïncide systématiquement avec tout les trolls que j’ai pu faire sur l’Iphone ou sur Apple en général.
Je comprend mieux maintenant pourquoi TF1 fait dans la télé réalité… ça sert a rien mais ça fait de l’audience (si vous faites un parallèle avec un Iphone, cela vient uniquement de votre esprit perfide :p)

On le sait déjà… l’Iphone rendrait sexy… mais ne rendrait-il pas aussi méchant ?
Je remarque depuis un moment. A chaque fois que je fais une critique sur l’Iphone d’Apple, je me prend des remarques, des commentaires de 40pages… presque des mails d’insultes, des rats morts dans la boite au lettre et j’en passe. Pourquoi même mes amis proches se retrouvent à défendre l’image de leur téléphone avec autant d’angouement ?
Je peux bien comprendre qu’il y a un attachement sentimental derrière ce qui fut l’un des PREMIERS vrai smartphone mais pourquoi continuer a défendre les choix d’Apple ?
A l’évocation d’un problème sur la “bête” j’ai le droit a des “tu devrais revendre ton macbook”, “tu ne sais pas de quoi tu parles !”, blah blah blah.
Pourtant j’accepte les critiques. Lorsqu’on fait des critiques sur Android je dis “oui”. Je reconnais qu’il a un certain nombre de défauts.
J’ai l’impression d’avoir l’âme d’un Stéphane Guillon ou d’un Didier Porte. A tout moment, je m’attend a me faire limoger par mes amis car je n’ai pas décider d’être a droite… pardon… pour Apple.
Alors je vous pose la question. Pourquoi ? Pourquoi autant de véhémence ?
Comme promis, un petit post sur quelques photos prises en Bretagne par Pauline et moi avec le D80.


Ohhh, je vous entend déjà ! “Oui, la danse… c’est un truc de taffioles (sans aucune homophobie) !” Je vous arrête tout de suite. Je dis “NON !”
J’ai décidé de faire un petit texte a contre courant, plutôt que de faire un 546ème article sur HTML5/CSS3 pourquoi ne pas parler des bienfaits de la danse ?
Quand on danse en couple, c’est l’homme qui décide ! Un peu comme dans la pub carrefour. C’est d’ailleurs l’un des rare endroit où on peut guider, diriger sans avoir une association de féministe en furie sur le dos.
Pour ceux qui pense que la danse ce n’est pas viril j’ai envie de leur dire “Est-ce que vous pensez que décider pour votre partenaire ce n’est pas viril ?”
Vous décidez… c’est bien mais encore faut-il le faire en ayant confiance en vous. En danse tout se décide sur un petit mouvement de main. Une main trop haute, trop basse ou hésitante sur ce que vous comptez faire et c’est le drame !
Votre partenaire doit vous faire confiance et elle ne connait pas la chorégraphie que vous comptez faire. Sachant qu’on a pas le temps de faire un plan avant que la musique commence et que vous n’aurez pas l’occasion de lui en crier “LA JE COMPTE TE FAIRE TOURNER A DROITE”, il va bien falloir lui faire comprendre par quelques mouvements vifs et assurés.
Si vous avez au début de vos cours de danse de le faire avec une partenaire très “pro”, vous aurez aussi bien l’occasion de danser avec une petite veille de 68ans raide comme un piquet qui sent un peu la naphtaline ou encore avec une ménagère qui a bien décidée de vous faire comprendre qu’elle veut autant guider que vous.
A chaque partenaire il faudra agir d’une manière différente. Plus directif, souple ou laisser une certaine liberté, il vous faudra très souvent changer de stratégie.
Je ne parle même pas ici des différences morphologiques qui vous demanderont de vous adapter.
La chorégraphie n’est jamais prévu a l’avance. Nombre de personnes sur la piste de danse, durée de la musique, tempo, style sont autant de paramètres qui font qu’on ne peut pas prévoir une chorégraphie “standard”.
Comme vous avez en charge de “diriger” la danse, il vous faut donc établir un plan en temps réel ! Vous devez déjà guider mais en plus vous devez réfléchir a la prochaine figure que vous comptez faire et voir si cela est possible au vu de la place que vous avez autour de vous.
Pour danser, on est obligé d’être en contact avec des gens. Pour un geek completement associal, c’est un très bon exercice !
Il y a de forte chance que pendant le cours vous deviez changer de partenaire. Et ça c’est bien
.
Décision, confiance, adaptation, anticipation sont autant de qualités qui sont nécessaires pour bien évoluer dans le monde de l’informatique (pour la sociabilisation ça peut être optionnel dans certain cas
).
Si il vous en manque, vous savez ce qu’il vous reste a faire
.