dimanche, 7 janvier 2007
Par Bounga le dimanche, 7 janvier 2007, 20:29 - Documentations
En Ruby, il est possible d'encapsuler un morceau de code dans un objet. Grâce à cela, il vous est possible d'utiliser ce même morceau de code à plusieurs endroits ou encore d'exécuter un morceau de code donné en fonction du contexte courant. En somme, toute la puissance des blocs embarqués dans un objet.
Cette possibilité est offerte par les objets de type Proc. Nous essayerons de voir dans ce billet comment mettre à profit l'utilisation des Proc pour simplifier votre code et le rendre un peu plus dynamique.
Lire la suite...
lundi, 25 décembre 2006
Par Bounga le lundi, 25 décembre 2006, 11:39 - Trucs et astuces
Il peut arriver dans certains cas que vous ayez besoin d'utiliser la notion d'infini dans votre code.
En Ruby c'est possible ! Il suffit de connaître l'astuce.
Lire la suite...
dimanche, 24 décembre 2006
Par Bounga le dimanche, 24 décembre 2006, 15:41 - Documentations
Lorsqu'un objet reçoit un message, l'interpréteur recherche une méthode du même nom définie dans la classe de l'objet, dans l'une de ses super-classes ou dans un module qui a été mixé dans l'une de ces classes (mixin).
Mais savez-vous comment tout cela fonctionne ? Comment sont gérés les cas ambigus tels qu'une méthode définie à la fois dans la classe et le mixin. Quelle méthode sera exécutée par l'objet ?
Comme toujours, comprendre tous les détails du fonctionnement de Ruby vous permettra d'écrire du code plus propre, plus concis mais surtout plus puissant. Nous allons donc voir dans cet article comment fonctionne le chemin de consultation des méthodes.
Lire la suite...
dimanche, 17 décembre 2006
Par Bounga le dimanche, 17 décembre 2006, 23:31 - Documentations
Comme vous le savez sûrement, quand vous appelez une méthode vous pouvez lui fournir un bloc de code qui permet de définir son comportement. Ce bloc de code contient du code Ruby traditionnel. Vous l'avez très certainement déjà utilisé sous l'une des deux formes suivantes :
objet.methode { #bloc de code }
objet.methode do
# bloc de code
end
Un exemple d'utilisation courante dans la vie d'un programmeur Ruby peut-être le suivant :
(1..10).find_all { |i| i % 3 == 0 } # => [3, 6, 9]
Ici, à l'aide de find_all, on parcourt les entiers de 1 à 10 pour trouver ceux qui sont des multiples de 3. Le comportement de find_all est définit par notre bloc de code placé entre les accolades.
Cette construction permet des utilisations très puissantes et cela grâce à yield. Nous allons donc voir dans cet article à quoi sert yield et comment l'utiliser pour rendre vos méthodes plus dynamiques.
Lire la suite...
lundi, 11 décembre 2006
Par Bounga le lundi, 11 décembre 2006, 16:40 - Trucs et astuces
Par défaut, dans Rails, les pages 404 (page inexistante) et 500 (erreur de l'application) sont des pages statiques. Vous ne pouvez donc pas y utiliser vos layouts ou même y insérer du contenu de façon dynamique en fonction de l'erreur qui s'est produite.
Une solution existe, vous permettant de générer une page aussi dynamique que vous le souhaitez. Cette solution passe par l'utilisation de rescue_action_in_public. Voyons comment la mettre en place.
Lire la suite...
samedi, 9 décembre 2006
Par Bounga le samedi, 9 décembre 2006, 21:29 - Documentations
Savoir manipuler correctement les paramètres de méthode permet de facilement s'approprier une API existante mais aussi d'être en mesure de créer une API élégante, cohérente, compréhensible, puissante et facile à prendre en main. Pour arriver à ce résultat, il faut être conscient des différentes possibilités qui existent et de comment les utiliser.
Ce billet va tenter de vous expliquer tous les détails de la création d'une liste d'arguments.
Lire la suite...
mercredi, 6 décembre 2006
Par Bounga le mercredi, 6 décembre 2006, 22:36 - Les liens indispensables
Un billet rapide pour vous faire découvrir ce site sympa qu'est HappyCodr: Ruby on Rails Showcase.
Le but de ce petit site est de lister les sites écrits en Ruby on Rails. Il vous permet également de publier l'adresse de vos propres sites pour les faire découvrir à tout le monde.
Un moyen sympa de voir les nouveautés qui apparaissent chaque jour sur le toile.
Ca vaut le coup d'oeil.
dimanche, 3 décembre 2006
Par Bounga le dimanche, 3 décembre 2006, 19:47 - Documentations
Lorsqu'on développe à l'aide d'un langage objet, comme Ruby, il est courant d'avoir recourt aux exceptions pour traiter les erreurs. Malheureusement de nombreux développeurs ne sont pas à l'aise avec ce type de traitement et continuent à utiliser les tests conditionnels (if / case / etc) pour traiter les erreurs inattendues alors que ces tests sont prévus pour la logique du code plutôt que pour la gestion des erreurs.
Nous allons donc voir pourquoi et comment les exceptions peuvent simplifier votre code.
Lire la suite...
dimanche, 26 novembre 2006
Par Bounga le dimanche, 26 novembre 2006, 20:43 - Documentations
Cela fait maintenant quelques temps que je n'avais pas posté de billet mais le temps m'a manqué avec mon embauche chez webpulser. J'ai décidé de faire une petite série d'articles sur Ruby (on Rails) dans lesquels j'essayerai de vous donner des petites astuces et de vous faire comprendre des techniques avancées utilisées en Ruby et Rails.
Si le temps me le permet, je posterai un billet par semaine en abordant à chaque fois un sujet très précis qui vous permettra de mieux maîtriser votre code et donc d'être plus productif et efficace.
Les thèmes abordés seront très largement inspirés de mes différentes lectures, notamment The Ruby Way, Ruby For Rails et Rails Recipes.
Cette semaine, nous commenceront en douceur puisque le billet sera dédié aux manipulations d'objets et plus particulièrement aux affections de ces objets à des variables.
Lire la suite...
lundi, 30 octobre 2006
Par Bounga le lundi, 30 octobre 2006, 15:47 - Général
Le numéro 1878 (octobre 2006) de 01 Informatique propose un article sur Ruby on Rails et tente d’y expliquer pourquoi le framework remporte un tel succès.
J’ai l’honneur d’y être cité assez brièvement et je tenais donc à poster un billet à ce propos ;-).
Espérons que cet article accélérera l’entrée de Rails dans les entreprises et que les décideurs commenceront à considérer ce framework comme une vraie solution de remplacement à J2EE et PHP.
vendredi, 6 octobre 2006
Par Bounga le vendredi, 6 octobre 2006, 10:37 - Général
Après trois semaines d'attente, j'ai enfin récupéré mon MacBook. Ce n'est finalement pas la carte mère qui a été changée mais juste le bloc radiateur / ventilateur. Tout semble fonctionner à merveille maintenant, je vais enfin pouvoir me pencher à nouveau sur mes différents projets et profiter de cette superbe machine 
mardi, 12 septembre 2006
Par Bounga le mardi, 12 septembre 2006, 18:26 - Général
Après plusieurs arrêts intempestifs de mon nouveau (2 mois) MacBook et la lecture de plusieurs articles qui signalent le problème chez de nombreux utilisateurs de cette machine, j'ai décidé de l'amener en réparation dans un Apple Center. Le problème est visiblement connu et touche quasiment toutes les machines sur le marché. La garantie va donc jouer sans problème.
Lire la suite...
mardi, 5 septembre 2006
Par Bounga le mardi, 5 septembre 2006, 14:12 - Les liens indispensables
J'étais sur le point d'écrire une documentation sur la méthode à suivre pour mettre en place une configuration de type Apache en front (avec proxy blancer), un cluster de serveurs Mongrel et Capistrano pour automatiser le déployement puis j'ai découvert un superbe article qui explique toute la procédure à suivre pour mettre en place ce type d'architecture.
Lire la suite...
lundi, 4 septembre 2006
Par Bounga le lundi, 4 septembre 2006, 20:20 - Geek attitude
Cela fait maintenant deux mois que je suis passé à Mac OS X, j'ai donc eu le temps de me faire la main, de découvrir et tester les applications disponibles sur cette plate-forme. Je vous propose donc un petit billet pour vous présenter les quelques applications qui me servent le plus régulièrement et les avantages que je leurs ai trouvé.
Lire la suite...
jeudi, 31 août 2006
Par Bounga le jeudi, 31 août 2006, 20:10 - Développement
Je fais partie depuis mardi soir de l'équipe de développement officielle du projet Spread.
Spread un CMS écrit en Ruby on Rails qui regroupe de nombreux concepts intéressants tels que les bibliothèques multimédias, les insertions d'éléments multimédias ajaxifiés, une mise en page souple, une gestion de l'arborescence ajaxifiée et une aide contextuelle permanente.
Spread rend la gestion de contenu simple et agréable en profitant des possibilités ouvertes par Ajax et Ruby on Rails. Il répond aux besoins essentiels des créateurs de contenu sans compétences techniques tels que les PME et associations.
Nous allons maintenant faire en sorte que la première version publique de Spread sorte au plus vite !
Par Bounga le jeudi, 31 août 2006, 01:19 - Trucs et astuces
En voulant tester les diverses applications livrées avec mon Mac j'ai été confronté à un problème. J'ai lancé iWeb et j'ai constaté que l'ensemble des fonctionnalités disponibles dans les menus étaient grisées. Impossible de faire quoi que ce soit, même pas d'ajouter une page. Pas idéal pour créer des pages web 
Lire la suite...
dimanche, 27 août 2006
Par Bounga le dimanche, 27 août 2006, 23:31 - Trucs et astuces
Il est fréquent de devoir associer des enregistrements d'une table à un ou plusieurs enregistrements d'une autre table. En modélisation
SQL, c'est ce qu'on appel une relation
N <=> N. En
Ruby on Rails, on décrit cela dans les modèles à l'aide de
has_and_belongs_to_many.
Je vais ici tenter de vous expliquer comment mettre en oeuvre une telle relation dans un seul et unique formulaire qui sera capable de gérer tous les aspects liés à un enregistrement en une seule opération.
Lire la suite...
samedi, 26 août 2006
Par Bounga le samedi, 26 août 2006, 17:32 - Trucs et astuces
Ruby on Rails permet de mettre facilement en place des tests fonctionnels qui nous permetttent de savoir si nos controlleurs se comportent comme on le souhaite.
Un test fréquent est de voir si, dans certaines conditions, notre controlleur nous redirige bien vers une page donnée. Malheureusement la méthode assert_redirected_to qui nous permet de faire cela ne fonctionne pas comme on pourrait s'y attendre.
Lire la suite...
vendredi, 25 août 2006
Par Bounga le vendredi, 25 août 2006, 23:01 - Documentations
Pour ceux qui ne le savent pas, les One-Liners sont des morceaux de code courts, éxecutables depuis la console qui permettent de remplir des tâches utiles et répétives de façon automatisée. Les exemples les plus répandus sont bien souvent écrits en Perl mais les équivalents existent en Ruby et sont tout aussi efficaces. J'ai donc décidé de mettre à disposition un document PDF qui reprend les snippets les plus utilisés pour le plus grand plaisir de tous les Rubyistes 
Lire la suite...
samedi, 5 août 2006
Par Bounga le samedi, 5 août 2006, 21:50 - Trucs et astuces
Certains sites ne cessent de nous apporter des petites merveilles au fil des jours, c'est le cas de http://www.bigbold.com, le blog d'une société de développement Ruby on Rails anglaise. Deux morceaux de code très intéressants y ont été publiés récemment.
Le premier est un helper pour Rails qui permet de traiter plus falicement les affichages des flashs pour les niveaux notice, warning et error. Cet helper supporte également la gestion des erreurs ActiveRecord::Errors.
Le deuxième permet de mettre facilement en place un démon pour n'importe laquelle de vos application écrite en Ruby. Vous pourrez donc grâce au module proposé, créer votre service, le démarrer et le stopper facilement et proprement.