INTERVIEWS 
 
Yann Klis
Fondateur
Novelys
Yann Klis (Novelys)
"Dans quelques années, Ruby ne sera plus un langage alternatif"
Fondateur d'une société plaçant tous ses projets sous les auspices des langages Ruby et Python, Yann Klis rejette la lourdeur de langages comme Java ou C#, et nous explique pourquoi.
02/02/2006
 
  En savoir plus
 Novelys
Dossier Logiciels libres/Open Source
  Le site
Novelys
JDN Développeurs. Quels sont les langages novateurs que vous utilisez au quotidien ?
Yann Klis J'utilise les langages Ruby et Python, surtout le langage Ruby, au travers du framework Ruby on Rails.

Depuis quand les utilisez-vous de manière professionnelle ?
Depuis mars 2005, date à laquelle j'ai décidé de monter ma propre société. J'avais décidé de me spécialiser dans le développement d'applications Web. Ruby on Rails a commencé réellement à faire parler de lui à peu près à ce moment là, tandis qu'on commencait également à utiliser le terme Ajax. J'ai donc voulu voir de quoi il retournait, puisque, pour développer des applications Web, entre le langage PHP et le framework J2EE, il manquait réellement un échelon intermédiaire. Et j'ai rapidement compris que Ruby on Rails était une innovation perturbatrice [NDLR: en anglais, disruptive innovation] dans le domaine du développement Web.

En ce qui concerne le langage Python, je savais avant de l'utiliser que beaucoup d'applications du même genre que celles que je m'apprêtais à créer étaient développées avec ce langage. Les choses ici se sont donc faites plus naturellement.

Quel a été le plus gros obstacle à votre passage à Ruby ?
A vrai dire, aucun. Il est vrai que j'avais peu de contraintes : étant mon propre patron, il n'y avait pas d'existant à prendre en compte.
L'apprentissage du langage Ruby, ainsi que de Ruby on Rails, s'est fait de manière très linéaire et très souple, contrairement au langage PHP qui nous laisse rapidement sur notre faim ou J2EE qui a une barrière à l'entrée plutôt imposante - et de même pour C#.

Ruby et Python peuvent gérer n'importe quel projet."
Les utilisez-vous en combinaison avec des langages classiques ?
Pas du tout. D'une part, ces langages et leurs outils associés sont assez souples pour gérer n'importe quel genre de projet, et leur portée est suffisamment grande pour ne pas avoir besoin de faire appel à d'autres langages.

Reviendriez-vous à l'usage unique de langages classiques, au détriment de vos nouveaux langages ?
Je pense qu'aujourd'hui c'est tout bonnement impossible. Les gains en productivité, en maintenabilité et en lisibilité du code, ainsi qu'en flexibilité font que ça serait une perte de temps et d'argent.
A ce sujet, Ruby on Rails est vu aujourd'hui, en France, comme un framework alternatif tout comme Ruby est vu comme un langage alternatif. Ce n'est plus le cas aux Etats-Unis, et je suis persuadé que la vague va se propager en Europe dans les années qui viennent.

Quels sont selon vous les principaux apports de Ruby ?
C'est un langage interprété, dynamique, orienté Objet pur. On part donc déjà d'une base très saine. L'aspect dynamique du langage est une caractéristique essentielle à mon avis. On peut faire des choses impensables dans d'autres langages, et cela se fait de manière très naturelle.

La communauté qui s'est formée autour de Ruby on Rails est un autre atout majeur. Cette communauté apporte un certain nombre de valeurs inédites, dans le sens où c'est une communauté entière qui porte les idées, sous l'impulsion des fondateurs de Ruby on Rails, comme la mise en place de tests unitaires, le développement orienté par les tests, l'écriture de documentation ou encore l'interface graphique. Ce dernier aspect est assez important, car il doit rester sobre et efficace afin de servir l'utilisateur, non le desservir.

Java et .Net ont aujourd'hui une barrière d'entrée trop imposante par rapport à Ruby ou Python"
Quels sont les manques des langages classiques par rapport à Ruby et Python ?
Tout d'abord, la barrière à l'entrée est très imposante et le développement est entrecoupé de beaucoup de tâches purement administrative, comme dans le cas de J2EE et de .Net.

Par ailleurs, ces langage partent de bases plus ou moins défectueuses : l'aspect objet de PHP n'est ainsi apparu que tardivement et n'est qu'une surcouche. Autre manque fréquent, le langage n'est pas adjoint d'outils efficaces pour un certain domaine de développement. Ruby on Rails dispose de son côté d'une multitude d'outils facilitant le développement Web, allant d'un débuggeur intégré à la mise à disposition d'un petit serveur Web.

Vous sentez-vous limité par les capacités de votre langage de choix ? Quels sont les projets que vous n'aborderiez pas avec ?
En ce qui concerne Ruby, les outils associés au développement d'application non web me semblent quelque peu immatures pour le moment. Python ferait mieux l'affaire pour ce genre de cas.

De la même manière, en ce qui concerne des applications réseaux sophistiquées mais non web, Python dispose du framework Twisted qui n'a pas d'équivalent dans les autres langages, y compris chez Ruby.

Devez-vous convaincre vos clients de vous laisser utiliser ce langage ?
Les clients avec lesquels je travaille me confient entièrement le développement de leurs applications Web et leur hébergement, la considération du langage n'est donc pas du tout dans leur priorité, voire même inconnue sur leur radar.

Par définition, ces langages sont moins connus. Avez-vous du mal à trouver des projets rémunérateurs en France, acceptant d'utiliser ce langage ? Peut-on en vivre aujourd'hui ?
RoR sert à développer des applications Web. Donc la question reviendrait à "peut-on vivre aujourd'hui d'application Web ?". La réponse est évidemment oui.
 
Propos recueillis par Xavier Borderie, JDN Développeurs

PARCOURS
 
 
Yann Klis, 27 ans, est ingénieur en solutions impliquant des logiciels libres

2005 Fondateur de Novelys
2004 Ingénieur mobilité chez RBS
2002 Chef de projet chez Kaliasys