samedi 15 octobre 2011

Bref, j'ai mis à jour ma version d'ubuntu

bref , hier soir  j'allume ma machine et elle affiche ce message : voulez mettre à jour votre distribution avec la dernière version d'ubuntu (la 11.10) ?

Bref , je réponds oui , pourquoi pas ?.
Bref la fenêtre suivante s'ouvre :


Bref le temps restant passe de 1 seconde à 4 heures , puis à 7h  puis retombe à 4h pour telecharger 1691 mises à jour

Bref  , je vais me coucher en laissant la machine allumée.

Bref au petit matin l'écran est bloqué sur une boite de dialogue concernant le plugin flash
Bref, il reste une heure pour terminer l'installation
Après 1h 30, la machine redémarre et je n'ai plus de touchpad .
Bref , je pense que je tiens la bonne excuse pour acheter un macbook Air
Bref, je redémarre la machine, tout fonctionne  et j'ai un portable  remis à neuf qui marche encore mieux qu'avant

Bref, j'ai  mis à jour ma version d'ubuntu
Et je ne le regrette pas.




samedi 8 octobre 2011

Une tasse de coffeescript

Coffeescript est un nouveau langage de programmation qui génère du javascript. Le site officiel est ici.

 Ce langage est remarquable, il fait parti des DSL (domain specific language). Son auteur Jeremy Ashkenas a démarré en utilisant un livre très connu des hackers : Comment ecrire son propre langage de programmation.
La première version de coffeescript était en Ruby, un langage très adapté pour les DSL. Les versions suivantes  de coffescript sont en  coffeesript...
Coffeescript utilise la bombe du moment 'node.js' comme interpréteur.


Le programme javascript généré peut s’exécuter dans un navigateur ou sur une instance de node. La syntaxe de coffeescript est un mélange de Ruby et de Python dont il reprend les principes d'indentation.
Un script coffeescript par convention prendra l’extension '.coffee'
La génération du javascript se fait par la commande coffee -c monscript.coffee. On obtiendra ainsi  un  programme monscript.js. Ce programme répond à tous les critères de qualité des outils comme jslint.
Sans l'option '-c' le script est  traduit et exécuté directement  par node.js

Le framework Ruby on Rails dans sa dernière version intègre ce générateur de code.
Il suffit de placer un script avec l'extension coffee dans le répertoire javascript pour qu'il soit compilé et rendu disponible à l'application.

Ici j'utilise jquery via coffeescript :

$ ->
   alert "mon premier script avec coffeescript" 


Après un temps d'adaptation de quelques jours, j'ai du mal maintenant à écrire directement du javascript. D'autant qu'il se charge du sale boulot: déclaration des variables locales, closures etc.
La simple ligne : puts = console.log permet d'utiliser la notation classique puts "mon message" comme en Ruby.
J'ai profité du site www.scoop.it pour rassembler des liens sur le sujet : lien de curation ici.





vendredi 7 octobre 2011

Soirée rails france paris.rb

Mardi soir direction le café 'rubis'  rue du Maine pour une soirée organisée par rubis ou rails france. Nous sommes une bonne quarantaine à nous retrouver dans une salle trop petite. Le rétroprojecteur a fait faux bond, aussi  au lieu d'ajourner la soirée, une présentation est improvisée sur un mac book Air. Il s'agit du projet sproutcore.

C'est un framework javascript qui peut s'interfacer facilement avec Rails.
Ce projet se veut plus complet et intégré que backbone.js. Ce type de produit sert à développer des applications pour clients riches, pas pour faire des sites web classiques.

La présentation est là : (suivre le lien).

La soirée m'a permis d'admirer la maquette du nouveau site rails France avec une page 404 prometteuse
 
Tout de même une bonne soirée

mardi 27 septembre 2011

Rails 3.1 plus qu'une nouvelle version

La sortie de la version 3.1 de Ruby on Rails est un évènement qui marquera le web 2.0. C'est le premier framework qui se met au service des  composants qualifiés à tort de secondaires: Le javascript et le CSS.
La force de  Rails 3.1 est d'arriver à fédérer les meilleurs produits tout en restant dans son rôle de cadriciel.

Les éléments forts sont:
a) Utilisation de node.js pour proposer le facilitateur de javascript  coffeescript. On peut imaginer les montages a faire entre rails et node.js
b) Jquery est mis en avant. C'est tout le  javascript et le css (avec le générateur Sass ) qui vont bénéficier d'un nouveau traitement par le biais des assets. Il suffit d'ajouter son script dans un répertoire dédié pour qu'il soit ajouté et compressé avec jquery.
c) Le middleware : le lien entre la requête http et le langage est réalisé par le système Rack. Ruby est à ce jour le seul langage à proposer une boite à outil de ce type.


arborescence d'un projet Rails
Sur cette copie d'écran, on notera l'apparition du répertoire assets qui contient trois dossiers: un pour le javascript , un pour le css et un pour les images. Les trois fonctionnent de manière identique et dans le même but: concaténer les fichiers en un seul pour réduire le nombre de connexion réseau nécessaires à l'obtention d'une page complète.

