samedi 28 juillet 2012

installation de la base Nosql redis

Une video (screencast' de plus consacrée  à la base de données nosql  REDIS.
Cette base s'impose comme la successeur  de  memcached.


Redis manipule cinq types de données. 
La vidéo détaille son installatino et les premiers test à faire.
ci dessous l'exemple d'utilisation de l'API  pour  Ruby .


J'ai confectionné l'infographie suivante qui reprend toutes les commandes de Redis.





mardi 24 juillet 2012

2 exemples d'utilisation du MVC Express

Une nouvelle vidéo en ligne sur les deux usages d'Express pour node.js



 Express peut etre utilisé selon deux modes. Cette vidéo detaille l'installation et le création d'application Express.

La connaissance de Sinatra aide à comprendre le fonctionnement d'Express

La video aborde le choix du moteur de template entre  ejs ou jade .



vendredi 20 juillet 2012

Express pour Node.je et Sinatra

Express est un framework MVC pour Node.js.  C'est donc du javascript (ou du coffeescript).



Express revendique clairement sa filiation avec Sinatra pour Ruby.




Et c'est vrai que l'analogie est frappante :


Coté Sinatra :




Au delà de cette simple comparaison, Sinatra et Express appartiennent bien à la même famille des DSL dans le domaine d'application de la couche WEB.

1) Le domaine d'application de Sinatra.


Sinatra permet offre un langage de manipulation de la couche web middleware.  Ruby possède une couche middleware très puissante appelée Rack.


Rack permet de faire le lien entre une requête HTTP  entrante (url, méthode et parametre) et des objets Ruby. Il est possible d'agencer à sa guise la pile de traitement d'une requete WEB.

Sinatra offre un langage permettant de travailler directement avec ces couches.

2) Le domaine d'application d'Express


Express tout comme Sinatra permet de manipuler facilement le middleware pour Node.js appelé 'connect.js'.


Express ne fournit pas directement un DSL comme dans Sinatra. Il permet en revanche de réaliser très facilement pour Node.js des applications WEB en mode MVC.

3) Les deux modes d'utilisation de Sinatra.


Sinatra fonctionne sous deux modes:

Le mode 'classique' 

L'application tient dans un fichier et elle est écrite avec le DSL.


Le mode modulaire.


L'application peut être répartie dans plusieurs fichiers.  Il est possible d'avoir plusieurs applications pour un seul interpréteur Ruby actif. En revanche on ne pourra pas faire appel directement au DSL, il faudra passer par des méthodes.

Aucun mode n'est meilleur que l'autre. C'est vraiment deux usages différents. Dans les deux cas, le développeur pourra intervenir sur l'agencement de la couche middleware.
Dans les deux modes, il est possible et recommandé d'isoler les vues dans des sous-répertoires.


4) Les deux mode d'utilisation d'Express


Express lui aussi propose deux usages.

Le mode simple


Comme pour Sinatra, l'application tient dans un fichier et liste les actions à mener pour chaque url.



Ici un exemple en coffeescript.

Le mode MVC


Un appel à la commande express 'mon_appli' génère une arborescente qui ressemble  à celle  d'une grosse application Sinatra.


Par défaut Expres utilise le système de template 'jade' mais il est possible de choisir son moteur des template. Pour ma part , j'utilise 'ejs' qui se rapproche beaucoup de 'erb' pour ruby.

Dans les deux modes, le développeur garde la possibilité de modifier la couche middleware.



En conclusion: Sinatra est a réserver pour les petite applications, après il vaut mieux passer à Rails.

Express, lui prend en charge tout l'aspect serveur WEB (cache , session )  qui n'existe pas en l'état dans Nodes.js  Express sert souvent de base pour d'autres frameworks.
je prépare une série de vidéos sur le thème d'express, rendez vous sur twitter.





 

jeudi 19 juillet 2012

Installer et réaliser une application avec Ruby on Rails en 5 minutes


Encore une nouvelle vidéo des studios 'made by german' .


Avec l'utilisation de deux commandes magiques :
gem install rails 
et
rails new 'mon-appli'

