Affichage des articles dont le libellé est rails. Afficher tous les articles
Affichage des articles dont le libellé est rails. Afficher tous les articles

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.

samedi 21 janvier 2012

Nouvelle version 3.2 de #rails

La version 3.2 de ruby on Rails est arrivée.

Les principales  nouveautés sont les suivantes:

  • Nouveau système de cache du code ruby de l'application. Le framework détecte si un fichier source à changé et dans l'affirmative recharge le code.  
  • Une extension pour examiner les requêtes SQL (mode explain)  
  • Un nouveau système de log.
  • La documentation dans le format EPUB, kindle etc

Et encore plein de bonnes choses




L'installation est toujours aussi simple :
rvm gem install rails

(5 minutes après)

rails new myAppl

puis
cd myApp
rails server

Et par magie dans le navigateur : localhost:3000



vendredi 23 décembre 2011

5 tendances pour 2012 #nodejs #html5 #javascript


La fin d'année arrive avec son lot de prédiction, de tendance pour l'année 2012.
Je vais faire ici ma liste des 5 tendances qui vont  dominer ou non l'année qui arrive.
Par honnêteté je réaliserai l'an prochain à la même époque un bilan.

Tendance 1: De plus en plus de chose font se faire en javascript coté client. HTML5 annonce une mutation sur la manière de faire des applications. jQuery, Backbone , batman  seront les valeurs montantes. Les raisons de ce phénomène ?:
a) La fragmentation des postes clients (pc, tablettes, smartphone)
b) les couts de traitement coté serveur vous sont facturés cash (cloud computing, serveur , salle machine)

Tendance 2: amaigrissement des frameworks : c'est le corollaire du point 1. Les serveurs ne sont que des distributeurs  de données , en JSON si possible,  avec une simplification à l’extrême. Une application métier  sera l’agrégation de mini-services hétérogènes.

Tendance 3: Les entreprises vont continuer à investir dans les réseaux sociaux (Facebook pour ne pas le citer). Après les pages de groupe ou de fan, l'étape suivante est la création par les entreprises d'applications intégrées à Facebook. La force de Facebook n'est pas son contenu mais son architecture. C'est  une architecture ouverte qui permet à chacun de développer des applications qui viennent s'intégrer à Facebook (exemple ici avec Rails) .

Tendance 4: Virage de Twitter, l'usage que je préfère est le partage de lien. Il permet de savoir que telle ou telle personne   est en cours de lecture d'un document. Delicious remplissait ce role mais depuis peu , il se tourne vers la curation de contenu, dommage. L'autre usage de twitter est la recherche d'information en continu. 2012 sera une année charnière pour twitter qui doit dégager une logique économique ou etre mangé par un gros (Facebook , microsoft ou google)

Tendance 5: Les bases de données NoSQL. Les volumes de données explosent et les entreprises ne savent plus les analyser (moins de 10 % de données sont exploitées) . Les bases NOSQL ne vont pas résoudre ce problème mais ne font que le repousser.


Les conséquences de tout ca:

Croissance de javascript et HTML5 dans les systèmes d'information. Javascript va prendre pied sur le coté serveur avec la révolution de node.js. Node.js permet à un développeur moyen de programmer des services asynchrones repoussant très loin les limites: en temps de crise , l’intelligence remplace l'argent. Dans le monde JEE scalabilité est synonyme d'achat de serveur, c'est la fin d'une époque.

Seuls les framework qui  anticiperont ce mouvement vont tirer leur épingle du jeu: parmi ceux ci :Rails.

Posez vous cette question: c'est le framework qui est à votre service ou vous qui êtes à son service.


dimanche 18 décembre 2011

Le blues des frameworks MVC #node.js

Le concept du framework MVC  (modele vue controleur)  date du début des années 80 , bien avant le temps d'Internet ou de Java/JEE.
mvc 2

Jusqu’à maintenant les choses étaient simples. Un bon gros serveur MVC générant des vues pour le client.
La carrière de l'informaticien était toute tracée: Le MVC serveur tu maitriseras. Hélas des elements sont venus parasiter ce bel édifice.

  • La montée en puissance du javascript.

Boosté par les gars de google ou de microsoft , le moteur d'exécution javascript est celui qui a gagné le plus en performance.

  • Le javascript est le seul langage supporté par tous les navigateurs.
  • La segmentation du poste client
Le PC est maintenant en concurrence directe avec les smatphones ou les tablettes. Le concepteur se retrouve devant une fragmentation du matériel et il doit gérer tous les cas de figure (clavier / ecran tactile)
ET cela même au niveau des applications métiers

 Il n'est donc  plus réaliste d'avoir tout le traitement de la vue préparé au niveau du serveur. Le framework se trouve réduit à un distributeur de données en ... JSON.  

  • Plusieurs frameworks et non plus un seul framework

