Tag :Jug Summer Camp

Retour sur le JUG Summer Camp 2/2

Après le déjeuner, nous voilà repartis pour une belle après-midi de conférence.

Les conférences de l’après-midi

Start me up par Nicolas De Loof

Dans beaucoup de grandes sociétés, il existe des gros silos : Marketing, Développement, Production et Vente qui plombent les initiatives et les nouvelles idées. En effet, il faut passer par chacune de ces étapes. Les silos étant en plus cloisonnés entre eux, il est difficile d’être réactif par rapport au marché. Une des solutions envisagées par Nicolas pour pallier à ce problème est le cloud :

  • Coûts minimes et uniquement à l’usage,
  • Sans engagement,
  • Disponibilité immédiate,
  • Assistance inclue,
  • Elasticité : ce qui permet d’accompagner la croissance de la société,
  • Services « clés en main » ce qui permet une utilisation immédiate des services.

Et pour nous démontrer la pertinence de son projet, il a décidé de créer un projet concurrençant Google. Ce qui lui permettra de faire la une du Times en tant qu’homme de l’année. Son projet : créer un Juggle moteur de recherche spécialisé dans la recherche de conférence sur La Rochelle. Après avoir développé son projet avec Maven, Solr et Servlet, Nicolas déploie son application sur CloudBees. Le tout en moins d’1h ! L’avantage est qu’il a maintenant la possibilité, grâce au cloud, de tester rapidement son idée auprès des utilisateurs, le tout à moindre coût.

Du code legacy au cloud par David Gageot

David a voulu montrer dans cette présentation comment l’on pouvait partir d’un code legacy, le rendre plus lisible et le déployer sur le cloud, le tout en moins d’une heure. Pour ceux qui ont suivi Code Story, David est parti du code de GildedRose donné au candidat de la deuxième manche de Code Story. Après une séance de refactoring assez bluffante et grâce à quelques bouts de code mémorisés dans des templates sur IntelliJ, il a déployé son service d’update sur Heroku et une page html sur laquelle sont réalisées les actions (mises à jour) sur Github. Pour ceux qui veulent voir le code il est disponible sur Github : la partie service et la partie html.

Clojure et Big Data par Claude Falguière

Incanter est un projet similaire à R qui fournit un DSL en Clojure. Il permet de manipuler des matrices et des graphes, de calculer des statistiques et de construire des graphes. C’est ce projet sur lequel s’est basé Claude pour traiter la masse importante de données récupérée lors de ses campagnes de tests de performances réalisés sur ses missions. Pour optimiser le traitement, elle a utilisé une base MongoDB pour stocker les données et un job MapReduce avec Clojure-Hadoop pour réaliser les calculs efficacement. Vous retrouverez les liens vers sa présentation et ses sources sur son blog.

Programatoo par Audrey Neveu et Ludovic Borie

C’est dans une salle pleine à craquer qu’Audrey et Ludovic ont présenté un projet sur lequel ils travaillent actuellement : Programatoo. Il s’agit d’organiser des séances de programmation pour les enfants accompagnés (de préférence) de leur parent. Le projet a été initié par Aline Paponaud qui a entrainé dans son élan un petit groupe chez Sfeir. Beaucoup d’outils sont disponibles et gratuits pour apprendre aux enfants à développer mais ils sont la plupart du temps en anglais. Une autre mission que s’est donné Programatoo est donc de traduire ces outils quand cela est possible. Parmi les outils présentés, on peut parler de Scratch qui est disponible sur tous les OS ce qui n’est pas le cas de tous les outils. Une présentation très intéressante où l’on découvre la motivation des enfants et la fierté de ce qu’ils ont réalisé.

La journée est déjà finie !

Une journée c’est vraiment trop court vivement l’année prochaine ! En attendant, ceux qui n’avaient pas leur train à prendre, on pris un verre ensemble dans le bar d’à côté. Cela a été l’occasion d’échanger sur la journée passée, féliciter les speakers pour la qualité de leur présentation et remercier les organisateurs.

Après le verre, un repas pour ceux qui partent le lendemain ou qui vivent sur place.

Comme chaque année nous remercions Orianne, Jérôme et leurs sponsors Serli et Google pour cette conférence qui semble comme le vin s’améliorer au fil des années. A l’année prochaine !

Retour sur le JUG Summer Camp 2012 (1/2)

La semaine dernière a eu lieu la 3ème édition du JUG Summer Camp.

La keynote

Cette année, la keynote d’ouverture a été faite par Nicolas De Loof qui a réalisé seul un épisode « Les guignols des castcodeurs » : une prestation impressionnante car il était seul à faire tous les personnages. Un bon moment de rigolade pour les habitués du podcast car tous les ingrédients étaient réunis pour en faire une belle caricature.