Par défaut Rails utilise une base de données légère: sqlite , mais il sait aussi travailler avec les SGBDR les plus courants: Postgresql , Mysql ou encore Oracle.

Pour SQLite: il convient de s'assurer de la présence des fichiers header pour une bonne installation du driver de la base:

le paquet contenant les fichiers header (.h) 




Parmi les nouveautés de la version 3.2.6 de Rails , j'ai remarqué l'apparition d'un répertoire 'performance' dans le dossier des tests. Deux types de tests sont ajoutés : le benchmark et le profilage.

La vidéo est en ligne ici:

J'utilise une nouvelle machine avec plus de puissance, la qualité de la vidéo et surtout celle  du son est meilleure.






N'hésitez pas à m'envoyer des idées de vidéo.

mercredi 11 juillet 2012

Le changement de stratégie de Mozilla pour thunderbird

Mozilla a déclaré se  mettre en retrait dans le développement du client de messagerie Thunderbird.

Qu'est ce que cela  veut dire ?


Les conséquences négatives: 

a) Mozilla ne mettra plus la main au portefeuille pour payer des développeurs.
b) Mozilla ne va plus gérer  la feuille de route du produit.  
c) Il y a un risque à moyen terme d'éclatement du projet

Les aspects positifs:

a) C'est à la communauté de prendre le destin en main de thunderbird.
b) Une meilleure réactivité sans la tutelle de Mozilla.

Mais pourquoi Mozilla a pris une telle décision ? : 

a) Le coeur de métier de Mozilla.


Le produit phare de Mozilla est firefox. Or Firefox est attaqué à sa droite par Microsoft qui commence à comprendre comment faire des bons navigateurs avec IE8 et surtout IE9. Et à sa gauche par Chrome de Google qui commence à récolter les fruits de ses innovations. 
(voir dans mon post précedent , la visualisation des innovations


Chrome est en passe de devenir le navigateur numéro 1 quelque-soit le support. 
Et les dernières versions de Firefox sont décevantes. 
Aussi Mozilla va se recentrer sur son  métier : le navigateur. 


b) L’avenir incertain du client de messagerie lourd (desktop ) et de la messagerie en général .

 Les utilisateurs ont plusieurs comptes de messagerie avec des centaines de mails par jours. Thunderbird était arrivé à stabiliser  une offre pour un usage  Mail 1.0 . Le Mail 2.0 n'est pas vraiment dessiné. On connait la base: IMAP au lieu de POP.
Après , surement un mélange de mail, de twitter et de messagerie instantanée avec une forte connotation de réseaux sociaux. Sur ce terrain , trois acteurs se distinguent : Google avec le poids lourd Gmail , Facebook avec ses adresses '@facebook.com' et sa messagerie instantanée et enfin twitter avec   sa micro-messagerie. 
Mais c'est surtout l'usage d'un navigateur à la place du client lourd qui s'impose. Le webmail supplante le client dédié.




Le coût  pour faire entrer thunderbird dans une autre dimension est trop lourd, une refonte globale du code serait nécessaire. 


Les utilisateurs les plus pénalisés seront les clients Linux. Mais  l'usage du webmail est déjà bien maîtrisé. D'autant qu'un webmail est pour l'instant  plus sécurisé  qu'un client lourd de messagerie (§ chargement pièce jointe , carnet d'adresse etc) . 


  


    
.  

mercredi 4 juillet 2012

Publier une simple application pour Node.js sur le Cloud Heroku

Encore une nouvelle vidéo de "made by German".  Cette fois, elle a pour objet la publication d'une application Node.js sur le  cloud Heroku.

La video ou screencast est en ligne ici.


node1

Le programme est très simple, il n'y a pas de dépendance.
Voici le source en coffee script :

Sans dépendance  le fichier package.json est très simple:

node4
Le reste des manipulations sont celles vues sur les vidéos précédentes.



Le prochaine série de vidéo sera consacrée au projet Express qui est le pendant de Sinatra mais pour Node.js