26 oct 2011
Depuis quelques mois nous assistons à un retour incontestable de Ruby en France. De plus en plus de startups l’utilisent, des apéros Ruby fleurissent à travers la France, plusieurs blogs ont vu le jour récemment… Jamais autant d’articles n’ont été écrits en français sur Ruby.
Matthieu Segret et moi-même avons souhaité apporter une nouvelle pierre à cet édifice. Nous avons réfléchi à un moyen d’agréger ces multiples sources d’informations afin d’aider la communauté. C’est comme ça que nous avons créé RubyLive !
RubyLive est un flux d’actualités maintenu par la communauté (à la manière de RubyFlow). Chacun, une fois inscrit, peut soumettre des articles. Une fois modérés, les articles deviennent visibles, ils apparaissent sur le flux RSS et sont publiés sur nos comptes Facebook et Twitter.
Notre souhait est que RubyLive devienne la source d’information de référence pour tous les développeurs Ruby francophones. Pour cela, nous allons rester à votre écoute. Si vous avez des idées ou des suggestions, n’hésitez pas à nous les soumettre grâce au bouton situé en bas de page. Nous développerons en priorité les fonctionnalités les plus demandées.
Afin que ce site soit et reste d’une qualité professionnelle, nous avons demandé à des sociétés de nous soutenir. Nous sommes heureux de compter parmi nos premiers partenaires : Novelys, Belighted, Entropic Synergies, RemixJobs…
Nous comptons sur vous pour nous proposer des news de qualité et faire connaître RubyLive autour de vous !
A tout de suite sur RubyLive.fr !
14 oct 2011
J’ai 34 ans, je suis ingénieur des Mines de Saint-Etienne, avec une spécialisation en informatique et micro-électronique. J’ai travaillé une dizaine d’années à l’étranger où je me suis consacré à la gestion d’archives audiovisuelles numériques au sein d’une multinationale.
A mon retour en France, je me suis installé à Bordeaux où j’ai fondé Wopata, une entreprise de prestation de services spécialisée dans la réalisation d’applications web (Ruby on Rails) et mobiles (iOS, Android). Wopata est récemment devenue éditeur avec sa propre suite logicielle Pillango dédiée à l’intervention humanitaire.
- Quand as-tu commencé à développer en Ruby ? Quelles ont été tes motivations ?
J’ai commencé à développer en Ruby en 2005 via la version 0.6 de Rails (sic).
Les technologies que j’utilisais au quotidien dans mon travail ne me convenaient plus et je ressentais notamment de la frustration par rapport à l’ORM que nous avions développé en interne. J’ai découvert Rails et Active Record et j’ai tout de suite compris leur potentiel !
- Considères-tu Ruby et Ruby on Rails comme un avantage concurrentiel ? Pourquoi ?
Je ne constate pas de demande d’utilisation d’une technologie précise de la part de nos clients. Certains peuvent être sensibles à une technologie en particulier ; d’autres viennent nous voir parce qu’on s’appuie sur des méthodes agiles.
Par contre, ils nous demandent tous d’être efficaces et surtout flexibles.
Le langage Ruby est à mon sens un de ceux qui répond le mieux à ces impératifs. Je vais prendre l’exemple de la modélisation. Nous n’avons plus besoin de passer par des modèles conceptuels de données. Grâce à la grande flexibilité de Ruby / Ruby on Rails, nous concevons directement les modèles physiques.
Un autre point fort de Ruby c’est sa communauté très active. On a accès à une multitude de gems, de plugins… A Wopata, Ruby est la pierre angulaire de tous nos développements web, en particulier pour Pillango. La réalisation de Pillango a été rendue possible grâce aux Rails Engines qui nous ont permis d’arriver à une architecture très flexible.
- Peux-tu me décrire ton environnement de travail habituel ? Quels gems, langages, techno, OS, IDE, méthodes utilises-tu ?
L’équipe de Wopata compte une quinzaine de personnes aujourd’hui. J’ai donc un peu abandonné la partie technique même si je garde encore quelques heures par semaine pour faire de la veille et du prototypage.
Je peux te décrire l’environnement habituel dans lequel travaille l’équipe.
A Wopata, nous sommes habitués à travailler sous Mac et Linux. Nos développements se font essentiellement sous Rails 3.1. On utilise aussi RVM et Homebrew comme package managers.
La quasi totalité de nos applications est hébérgée sur le Cloud . Les projets les plus gros pour lesquels on a besoin de configurations spécifiques sont hébérgés sur Amazon EC2 et les projets de taille moyenne sont hébérgés via Heroku, pour simplifier le déploiement.
On utilise les gems mainstream comme Cancan, Devise ou Paperclip. De plus, nous avons nos propres gems, par exemple pour synchroniser les bases de données serveur avec les bases de nos applications mobiles.
Nous n’utilisons pas d’IDE. Nous préférons les éditeurs de texte tels que Textmate et vim.
On se sert de Git pour tous nos projets avec un workflow qui repose sur l’utilisation de branches.
Nous avons recours à une myriade de services externes car notre métier n’est pas tant le développement mais plus l’intégration de briques (Postmark, Websolr).
- Que penses-tu de la communauté Ruby en France ?
Je peux donner mon sentiment sur deux axes: la communauté des développeurs et en tant que recruteur.
Du point de vue des développeurs, la communauté est en pleine construction. Comme tu le sais, il y a des niches très actives à Sophia Antipolis, Lyon, Strasbourg ou Paris mais à Bordeaux on est encore assez isolé même si quelques évènements voient le jour. A noter bientôt le premier apéro Ruby à Bordeaux qui aura lieu tous les mois.
Ayant recruté plusieurs développeurs depuis la création de Wopata, je constate que les formations sur Ruby sont souvent inexistantes. A mon avis, cela s’explique par le fait que les écoles n’ont pas encore toutes compris l’enjeu de ce type de technologie. J’espère que la situation va s’améliorer au fil du temps. J’y contribue modestement en donnant des cours sur Ruby et Ruby on Rails dans une école d’ingénieurs à Paris. Par ailleurs, il existe de bonnes offres d’e-learning comme Rails for Zombies.
- As-tu des idées pour améliorer la situation actuelle de la communauté ruby ?
La communauté des développeurs est très active. Il nous reste maintenant à sensibiliser les chefs de projets, les chefs de produits et autres décideurs qui doivent comprendre ce qu’on gagne à utiliser ces technologies.
A ma connaissance, il n’existe pas d’annuaire de projets référence qui ont été faits avec Ruby on Rails, … et pourtant ils existent ! Il serait intéressant d’avoir des études de cas avec une approche plutôt business que technique.
- Quel rôle l’association Ruby France doit avoir aujourd’hui ?
Nous ne sommes pas membre de cette association, il me parait donc difficile de donner mon sentiment. Toutefois, son rôle fédérateur devrait pouvoir sensibiliser professionnels et écoles.
- Je te laisse le dernier mot pour conclure :)
L’enjeu de la communauté est de montrer qu’avec Ruby et Ruby on Rails on arrive à être efficace et à réaliser de belles choses. Attention, arrêtons tout de même de mettre en concurrence Ruby et Ruby on Rails avec d’autres technologies, afin d’éviter de passer pour une communauté dogmatique et arrogante. Tout le monde est le bienvenu … surtout à Wopata ! Nous sommes actuellement à la recherche de nouveaux talents pour rejoindre l’équipe.
- Merci beaucoup de m’avoir accordé un peu de ton temps.
11 oct 2011
Aujourd’hui Nima Izadi (@Nima_Izadi) et Nicolas Dupont (@lowx512) sont mes invités, ils sont étudiants à Polytech’Nice Sophia. Ils viennent de mettre en ligne un blog, On The Rails Again, pour aider les gens à se former à Ruby on Rails simplement et en français. J’apprécie beaucoup cette initiative et je souhaitais qu’ils vous en parlent !
Nous sommes deux élèves en dernière année d’école d’ingénieur en option IHM spécialité Web à l’école Polytech’ Nice Sophia. Nous sommes tous deux passionnés de Web depuis le début de nos études et notamment par les technologies comme Ruby On Rails ou encore Coffeescript. Nous faisons actuellement une alternance dans l’entreprise Intellicore dans laquelle nous travaillons sur un gros projet Ruby On Rails.
Nous avons fini récemment notre stage (que nous avons également fait ensemble) pendant lequel nous avons du reprendre et améliorer un projet Ruby On Rails.
On The Rails Again vise, pour le moment, principalement les débutants en Ruby On Rails qui ne sont pas forcément ami avec l’anglais et qui cherchent à comprendre certains aspect de Rails qui ne sont pas évident au début. Nous allons essayer d’apporter des réponses aux questions que nous avons pu nous poser en tant que débutant et pour lesquelles nous avons eu du mal à trouver des réponses.
L’idée est de commencer par les bases mais par la suite traiter des points plus précis et plus compliqué. C’est pour ça que, par la suite, nous pensons également écrire des articles sur tout ce qui tourne autour de Ruby On Rails, autrement dit sur du Javascript, CSS, CoffeeScript Backbone.js etc. Mais pour le moment nous voulons nous focaliser sur l’apprentissage de Rails.
Merci Nima et Nicolas, encore bravo pour l’initiative.
Chers lecteurs, vous pouvez leur proposer des articles ou des idées d’articles sur leur Twitter : @OnTheRailsBlog
3 oct 2011
Bonjour Thibaut,
On ne s’est jamais rencontré, mais je te vois souvent dans ma timeline Twitter. J’entends souvent parler de toi aussi.
Je souhaite interviewer quelques personnes aux profils divers afin d’avoir un état des lieux de la communauté en France et de réfléchir ensemble à comment la faire évoluer.
Tu es freelance depuis plusieurs années et ce point de vue m’intéresse !
Si tu le veux bien, j’aimerais en savoir plus sur toi et ta vision de Ruby.
- Peux-tu te présenter en quelques lignes ?
Bonjour ! Je m’appelle Thibaut Barrère, j’ai 34 ans. J’ai créé ma société LoGeek en 2005. En 2010, ma compagne Cécile m’a rejoint pour travailler avec moi.
Nous travaillons sur notre premier produit SAAS, WiseCash, qui aide les freelances et petites structures à anticiper et optimiser leur trésorerie (c’est une appli Rails 3.1 pour l’anecdote).
Mon activité principale en dehors de WiseCash est le consulting : accompagnement technologique, majoritairement avec Ruby et RubyOnRails. Je travaille en particulier sur l’automatisation au sein des entreprises, l’interfaçage entre plusieurs systèmes (legacy, CRM, flux de données…), le traitement de données (ETL, Datawarehouse) et le développement en Ruby ou Rails en général. Je gère généralement la totalité du cycle projet, du recueil du besoin, au développement itératif à la Scrum (je suis certifié Scrum Product Owner), au déploiement et provisioning de serveurs et à la maintenance. Je travaille généralement avec mes clients sur la durée, dans une relation de confiance.
- Comment se passent les relations entre freelances Ruby ? Y-a-t-il des groupes qui s’entraident par exemple ?
J’ai des échanges fréquents par mail, téléphone ou IRC, avec un bon groupe de Rubyistes, freelances ou non. Les relations entre nous sont très bonnes.
Les échanges sont nombreux et on s’entraide, que ça soit sur des sujets techniques (que penses-tu de MongoId ? Backbone.js ? etc), sur des sujets de gestion de projet (pour s’aider à estimer correctement un projet compliqué), pour partager des outils nouveaux, ou encore sur de l’administratif ou du commercial (comment gère-t-on la TVA sur un produit SAAS ?).
On se transmet également les demandes de clients qu’on ne peut pas traiter.
Donc pour les gens que je connais en tout cas : un vrai sens de l’entraide.
- Quand as-tu commencé à développer en Ruby ? Quelles ont été tes motivations ?
J’ai débuté en 2004. Ma motivation initiale était de pouvoir compiler, sous Windows, une librairie C++ qui venait de Solaris et dont les outils de build n’étaient pas disponibles sur Windows. Rake et Ruby m’ont permis de recréer ce qui était nécessaire en une cinquantaine de lignes et en moins de temps que je ne l’aurais espéré.
J’ai continué à me servir de Ruby en clientèle (parsing de logs, outils de build, etc.), puis je me suis mis à utiliser Rails en 2005. J’ai réalisé une première application personnelle pour apprendre, puis j’ai proposé à un client d’utiliser la techno pour répondre à un de leurs besoins, et ainsi de suite.
Une force de Ruby est qu’avec une connaissance minime du langage, on peut déjà résoudre des problèmes et apprendre au fur et à mesure selon ses besoins.
- Considères-tu Ruby et Ruby on Rails comme un avantage concurrentiel ? Pourquoi ?
Je considère Ruby en général comme un avantage concurrentiel très conséquent, pour plusieurs raisons que je vais détailler.
La concision du langage et la productivité que j’obtiens avec Ruby, comparativement aux autres plateformes que j’utilise, est nettement plus importante. La concision, qui paraît un détail sympathique au début, a des ramifications à tous les étages, notamment sur l’écosystème disponible, ou la capacité à refactorer ou comprendre intégralement une application.
L’écosystème de librairies et outils, d’autre part (plugins variés, mais aussi pièces d’infrastructure comme Resque, outils de provisioning de serveur comme Chef) est d’une grande richesse.
Le test automatisé est fortement engrainé dans le monde Ruby, avec une perpétuelle recherche d’amélioration sur “comment bien tester une application” (ce qui me permet de refactorer une application à l’envie).
Finalement, en quelques années, déployer une application Ruby normale est passé du sujet d’expert à quelque chose de facile (ex: Heroku, DotCloud, Passenger…), avec une foultitude d’outils tels que NewRelic, AirBrake, pour instrumenter le tout.
- Peux-tu me décrire ton environnement de travail habituel ? Quels gems, langages, techno, OS, IDE, méthodes utilises-tu ?
Je travaille sur Mac avec TextMate, et j’utilise des VM Windows via VirtualBox quand c’est utile.
J’utilise les gems suivants : Rails 3/2, Ruby 1.9/1.8, Guard, JasmineRice, Rake, Haml, Sass, Resque/DelayedJob, Sunspot (Solr), ThinkingSphinx, API Cache, Redis store (cache), Rufus scheduler, Amazon/ECS, MongoMapper/Mongomatic, RSpec ou Test::Unit, Cucumber, FactoryGirl, Awesome Print, Will Paginate, Prawn / PDF::Writer, Acts as Taggable variés, Nokogiri/Hpricot/libxml, Hoptoad/ExceptionNotifier, Whenever ou autres gems pour cron, Capistrano ou Chef-solo.
Pour les traitements de données ETL, j’utilise généralement ActiveWarehouse-ETL, librairie open-source dont je suis l’actuel mainteneur, ou une variante plus légère.
Les OS et technos varient : cette année j’ai travaillé en Rails 3/MySQL déployé sur Ubuntu, en JRuby+Java+Resque déployé sur Windows Server 2003, en Rails 3+MongoDB déployé sur Heroku, en Rails 2+Ruby 1.8.7 déployé sur SliceHost… Je m’adapte à ce qui est pertinent pour mes clients.
Le mode opératoire est généralement agile : j’ai tendance à utiliser Acunote pour les estimations et les sprints à la Scrum, à travailler à distance, à faire du pair-programming de temps en temps (même à distance), à tester rigoureusement.
Je facture à l’heure passée exclusivement, et je tracke mon temps avec Freckle.
- Que penses-tu de la communauté Ruby en France ?
En préambule, je ne suis pas membre de l’association et je connais peu ses actions actuelles.
Je crois beaucoup, pour développer la communauté, à :
Si quelqu’un veut me contacter pour discuter, vous êtes le bienvenu => thib…@gmail.com
Merci beaucoup de m’avoir accordé un peu de ton temps.
Merci à toi pour ton initiative qui donne plus de visibilité à la communauté Ruby en France :)