Recommend Me


Jeudi 29 juin 2006

Keynote de DHH

Classé dans : RoR — greg @ 21:12

Les slides de la Keynote de DHH sont disponibles ici. Et voici le très intéressant commentaire de Nicolas Paton via la liste RubyFrance :

[...]

Pour ceux qui n’ont pas encore eux l’occasion de lire sa présentation, le fait n’est pas d’utiliser les méthodes HTTP POST, GET, PUT et DELETE pour appeler nos bonnes vieilles actions CRUD mais de créer de nouveaux modèles et contrôleurs (de diviser en fait nos gros modèles et contrôleurs) pour atteindre les données à modifier le plus directement possible (et de manière assez paradoxale car si l’on veut accéder le plus directement aux données on seraient tentés de faire des requêtes SQL directes alors que là on va pousser l’abstraction objet toujours plus loin avec la création de classes supplémentaires). Dit autrement il s’agit atteindre les attributs d’un modèle (brisé en de plus petits modèles joints à ce gros modèle) avec du CRUD direct grace à des jointures intelligentes. (Merde cette dernière phrase n’était pas claire)

Autrement dit (encore) : on se retrouve à la fin avec des contrôleurs et des modèles plus légers avec un minimum d’actions (uniquement CRUD si possible) et de methodes d’accés et de traitement des object et une lisibilité accrue.

On ne fait plus :

class Customer < ActiveRecord::Base
        has_many :addresses
end

class Address < ActiveRecord::Base
end

class CustomersController < ApplicationController
  def create_new_address # une méthode de plus dans le contrôleur customers…
    customer = Customer.find(params[:customer_id])
    customer.adresses.create(:street => ‘15, rue Lahire’, :city => ‘Paris’)
    customer.save
  end
end

Mais :

class Customer < ActiveRecord::Base
        has_many :addresses
end

class Address < ActiveRecord::Base
  belongs_to :customer
end

# on appelle le contrôleur qui gère les adresses
class AddressController < ApplicationController
  def create # on appelle une simple action create
    address = Address.create(
      :customer => params[:customer_id],
      :street => ‘15, rue Lahire’,
      :city => ‘Paris’
    )
    address.save
  end
end

Cool. Mais à quoi ça sert ??

À plusieurs choses. Bien que presque aucune ne soit exprimée dans les lignes de code dessus ; ce petit bout de code voulait juste montrer la structure de base du concept qui offre les avantages suivant :

  • gérer les jointures dans leurs modèles et contrôleurs respectifs au lieux de passer par le contrôleur et le modèle parent
  • ce qui permets limiter le nombre d’actions par contrôleur et de préférence n’avoir que du CRUD
  • et de limiter la quantité de logique par modèle (traitement d’attributs, validation…)
  • ce qui fait un code plus clair, plus facile à lire et maintenir
  • ça nous pousse encore plus à créer des jointures N-vers-N intelligentes (has_many :through) dans lesquelles on gère la relation encore une fois en CRUD simple (voir diapo 21)
  • ça rend l’utilisation de de respond_to encore plus aisée => on peut parler à différents client avec la même logique plus facilement (voir diapo 34 à 46)

Et là, c’est très cool.

Pas franchement de grandes nouveautés techniques dans cette partie de la présentation mais une bonne leçon méthodologique. DHH précise bien que ce n’est pas une obligation de programmer ainsi mais un objectif louable de vouloir programmer ainsi. Il propose ça comme une technique de design d’applications comme le sont les test. Et cette méthode ne s’applique évidement pas à tous les cas.

Désolé d’avoir exposé aussi maladroitement ce concept sur cette mailing-list ainsi. Mais l’idée derrière la présentation de DHH est très intéressante et on peut rapidement passer à côté. Et comme on a pas à attendre que la gestion de POST, GET, PUT, DELETE soit dans rails pour s’y mettre autant essayer ensemble de comprendre tout de suite la logique car l’air de rien, il s’agira (à mon humble avis) d’un des concepts phare de rails bientôt. C’est tellement pas bête et si simple. Pourvu que Ruby aille bientôt un peu plus vite aussi… (c’est pas pour bientôt parait-il…)

