Comment tester son idée et la déployer rapidement?

Aujourd’hui je vais vous faire un retour d’expérience sur plusieurs conférences que j’ai pu voir cette année et qui tournaient autour du thème de la concrétisation d’une idée.

La première, présentée par Camille Roux lors du Devoxx France s’intitulait comment tester son idée et concevoir un prototype web en un minimum de temps. La seconde, Start me up, présentée par Nicolas D e Loof lors du Jug Summer Camp 2012 et la troisième et dernière, Du Legacy au Cloud, présentée par David Gageot, au même Summer Camp. Le but de ces rétrospectives est de fournir des outils à la fois méthodologiques et techniques pour construire rapidement une application.

En ce qui concerne la partie méthodologique je vais m’appuyer principalement sur la conférence de Camille et concernant la partie technique j’effectuerai une présentation des solutions apportées par les différents orateurs. Vu que c’est le sujet qui nous intéresse principalement je ferais ensuite un petit rappel des services offerts par ces outils en prenant l’exemple de Cloudbees avant de conclure par une solution de feedback utilisateurs.


Camille vient du monde Ruby, il est fan de startup week-end et fondateur de Human Coders, de Ruby Live ainsi que d’autres comme Java Live (C’était son “one more thing” ce jour là. Bien vu, au regard du public majoritairement javaiste).

Je ne le connaissais pas mais c’était une agréable surprise non seulement c’est un bon orateur mais on sort de sa conférence enrichi. L’objectif de la conférence était de nous donner des outils pour aller plus loin dans la concrétisation de nos idées, tant du point de vue méthodologique que technique.

Personnellement, je n’y suis pas allé pour savoir comment monter ma startup mais pour m’outiller afin d’aller plus loin dans mes projets personnels et pouvoir apporter plus de conseils à mes clients.

Pour ce qui est de la méthodologie, Camille nous a présenté le Lean Canvas (on peut le voir comme une évolution du Business Model Canvas) et le Lean Startup, inspiré du lean et de kanban, son but est de favoriser les pratiques créatrices de valeurs et d’augmenter la productivité. Les interactions utilisateurs étant fortes dans le Lean Startup, il nous a aussi conseillé d’aller voir les utilisateurs afin de définir l’orientation de notre produit. On peut le faire à l’ancienne, en allant directement voir les gens et discuter ( il paraît que ça fonctionne)  mais on peut aussi le faire à la sauce 2.0 en postant un formulaire Google form dans un forum spécialisé, dans le domaine de notre futur produit.

Le but ici est de connaître les attentes du public afin d’affiner notre produit. On peut aussi tester la popularité de notre futur produit en affichant juste une page Web de présentation et en regardant sa fréquentation.

Enfin bref, une fois toutes ces étapes réalisées, on peut passer au prototypage, et là on va sortir l’arme absolue: le cloud! C’est une citation de Nicolas De Loof, pour ceux qui ne le connaissent pas. Il vaux mieux aller le voir, c’est un maître quand il s’agit d’allier présentation technique et humour.

Dans la période de prototypage, on peut créer rapidement notre site via Twitter Bootsrap (ou Foundation) et l’héberger dans le “cloud”. Et là plusieurs solutions s’offrent à nous. Camille utilise  le couple Ruby / Heroku et ajoute : “si votre langage (ruby + App Scrolls) ne vous permet pas de faire cette page en 10min, va falloir changer!” Heureusement pour nous autres javaiste, on est super doué et rapide façon David Gageot. On utilise Lombok et la classe HttpServer de Java 6 pour un déploiement toujours sur Heroku. Mais on ajoute un peu de fun en publiant les pages statiques sur Github avec une pincée de JSONP pour pouvoir exploiter les flux json de notre serveur.

La philosophie de David est d’exploiter le meilleur des offres gratuites de chaque fournisseur.

Je fais une petite parenthèse pour signaler que Spring Fuse fonctionne aussi très bien pour du prototypage. Autre solution, pour Nicolas De Loof cette fois-ci, on est un peu nostalgique et on revient aux bases avec une servlet distribuant une page html toute simple, et tout ça sur Cloudbees. Il démarre simplement mais c’est pour mieux nous démontrer la puissance de Cloudbees. On aura droit à l’utilisation du Paas de CloudBees via WebSolr, du Run and Dev et de Jenkins. On a même des templates pour pouvoir démarrer des projets rapidement et Nicolas nous montre que, comme il se doit, Cloudbees permet de gérer la montée en charge automatique de nos applications et le partage de sessions (toutes les applications ne sont pas stateless).

Le cloud c’est bien, mangez-en! Ça permet d’avoir un coût adapté à l’utilisation, d’avoir une disponibilité immédiate et sans engagement, d’accompagner sa croissance, d’avoir un service clé en main et l’assistance est incluse! Comme le dit Nicolas plus ça va aller, plus les politiques tarifaires des offres cloud vont s’aligner et elles se différencieront par leurs services. Il y a d’autres offres qui existent comme App Engine, présentée via un quickie au Jug de la Rochelle par Tugd u al Grall. Je n’en ai pas trop parlé car il faut faire attention à ne pas s’enfermer dans des solutions trop propriétaires, et, à mon avis, sur App Engine c’est quelque chose de très facile à faire.

Bon voilà, on est content, on a quelque chose qui tourne. Mais comme le dirait Camille, il ne faut pas oublier nos utilisateurs. C’est là qu’intervient User Voice, c’est un framework de feedback utilisateur qui fonctionne aussi bien sur des applications mobiles qu’un site web classique.

Dans un prochain billet je détaillerai un peu plus en détail la partie refactoring de la conférence Du Legacy au Cloud de David Gageot.