{"partition": "head_middle", "source_domain": "hypedrivendev.wordpress.com", "digest": "sha1:B5Y4JLY3PPBHXJPL3RGCV5JHY62KPTJ3", "path": "/lustre/fsn1/projects/rech/qgz/uzq54wg/processed_redpajama/base_processing/output/fr/2014-15/000_00006.parquet"}
Hype Driven Development
coz' geeks love new stuff !
Archives de Catégorie: Conference
Meetup W3C de Lyon	oct 30
Publié par Cédric Exbrayat
Lundi 28 Octobre avait lieu à Lyon le W3C meetup. Le principe est simple, le w3c prend l’avion avec quelques uns de ses développeurs et speakers et débarque pour faire une série de mini talks sur le web. Organisé en partenariat avec le Grand Lyon, des startups du coin étaient aussi conviées à présenter leurs produits en essayant de les lier, au moins vaguement au web.
Premier bon point pour les locaux, dans l’hôtel de ville, ce qui a quand même autrement plus la classe que le bar ou l’école du coin! Par contre, pas de chaises prévues, tout le monde s’assoit par terre, pendant que les speakers se préparent pour leurs 5 à 10 minutes de talk.
On commence avec ohmytoast, une startup lyonnaise, qui propose une solution pour enrichir vos photos avec des métadonnées, du web semantique, pour créer des albums avec un sens. Le concept a l’air sympa, niveau techno, l’équipe se repose sur html5, css3 et Apache Camel pour la partie serveur.
Le deuxième talk, extrêmement court, était pour moi le plus intéressant de la soirée. En 3 minutes, Rudy Rigot nous montre l’histoire du webdesign et l’intérêt du responsive design. Prenez deux minutes pour voir ses slides, et jouer avec le resize, ca vaut le détour.
Vient ensuite, Eric Daspet qui présente Tea, une solution de lecture d’ebook dans le navigateur, qui repose donc uniquement sur des technos web. Le choix full web du reader n’a pas été simple, mais Eric voit de nombreux avantages (navigateurs présents sur tous les devices, pas de frais liés à Apple ou Google) malgré quelques inconvénients (moins de performances, pas de présence sur les marketplaces). Tea est encore en phase de développement, à revoir dans quelques mois donc.
Viennent ensuite des speakers W3C qui présentent les nouveautés HTML5. Mais bon, ça commence à sentir le réchauffé avec les différentes balises video, audio… Rien d’exceptionnel. Deux développeurs de Mozilla font une démo d’un jeu 3D qui tourne dans Firefox 16 : ils ont développé le jeu en interne (un quake-like) en C++ et un compilateur transpile le code en JS. Ils prédisent donc que de vrais jeux vont voir le jour dans le navigateur dans les prochaines années. Ils montrent également une fonction de login dans le navigateur qui permet de partager facilement des pages avec ses amis par tchat.
Les mêmes développeurs enchaînent ensuite sur une démo de Firefox OS, un OS full html, qui vise les plateformes mobiles. C’est en version très très alpha, avec peu de téléphones qui fonctionnent. Un market sera disponible, les applications étant des pur webapps, avec un packaging léger (un peu comme les webapps Chrome, un fichier json servant à la description de l’application). Des apis supplémentaires ont bien sûr été développées pour accéder à l’appareil photo, passer des appels, etc… Ces apis ont été soumises au W3C pour devenir un jour des standards accessibles dans le navigateur.
Un speaker vient ensuite parler des hyperdevices, autrement dit connecter plusieurs devices avec plusieurs technologies (websockets, réalité augmentée, web sémantique…) et propose quelques démos sympathiques mais souvent déjà vues (dessiner sur un téléphone et afficher le résultat en temps réel sur son écran de laptop…).
Dernière partie, sur les nouveautés du W3C. La seule notable est présentée par Lea Verrou, nouvelle arrivée au W3C, qui nous parle du sitee WebPlatform.org sorti ce mois-ci. L’ambition du site est de devenir la référence en matière de documentation sur les technologies web. Il devrait notamment être enrichi et traduit dans les prochaines semaines et, à terme, une API sera disponible pour permettre aux outils comme les IDEs de récupérer cette documentation.
La soirée se termine avec un buffet excellent qui permet de discuter avec les nombreux participants et quelques speakers. Pour un développeur web qui se tient un peu au courant de l’actualité, ce n’était pas une soirée extrêmement palpitante, mais elle a le mérite d’exister et d’amener quelques noms connus du W3C en France. Et puis le buffet était vraiment bien!
Publié dans Conference	Un commentaire
Tags: css3, html5, javascript, w3c	JUGSummerCamp 2012	sept 17
Premier voyage de l’équipe NinjaSquad, direction La Rochelle pour le JUG Summer Camp. Du Java, du Web, l’océan, une conf gratuite d’une journée avec une organisation irréprochable, il faudrait être difficile pour ne pas aimer!
Keynote : Nicolas de Loof - @ndeloof
Nicolas nous a fait un numéro de stand up très drôle en parodiant le podcast bien connu dans le monde Java : les Castcodeurs. Comme aucun d’entre eux n’étaient présents, Nicolas a eu l’idée de faire un puppet show en reprenant les traits caractéristiques de chacun d’entre eux, pour faire une keynote originale sur notre métier. Franc succès dans la salle (évidemment seulement drôle si on écoute ce podcast).
La journée se déroule ensuite sur deux tracks de confèrence, il faut donc faire des choix.
Google TV : Olivier Gonthier - @rolios
Première présentation sur la Google TV, petit boîtier qui permet de faire tourner des applis Android sur votre télé, mais pas encore disponible en France (on ne connait même pas les partenariats avec les opérateurs). Le principe est simple : une prise HDMI en entrée reçoit le flux vidéo et une prise HDMI de sortie le renvoie vers la TV. A noter que le code de Google TV n’est pas open source. Sinon techniquement c’est le même market que les applis Android traditionnelles.
Commençons par le point qui fâche et qui, à mon sens, fait perdre tout l’intérêt de la chose : il n’est pas possible de récupérer le flux video, ni la chaine visionnée par l’utilisateur, donc vous pouvez oublier toutes les idées d’applications contextuelles: IMDB sur le film en cours ou les stats du match que vous êtes en train de regarder, c’est foutu!
Mais il y a deux ou trois trucs intéressants quand même : par exemple, le "second screen app", qui permet aux devices Android de s’interfacer avec la GoogleTV et de vous servir de télécommande ou mieux, d’écran annexe pour certaines applications. L’exemple que je trouve assez cool : un jeu de poker Hold’em où la TV affiche la table de jeu (avec les cartes communes et les mises) et chaque joueur voit ses cartes sur son téléphone. Ce genre d’application peut avoir un grand potentiel, je suis sûr que l’on va voir apparaître des applications géniales!
Le développement est de la programmation Android traditionnelle, le SDK étant complété avec des fonctions pures TV (touches telecommande par ex). Si vous souhaitez développer une application Android utilisant le "second screen", vous pouvez utiliser Anymote library (voir dans les exemples de code fournis par Google, dans l’application Blackjack TV).
Il est également possible de développer des applications en html5, la GoogleTV ayant un très bon navigateur Chrome intégré (très bien documenté d’après le speaker). Il est aussi possible de packager votre application avec Phonegap pour la distribuer directement sur le Market.
En plus j’ai gagné la GoogleTV du concours, yay!
Node.js : Romain Maton - @rmat0n
Romain faisait une présentation générale de Node.js (voir articles précédents et les excellents articles de Romain) avec quelques rappels sur les principes de base. C’était une présentation très orientée web-app avec le framework web Express et son moteur de template par défaut Jade (cf article précédent également).
Puis les modules importants :
- l’incontournable Socket.io pour faire des websockets
- logging avec Winston
- nodemon, redémarrage automatique dès que vous modifiez un fichier.
- forever pour relancer l’application en cas d’erreur qui coupe l’appli
- jasmine, qunit pour les tests
Et pour terminer une petite démo sympa avec la librairie speak qui fait parler le navigateur pour annoncer le prochain bus qui passe.
Start me up : Nicolas de Loof - @ndeloof
Après le buffet repas le plus incroyable pour une conf que j’aie vu (les membres de l’orga Mix-it présents étaient impressionnés), on reprend avec ‘Start me up’ ou comment passer rapidement de l’idée à la réalisation (en utilisant Cloudbees, dont Nicolas est employé). L’idée est ici de faire un mini moteur de recherche sur les talks de la conf. Nicolas utilise au passage un autre service dans le cloud que je ne connaissais pas : WebSolr, un Solr as a Service. Cloudbees on aime bien, Mix-it est hébergé gracieusement dessus et ça marche très bien (le support a toujours été très réactif en cas de problème).
La présentation est intéressante, Nicolas étant un bon speaker, mais si vous avez déjà vu une présentation de Cloudbees le contenu ne vous surprendra pas (comment déployer, comment gérer ses instances, comment déclarer des propriétés pour le déploiement etc.). La nouveauté la plus notable est sans doute le Click Start, qui permet en un clic de créer tout ce qui va bien pour un type d’application (squelette du projet, repository de code, instance jenkins, base de données et instance de run). Pour l’instant, quatre types de Click Start sont disponibles (JavaEE6, Hibernate/Tomcat, Rest/Backbone, Scala/Lift).
Du legacy au cloud : David Gageot - @dgageot
David est un excellent speaker que je vous recommande de voir si il est dans une conférence à laquelle vous assistez. Son talk est du pur live coding, sans aucun slide, et reprenait le kata de Gilded Rose où une application existante doit être refactorée. Une spécification est disponible, mais David ne recommande pas particulièrement de la lire pour commencer mais plutôt de créer des tests sur le code existant que l’on doit retravailler. La logique étant que si l’application convient aux utilisateurs actuellement, le plus important est de préserver son fonctionnement. Les tests sont assez simples à écrire, on appelle chaque méthode et on colle dans le assert le résultat renvoyé : on obtient ainsi une série de tests au vert qui seront notre sécurité.
David utilise le plugin infinitest qui relance les tests dès que le code est modifié : si vos tests sont très courts, le feed-back est immédiat.
La marche à suivre pour refactorer le code est la suivante :
- augmenter la symétrie (mettre les if/else et les equals de la même façon, en enlevant les conditions inversées par exemple).
- puis faire apparaître les duplications de code afin d’extraire de nouvelles méthodes
David finit par introduire de la délégation (un objet était passé dans toutes les méthodes de la classe), en utilisant une annotation de Lombok.
Une fois le code propre, David écrit un petit serveur http qui expose les données en JSON, déploie l’application sur heroku, puis déploie un front statique sur Github Pages (comme le blog de NinjaSquad) qui consomme les données.
Le tout en 45 minutes, en expliquant très bien ses choix et en utilisant IntelliJ avec maestria. C’est la présentation que j’ai préféré de la journée, même si parfois le refactoring était un peu magique, David connaissant bien le code et étant pressé par le temps. Si vous voulez tester le dojo par vous même, les projets sont disponibles sur le compte Github de David.
Beaglebone = Arduino^10 : Laurent Huet – @lhuet35
Laurent nous faisait descendre de quelques niveaux d’abstraction avec un talk sur Beaglebone, une carte plus puissante qu’un Arduino, un peu du même type que le Raspberry Pi. La présentation était intéressante, avec une explication générale des principes, une démo, et les technos que l’on peut faire tourner sur ce type de cartes (C/C++, Java, Python, Node.js …). Manque de chance pour Laurent, sa carte de démo avait grillé la veille (les risques du métiers), mais son talk n’en a pas été trop perturbé, bravo à lui!
Programatoo pour les grands : Audrey Neveu - @audrey_neveu et Ludovic Borie - @ludovicborie
Vous avez peut être entendu parler de Programatoo, un atelier de programmation pour initier les enfants dès l’age de 6 ans aux joies du code. Audrey et Ludovic nous ont montré les différents outils que l’on peut utiliser pour éveiller la curiosité des plus petits (je ne sais pas si cela peut fonctionner avec vos collègues également) : Scratch, KidsRuby ou encore TortueScript. Très sympa, si vous avez des enfants, ce genre d’outils devraient vous intéresser!
La journée de conf se termine déjà, l’assemblée se dirige vers le port pour un repas tous ensemble. Le JUGSummerCamp aura été une très belle journée, superbement organisée par Jerôme Petit, Orianne Tisseuil et leur équipe. L’équipe Mix-it en partie présente compte bien leur emprunter quelques bonnes idées! Si vous avez l’occasion de vous rendre à la prochaine édition, n’hésitez pas, la conférence, gratuite, est l’une des toutes meilleures en France et la Rochelle et ses alentours ne manquent pas de charme pour rester quelques jours supplémentaires!
Publié dans Conference	Poster un commentaire
Tags: conference, java, javascript, jug, node.js	Mix-it 2012 : toutes les sessions et pourquoi !	mar 31
L’une des tâches les plus intéressantes quand on organise une conférence reste la confection du programme. Pour Mix-it, ce programme est fait en deux phases. Tout d’abord il y a les speakers que nous invitons : nous passons quelques semaines a spammer les personnes que nous avons envie de faire venir ou à chercher des speakers sur des thèmes précis que nous souhaitons voir aborder. Quand je dis spammer, c’est vraiment spammer, aussi parce que nous tentons d’avoir des personnes très connues (Oui je pense à toi Joel Spolski!) pour une conférence assez petite dans une ville pas forcément très connue à l’international. Parfois nous n’avons pas de réponse, parfois un non très clair et des remerciements, ou une façon plus “subtile” de le dire (“je viens mais je facture la prestation 50000€, plus les frais de déplacement bien évidement”). Et, parfois (souvent), le speaker accepte ! Et nous voilà avec un programme qui nous fait très plaisir, surtout avec notre objectif de rester une conférence avec un prix d’entrée abordable. Comme nous passons du temps à chercher les speakers, ce sont parfois des noms que vous ne connaissez pas mais je peux vous assurer qu’ils déchirent !
Faisons un petit tour des speakers invités :
- Pamela Fox : l’une des premières à avoir accepter notre invitation. Cette fille est une ancienne dév Google à Mountain View, sur Maps puis Wave. Ce qui déjà, amène un certain respect. Elle était de plus Google Advocate, c’est à dire qu’elle représentait Google dans les conférences. Elle a maintenant lancé sa propre startup, où elle réalise tous les développements dont une application mobile multi plateforme utilisant un framework qui fait du bruit : Phonegap. Nous sommes très heureux de la voir accepter de venir depuis San Francisco pour en parler, et cela s’annonce passionnant.
- Petra Cross : est, elle, encore chez Google, où elle fait partie de l’équipe qui développe App Engine. Et comme Mix-it a l’agilité dans ses gènes, elle viendra nous parler de la façon dont Google en fait. Je trouve particulièrement intéressant de voir comment les teams de devs utilisent les méthodes agiles chez Google et notamment leur workflow de développement et release.
Ne serait-ce que pour ces deux talks, vous en avez pour vos 30€ (repas et goodies compris), non ? Mais ce sont seulement 2 des 30 speakers. Dans les invités, nous comptons également :
- Pieter Hintjens, l’un des leaders du projet ZeroMQ et des rédacteurs de la spécification AMQP. Il nous serait difficile de faire meilleur speaker pour parler de messaging, ZeroMQ ayant une approche innovante dans le domaine en étant brokerless !
- Parce que nous voulions parler de Node, mais en parler avec quelqu’un qui connaisse vraiment le sujet, nous avons le plaisir d’accueillir l’un des rares core committer Node.js européen, j’ai nommé Felix Geisendorfer ! En plus de posséder une solide expérience technique sur le sujet, il a également lancé une startup dont Node est la principale brique technique. Il nous parlera de javascript côté serveur et si cette solution est vraiment plus scalable que d’autres technologies. Et y a-t-il sujet plus chaud en ce moment ?
Je pourrais vous parler des 10 autres invités, mais je vois que ce post est déjà plus long que prévu… Bref, il nous restait alors 11 places. C’est là qu’entre en jeu le call for paper, sachant que ni les sponsors, ni les amis ne bénéficient de faveurs. Nous avons eu 64 propositions de talks! Et très peu ne nous plaisaient pas! La soirée de choix a donc été agitée. Il n’a pas toujours été simple de trancher, et nous avons essayé d’expliquer aux speakers refusés pourquoi, individuellement. Mais nous avons enfin notre programme, avec du Play! 2 (par l’un de ses développeurs), du Kanban, du Hadoop, du MongoDB (par une startup qui l’utilise tous les jours), du Devops (par une entreprise qui en fait tous les jours)… Ce genre de session avec un retour d’expérience concret nous intéresse beaucoup, et je suis sûr qu’elles vous plairont.
Une programmation dont nous sommes très contents ! Amis lecteurs, j’espère vous voir nombreux le 26 Avril (Lyon, c’est pas loin, 30€ c’est pas cher et c’est éligible au DIF, pas besoin de poser de congés) !
Publié dans Conference	3 Commentaires
Tags: agile, conference, java, javascript, mix-it	Mix-it 2012 : nouveau site !	fév 14
Voilà c’est fait ! Et j’espère que vous l’avez vu : notre site est flambant neuf (et codé avec amour) !
Déjà j’espère que vous connaissez Mix-it. C’est une conférence que nous (mes acolytes du LyonJUG et moi-même) organisons avec le Club Agile Rhone Alpes, des gens très cools qui essayent de (re)mettre l’humain au centre pour réussir les projets à travers différentes méthodos et pratiques (Scrum, Kanban, etc…). L’envie qui nous a poussé il y a 2 ans à se lancer dans cette aventure, était celle de partager notre passion et notre curiosité pour ce métier. Et comme nous sommes à la fois passionnés de technos web et d’agilité, Mix-it trouvait de suite sa ligne éditoriale. Une première édition appréciée par les participants venus en nombre sur une journée : à nous de faire mieux pour la seconde !
Dans les remarques que nous avions eu pour la première édition, s’en trouvait une récurrente : pas facile, sur une journée, de trouver les personnes possédant les mêmes intérêts ou difficile de retenir les noms/pseudos twitter des nouvelles têtes rencontrées. Nous, on s’est dit que faire un mini réseau avant la conf pourrait bien améliorer tout ça. Et en plus coder, on adore ça, il faut l’avouer ! Résultat après plusieurs semaines de dév : mix-it.fr !
Le site est un peu plus qu’un simple site d’inscription, même si vous trouvez toutes les informations habituelles, les hotels, accès etc… Vous trouvez bien sûr aussi la liste des talks proposés et des speakers. Et on est très fiers de ce programme (alors qu’il reste plein de surprises). En plus des sessions classiques, nous mettons en place cette année des lightning talks, c’est à dire des talks de 5 minutes, sur un sujet libre, tous proposés et choisis par les participants. Ces ligthning talks auront lieu pendant la pause déjeuner et vous permettront de déguster votre repas en écoutant, si vous le voulez, une dizaine de speakers nous présenter des sujets très différents.
Pour profiter de toute l’expérience Mix-it, vous pouvez vous connecter sur le site en 10 secondes en utilisant Twitter, Google ou Linkedin et remplir votre profil avec vos intérêts, vos différents profils sociaux, blogs etc… Vous avez ensuite un profil ‘mix-it’ visible par les participants. Une fois connecté, vous pouvez ajouter vos connaissances comme ‘link’, et ainsi sur votre dashboard apparaîtront leurs activités.
Les activités de vos links regroupent les flux des réseaux sociaux renseignés (Twitter et Google) ainsi que les activités sur le site mix-it.fr, à savoir les commentaires sur les sessions, les votes sur les lightning talks, les ajouts de links etc… Et vous devrez vous aussi participer au site et partager votre enthousiasme pour gagner de nombreux badges !
Vous pouvez trouver de nouveaux links en renseignant vos intérêts et nous vous proposons des personnes possédant les mêmes ainsi que les sessions et articles qui peuvent vous intéresser. Vous pouvez sinon consulter la liste des participants, des sponsors ou des membres du staff. Si vous voulez proposer une session, un ‘call for paper’ a commencé (jusqu’au 15 Mars) et vous pouvez soumettre un sujet une fois connecté au site. Pour les ligthnings talks, le principe est le même mais vous devrez gagner les faveurs du public et recevoir les votes des participants!
Le site est en amélioration constante, n’hésitez pas à nous soumettre vos idées ! Suivra bientôt un article sur la stack utilisée pour développer tout ça!
Tags: mix-it	Back from Devoxx : Play! 2, hopes and fears	nov 29
Le mois de Novembre est de loin le préféré des Javaistes et tous ceux qui le peuvent se rendent à Devoxx, la plus grande conférence européenne sur Java. Plutôt que de commenter chaque session vue, je vais essayer de synthétiser mes impressions sur ces 3 jours de conférences.
Devoxx c’est 5 jours, 2 d’universités et 3 de conférences, à Anvers avec 3300 développeurs. C’est beaucoup de rencontres, des gens que l’on apprécie mais que l’on ne croise qu’aux conférences, et d’autres que l’on voit pour la première fois (et que l’on tente de reconnaître des avatars twitter, avec plus ou moins de succès!). L’organisation est extrêmement bien rodée (10 ème édition) et l’équipe de Stephan fait un travail incroyable (vous imaginez servir 3300 geeks affamés pendant une semaine dans un cinéma où se déroulent 6 tracks en parallèle?).
Il y avait de nombreux sujets traités mais je vais me concentrer sur les sujets qui n’étaient pas ou peu présents l’année précédente, en commençant par Play! dans ce premier article.
Avec aucun talk l’année dernière et 3 cette année, on peut dire que Play! a fait du bruit! Nous avons notamment eu l’annonce de la beta release de la version 2.0 et du rapprochement avec la société Typesafe. Une version qui comme le laisse supposer l’intégration dans la stack de Typesafe s’oriente vers Scala, même si Java sera toujours supporté (l’animation en haut à droite de ce site vous donne une bonne idée de l’évolution).
Cette décision me gêne un peu personnellement et d’après les échos que j’en ai eu, n’est pas forcément très populaire. Vous pouvez installer cette bêta et vous faire une idée par vous même avec la documentation disponible, mais la simplicité que l’on aimait dans la version 1 disparaît un peu. J’ai attendu quelques jours avant de faire ce billet, car je voulais tester un peu par moi même et prendre la température autour de moi et sur le web. Que nous amène donc cette v2 ?
Même si il est possible de rester sur une version Java pour la partie serveur, le moteur de template est pour l’instant en Scala uniquement, alors que Groovy jusqu’à présent faisait un très bon travail en se faisant oublier. Scala amène un typage plus fort donc une détection plus en amont des erreurs éventuelles, ce qui est louable. Trois exemples d’application sont disponibles avec la bêta, et pour avoir joué un peu avec, ce changement ralentit pas mal la compilation des templates : là où on passait son temps à rafraîchir le navigateur pour avoir instantanément le résultat, on attend maintenant un peu que la compilation se fasse, malgré le fait que mon laptop (MacBook Pro) soit relativement puissant. Le système de template Groovy sera peut être sauvé par la communauté et réintroduit.
Et Scala est certainement un très bon outil lorsqu’on le maîtrise mais il demande globalement plus d’investissement, et là ou la v1 permettait de se plonger rapidement dans le code, cette v2 inquiète un peu par sa complexification inutile. La documentation est encore un peu légère (normal pour une bêta) donc ces craintes sont peut être inutiles mais j’en doute…
La compatibilité est de plus brisée, vous ne pourrez pas upgrader votre application sans un peu de travail. Le système de build est maintenant confié à SBT, le maven-like de Scala : plus de fichier dependencies.yml donc, et l’ensemble de commande est devenu un wrapper de SBT. A voir à l’utilisation, un peu de lecture si vous voulez approfondir.
Tout n’est heureusement pas à jeter dans cette nouvelle version! On peut noter l’utilisation d’IO non bloquant (à la nodejs entre autre), et le traitement asynchrone plus développé (concept Iteratee/Numerator issu de Haskell). L’introduction d’Akka permet de supporter une lourde charge tranquillement et le framework Play! a lui même été en partie réécrit pour en utilisant ces concepts. La démo montre que 10000 requêtes ne posent pas de problème au serveur qui monte au maximum à 15Mo de RAM, et redescend à 2Mo une fois la vague passée : impressionnant, même si les requêtes ne faisaient aucun traitement métier. Play! pourrait devenir un outil de choix pour les applications à très fortes volumétries.
L’abstraction de l’accès aux données est réduite au maximum pour laisser aux développeurs le choix du datastore approprié. On retrouve tout de même les entités avec annotations JPA, et Ebean a remplacé Hibernate et amène un finder pratique pour requêter la base, et plus stateless que son prédécesseur. Dans mes rapides tests, on n’est pas vraiment dérangé par cette nouveauté, à creuser plus en détails.
Côté client, l’objectif est de permettre d’intégrer les excellentes technologies que l’on voit apparaître comme Jade, Less (c’est mon prochain billet de la série Nodejs), Backbone.js, Coffeescript. Un répertoire ‘assets’ a été ajouté à la structure du projet et les fichiers contenus sont automatiquement compilés et disponibles comme si ils étaient des ressources (par exemple les .coffee sont compilés en js et disponibles comme si le js était dans le répertoire public).
Les routes sont également compilées et ça c’est très pratique ! Si le controller ou la méthode indiqué dans le fichier route est inexistant, vous le savez immédiatement.
Dans les petits bonus plaisants, on peut maintenant écrire (en Scala) "def index = TODO" qui permet de continuer à écrire son code sans se préoccuper de l’implémentation du controller. Si on appelle cette méthode, elle affiche dans votre navigateur une belle page avec TODO. Le genre de détail ‘nice to have’.
Si vous voulez approfondir et vous faire votre avis, voici quelques liens qui peuvent vous intéresser : la page officielle, le blog Ippon, le blog du Touilleur.
Play est définitivement devenu populaire, et apprécié par beaucoup. Je fais partie de ceux qui apprécient son côté simple, productif, efficace et fun et qui l’ont utilisé pour faire des sites actuellement en ligne. Cette v2 me laisse un peu sceptique, n’étant pas spécialement un fanatique de Scala. C’est un excellent langage et très puissant, mais aussi très exigeant à produire et maintenir (des personnes autrement plus qualifiées que moi se sont déchainées sur le sujet ces derniers temps). Là où Play! faisait merveille pour commencer une application en 10 minutes après la lecture de 3 pages de tutorial, la v2 s’oriente vers une stack haute performance plus élitiste. Peut être que dans un an Scala/Play nous aura conquis. Dans tous les cas la hype est toujours là, il va falloir tester ça!
Publié dans Conference, News	3 Commentaires
Tags: java, play, scala	fOSSa 2011 : retours sur la track Dev	oct 28
Les 26,27,28 Octobre se tenait à Lyon fOSSa, une conférence par ordinaire organisée par l’INRIA. Comme le laisse supposé le OSS du nom, le thème central est l’open source, et le but de la conférence est de partager l’expérience entre les participants issus de l’industrie ou de la recherche, entre utilisateurs et producteurs de contenu open source. Les 3 jours abordaient des thèmes différents, je me suis pour ma part concentré sur la track Développement, qui proposait un programme sur une matinée rassemblant des speakers bien connus de nos JUGs (on reconnait bien là les goûts de @jponge, organisateur et maître de cérémonie ce matin là).
Il faut préciser que les talks sont courts, en anglais, et que la conférence était gratuite !
Oracle, 18 mois plus tard
Le premier talk est donné par @alexismp qui nous parle d’Oracle et du changement que le rachat a amené, par rapport à la politique de Sun, qui était clairement positionné sur l’open source.
Photo par Julien Ponge
Alexis commence par un rapide sondage sur ce que nous évoque Oracle :
- base de données
- argent
- open source
Les bras se lèvent plus majoritairement pour les deux premiers avec quelques rires pour le second, que la troisième option. Le but du talk d’Alexis est justement d’éclairer la position d’Oracle à ce sujet. Il nous rappelle du déroulement de l’acquisition et les doutes que l’on a connu (problème avec l’UE, les produits en double dans le catalogue Sun/Oracle sur lequel un doute planait comme NetBeans…). Oracle veut garder un Java attractif, malgré ce que la presse informatique en dit et malgré les départs emblématiques (dont James Gosling le papa de Java). Alexis nous parle aussi des points fachants, comme le procès avec Google pour l’utilisation de Java sur Android puis enchaîne sur une partie plus technique, HotSpot qui va récupérer les fonctionnalité de JRockit, OpenJDK rejoint par IBM, Apple et SAP.
Puis le départ de la fondation Apache du JCP, regretté par tout le monde et les différents projets qui ont forkés : Hudson, MySQL, OpenOffice. Dans les points positifs, Alexis note le soutien d’Oracle à GlassFish, qui dans sa version 3.1 inclue le clustering, ce qu’il ne proposait pas jusqu’a présent et dont Oracle aurait pu se passer avec WebLogic qui propose déjà cette option.
Au niveau communautaire il y a également des progrès, avec l’inclusion d’un JUG dans le JCP et JCP.next (JSR 348) approuvé ce mois-ci.
Le futur de Java, c’est Java FX2, Java 8/9, JavaEE7, et la convergence SE/ME.
Alexis conclue avec humour sur le "real evil plan" d’Oracle : investir, collaborer, encourager l’eco système.
OpenDJ, life after Sun-set
Ludovic Poitou prend la suite : c’est un ex employé de Sun, community manager OpenDJ chez ForgeRock, fork OSS de OpenDS.
Photo par Emmanuel Hugonnet
Quel est le modèle rêvé du projet oss : démarrer un projet seul, être rejoint par une communauté et commencer à gagner de l’argent avec. Modèle qui n’est pas le reflet de la réalité, si l’on en croit le rapide sondage dans la salle !
OpenDS a commencé par une volonté de réécrire SunDS et de l’open sourcer : stratégie un peu suicidaire qui sabotait la propre ligne de produit de l’entreprise, mais Sun était capable de faire ces choix. 30 personnes pour faire le développement, mais seulement 3 contributions externes en 4 ans. Ludovic nous montre les métriques de téléchargement au cours du temps, avec en parallèle les téléchargements réels (par ip) qui sont bien plus réalistes (et aussi plus faibles évidemment).
Le rachat par Oracle va changer la donne : pas de volonté de poursuivre le développement d’OpenDS, mais le produit est conservé “ouvert”. Avec quelques personnes, Ludovic a forké le produit, ainsi est né OpenDJ et ForgeRock. ForgeRock est 100% OpenSource et spécialisé dans la gestion des identités (OpenAM, OpenIDM…). La communauté migre peu à peu vers OpenDJ, malgré seulement 4 développeurs. Déjà plus de contributions externes en un an que durant la vie d’OpenDS, il semblerait qu’une petite équipe de développeurs facilite la contribution en "effrayant" moins les contributeurs qu’une grosse équipe lancée à plein régime. Les challenges : rebatir une communauté, faire connaitre OpenDJ, réécrire la doc. Beaucoup de releases (tous les deux mois), beaucoup de bugfixes, OpenDJ est prêt pour la production. On a quelques chiffres sur 3 sociétés qui ont souscris à l’offre support : plusieurs millions d’utilisateurs, jusqu’à 200000 sessions parallèles, toutes utilisent de 6 a 12 serveurs.
Pour conclure, Ludovic explique qu’il n’y a pas une seule voie pour faire de l’OSS, trop de ressources fait peur aux contributeurs externes potentiel, alors que la participation est un reflet de l’ouverture.
Projet ALERT
Clara Pazuela nous parle de la façon de faire de l’OSS a ATOS :
- beaucoup de développeurs, qui communiquent par chat/mail et ne parlent pas tous anglais.
- Beaucoup d’utilisateurs qui rapportent des bugs mais peu de code.
Les bugs même très simples peuvent prendre très longtemps a être corrigé avec beaucoup d’interactions entre différentes personnes (mailing list, irc, forum, bugs liés…). ALERT est destiné a faire un “bus” qui centralise les informations, et fonctionne en publish/suscribe entre les sources d’informations et les consommateurs, avec un des informations sémantiques. C’est un projet de recherche soutenu par l’UE et dont le développement n’a commencé que depuis un an et pas encore releasé ou open sourcé.
Involvement of software engineering companies in OSS contributions
Jerome Petit, travaillant chez SERLI et JUG Leader du PoitouJUG nous parle des contributions OSS dans sa société et de l’impact que ces contributions peuvent avoir.
Photo par Orianne Tisseuil
SERLI c’est 65 personnes, beaucoup de Java et 10% du temps consacré à l’OSS. Ils offrent du temps pour contribuer aux projets OSS, de quelques jours à plusieurs mois sur différents projets (GlassFish, Sonar pour les produits d’éditeurs, Selenium, Jonas pour les produits communautaires, ou même Ceylon, le nouveau langage JVM de RedHat). La contribution va du bugfix à la core feature, parfois guidée par le besoin ou l’envie d’ajouter des fonctionnalités ‘bleeding edge’.
Cela change plusieurs choses dans leur entreprise :
- organisation : cela amène de la visibilité, de la crédibilité avec des speakers dans les grands events, des articles de blogs etc…
- business : il est plus facile de convaincre des clients, des missions plus pointues, de nouvelles opportunités (développer l’i18n pour Sonar, payé par les clients de Sonar). Les développeurs impliqués dans l’OSS sont très rapidemment visibles et demandés. Depuis l’ajout de l’OSS le CA a plus que doublé en 5 ans, et la part de Java dans l’activité a explosé.
- personne : pas de meilleure école de code que l’OSS, différente culture, motivation des développeurs et développement de leur potentiel.
C’est un cercle vertueux : contribution -> credit/visibilité/skills -> clients -> plus de revenus/recrutement de meilleur qualité -> contribution.
Il faut savoir garder un équilibre entre business et oss, faire les bonnes contributions, en respectant les différentes règles d’un projet ciblé, sa roadmap etc… Les core features sont les plus intéressantes et motivantes.
Pour SERLI, les retombées valent largement les investissements.
Très bon talk, inspirant sur la façon de faire du business et de l’OSS et comment les deux peuvent se marier et s’enrichir.
Opensource & Business at Cloudbees
Nicolas de Loof, employé de Cloudbees et JUG Leader à Rennes nous parle également de marier le plaisir et les affaires
Photo par Jerome Petit
Il commence par l’histoire de Jenkins : commencé en 2004 comme un projet perso par Kosuke Kawaguchi, qui a rapidement gagné une communauté. Les releases sont très fréquentes (1 par semaine) , les contributions très simples, extensible par plugins (dont le nombre augmentent toujours). Petite comparaison des stats Hudson/Jenkins histoire d’enfoncer le clou!
La communauté de Jenkins est une SPI : Software in the Public interest, différente d’Apache, qui permet de diriger son projet simplement, avec un board constitué de différents acteurs (Cloudbees, Cloudera, Yahoo).
Différents modèles sont possibles pour faire du business et de l’oss :
- Double licence, principalement supporté par une entreprise, CLA à signer pour contribuer, suit une roadmap commerciale (SpringSource, Sonatype) -> pas vraiment OpenSource, difficile de contribuer, pas pour Jenkins
- Support et service : ce qui est fait sur toutes les versions de Jenkins
- Formation (aussi pratiquée à Cloudbees)
- Version Pro : plus stable, sécurité, virtualisation (aussi pratiqué à Cloudbees)
- Hosting : avec le Saas Dev@Cloud
Cloudbees est parti de Jenkins pour bâtir toute une plateforme de services à la demande (Repo de code, Sonar, XWiki …) pour obtenir une forge logicielle complète. Si le sujet vous intéresse, les slides et l’enregistrement de Sacha Labourey (CEO Cloubees) sont disponibles sur le site du JUG et sur Cast-it.
From a legacy proprietary application to a modern libre solution
Emmanuel Hugonnet, travaillant chez Silverpeas et JUG Leader à Grenoble conclue la matinée.
Le projet Silverpeas a démarré en 99 avec 40 développeurs, en Java 1.2 et Weblogic. Après quelques années, le développement devient difficile : trop de bugs, pas assez de tests. Emmanuel est alors embauché pour ouvrir le projet et le ressuciter. Emmanuel nous explique les différentes étapes :
- Changement de licence
- Problème du build (1/2 journée) -> standardisation avec Maven
- Gestion des sources CVS -> SVN -> Git
- JPA2, migration vers API REST
- UI plus sexy avec GWT
- Ecrire moins de code, simplifier la communication entre modules.
Maven et Git est un combo gagnant et donne de la flexibilité et reproductibilité. L’utilisation de Jenkins et de Sonar les a également aidé pour améliorer la qualité du code.
Les résultats sont visibles : le projet évolue plus rapidement et simplement, moins de régressions, plus de plaisir à coder pour les développeurs. Le tout accompagné de musique !
Une matinée sympa autant pour les talks que pour les échanges en off entre passionnés d’open source, avec une organisation très bien réglée.
Allez, c’est pas tout ça, mais j’ai des patchs à proposer moi.
Tags: conference, java, oss	What’s next	mai 28
Ce vendredi 27 Mai était l’occasion de découvrir l’avenir de notre métier à la conférence What’s Next organisée à Paris. De beaux locaux (le Grand Rex) et de bons speakers étaient au rendez vous !
Neal Gafter
Pour entamer la journée, un talk de Neal Gafter qui commence par rappeler l’histoire de Java, l’origine des disputes avec Google etc… Il nous parle ensuite des nouveautés de Java7 et des possibilités de Java8. Pas forcément la peine d’entrer dans le détail, rien de très nouveau ici. Sa conclusion : c’est mieux d’avoir quelqu’un comme Oracle qui dirige l’innovation et les progrès sur la plateforme Java, et que les efforts soient concentrés sur un seul projet open source (OpenJDK). Cela va dans la bonne direction et il pense que nous assistons a un renouveau de Java. Thomas Conté, architecte chez Microsoft, termine en nous parlant de Azure qui se veut ouvert non pas seulement a .Net mais aussi a Java, Ruby, Python, Php. L’intégration à l’IDE semble aussi bien penser. Pour plus détails si vous êtes intéressés, consultez le whitepaper Azure pour les javaistes.
Rob Harrop
On enchaine avec Rob Harrop qui nous présente RabbitMQ. Cette présentation est probablement l’une de mes préférées de la journée, on a vu des concepts et des démos, le tout dans 5 langages différents (Java, Python, Ruby, Erlang, Javascript !). RabbitMQ se base sur le protocole de messaging AMQP et supporte également STOMP, protocole de plus bas niveau. RabbitMQ est écrit en Erlang et fait partie du portfolio VMWare. Les démos s’enchaine avec des consumers/producers de messages dans des langages différents, avec des protocoles différent. La dernière démonstration montre un serveur node.js qui récupère des messages d’une queue et utilise le protocole websocket pour afficher en live les messages dans le browser.
Speaker très impressionnant et intéressant, si vous avez l’occasion de le voir, je le recommande chaudement !
Si le nom du speaker m’était inconnu, son activité n’en est pas moins impressionnante : contributeur à une vingtaine de projets open source, dans différents langages, il est là pour nous parler architecture scalable. Son point de vue est intéressant car il a également travaillé dans les teams ‘ops’ et pas seulement ‘dev’. Il rappelle que le cloud et NoSQL ne sont pas des solutions miracles et que nos applications doivent avant tout être bien pensées pour scaler.
Il prône un modèle d’application ou chaque composant est entièrement découplé et communique avec les autres composants par messages déposés dans des queues. On retrouve là les propos du speaker précédent. Ce découplage permet ensuite de tester chaque partie en isolation, et ainsi grâce à la puissance du cloud, de vérifier des hypothèses sur le dataflow, le cheminement de vos données dans les traitements.
Il faut également vérifier la consistance du comportement en effectuant plusieurs fois la même action : si cela se passe mieux ou moins bien que prévu, il faut enquêter pour trouver la cause et on apprendra forcément quelque chose sur le fonctionnement de l’application. Il insiste également beaucoup sur les traitements asynchrones afin que l’expérience utilisateur soit fluide. Le monitoring (nombre de messages, de connections parallèles, etc…) est également important. Pour terminer il rappelle le ‘Fail often, fail early’ pour garder une expérience utilisateur la moins dégradée possible. Speaker intéressant également !
Michael Chaize
La présentation tourne autour de Flex 4.5, un peu la même que l’on avait pu voir dans nos JUGs. Il faut dire que Michael est français (le seul à nous faire une conférence dans la langue de Molière!) et que c’est un habitué des présentations Flex. Sa démo, un client Twitter, réalisé en live, nécessite très peu de code. Le déploiement peut se faire sur de nombreuses plateformes : navigateurs évidemment mais aussi tablettes android, playbook, ios…
La présentation se termine par le retour d’expérience d’un développeur Flex. Pas mal, un peu de UI ca change…
Jonas Boner
Créateur du framework Akka, travaille maintenant pour TypeSafe (pour ceux qui n’ont pas suivi voir article précédent). Scala est intéressant pour faire des applications… scalables! Et Akka permet de tirer profit de la puissance a notre disposition (Boner vient d’acheter une machine 48 coeurs pour tester pour 5000$, un prix relativement faible pour une telle machine). Petite déception pour ma part, la présentation est à peu près la même que celle de Viktor Klang à Devoxx. Celle ci étant disponible sur Parley’s, je vous conseille d’y jeter un oeil si vous êtes intéressés. La première partie nous présente le fonctionnement des acteurs, puis la seconde des ‘remote actors’ qui permettent de faire du distribué (basé sur NIO, Netty plus précisement et ProtoBuf). Akka 2.0 permettra de faire des ‘clustered actors’ et de gérer notamment la configuration de déploiement.
Shay Banon
La présentation portait sur Elastic Search un moteur d’indexation et de recherche très puissant. On pourrait dire que c’est un SolR sous stéroïdes. Pour tous ceux qui ont travaillé avec un outil de ce genre, la présentation est passionnante : aucun slide mais un enchainement de petits cas pour montrer la puissance de l’outil. Tout commence par le démarrage d’une instance d’Elastic Search en console, puis un enchaînement de commande ‘curl’ pour l’utiliser ! Elastic Search est en effet entièrement exposé par une API REST à laquelle on envoie du JSON, que ce soit pour ajouter des documents à indexer ou faire des requêtes. On passe ensuite en mode distribué en ajoutant plus de noeuds ce qui déclenche une répartition automatique de la charge ainsi que la réplication des données. Tout cela sans que cela dérange vos requêtes : impressionnant ! Si on coupe un noeud, la charge est bien évidement à nouveau répartie de manière uniforme entre les nœuds restants. Point marrant : les instances d’Elastic Search sont nommées aléatoirement à leur création pour simplifier leur suivi : nous avions donc Docteur Sun, Torso et Pasco lors de la démo. Un ajout de document ne nécessite pas de déclaration des différents champs : ES se charge pour vous d’interpréter de quel type est chaque champ. Mais il est également possible de faire cette configuration par l’API REST et de définir soi même les types. L’indexation peut faire appel à un ensemble d’analyzer : phonétique, ngram, etc (on retrouve les analyzer Lucene). Les requêtes offrent elles une véritable DSL qui permet de combiner filtre, analyzer etc… On retrouve également la gestion des facettes : par terme (nombre de fois ou chaque terme est utilisé), statistiques sur un champ (min, max, moyenne, etc…), valeur dans un intervalle donné, histogramme (voir blog ES). La dernière fonctionnalité présentée est le ‘percolator’ qui permet d’enregistrer les requêtes et voir si un document répond à l’une d’entre elles (le document n’est pas indexé mais renvoie les requêtes matchées). Une solution à surveiller si vos besoins d’indexation exige de la scalabilité (le speaker annonce des temps de requêtes de l’ordre la centaine de ms pour plusieurs millions de documents).
La journée se termine par une présentation de Koshuke Kawazaki sur Jenkins et son futur. On retrouve pas mal d’idées autour de la gestion des DVCS, les builds distribués exploitant la puissance des machines, les outils de revue de code comme Gerrit. Rien d’exceptionnel mais il est bon de voir que le papa de Jenkins est encore plein d’idées pour la suite !
Une belle journée donc, avec bien sûr l’occasion de rencontrer les fidèles des conférences autour d’un café à la pause. Merci à la société Zenika qui prenait en charge l’organisation de cette journée !
Tags: akka, amqp, conference, websocket, wsn	Recherche pour:
Le flux RSS - Articles
L’auteurCédric Exbrayat, développeur Ninja Squad, se transforme en geek passionné la nuit et se réunit avec ses semblables régulièrement que ce soit au Lyon JUG ou à Mix-it, dont il est le fondateur ou bavarde sur les ondes avec Cast-it !
Les tweets
Friction - A tool to get rid of common sources of contributor friction buff.ly/1iJOMtm 13 hours ago
RT @StijnVa unreal: gofordrones.com 13 hours ago
Articles récents	JHipster – boost your Spring and AngularJS app
Workflow, Pull Requests & Code Reviews
Angular, Express et Socket.io
Bitbucket vs Github
Forms in AngularJS
Souscrire à “Hype Driven Development”