Node.js et le temps réel

 
Du nouveau sur le web, je vois de nombreux sites parler de node.js mais qu’est-ce que c’est un script JavaScript ? Oui en quelque sorte mais coté serveur. Qui l’eut cru du JavaScript coté serveur mais quel intérêt ?
Pour faire simple node.js utilise l’asynchronisme très en vogue chez d’autres éditeurs comme Microsoft. Les requêtes asynchrones en web sont souvent utilisées pour éviter d’attendre qu’une requête trop longue se finisse. On peut continuer à naviguer sans attendre que la requête se termine. C’est ensuite un autre thread qui reprend le relais.
L’intérêt premier à mon sens est le nombre de connexions au serveur et l’économie de ses ressources.
Une utilisation concrète sera de s’en servir pour des applications de chat car en mode non asynchrone on est obligé des créer des boucles qui génère une multitude de requêtes vers le serveur et l’engorge très rapidement. Ces boucles servent à détecter si un utilisateur vous envoie un message, c’est très consommateur de ressources et de bande passante. La solution : l’asynchronisme avec node.js (ou une autre technologie)
En fait ce type de technologie est parfait pour faire des applications dynamiques temps réels tel que de la notifications temps réel comme Twitter (dans Twitter les tweets arrive automatiquement sur votre page), de la messagerie instantanée tel que du chat
On appelle également cette technologie le Reverse Ajax, l’Ajax push ou Comet.
A ma connaissance il est difficile de l’installer sur Windows mais c’est faisable avec un émulateur tel que Cygwin. Le top serait d’avoir une version adaptée pour les OS Windows.
Je pense que comme l’a été la fonction XmlHttprequest (ajax) une révolution est en marche.

Mon Windows phone 7

Après avoir attendu deux mois que Bouygues veuille bien lancer leurs offres, j’ai enfin mon Windows phone 7 le HTC HD7 : 1ère remarques

L’utilisation est très fluide sur le HTC HD7, les icônes sont beaucoup plus grands que sur un IPhone et je trouve plus clair. Chose bizarre Microsoft n’a pas pensé à autoriser la personnalisation des sonneries, alors que le simple mobile de base à cette fonction ? Bien sûr par rapport l’iPhone il manque des fonctions mais cela suffit largement pour le moment.

Les fonctions très intéressantes sont la fusion des contacts en une seule fiche, la centralisation sur Windows live des contacts et calendrier, l’utilisation des photos de Facebook pour ses amis et l’affichage de leur mur.

En ce qui concerne le téléphone, le seul problème pas d’extension avec une carte ce qui a long terme sera certainement gênant.

C’est en fait une micro tablette.

Pour revenir au JqueryMobile, il passe pour le moment très sur WP7 car ce dernier intègre IE7.

JqueryMobile 1er retours d’expérience

Un retour d’expérience sur le jquery mobile : facile d’utilisation après avoir compris la philosophie de la librairie. Tant que l’on fait des projets web mobile simples cela ne pose pas de problème.

On peut créer plusieurs pages dans un seul fichier avec des transitions à la Iphone vraiment on croirait une application mobile.

Des boutons intégralement désignés donc pas forcément besoin d’intervention d’un graphiste. Cela implique une multitude de design identiques mais pour de petits projets cela peut être très intéressant. Il sera à mon avis nécessaire de personnaliser les applications mêmes légèrement.

L’avantage est un travail important des concepteurs qui font évoluer cette librairie pour que les pages s’affichent de façon optimale sur tous les navigateurs. IE7 sur WP7 n’est pour le moment pas pris en compte.

Développement web mobile

Développement web mobile nous recherchons la possibilité de réaliser des sites mobiles rapidement et esthétiques. Nous nous sommes tournée vers plusieurs librairies et finalement nous avons choisis la librairie Jquerymobile actuellement en alpha . L’avantage est une prise en compte de tous les écrans : plus de problème d’adaptation à tous les écrans. Un travail important est réalisé pour une visualisation minimale sur tous les navigateurs. Cette librairie est mise à jour très fréquemment et évolue rapidement.

http://jquerymobile.com/

 

Je vous en reparlerais au fil du temps.

Webfont loader : police dynamique

Je viens vous faire d’un service de Google que je ne connaissais pas qui concerne la chargement de police dynamique, chose très utile quand on sait que l’on ai extrêment limité sur la création de page web.
Pour ne pas répéter ce qui existe voici donc une article qui en parle et explique comment l’utiliser :
http://cssgallery.info/google-fonts-tutorial/
et ainsi que sa page Google
http://www.google.com/webfonts (liste des polices disponibles)
http://code.google.com/intl/fr-FR/apis/webfonts/docs/webfont_loader.html
http://code.google.com/intl/fr-FR/apis/webfonts/docs/getting_started.html#Syntax

Production d’un livre sur l’asp.net

Je commence à écrire un livre dans lequel je mettrais en place de façon pédagogique un service en ligne en prenant comme exemple une gestion documentaire. C’est un énorme chantier mais qui me tiens à cœur et qui me permettra d’expliquer ma façon de travailler au quotidien.

Treeview et performance

Le composant Treeview de Visual studio est très complet car on peut suffisamment le customiser pour changer toute son apparence. On peut également l’utiliser avec des méthodes POST ou GET ce qui est très utile. Il a une fonction collapse qui permet d’ouvrir tous les nœud sans aller-retour serveur. Sans écrire une seul ligne de code javascript en déposant seulement le composant et en travaillant sur le code c# il se suffit à lui-même.

Mais il a 2 défauts :

– Le 1er est de ne pas pouvoir fermer les nœuds précédent après avoir cliqué sur le dernier nœud ce qui provoque un manque de clarté de l’arborescence.

– Son 2ème défaut est qu’il se construit à l’ancienne avec des tables imbriquées ce qui le rend – inutilisable – lorsque les rubriques sont trop nombreuses sur un Intranet par exemple.

Donc à chaque problème sa solution

1. Il faut utiliser l’adapter friendly css

a. http://www.asp.net/cssadapters/ et http://www.asp.net/cssadapters/TreeView.aspx

b. http://www.techheadbrothers.com/Astuces.aspx/activer-css-friendly-control-adapters-code

2. Pour le 2ème point charger les nœuds filles au fil des ouvertures manuelles par les utilisateurs.

La dernière solution est de prendre des composants payants qui sont plus aboutis que les composants de bases comme ceux d’ Obout

Asp.Net Membership et sessions anonymes

Après avoir développé énormément sur Asp.net et sql serveur, je m’aperçois qu’il y a un défaut d’optimisation au niveau du système de gestion des membres sur la base de données sql : Des sessions anonymes engorgent la base de données qui gonfle à vue d’œil. Plus il y a de trafic plus la base croit c’est un vrai problème car rien n’a été prévu pour remédier à cela. On peut effectivement supprimer des profils non utilisés depuis un certain temps mais la base une fois qu’elle a prise une certaine taille elle la conserve. Comme il y a une solution à tout il faut prendre aussi  la casquette d’administrateur SQL Serveur et prévoir des tâches de travail de maintenance en supprimant régulièrement ces profils anonymes inutiles.

Voici un lien qui explique de façon précise le problème et donne une solution (Omar al Zabir s’attache particulièrement à la performance) : solution

Je ne vais pas vous donner ma solution car c’est finalement à peu près la même que celle d’Omar.

L’autre point qui peut altérer la performance est l’utilisation à outrance des Unique identifier dans le système SQL de gestion des membres mais là malheureusement on ne peut rien y faire (enfin à ma connaissance).