Les conférences du matin

Google marchand de bonbons par Alexis Moussine-Pouchkine et Martin Görner

Dans le magasin Google, une grande variété de bonbons est disponible pour le développeur. C’est ainsi qu’Alexis nous a présenté les solutions qu’offrait Google aux développeurs. Parmi elles, on peut noter :

  • Google Cloud qui permet de déployer des applications, stocker des données et les analyser,
  • APIs Console pour gérer ses applications, les monitorer, contrôler les accès aux APIs et les partager avec son équipe,
  • DevTools de Google Chrome qui permet de tester les applications sur différents devices.
Il nous a présenté un exemple d’application déployée sur Google Cloud : JCandyStore qui a permis à un chanceux de repartir avec un pass 5 jours pour Devoxx.
Dans la seconde partie de la présentation, Martin nous a présenté CSS3 et toutes les nouveautés qu’elle apportait. Parmi ces nouveautés, des transformations géométriques 2D et 3D, la gestion du format SVG et de SMIL. Des démos très impressionnantes que vous pouvez retrouver en ligne : http://hotsummerpicks.appspot.com/#1.

Node.js par Romain Maton

Lors de cette session, Romain nous a présenté Node.js et son écosystème. Non bloquant c’est-à-dire totalement asynchrone et orienté évènement, Node.js permet de développer autant la partie client que la partie serveur. En quelques années, une communauté importante s’est constituée autour de cet outil. Le NPM (Node Packaged Module) centralise tous les projets Node.js, les présente et permet d’évaluer leur niveau de maturité et de stabilité. Node.js est maintenant stable pour Windows depuis les dernières versions. De plus en plus de sociétés utillisent Node.js, par exemple LinkedIn, Mozilla, Ebay, Klout, Yammer et Capitaine Train. La documentation assez fournie et une communauté active donnent envie d’essayer et de l’adopter. Vous pouvez retrouver les slides de la présentation sur slideshare.

Quickies

La petite nouveauté de cette année a été l’ajout de quickies un peu avant et après le déjeuner. Probablement, pour alléger la bande passante au buffet.

Pourquoi et comment Javascript ? par Christophe Jollivet

Ce sujet aurait pu être un nid à trolls et au final il y en a eu quelques uns mais rien de très méchant. Christophe nous a présenté les raisons qui l’ont poussé à se mettre au Javascript. Entre Flex et Silverlight pour qui l’avenir semble morose, HTML5 est le buzzword du moment qui rassure les chefs et est multi-écrans. Comme beaucoup de développeurs Java, on a tendance à penser aux performances, à la maintenance du code. Des critères auxquels Javascript ne répondait pas vraiment à une époque. Mais cette époque est révolue, de gros progrès ont été réalisés en terme de performance et la compilation à la volée facilite le travail. La maintenance du code devient moins éprouvante avec la possibilité de définir des modules. Et en plus ce langage est déployable sur n’importe quel plateforme, « Write once run everywhere » cela ne vous rappelle rien ? En terme d’industrialisation, il y a des outils pour les tests (QUnit, Phantom JS) ou les audits. Mais attention Javascript n’est pas Java et il y a quelques petites choses à savoir pour développer correctement comme la coercition de type, les notions de scope et la création d’objet. Pour conclure ce quicky, Christophe nous explique que Javascript est parfaitement mûr pour l’entreprise. Il ne vous reste donc plus qu’une chose à faire : l’apprendre.

24 plugins chrono par Romain Maton

Un autre quickie intéressant fut celui présenté par Romain sur 24 plugins pour votre IDE qui pourraientt vous sauver la vie. Mieux qu’un résumé voici ses slides disponibles ici.

Le déjeuner

Après les quickies, un bon déjeuner bien mérité pour reprendre des forces et pouvoir apprécier les conférences de l’aprés-midi.

Cette année encore le JUG Summer Camp a mérité son titre dans la catégorie buffet. Le déjeuner assis, c’est aussi l’occasion de se retrouver pour discuter longuement des sessions et des nouveautés technique et faire de nouvelles rencontres autour de la table.

Les Duchess au JUG Summer Camp

duchess avec sa bouée Agnès, Audrey, Ellène et moi seront au JUG Summer Camp le 14 Septembre.

Audrey et moi présentons un sujet en fin d’après midi  (l’agenda).

Programatoo pour les grands : how your kid can code ? (Audrey)

BigData avec Incanter et Clojure (Claude)

