atelier du lundi

Lors du dernier atelier du lundi, j'ai présenté le framework javascript sammy.

Voici les slides: http://francois.heroku.com/

Ce framework est basé sur jQuery et est fortement inspiré de Sinatra.

Il permet de créer des applications web avec une gestion de l'historique, des évènements personnalisé, des plugins, etc.

Voici une mini application :

  1.  $.sammy(function() {
  2.    this.get('#/hi', function(ev) {
  3.        $('#main').text('Hello World!');
  4.    });
  5.    this.post('#/hi', function(ev) {
  6.        $('#main').text(ev.params['myinput']);
  7.        return false; // l'évènement submit est annulé
  8.    });
  9. }).run();

Décortiquons le code de cette application.

On commence par définir une route:

  1.    this.get('#/hi', function(ev) {
  2.        $('#main').text('Hello World!');
  3.    });
  4.  
  5.    <a href="#/hi">Hi !</a>

Le click sur le lien va déclencher le callback sur la route get('#/hi') et afficher un message.

Plus intéressant est la gestion des verbes POST (mais aussi PUT et DELETE). La simplicité est de mise. On crée un formulaire HTML et la route correspondante. L'évènement submit est automatiquement capturé par sammy.

  1.    this.post('#/hi', function(ev) {
  2.        $('#main').text(ev.params['myinput']);
  3.        return false; // l'évènement submit est annulé
  4.    });
  5.  
  6.    <form action="#/hi" method="post">
  7.        <input type="text" name="myinput" />
  8.        <input type="submit" value="Submit" />
  9.    </form>

Vous n'aurez pas ainsi a chercher l'ensemble des champs de formulaire, Sammy le fait pour vous. Je conseille l'utilisation du plugin NestedParams pour les champs de formulaire avec des tableaux.

Sammy intègre un systèmes de plugins qui permettent de réutiliser du code. Plusieurs plugins sont intégré comme des systèmes de template, de stockage des données (avec localStorage ou sessionStorage d'HTML 5, ou un fallback avec les cookies ou un simple stockage mémoire), JSON ou encore ... le vôtre.

Sammy est un bon framework pour écrire une application web. Essayez-le !

Pour cette nouvelle session d'atelier, le thème était l'organisation technique des projets.
Parmi les thèmes abordés : le versionnage des sources avec Git, la numérotation des versions d'une application, les jalons correspondant dans Trac, les branches à utiliser, les environnements déployés et leur utilité.

Deux présentations ont donc été faites :

Prochaine étape : migrer l'ensemble de nos projets sous Git ;)

Logo atelier
Dans la tradition des ateliers du lundi, nous avons fait une petite présentation de Google Wave. Vous pouvez en consulter les slides ci-après. Bien-sûr, il ne s'agit encore que d'une rapide présentation n'ayant pas encore eu accès à la beta de google Wave.

Logo atelier

Aujourd'hui, nous avons fait un atelier sur OAuth.Il ne fût pas très concluant, mais il nous a permis de voir que cette technologie était encore très peu utilisée.

Lundi prochain, nous ferons un atelier sur Sélénium, un outil pour écrire des tests d'intégration.

Logo atelier

Pour l'atelier de lundi prochain, nous aurons 3 présentations :

  • à 10h30, Sara sur la place des a priori culturels dans les théories scientifiques : l'exemple des ovules et du sperme
  • à 11h30, Ovidiu sur la classification des bugs
  • à 12h30, Clément sur xdebug en pratique.

Et le lundi 9 mars, Ori nous fera un workshop "DiSo/OpenStack. Hands on."

Logo

Lundi prochain, nous aurons 3 ateliers :

  • à 10H30, Tim fera la présentation qu'il avait dû annuler la semaine dernière (je cite : "Tim nous refera sa présentation qu’il a donné au W3C, et communiquera sur les activités du pôle Turbulences : les programmes de recherche, la roadmap Turb V1 et les idées pour Turb V2")
  • à 11H30, Luc-Pascal nous vantera les mérites de MORM, son outil de mapping Objet-Relationnel en PHP

Logo

Lundi prochain, nous aurons 3 ateliers :

  • à 10H30, Johan nous parlera de des applications pluggables en Django comme, par exemple, Pinax
  • à 11H30, Tim nous refera sa présentation qu'il a donné au W3C, et communiquera sur les activités du pôle Turbulences : les programmes de recherche, la roadmap Turb V1 et les idées pour Turb V2
  • à 12H30, Max nous expliquera sa méthode pour les squelettes CSS.