vendredi 29 juin 2012

Visualiser l'évolution des navigateurs

Sur site (lien ici), il est possible de visualiser l'évolution des navigateurs WEB en regard des standards.




On peut constater qu'un grand nombre de volute partent de chrome vers les autres navigateurs.

Même si cela ne fait pas toujours plaisir, il faut reconnaître que Chrome fait avancer les choses dans le bon sens.

jeudi 28 juin 2012

Le méthode des '5S' appliquée au développement

La méthode  des    '5S'  est une technique de management japonaise visant à l'amélioration continue des processus.   Chaque 'S' correspond à un verbe  japonais :

  • Seiri (整理?) : débarrasser
  • Seiton (整頓?) : ranger
  • Seiso (清掃?) : nettoyer
  • Seiketsu (清潔?) : ordonner
  • Shitsuke (?) : être rigoureux




Appliquer au développement  cela peut donner :

Débarrasser : Enlever du code tout ce qui ne sert pas à remplir la fonction principale du projet.

Exemples: 
Des fonctions qui pourraient servir dans une version future. 
Des lignes de code commentées mais non enlevées.
Enlever tous les commentaires. Ils introduisent un risque de désynchronisation entre le texte explicatif et le code

Ranger: classer ses fichiers projets dans des répertoires. 

Exemples: Créer des répertoires pour les images , le javascript etc. 
Pas plus de 15 fichiers par répertoires et pas plus de 4 niveaux de répertoire

Nettoyer: Relire le code et refactoriser.

Exemples:  ne pas faire à deux endroits la même chose. (DRY: Don't Repeat Yourself ) 
Corriger les bug le plus en amont possible.
Ne pas accumuler les dettes techniques.

Ordonner: Enlever du programme principal les fonctions annexes

Exemple : privilégier les interfaces sous la forme d'API . Standardiser ses librairies


Rigueur:  

Exemple: ne pas abuser d'un découpage en couche pour déplacer un problème au lieu de le résoudre. 
Utiliser les standards
Reconnaître ses erreurs

L'application de ses principes suppose un processus d'amélioration continu : Kaizen 


Bref les 5S sont vos amis : Vous avez le destin de votre code entre vos mains, soyez agile.




mercredi 27 juin 2012

publier une application #node.js ou #sinatra sur le cloud heroku

Sur youtube la screencast ( vidéo) de la deuxieme et derniere partie de la publication d'une application sur le cloud heroku


Le plan de cette vidéo est le suivant : h2

Quelques diapos de la vidéo

La gestion des dépendances
h4
Création de l'application sur héroku
h3

En résumé

a) Créer un répertoire
b) faire git init
c) Créer la stack heroku
d) versionner
e) Publier




bref regardez la vidéo.


(rappel :lien vers la premiere partie : lien ici.)

mercredi 20 juin 2012

Conférence de Patrick Chanezon : Le développeur :The artist #cloud , #ruby

J'ai assisté à des  conférences de Patrick Chanezon (ex Google , maintenant chez Cloud Foundry)
C'est quelqu'un d’enthousiaste et de très bons conseils.

J'avais préparé ma conférence pour les solutions linux et par hasard la veille je suis tombé sur une conférence de Patrick sur l'évolution du développement: sa vidéo est tombée à pic. L'important lors d'une présentation est de raconter une histoire. J'ai commencé la mienne par ' mon chien médor  a le blues, il est developpeur JEE etc... .'


 



J'ai commencé à m'amuser avec le Cloud , celui d'heroku et grace à Patrick j'ai découvert celui de Cloud Foundry. J'ai ouvert un compte et je pense bien l'essayer prochainement , cela fera l'objet d'une future vidéo sur http://apprendre1chosechaquejour.herokuapp.com/ . Le coeur de  Cloud foundry est en Ruby, le projet est en opensource.  Il  supporte d'autres langages  que Ruby :java , Node.js etc. Il est possible d'installer un cloud  localement sur sa machine avec vmware.

Ma conf sur share-slide :

mercredi 13 juin 2012

Une vidéo pour commencer avec le cloud #Heroku

Une nouvelle vidéo sur le sujet  du cloud heroku: Les prérequis. 
Elle est disponible ici sur ce lien.

Plan de la vidéo 


1 ) GIT.


Héroku utilise le système GIT pour réaliser les publication sur le nuage. Le choix de ce système permet de tester localement l'application avant sa publication. Il présente l'avantage d'utiliser une  commande connue par les développeurs. GIt est la 3eme génération d'outil de versionning après CVS et SVN.