Si vous êtes dans les parages, n’hésitez pas à passez nous voir ! Les pauses seront l’occasion de discuter et qui sait, peut être même qu’il reste des badges Duchess 😉

Jug Summer Camp : Vivement le prochain !

Pourquoi participer au Jug Summer Camp ? Parce que les conférences sont gratuites, en français, animées par des gens passionnés et dans ce cadre magnifique qu’est le vieux port de La Rochelle.
Arrivée la veille et après quelques tweets de diffusés nous nous retrouvâmes dans un restaurant pour dîner. C’est dans une ambiance très conviviale que nous faisons connaissance ou retrouvons des fidèles du Paris JUG, l’équipe du Bordeaux JUG et du ToulouseJUG, des enseignants et d’autres nouveaux juggers … Et pendant ce temps, c’est en bons élèves que les speakers réunis au gîte finalisent leur présentation.
Puis retour pour un repos mérité à l’hôtel en attendant LA grosse journée.

Le lendemain …

P1000689P1000705P1000697

 

Après un petit déjeuner rapide, direction les salles de conférences pour toute la journée ! Et elle commence fort avec une keynote très vivante d’Antonio Goncalves retraçant toute l’histoire de l’information. Puis les conférences se succèdent et nouveauté cette année, une application mobile nous permet d’organiser notre journée. Parmi les conférences que nous (Isabelle et moi) avons vu :

  • Java 7 par Julien Ponge : en plus de présenter les nouveautés qu’apportent le langage, il a aussi présenté les points de vigilance et les limites de ces nouveautés.
  • Inspection Continue par Olivier Gaudin : qui nous a présenté les 7 pêchés capitaux du développeur et fournit plein de conseils de bon sens.
  • Live Coding de David (Zucker-)Gageot : une bluffante séance de coding dojo pour développer un Kitten-Facemash (le début d’une success-story française ?).
  • Weld-OSGi par Mathieu Ancelin : qui nous a fait une belle démo de réservation d’hôtel avec arrêt et redémarrage de modules.
  • Optimisation pour Web Mobile par Romain Maton : une présentation riche en recommandations pour optimiser ses applications web pour tout support.

La journée est déjà finie …

Et pour clôturer cette magnifique journée, une keynote de fermeture réalisée par Nicolas Martignole sur l’avenir de notre métier de développeur. Une projection 10 ans en avant, à voir absolument en vidéo ! Le bilan de cette journée : 170 participants heureux et des présentations vraiment accessibles à tous mais malheureusement, personne n’a pu se dédoubler pour voir toutes les sessions :( . Heureusement, les vidéos seront bientôt disponibles sur Parleys ! Et nous vous tiendrons informés ;) !

Maintenant c’est le week end !

P1000714P1000718P1000729P1000750

Après un dîner entre juggers, nous avons tout le week end pour profiter de cette magnifique ville qu’est la Rochelle. Petit tour en bateau pour visiter les îles environnantes, dégustation de glace, découverte de l’aquarium et promenade sur le port, malgré de la pluie par intermittence, le week end fut excellent :)

Un GRAND MERCI à l’équipe du Jug Summer Camp

L’équipe des Duchess tenait à remercier encore une fois toute l’équipe pour l’organisation, l’accueil et cette bonne ambiance qui nous a été offert dès notre arrivée. Je leur souhaite bonne continuation et à l’année prochaine !

Quelques liens

Si vous avez raté la conférence, vous pouvez vous rattraper avec les excellents retours qui suivent :

Sur le blog de Claude Falguière : http://cfalguiere.wordpress.com/2011/09/17/le-jug-summer-camp-cest-fini-pour-cette-annee/
Une série d’articles sur le Touilleur Express :

Le retour de Nicolas De Loof : http://blog.loof.fr/2011/09/jugsummercamp-2011.html
Et les slides de Romain Maton : http://www.web-tambouille.fr/2011/09/18/optimiser-votre-site-web-sur-mobile-jug-summer-camp-2011-slides.html

Vous avez d’autres liens sur des retours du Jug Summer Camp ? Alors postez les dans un commentaire ;)

Merci à Eric Siber et Claude Falguière pour les photos :) . Cet article a été co-écrit avec Isabelle Blasquez.

Portrait : Oriane Tisseuil


Qui es-tu ?

Orianne, je suis ingénieur à Serli et JUG Leadeuse du Poitou-Charentes JUG.


Comment es-tu tombée dans le chaudron ?

A la fac où j’ai découvert la programmation avec Ada et par la même occasion la loi de Murphy puisque notre super projet d’échecs nous avait planté le jour de la soutenance :)


Quel est ton parcours ?

