<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>Toutes les news de NoCoffee: nouveaux projets, astuces Ruby on Rails, …etc</description><title>NoCoffee</title><generator>Tumblr (3.0; @nocoffee)</generator><link>http://blog.nocoffee.fr/</link><item><title>Projet startup interne: SocialTennis</title><description>&lt;p&gt;Voila, cela fait maintenant plusieurs semaines que je n&amp;#8217;accepte plus de nouveaux clients. Je me suis décidé une bonne fois pour toute à mener à terme deux projets labelisés NoCoffee.&lt;/p&gt;
&lt;p&gt;Le premier est évidemment LocomotiveCMS. Celui-ci va prendre un nouvel élan à partir de décembre. J&amp;#8217;écrirai d&amp;#8217;ici là un post à ce sujet.&lt;/p&gt;
&lt;p&gt;Le deuxième projet sur lequel je planche depuis maintenant deux bonnes semaines fait le pont entre mon travail de codeur et une de mes passions sportives, le tennis. &lt;!-- more --&gt;Le concept est expliqué sur le blog de SocialTennis: &lt;a href="http://blog.socialtennis.fr/"&gt;&lt;a href="http://blog.socialtennis.fr/"&gt;http://blog.socialtennis.fr/&lt;/a&gt;&lt;/a&gt;. Si vous êtes intéressé(e) par le concept, n&amp;#8217;hésitez pas à me contacter.&lt;/p&gt;
&lt;p&gt;Pour ce projet, j&amp;#8217;ai essayé de minimiser les coûts de développement et de production. Par exemple, SocialTennis coûte à peu près 0 euro par mois en production, difficile de faire mieux à vrai dire&amp;#160;! Je reviendrai sur ce point plus tard dans ce billet.&lt;/p&gt;
&lt;p&gt;Pour faire baisser les coûts de développement, je n&amp;#8217;ai pas de recette miracle à part utiliser les bons gems, ceux qui font gagner en productivité. Voici, la liste des principaux gems que j&amp;#8217;utilise sur SocialTennis:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://haml-lang.com/"&gt;HAML&lt;/a&gt;: il remplace le moteur de templates par défaut de Rails (erb). Les vues sont alors nettement plus faciles à écrire et à lire. Le code HTML généré est d&amp;#8217;excellente qualité (impossible d&amp;#8217;avoir une balise HTML non fermée). &lt;br/&gt;Le seul petit défaut serait qu&amp;#8217;il est un peu plus lent mais les temps de réponse pour générer une page sur SocialTennis sont très bons&amp;#8230;.&lt;br/&gt;Il est souvent utilisé en relation avec &lt;a href="http://sass-lang.com/"&gt;SASS&lt;/a&gt; pour écrire les CSS. &lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/plataformatec/devise"&gt;Devise&lt;/a&gt;: la solution ultime pour l&amp;#8217;authentification. Tout est (pratiquement) géré: fonction mot de passe oublié, &amp;#8230;etc. Il possède de nombreuses extensions pour oauth en autre. En outre, il fonctionne avec ActiveRecord, Mongoid et MongoMapper. Indispensable. &lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/josevalim/inherited_resources"&gt;InheritedResources&lt;/a&gt;: grâce à lui, les contrôleurs de type CRUD deviennent ridiculement petits&amp;#160;! &lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/justinfrench/formtastic"&gt;Formtastic&lt;/a&gt;: là aussi, je suis toujours dans la logique d&amp;#8217;écrire le moins de code possible. Le principe de ce plugin est d&amp;#8217;améliorer les helpers de base pour les formulaires Rails. Ainsi, seules quelques lignes de code suffisent pour obtenir un formulaire sémantiquement correct (utilisation des balises Fieldset et Legend par exemple), facilement &amp;#8220;customizable&amp;#8221; grâce aux CSS. De plus, il intègre parfaitement I18n.&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/railsjedi/rails_config"&gt;RailsConfig&lt;/a&gt;: Plus besoin d&amp;#8217;écrire son propre module de configuration d&amp;#8217;application qui gère le multi-environnement, tout est déjà fait ici.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Cependant, j&amp;#8217;ai un petit bémol à apporter. J&amp;#8217;ai dû quand même me plonger dans le code de certains de ces gems à de certaines occasions (bugs ou fonctionnalités non suffisament documentées). Rien de bien méchant.&lt;/p&gt;
&lt;p&gt;Pour information, SocialTennis s&amp;#8217;appuie sur la dernière version de Rails (Rails 3.0.3). Quant à la base de données, c&amp;#8217;est du MongoDB, parfaitement adapté pour ce type de projet.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Comment arriver à ne payer quasiment rien en production&amp;#160;?&lt;/strong&gt; Facile, &lt;a href="http://www.heroku.com"&gt;Heroku&lt;/a&gt;&amp;#160;!&lt;/p&gt;
&lt;p&gt;Ce service est vraiment formidable. Pour 0 euro, vous avez votre application hébergée chez Heroku avec un niveau de prestation par défaut assez élevé. Vous n&amp;#8217;avez plus besoin de passer temps à installer votre serveur.&lt;br/&gt;Heroku vous offre gratuitement une base de données de type Postgresql ou bien MongoDB (par l&amp;#8217;intermédaire de MongoHQ). Votre application requiert ruby 1.9&amp;#160;? Pas de souci, Heroku vous donne le choix de votre version de Ruby.&lt;/p&gt;
&lt;p&gt;En revanche, si vous autorisez l&amp;#8217;upload de fichiers sur votre application (par exemple les avatars dans SocialTennis) alors il vous faudra souscrire à un service tiers de type Amazon S3. Mais les prix sont tellement bas que nous n&amp;#8217;allez pas vous ruiner avec cela.&lt;/p&gt;
&lt;p&gt;Les performances sur Heroku sont très bonnes et un seul dyno (instance Heroku) est largement suffisant. J&amp;#8217;avais hébergé, il y a quelques temps, une application sur un VPS (900&amp;#160;Mo de RAM) avant de la migrer sur Heroku. La version &amp;#8220;Heroku&amp;#8221; était nettement plus rapide.&lt;/p&gt;
&lt;p&gt;Dernier point. Je conseille très vivement d&amp;#8217;utiliser &lt;a href="http://documentcloud.github.com/jammit/"&gt;Jammit&lt;/a&gt; avec Heroku. Il compresse tous vos fichiers javascripts et css. Double effet &amp;#8220;kisskool&amp;#8221;, vous réduisez à la fois le nombre et la taille de ces fichiers. Votre dyno vous en sera reconnaissant.&lt;/p&gt;</description><link>http://blog.nocoffee.fr/post/2301039913</link><guid>http://blog.nocoffee.fr/post/2301039913</guid><pubDate>Mon, 13 Dec 2010 09:54:00 -0500</pubDate><category>startup</category><category>développement</category><category>ruby on rails</category><category>heroku</category></item><item><title>Notre CMS maison</title><description>&lt;p&gt;Voilà, c&amp;#8217;est fait, nous venons de lancer le site officiel de notre &lt;a href="http://www.locomotiveapp.org"&gt;CMS&lt;/a&gt; open source fait maison. Ce ne fut pas de tout repos mais le résultat est là.&lt;/p&gt;
&lt;p&gt;Évidemment, nous aurions voulu y intégrer encore plus de fonctionnalités mais nous avons estimé qu&amp;#8217;il était suffisamment &amp;#8220;mature&amp;#8221;. Nous sommes aussi en train d&amp;#8217;écrire la documentation car nous savons qu&amp;#8217;un projet open source n&amp;#8217;est viable que s&amp;#8217;il possède une documentation correcte. Le sources sont disponibles sur &lt;a href="http://github.com/did/locomotive"&gt;github&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;D&amp;#8217;un point de vue technique, notre CMS se présente sous la forme d&amp;#8217;un engine au sens Rails 3. Cependant, il peut être utilisé en tant qu&amp;#8217;application stand-alone.&lt;br/&gt;Nous avons mis l&amp;#8217;accent sur sa capacité à être déployable dans le &lt;strong&gt;Cloud&lt;/strong&gt; (expression à la mode ces temps-ci). C&amp;#8217;est à dire qu&amp;#8217;il peut:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;être installé sur &lt;a href="http://www.heroku.com"&gt;Heroku&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;utilisé le service de base de données &lt;a href="http://www.mongohq.com"&gt;MongoHQ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;stocké les différentes fichiers sur &lt;a href="https://s3.amazonaws.com/%20%20"&gt;Amazon S3&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Notre brique CMS est intégrée au sein de notre plate-forme de gestion de sites de nos clients. A noter que notre site NoCoffee est hébergé bien évidemment par notre plate-forme.&lt;/p&gt;
&lt;p&gt;N&amp;#8217;hésitez pas à nous contacter si vous désirez des renseignements.&lt;/p&gt;</description><link>http://blog.nocoffee.fr/post/789697428</link><guid>http://blog.nocoffee.fr/post/789697428</guid><pubDate>Fri, 09 Jul 2010 10:55:00 -0400</pubDate><category>project</category><category>cms</category><category>open source</category></item><item><title>Nouveau design, nouveaux projets, ...etc !</title><description>&lt;p&gt;Voila, c&amp;#8217;est le premier post officiel de NoCoffee, un moment certainement &amp;#8220;historique&amp;#8221; (enfin tout est relatif). &lt;/p&gt;
&lt;p&gt;Que va t&amp;#8217;on retrouver sur ce blog&amp;#160;?&lt;/p&gt;
&lt;p&gt;Bien, tout d&amp;#8217;abord, nous allons communiquer sur nos projets &amp;#8220;internes&amp;#8221;. Par exemple, nous lançons dans les prochains jours notre plate-forme CMS maison qui sera open source. Une façon pour nous de rendre la pareille à la communauté du libre.&lt;/p&gt;
&lt;p&gt;En outre, ce blog va aussi servir de lieux de d&amp;#8217;échange sur certains points techniques concernant le développement d&amp;#8217;application web avec le framework Ruby on Rails. &lt;/p&gt;
&lt;p&gt;Bonne lecture à tous&lt;/p&gt;
&lt;p&gt;Stay tuned&amp;#160;!&lt;/p&gt;</description><link>http://blog.nocoffee.fr/post/780919626</link><guid>http://blog.nocoffee.fr/post/780919626</guid><pubDate>Wed, 07 Jul 2010 08:38:00 -0400</pubDate><category>général</category></item></channel></rss>