Certains traitements sont déportés sur le client mais sans pouvoir êtres terminés.
Prenons l'exemple d'un export CSV pris en charge par du javascript sur le poste client:
A)  Le client recoit de la donnée en JSON
B)  Le client retravaille les données et fabrique un export CSV
C) Le client NE POURRA pas enregistrer son travail sur son poste local (pour des raisons de sécurité, le navigateur refuse de dialoguer avec le système de fichier local) .

La solution est d'envoyer le fichier CSV vers un serveur qui se chargera de retourner le fichier reçu avec la bonne entete. Ce serveur joue le rôle d'un miroir qui se contente de renvoyer ce qu'il reçoit du client. Pour cela une dizaine de lignes suffit, nul besoin d'un framework embarquant plusieurs milliers de ligne de code.

Ainsi l'architecture applicative ne sera pas composée d'un gros serveur MVC mais de plusieurs composants hétérogènes de taille réduite.

On ne peut plus parler de modèle MVC. Sur ce site http://blog.nodejitsu.com/scaling-isomorphic-javascript-code  Charlie Robbins  liste les differents modèles induits par l'utilisation de framework client (backbone.js , batman.js etc ) et introduit la notion de RVP : Resource-View-Presenter




C'est pour ça que les frameworks  'classiques' vont devoir s'adapter ou disparaître. A ce jour seul Rails avec les versions > 3.0 a pris le parti de se mettre en retrait sa partie serveur pour mettre en avant la partie cliente.



samedi 19 novembre 2011

Conférence sur coffeescript

Dans cette vidéo,  David Kinney de Redpoint Technologies présente les avantages de coffeescript.
J'ai réalisé le montage suivant à partir de sa présentation :
Dave met en parallèle la grosse bible : guide définitif de javascript et le petit fascicule sur les bons morceaux de javascript. C'est vrai qe javascript PLUS que tous les autres langages est une arme dangereuse à ne pas mettre en toutes les mains.


La preuve cette petite expérience:
Sur une console lancer  le calcul : '10' + '4'  puis '10' -'4'
Le résultat est là:


node
console.log('10' + '4')
104
console.log('10' - '4')
6



Surprenant !


Aussi coffeescript permet d'éviter la plupart des pièges de javascript tout en générant du javascript propre.

En plus il fournit des opérateurs qui simplifie la vie comme par exemple le '?'

Sa présentation se termine par l'intégration dans  rails 3.1 de coffeescript

La video :

CoffeeScript: A New Brew by David Kinney, Redpoint Technologies from ChicagoRuby on Vimeo.

samedi 28 mai 2011

La présentation lumineuse de DHH #rails #javascript

Lors de la Railsconf 2011 à Baltimore, David Heinemeier Hansson créateur de Ruby on Rails à fait une présentation remarquable .

S'il ne fallait retenir qu'une diapo  ce serait celle ci :

Je l'ai modifié pour illustrer le propos :




mymvc 
Il y a une pléthore de langages pour la partie serveur, Mais IL Y EN A QU'UN qui est universel sur le client (navigateur) c'est le javascript.

Aussi , ergoter  sur les avantages de tel ou tel langage n'a plus vraiment de sens car du coté client : il n'y que javascript.
Rails au lieu de  chercher à s'approprier  du coté serveur le javascript, met le framework au  service du développeur javascript. Pour cela Rails dans la version 3.1 proposera par défaut coffeeScript
 Ce DSL permet d'écrire facilement du javascript, il génère du javascript. 

L'autre ajout est SaSS : c'est l'équivalent de coffeeScript pour le CSS.

Enfin cerise sur le gateau, un utilitaire permettra de rassembler tous vos petits morceaux de javascript, css , images pour ne faire qu'un seul fichier compressé.
C'est Sprockets qui se charge de tout ca.

Donc, au lieu que la partie javascipt , css soit cachée sous le tapis, dans Rails, elle est mise en avant au service de : jquery


Ruby on Rails ne veut pas dominer le monde comme les autres framework, il ne cherche qu'a le rendre plus facile pour nous, pauvres développeurs.

La version 3.1 de rails s'annonce comme un tournant historique.C'était  déja le cas pour la version 3.0 avec la fusion réussie avec Merb.

Rails est un outil pour simplifier le travail du développeur, ce n'est pas un boulet à trainer.
Comment voyez vous votre framework :

Comme ca ? :un outil à votre service 


Ou est ce  vous qui êtes à son service ? :dans une machine infernale

samedi 21 mai 2011

#Rails plugin Activeadmin.


Le plugin Activeadmin pour Ruby on Rails (ROR) vient enrichir l'offre d'interface d'administration pour Rails.
A l'inverse de django sur Python, rails ne propose pas nativement une interface d'administration de ses ressources. Cette position vient constat très simple: chaque entité a sa propre gestion des utilisateurs et des roles. Faire un outil natif qui convienne à tous est un peu illusoire. 
La statégie innovante d'activeadmin est d'utiliser  un véritable DSL (Domain specific language). Lien ici vers formtastic.