Utilisation du javascript.

Tout commence par la création d'une application Rails par la commande éponyme: 
rails mon_projet  . 
La commande rails s'est étoffée :
La  première page est activée en générant un controleur (ex: rails g controller commun index ) . 
Tout fonctionne : 


Et là, la magie commence, deux lignes de javascript déposé dans le répertoire assets et aussitôt Rails vous sert jquery.


Si on ne veut qu'une seule requete pour récupérer le javascript dans l'environnement de développement,  une petite modification des fichiers de configuration s'impose.

Ces lignes dans  le fichier environments/development.rb
précisent de :

 config.assets.compress = true                                    # compresser tout le contenu d'assets
  config.action_controller.perform_caching = tr         # Utiliser un cache serveur
  config.assets.js_compressor  = :uglifier                    # Utiliser uglifier comme minificateur de javascript  
  # Expands the lines which load the assets
  config.assets.debug = false                                      # enlever le mode debug

A la premiere requete :
Rails va compiler les programmes coffeescript s'ils existent. Il va ensuite assembler les fichiers javascript, les concaténer et les mettre en cache (nettoyage du cache : rake tmp:clear).

Avec comme résultat : 1 css et 1 javascript minifié
   

La version 3.0 était déjà une révolution: c'était la fusion de deux projets opensources majeurs (Rails et merb) , alors que le fork est le mode de vie normal d'un projet. La version 3.1 fait encore plus fort et réalise la synthèse de deux idées puissantes : les frameworks légers et agiles  pour le web et la reconnaissance du javascript (coté client et serveur).

jeudi 22 septembre 2011

Les planes spotters: observateurs d'avion

Je suis tombé par hasard sur un article sur une bien belle passion: photograpier ou prendre des notes sur les avions de ligne.
Définition de wikipédia: Un spotter est un passionné d'aviation parcourant les aéroports et aérodromes du monde entier, afin d'observer, répertorier, prendre des photos d'avions et/ou notes diverses (photos d'empennage, immatriculations, etc.)


Un site encore plus étonnant : http://www.flightradar24.com/ : se site permet de suivre les vols commerciaux en direct avec indication de l'altitude, de la destination de la vitesse etc.

Le clic sur un avion donne le détail:





Une des plus grosses bases de données des avions est ici : http://www.airliners.net/

mercredi 21 septembre 2011

La carte de France des emprunts toxiques par commune

Sur le site du journal Libération : la carte de france des emprunts toxiques (lien ici et ici ). 

Je suis curieux de voir les résultats pour ma commune de Villiers sur Marne... pas déçu ...en couleur rouge.

L'article de complet de Libération est là.

source: Libération du 20/09/2011

dimanche 18 septembre 2011

Le jour où j'ai failli acheter un macbook air

Mes projets de la rentrée : prendre un an de plus,  passer la cinquantaine et acheter un macbook Air.
Les deux premiers projets sont bien engagés (et terminé). Concernant le Macbook Air, j'avais repéré les lieux à la source même:

DSCN3101
 Après avoir fait le tour de quelques FNAC pour trouver le modèle souhaité (4 go,128 go , 11 pouces) , j'arrive au comptoir pour régler et là DAMNATION : j'ai oublié un papier .. m...
Retour à la maison les mains vides et je repasse au banc d'essai . Pourquoi acheter un apple ? , quelles applications ou usages incontournables.

Pourquoi changer de machine ?
 - Il est petit mais encore lourd
 - Je ne peux pas facilement brancher l'appareil photo
-  J'ai mis l'OS en vrac  (patch)

Pourquoi acheter un mac ?
- Pour frimer: tous les développeurs Ruby/Rails en ont un.
- Pour utiliser textmate (40€)
- Pour utiliser iphoto
- Pour brancher des périphériques de manière facile ex: clé 3G
- Pour le poids
- Parce qu'il est beau

Pourquoi ne pas acheter un mac AIR ?
- Il n'y a pas de sortie Ethernet (30 €)
- Il n'y a pas de prise VGA (30 €)
- Il est cher (> 1050 €)
- Le disque dur est plus petit que mon portable actuel

Après d'intenses réflexions, j'ai donné une deuxième chance à mon portable en remplaçant ma version d'ubuntu vieille de deux ans par la dernière mouture.


Et là miracle, je mesure le travail accompli par les développeurs, les contributeurs connus ou anonymes.
Toutes les fonctions de mon portable fonctionnent, j'ai un peu honte vis à vis de mon portable.  Le seul bémol reste mon envie de développer. Je ne suis pas sûr qu'un Mac me redonne le gout de pondre du code. Le Mac serait-il un ersatz au viagra dans sa catégorie ?

Aussi, prendre un Mac pour représente la solution de facilité et est un signe de capitulation voire de vieillesse.

Alors quelles bonnes résolutions :

a) Ecrire des articles sur node.js , javascript
b) Ecrire des articles sur rails 3.1
c) Ecrire du  code


Préparer ses munitions:
DSCN4149