Après DHH a parlé de ActiveRecord mais là je n’ai rien compris. Les diapos ne sont pas évidantes. Quelqu’un aurait-il croisé une doc sympa là dessus ? Je n’ai pas encore regardé dans edge rails, voir s’il y avait quelque chose.

Aussi quelqu’un a-t-il saisi Acts_as_view (http://wota.jp/rk2006/) présenté par Maiha à RubyKaigi ? Il n’y aucune autre doc sur le web pour le moment (en français ou en anglais du moins) et je n’ai pas poussé la relecture pour tout comprendre…

Vive Ruby, Rails, ActiveJeSaisPasQuoi, CRUD et DHH président. Ou Sélectionneur de l’équipe de France… Motivation de l’équipe avant un match : Allez CRUD les gars ! Allez DRY ! Et pas But.create(:butteur => @butteur) mais Action.create(:but => true, :butteur=> @butteur, :passeur => @passeur, …) !

• • •

Mercredi 28 juin 2006

10.4.7

Classé dans : Apple, MacOSX — greg @ 8:52

La mise à jour 10.4.7 est recommandée à tous les utilisateurs et apporte des corrections d’ordre général au système d’exploitation, ainsi que des corrections spécifiques aux applications et technologies suivantes. Elle corrige notamment :

- la prévention des pertes de connexion et des interblocages de serveur AFP ;
- l’enregistrement de documents Adobe et Quark sur les volumes montés en AFP ;
- les transferts de fichiers Bluetooth, le jumelage et la connexion à une souris Bluetooth ainsi que la synchronisation avec des téléphones portables ;
- la lecture audio dans les applications QuickTime, iTunes, Final Cut Pro et Soundtrack ;
- l’assurance que les icônes sont correctement espacées lorsqu’elles sont affichées sur le bureau ;
- l’estimation de l’espace requis pour la gravure de dossiers ;
- la connectivité audio et vidéo d’iChat, permettant la création de conversations en utilisant AIM ;
- l’importation de fichiers dans Keynote 3 ;
- les flux de production PDF lors de l’utilisation des applications iCal et iPhoto ;
- la fiabilité de l’utilisation des actions Automator au sein des flux de travaux ;
- l’importation et la suppression de polices dans le Livre des polices ;
- la synchronisation des adresses, des signets, des événements de calendrier et des fichiers avec .Mac ;
- la compatibilité avec certains périphériques et logiciels de tierce partie ;
- les précédentes mises à jour de sécurité autonomes.

Pour obtenir de plus amples informations concernant cette mise à jour, veuillez consulter le site Web suivant : http://www.info.apple.com/kbnum/n303771-fr.

Pour en savoir plus sur les mises à jour de sécurité, veuillez consulter le site Web suivant : http://www.info.apple.com/kbnum/n61798-fr.

• • •

Mardi 27 juin 2006

Rails 1.1.3

Classé dans : RoR — greg @ 22:43

Je vous en parlais dimanche, et bien c’est officiel, Rails 1.1.3 vient de sortir.

We’ve found and fixed a security issue with routing that could cause excess CPU usage in Rails processes when triggered by certain URLs. We strongly encourage anyone running 1.1.x to upgrade to the latest version. It’s fully backwards compatible and should serve as a small drop-in fix.

If you’re running the latest Edge Rails, though, there’s no need to update. We’ve rewritten the routes functionality on edge and the new version doesn’t have this problem.

To upgrade, you as always can just do: gem install rails –include-dependencies

Note: This release doesn’t include any of the new CRUD/resource-based features. All of the new features we’ve been working on over the last couple of months will become available in 1.2.0, which is scheduled for “soonish”. This 1.1.3 release is purely to address the security issue and another few minor fixes that were available on the STABLE branch as well.

• • •

RubyFR

Classé dans : RubyFR — greg @ 22:22

l’AG de l’association RubyFR vient de se terminer. Elle a entraîner de très intéressantes discutions concernant le rôle et l’implication de l’association et de ses membres. Je ne détaillerai pas plus, le nouveau secrétaire Guillaume Desrat aka Zifro mettra certainement un point d’honneur à mettre en forme nos discutions.

Concernant le nouveau bureau, sa nouvelle composition est la suivante :

  • Président : Frédéric Logier aka fredix
  • Secrétaire : Guillaume Desrat aka Zifro
  • Trésorier : Alexis Bernard aka alex
  • Vice-président : Grégoire Lejeune aka mowgli

La mise en place définitive de ce nouveau bureau se fera dans les jours, il faut en effet mettre en règle certaines paperasseries auprès de l’administration Française.

• • •

Lundi 26 juin 2006

Mon coeur fait BumpTop™

Classé dans : Linux, MacOSX, Windows — greg @ 17:03

Plus d’infos ici !

• • •

Dimanche 25 juin 2006

Nouvelle version de Rails (bientôt ?)

Classé dans : RoR, Ruby — greg @ 1:30

S’il fallait prouver que les membres de la liste RailsFrance sont actifs, en voici un très bon exemple.

Un message posté ce samedi nous permet de penser qu’une nouvelle version de Rails devrait bientôt voir le jour. David Heinemeier Hansson à commité hier (samedi) dans le SVN Rails des modifications montrant des modifications dans les numéros de version. Action Web Service passerait en version 1.1.3, Active Record en 1.14.3, Action Mailer en 1.2.2 et Action Pack en 1.12.2. Seul Active Support ne bouge pas (et reste donc en version 1.3.1). Ceci devrait donc nous amener à voir sortir Rails 1.1.3.

Le commentaire associé à ce commit est lui même très explicite : “Made ready for release”

• • •

Jeudi 22 juin 2006

[En bref] RWN 12, 18 juin 2006

Classé dans : Ruby, Web — greg @ 22:12

Voici, en bref, le résumé du Ruby Weekly News de la période du 12 au 18 juin 2006.

Articles et annonces

The Little Book Of Ruby (via ruby-talk)

Huw Collingbourne a annoncé la sortie du eLivre “The Little Book Of Ruby“. Cet ouvrage distribué au format PDF est librement téléchargeable.

Un article sur le screen scraping (agrégation sauvage) avec HTree+REXML, RubyfulSoup, WWW::Mechanize (via ruby-talk)

Peter Szinek a étudié les différentes possibilités de screen scraping/extraction Web/navigation Web automatique avec Ruby”, il en a sortis un article comparant les différentes librairies Ruby utilisables dans ce domaine.

Formation sur Ruby/RoR à Pune (Inde) (via ruby-talk)

Dibya Prakash a annoncé la tenu d’un camp de formation, de 5 jours, du 21 au 25 juin 2006, sur Ruby et Rails à Pune en Inde. Reevik Technologies Pvt. Ltd. soutient l’évènement.

Exemples d’utilisation de Ruby/OpenSSL au RubyKaigi2006 (via ruby-talk)

Hiroshi Nakamura a posté les slides et les sources de sa présentation sur Ruby/OpenSSL faite pendant le RubyKaigi 2006.

Nouvelles des Groupes d’Utilisateurs

Groupe Ruby Beach à Miami/Fort Lauderdale (via comp.lang.ruby)

Martin Nemzow “recherche des personnes pour former un groupe d’utilisateurs à Miami/Fort Lauderdale”.

Codefest Ruby de Columbia MD (via ruby-talk)

Le groupe d’utilisateurs AgileMaryland travaillent ensemble sur un projet appelé FeedMaster (lecteur configurable de Podcast d’utilisateur) afin d’améliorer leurs connaissances du développement agile, de Ruby et de Rails.

Jeff Waltzer a publié les dates de rendez-vous du projet pour juillet et invite tous ceux qui sont interressé.

Utilisateurs de Ruby et Rails en Ireland - intéressé sur la formation d’un groupe d’utilisateurs ? (via comp.lang.ruby)

aidanf voudrait lancer un groupe d’utilisateurs en Ireland. Merci à ceux qui sont intéressés de propose que les membres d’Alaska.rb se retrouvent une fois par mois a Anchorage.

Rendez-vous du Milwaukee RUG le 12 juillet de 5h30 à 7:30 (via ruby-talk)

Le Milwaukee (Wisconsin) Ruby User’s Group va tenir son second meeting le 12 juillet.

Messages

Short But Unique (#83) (via ruby-talk)

Le Ruby Quiz de cette semaine est de Ryan Williams.

Problèmes pour étendre IRB (via ruby-talk)

Matthew Harris a des problèmes pour intégrer IRB dans un widget GTK+ – Le code d’IRB n’est pas suffisamment documenté pour comprendre comment il fonctionne.

Récapitulatif ruby-dev 28637 - 28714 (via ruby-talk)

Kazuo Saito a mis en place un récapitulatif de la liste ruby-dev Japonnaise. (Index du récapitulatif.)

RubyGems et JRuby (via ruby-talk)

Charles O Nutter précise que la prochaine release de JRuby (0.9.0) fonctionnera avec RubyGems.

Chemins absolus dans $” (via ruby-talk)

Trans demande si ruby 1.8.5 convertira les chemins de $” ($LOADED_FEATURES) en absolu plutôt que relatif (comme c’est le cas avec ruby 1.9), ceci permettrait d’éviter des situations ou include charge plusieurs fois un même fichier.

Unicode (via ruby-talk)

Unicode a été un sujet très populaire cette semaine, avec a peu pret 200 messages.

Ruby et Windows Vista (via ruby-talk)

Richard Livsey aimerait savoir si quelqu’un a déjà essayé de faire tourner Ruby sous Windows Vista Beta 2. “Des infos ?”

Et Ruby DBI ? (via comp.lang.ruby)

Quelqu’un a fait remarqué que Ruby/DBI (la couche d’abstraction pour l’accès a des bases de données) est seulement en version 0.10, et il voudrait savoir pourquoi ActiveRecord ne l’utilise pas. Le développement de Ruby/DBI est il toujours actif ?

Dave Burt précise que le développement est toujours actif.

Automatisation sous Mac OS X avec Ruby (via comp.lang.ruby)

Quels options y a-t-il pour faire de l’automatisation des applications Mac OS X avec Ruby, demande Tony ?

Une bévue indique que RubyAEOSA permet d’utiliser les AppleEvent les scripts OSA.

ruby-forum.com (via ruby-talk)

Le fil de discution de la semaine dernière émis depuis le forum (comportant trop de messages de faible qualité) a eu des répercussions : Andreas S. a supprimé la possibilité des poster des messages par les utilisateurs non enregistré, il a ajouté un paragraphe donnant les règles pour poster depuis le forum et ajouté des liens vers la FAQ Ruby et la documentation.

Nouvelles Releases

Ruby Reports 0.4.9 (via ruby-talk)

Gregory Brown a libéré l’édition “Sneakin’ Into RoR” de Ruby Reports.

Récupérer votre mojo avec Mojo Helpdesk (via comp.lang.ruby)

Supercobra Thatbytes a présenté Mojo Helpdesk, “un système suivi de tickets pour les petites entreprises”. Ce projet est développé avec rails.

Documentation de MongrelDay — Mémoires d’un web server (via ruby-talk)

Zed Shaw a souhaité à chacun un heureux RailsDay, puis il a annoncé qu’il avait utilisé beaucoup de temps a écrire “des tonnes” de “documentations sur Mongrel”. (Mongrel est un serveur web pour applications Ruby).

NokiaFS (via ruby-talk)

Werner Bohl a mis à disposition la première version , alpha, de NokiaFS. “Cette application est basée sur la librairie Ruby fusefs et gammu. Elle vous permet de monter votre téléphone portable comme un filesystem.”

ZenObfuscate - pour quand vous avez vraiment vraiment besoin de vendre un binaire (via ruby-talk)

Ryan Davis a annoncé ZenObfuscate, un produit commercial permettant de faire de l’obfuscation de code Ruby.

rcov 0.6.0: “differential code coverage”, complète (et rapide) références croisées, intégration avec vim (via ruby-talk)

L’outil Ruby “rcov” a maintenant un mode “differential code coverage” (couverture de code différentiel) capable de pointer du code ajouté mais non couvert par les tests. Les rapports de cross-reference (références croisées) ont également été améliorés - vous pouvez cliquer sur une méthode dans la page HTML du rapport pour voir qui l’appel.

Annonce de MarkaBoo - Application Rails sous licence Creative Commons pour le Social Bookmarking (Référencement Social) (via comp.lang.ruby)

MarkaBoo est un outil de “social bookmarking”, il comprend un éditeur WYSIWYG, la capacité de créer des bookmarks par mail ou depuis un téléphone mobile, il permet l’import depuis d’autres sites tel que del.icio.us, etc…

Geocoding Goodness (via ruby-talk)

Eric Hodel a écrit des bindings Ruby pour les services de géolocalisation de Yahoo, Google et geocoder.us.

• • •

“Débuter en programmation avec Ruby”

Classé dans : Ruby — greg @ 17:46

Source : Je code donc je suis

Pearson Education France vient de publier un livre sur Ruby : “Débuter en programmation avec Ruby“.

Le prix public annoncé reste très raisonnable : 18 € TTC, surtout pour un ouvrage réservé aux débutants dans lequel on se propose de vous initier à la programmation grace au langage Ruby car c’est un “langage de programmation populaire, moderne et facile d’accès.”

• • •

Equipe de foot à vendre

Classé dans : People, Web — greg @ 17:38

Source : PC INpact

On trouve de tout sur eBay. La preuve en ce moment vous pouvez acheter l’équipe de france (avec Domenech en cadeau).

Le descriptif est trés clair :

suite a un mondial raté, la communauté francaise vend une equipe de france très très usagée limite inexploitable pour la plupart, quelque bon profit sur future revente (abidal, gallas, makelele) ou échange contre joueurs combatifs capables d’atteindre le deuxieme tour pour la coupe du monde 2010

en cadeau : raymond domenech fournis gratuitement et meme offert avec de l’argent si vous voulez pas le prendre (par contre lui il ne peut que servir a rien )

L’annonce précise bien entendu qu’il s’agit d’un produit d’occasion.

• • •

Mercredi 21 juin 2006

Warsow sous MacOSX

Classé dans : MacOSX — greg @ 22:58

LinuxFR l’annonçait lundi dernier, Warsow vient de sortir en version 0.12. Ce jeu de tir en vue subjective est d’excellente facture avec des graphismes n’ayant rien à envier à certains jeux commerciaux.

Bref, bien que la page du projet ne propose que des versions pour Windows et Linux, c’était sans compter sur “virus” (j’y peux rien c’est son pseudo) qui nous a offert une version pour MacOSX (DMG, SRC) en Universal, “s’il vous plait Monsieur” !

Pour faire l’installation, il faut télécharger la version Windows ou Linux sur le site du projet puis ajouter dans le dossier “basewsw” de l’archive Windows ou Linux ceux se trouvant dans le répertoire du même nom du DMG. Copier ensuite warsow.app à la racine de l’archive.

A vous de jouer !

• • •
Page suivante »
Powered by: WordPress • Template adapted from the Simple Green' Wench theme - RSS