Après le bac, je suis allée en fac de Math à Poitiers où j’avais dans l’idée de devenir prof de Math. Durant mon cursus, j’ai découvert l’informatique et je n’ai plus quitté cette voie. J’ai fait mon stage de fin d’études à Serli et voilà maintenant 2 ans que j’y suis ! Entre temps, j’ai créé avec Jérôme Petit le Poitou-Charentes JUG grâce auquel j’ai l’opportunité de rencontrer énormément de personnes qui partagent les mêmes centres d’intérêts et je peux bien sûr me tenir au courant de l’actu Java.

Comment as-tu connu Duchess ?

J’ai découvert les Duchess aux 2 ans du Paris JUG. Ellène m’a parlé du groupe et de ce qui les rassemblent en tant que communauté et voilà, je me suis inscrite sur le blog !


Pourquoi as-tu rejoint Duchess ?

J’ai rejoint les Duchess car tout d’abord, je n’ai pas du tout ressenti le côté groupe féministe. J’ai juste rencontré un groupe de nanas vraiment sympas, très ouvertes et très actives ! J’ai été impressionnée par la motivation de chacune d’elles et de la rapidité avec laquelle elles ont monté ce « JUG Virtuel ». Par ailleurs, je trouve que ça peut aider les filles qui n’oseraient pas se lancer dans la technique à trouver des « grandes soeurs ».


Quelles sont les actions qui te tiennent à coeur ?

Je pense qu’il serait intéressant d’envisager de contacter les différentes formations en informatique, voire les lycées, pour organiser des sessions de présentation de métiers techniques par des filles, afin de décomplexer celles qui n’osent pas, par conformisme, s’y lancer.


Est-ce qu’il y a un message que tu souhaites faire passer ?

Eh bien oui ! Il faut continuer à faire vivre ces communautés en organisant et en participant à des avant-jug, des jug, des après-jug, des entre-jug, … !
Ce sont des occasions inespérées de rencontrer des personnes, de discuter, de débattre et de découvrir de nouvelles technos. Ce qui est important, c’est l’échange :)

JugSummerCamp – eXo Social, an OpenSocial implementation


eXo Social, an OpenSocial implementation– Tugdual Grall et Jérémi Joslin
par Audrey Neveu

Faisant suite à la création de GateIn, développé avec les équipes de JBoss, eXo Platform a présenté en mai dernier eXo Social 1.0, une implémentation de OpenSocial permettant d’ajouter du contenu orienté réseaux sociaux à votre portail d’entreprise.

Qu’est ce qu’OpenSocial ?

OpenSocial est un ensemble d’API développées par Google destinées au développement d’applications de réseau interopérables.

Un réseau social pourrait se résumer en 3 points :

  • mon identité : qui suis-je ?
  • mes relations : qui est-ce que je connais ?
  • mes activités : quoi de neuf ?

Ces 3 points vont aboutir à la nécessité de créer diverses applications pour la gestion de document par exemple, ou encore la création de groupe, les forums de discussion, les messages, etc …

La plupart des API existantes sont en JavaScript, REST pour le transfert et RPC. Pour la partie visuelle il s’agit essentiellement de gadgets en HTML à la iGoogle. Les conteneurs open sociaux sont déjà nombreux compte tenu de l’explosion du nombre de réseaux sociaux et de leur fréquentation.

Le cas eXo Social

eXo Social a pour vocation de permettre le développement d’applications de réseaux sociaux pour un portail d’entreprise, en se basant sur l’intranet existant par exemple. Pour l’entreprise, c’est la possibilité d’avoir des gadgets pour gérer l’activité, tout en modérant leur visibilité avec une gestion des droits par utilisateur.

Au sein d’Exo, le choix a été fait de se baser sur Apache Shindig, qui est considéré comme l’implémentation de référence d’OpenSocial, pour l’intégrer au coeur de la plateforme GateIn. La plateforme apporte déjà le support pour les gadgets , le tout étant intégré au modèle de stockage (JCR) et de sécurité de GateIn.

En pratique

Un gadget ce n’est rien d’autre que du xml avec des portions HTML, CSS, et JavaScript, intégré dans la page via une iframe. Chaque gadget étant parfaitement indépendant, le coût d’affichage d’un gadget ne pénalise pas les autres et il en va de même pour une possible erreur de développement. Contrairement aux portlets qui sont une technologie serveur, les gadgets sont une technologie cliente reposant sur les API JavaScript OpenSocial et eXo Social. Il ne s’agit que d’une page html avec de l’ajax. L’utilisation sous-jacente de REST permet de mettre à disposition l’information rapidement, le tout formant une application réactive, riche et dynamique.