2 ) Clé SSH


Héroku utilise une clé SSH pour sécuriser la publication des composant.
C'est avec la commande ssh-keygen que la clé sera obtenue. La syntaxe est la suivante: 
ssh-keygen -t rsa -C une_adresse_mail 
L'option -C permet d'associer à une clé publique un commentaire. Il est pratique de s'en servir pour indiquer l'adresse mail relative à l'utilisation de cette clé. Cette mention  est uniquement à caractère informatif.

 3 ) Création  et activation de son compte Heroku.

Heroku va envoyer un mail de conformation pour terminer et activer votre compte.

La fin de l'installation se fait par la récupération de la trousse à outil Héroku. Son installation se traduit par la mise à disposition de 2 nouvelles commandes: heroku et foreman qui servira à lancer les services.


Toutes les sont reprisent sur le site: http://apprendre1chosechaquejour.herokuapp.com/videos 



vendredi 8 juin 2012

Index TIOBE :Java perd sa place de langage numéro 1 après 10 ans

L'index TIOBE est un baromètre des popularités des langages de programmation. Le classement  du mois de mai marquait un évènement : après 10 ans de règne sans partage, Java a cédé sa place au bon vieux langage 'C'.
Une page qui se tourne.


Bientôt : solutions linux 2012 : 19 juin

J'ai rendu ma copie pour la conférence solutions linux 2012 : voici 3 diapos:






Rendez vous le 19/06/2012
http://www.solutionslinux.fr/animations_81_168_2470_p.html


mercredi 6 juin 2012

Le gouvernement US lance l'administration 2.0



Dans une directive de Mai 2012 ,  Barack OBAMA impose aux agences fédérales de publier leurs données sous une forme lisible par tous où par API web. Ce dernier point est important :l'accès doit pouvoir se faire par des librairies de programmes, par des robots. Cela préfigure l'administration 2.0. 
Il n'est pas question d'un portail d'accès mais bien d'une  mise à disposition par chaque entité. La course à l'opendata est lancée avec des retombées certaines sur les technologies afférentes : stockage (NoSQL) et visualisation.





Une série de vidéo sur le dsl #sinatra pour #Ruby

Je viens de terminer une série de webcast (video pour le web) consacrée au framework Sinatra pour Ruby.
Ces vidéos sont un  prolongement du site http://apprendre1chosechaquejour.herokuapp.com/ (a1ccj).
Ce site est une application du Cloud Heroku. J'ai voulu montrer pas le biais des vidéos, comment monter un tel site. Aussi après l'installation et la  création d'une application sous Sinatra, je lancerai une nouvelle série de vidéo sur la mise en ligne des applications Ruby ou Node.js  sur Heroku.

1) Installation de sinatra (vidéo 1)


La première vidéo traite de l'installation de Sinatra.  L'enregistrement vidéo  est fait à partir de recordItnow. Le son est mixé à l'image  par Pitivi. Cette vidéo est ici.


2) Première application sous sinatra (vidéo 2)




sinatrapitch
Cette vidéo est réalisée avec kazam avec prise de sous en direct. J'ai ajouté des images fixes venant d'une présentation   libreoffice. Toutes les images sont disponibles sur Flickr (lien ici) .



sinatrapitch3

3) Les blocs spéciaux sous sinatra.(vidéo 3)



sinatrapitch5
 La vidéo et le son ont été capturé par kazam.



4) Les templates (vidéo 4)




Réalisée avec  des prises courtes toujours avec kazam , puis  collage des tronçons avec kino en ajoutant des fondus enchaînés.


Toutes les vidéos sont sous : http://apprendre1chosechaquejour.herokuapp.com/videos

vendredi 1 juin 2012

blockly : un langage de programmation visuel

Blockly un outil Web, de  langage de programmation en mode graphique. Le développeur assemble les blocs comme des pièces de puzzle pour construire une application. Aucune saisie n'est  nécessaire.

Le site propose des démonstrations comme cette petite application où il faut déplacer un robot entre deux coins.




Il est possible de construire de véritables petits programmes qui seront traduit en javascript ou en python. (ici un programme qui ajoute 6 à 10 puis calcule la racine carré du résultat . Sa traduction en javascript est affichée)  )



C'est une nouvelle approche de l'algorithmie et elle n'est pas seulement destinée aux enfants.