Chaque gadget est éditable facilement, via un IDE en ligne développé par eXo et basé sur GWT. Grâce à l’utilisation d’une registry (JCR), il est ainsi possible de prévisualiser le gadget, de le versionner ou de faire un revert, puis de le mettre à disposition des utilisateurs. L’authentification quant à elle repose sur oAuth, un protocole de propagation d’identité. Aucune information personnelle n’est envoyée, c’est un token d’accès renvoyé par le provider qui permet l’accès aux données.

JUG Summer Camp – JSF 2 par la pratique


JSF 2– Damien Gouyette (présentation)
par Ellène Dijoux

Damien Gouyette, auteur du blog C’est pas dur, nous présente au travers d’un cas concret l’utilisation de JSF 2. Son projet disponible sur github est un projet de blog réalisé avec JSF 2.

Le rendu visuel avec Facelets

JSF est un framework orienté composant, et pour réaliser son projet il a utilisé Facelets pour la vue. Facelets permet de réaliser le templating des pages et des composants. Il a été utile pour le découpage et l’organisation des composants du blog. Il évite l’apparition des classes Java dans les pages JSP et participe au respect du pattern MVC (Modèle Vue Contrôleur).

Le traitement

L’annotation @ManagedBean permet d’identifier la classe qui réalise le traitement, plusieurs annotations sont disponibles pour définir le cycle de vie des Managed Beans : @ApplicationScoped, @SessionScoped, @ViewScoped, @RequestScoped, @NoneScoped.

La navigation

Aves JSF 2, il n’est plus nécessaire de définir et maintenir le verbeux faces-config.xml. Le ManagedBean peut maintenant retourner une valeur qui sera considérée comme étant le nom de la page sans l’extension. S’il ne trouve pas de fichier par défaut, il se conforme aux règles de navigation définies. Un autre souci auquel nous pouvons être confrontés avec JSF est la double validation de formulaire, le problème peut être résolu en passant par la méthode GET. Les URLs peuvent être bookmarkables grâce à trois composants : <h:link />, <h:button />, <h:viewParam/>.

Validation

Grâce à Hibernate Validator, la définition des contraintes sur les champs ne se fait qu’à un seul endroit. Il est possible de valider des adresses email, la taille d’un texte, …

Requête Ajax

La balise <f:ajax /> permet de définir une requête Ajax avec les attributs :

  • execute qui a plusieurs valeurs possibles : @all, @none, @form, @this ;
  • render qui indique les composants à soumettre côté serveur.

Composant composite

Le composant composite permet de créer ses propres composants réutilisables. Pour son projet de blog, Damien a créé un composant Twitter. Pour ce faire, il définit des ressources statiques tel qu’un twitter.xhtml où le code du composant est défini avec sa CSS et ses images. On utilise ensuite les balises  <cc:interface /> et <cc:attribute /> pour définir les paramètres d’entrée à fournir au composite que l’on pourra utiliser lors de l’appel au composant. On peut ensuite associer du code métier à notre composant. Le principe est simple : créer une classe java respectant la même hiérarchie que le composant XHTML. Par exemple pour un composant mycomponents/Twitlistjava, on crée une classe mycomponents. Twitlistjava qui implémente l’interface NamingContainer.

Outils

Pour développer en JSF 2 actuellement, plusieurs librairies de composants sont à notre disposition : RichFaces 4.0 M2, IcesFaces 2.0 béta 1, PrimeFaces 2.0 … Les serveurs d’application disponibles sont : Glassfish, Tomcat, JBoss et Jetty. Pour développer, vous aurez à votre disposition NetBeans 6.9, Eclipse, JBoss Tools et IntelliJ IDEA.

Synthèse

Parmi les nouvelles fonctionnalités, nous avons maintenant :

  • Ajax inclus et optimisé ;
  • les profils d’utilisation ;
  • externalisation des ressources statiques ;
  • 2 nouveaux scopes : ViewScope et FlashScope ;
  • le support du GET en plus du POST.

On peut aussi noter les améliorations suivantes :

  • le développement de composant plus facilement ;
  • la navigation n’est plus aussi lourde à définir (plus de faces-context.xml) ;
  • la configuration XML est maintenant remplacée par des annotations.

En continuant à utiliser le site, vous acceptez l’utilisation des cookies. Plus d’informations

Les paramètres des cookies sur ce site sont définis sur « accepter les cookies » pour vous offrir la meilleure expérience de navigation possible. Si vous continuez à utiliser ce site sans changer vos paramètres de cookies ou si vous cliquez sur "Accepter" ci-dessous, vous consentez à cela.

Fermer