Programme
L'accueil des participants démarre à 8h20.
Penser le persuavive Design
Présenté par
Une intervention de 20 min pour présenter la théorie de l'engagement, la manière de l'intégrer dans les processus de conception d'interfaces, et son ROI.
Live coding Test Javascript
Présenté par
Dans ce live coding d'environ 30 minutes vous verrez comment combiner l'écriture de tests expressifs avec une application utilisant les technologies web derniers cris.
Cette démonstration est une application directe des principes du livre Growning Object Oriented Software Guided By Test, vous y trouverez BDD, TDD, HTML5, Java & JavaScript. Son application est particulièrement adaptée à des applications utilisant un front-end Javascript + Css et à destination des développeurs comme des analystes.
La démonstration portera principalement sur la combinaison explosive de deux outils Cucumber & Zombie, pour des tests d'acceptantes en langage naturel et une vitesse d'exécution imbattable. Ces techniques sont utilisables avec d'autres outils nous l'évoquerons dans la partie de la présentation qui est dédiée à l'échange avec le public pour discuter des avantages et des limites de cette approche.
L'occasion idéale de réconcilier BDD avec faisabilité, rapidité et innovation. Le code source de la démonstration, ainsi que quelques instructions sera mis à disposition.
MongoDB
Présenté par
Veux tu connaitre la base de données NoSQL la plus à la mode ? Tu en as entendu parler, mais tu ne connais pas trop, viens découvrir par des exemples pratiques MongoDB.
Je vous parlerai des avantages et des inconvénients par rapport aux bases de données SQL classiques, les points forts, points faibles, et je vous parlerai aussi de notre use case et de pourquoi nous avons choisi MongoDB
Les performances web
Présenté par
La performance, c'est le tueur invisible de la qualité du site. Accélérer un site doit faire aujourd'hui partie des compétences de base des développeurs web, pourtant des nouvelles techniques et stratégies sortent tous les jours.
Tirée de l'expérience, d'une formation pro et d'années de veille, nous allons voir en une heure les techniques incontournables ainsi que les outils et les process à mettre en place pour améliorer et maintenir la qualité de ses pages.
Lean Startup, ou comment sortir vos projets des cartons ?
Présenté par
Au programme :
1. Intro, le syndrôme du dev
2. Définition du Lean et du Lean Startup. Ce que c'est, ce que ça n'est pas.
3. Définition d'une startup
4. Your idea sucks (ou, le FAIL)
5. Customer Development, ou comment fabriquer un client au lieu d'un produit
6. Qu'est-ce qu'un MVP ?
7. Qu'est-ce qu'une bonne métrique ?
8. Résumé
9. Exemple "real-life" - Chipmunk
Fork / Join, Parallel Arrays, Lambdas : la programmation parallèle (trop ?) facile !
Présenté par
Ces nouvelles fonctionnalités introduites à partir de Java 7 nous permettent de parallèliser nos traitements simplement, voire gratuitement. Nous allons donc pouvoir utiliser pleinement nos multicoeurs avec un minimum d'efforts. Quels sont ces nouveaux patterns, quels gains en performance pouvons-nous en attendre, à quels nouveaux bugs serons-nous confrontés ? Une heure pour répondront à chacun de ces points, en introduisant les nouveaux problèmes et leurs solutions. Une heure pour comprendre comment nos habitudes de programmation vont devoir évoluer, et à quoi la programmation parallèle en Java ressemblera-t-elle demain.
JS natif
Présenté par
Les améliorations des navigateurs pour l'interprétation du JavaScript et les besoins de réduire le poids des pages rendent l'utilisation de librairies comme jQuery ou Mootools bien inutile. Passer par du JS natif permet de coder de manière plus fine et plus lègère.
Continuous delivery chez capitainetrain.com
Présenté par
Nous souhaitons vous montrer comment nous sommes passé de livraisons rares et douloureuses à des livraisons banales et fréquentes. Livrer son logiciel en production c'est un chemin parsemé d'embûches, donc il sera souvent question de ce qui ne marche pas ! Etre agile c'est aussi apprendre de ses erreurs, et vous verrez que si nous avons des choses à dire, c'est que nous avons beaucoup appris !
On parlera de technique, de discipline de groupe et beaucoup de solidarité. On parlera de gestion des priorités, des contraintes externes comme les fixes de sécurité ou les montées de versions de services tiers.
Nous espérons que cela vous inspirera et vous donnera envie de vous aussi mettre en production plusieurs fois par semaine !
Fifty New Features of Java EE 7 in 50 Minutes
Présenté par
The Java EE 7 platform has four new components (WebSocket, JSON-P, batch, and concurrency), three that are significantly updated (JAX-RS, JMS, and EL), and several others that bring significant changes to the platform. As you can imagine, a lot of new functionality has been introduced in the platform. In this fast-paced session, you will learn about 50 new features introduced in the Java EE 7 platform. @ClientEndpoint, chunk-style batch processing, @FlowScoped, @AroundConstruct, @JMSDestinationDefinition, and @Transactional are some of features the presentation covers. It explains each feature with a code snippet and provides details on where and how you can use it in your applications.
Buffet
Présenté par
As-tu vu mon site ?
Présenté par
Améliorer le placement de son site est un besoin essentiel pour valoriser ses contenus. S'il existe des techniques éprouvées pour l'amélioration de son trafic ; une stratégie de référencement ne s'improvise pas, elle demande une définition précise de ses objectifs et un suivi assidu de son positionnement
Live coding
Présenté par
Je vous propose une nouvelle méthode de développement : le CDD, autrement connu sous le nom de Conference Driven Development.
Dans le cadre du concours Code-Story, de nombreuses petites applications web doivent être développées. Je vous propose de coder en live, sans filet, le site d'enregistrement des candidats.
Ce site web sera une excuse pour vous présenter Java 8, la stack web de Code-Story, FluentLenium, le tout en pur TDD.
Bien sûr, tout cela peut changer au dernier moment en fonction des problèmes rencontrés. C'est là tout la puissance du CDD !
Come and Play! with Java EE 7
Présenté par
As you know, Java EE is old-fashioned, heavyweight, cumbersome, and made mostly of boilerplate code. Who would develop a modern Web application with such a technological stack? Who would start an heavy application server, deploy some EJBs, and wait ages to end up with an ugly Web page? You? So if you like HTML5 front ends with responsive design, sexy graphical components, manageable REST interfaces, video processing, Tweeter widgets, and transactional databases, come to this session and see a real Java EE 7 Web application being developed within 50 minutes.
Cloud - Le cloud dans la vraie vie
Présenté par
Depuis quelques temps le Cloud Computing s’affiche partout, de la une des magazines informatiques jusqu’aux spots de publicité à la télévision. Mais le Cloud Computing est-il juste un mot à la mode ou peut-il vous aider à développer votre application ? Je vous présenterai plusieurs offres Cloud en m'appuyant sur des cas clients très concrets. Nous regarderons aussi comment nos architectures ont du évoluer pour utiliser au mieux des services comme Amazon Web Service ou Google App Engine.
Dev ops
Présenté par
Un des principaux objectifs de Devops est de réduire le Time To Market. Pour cela, il faut être capable de "labeliser" des versions très facilement et très souvent. Et donc avoir une excellente tracabilité des versions déployées. Mais qu'est ce qu'une version ? Certes, il y a un applicatif. Et souvent plusieurs. Mais il y a aussi le reste : le système, la configurations liées aux autres noeuds (mais ou est ma DB ?), le réseau, le monitoring, les logs, la sauvegarde ... La liste est longue.
Dans cette session, nous présenterons un retour d'expérience sur la mise en pratique d'un tel système sur un SI complexe et multi technologies : Java, Ruby, NodeJS, Php, 20 plateformes d'intégration, plus de 800 vms...
Et vous allez découvrir, que, oui, il y a des problèmes d'outils (toute la stack vous sera présentée), mais également que cela soulève pas mal de questions de processus et d'organisation.
Horizons de l'accessibilité
Présenté par
De loin, l'accessibilité, c'est bien pour les personnes présentant des handicaps. Mais à y regarder de plus près, on y perçoit une véritable attention portée sur la construction de son code. Véritable discipline transversale aux métier du web ; l'accessibilité est un vecteur d'amélioration globale de la qualité.
Real options
Présenté par
L'analyse par les Options Réelles est une technique qui permet de prendre des décisions sur les décisions. C'est cool, c'est meta.
Mais quel est l'intéret pour l'équipe au quotidien ?
Vous prenez plein de décisions chaque jour comme développeur ou architecte. Des décisions qui peuvent couter cher.
Les Options Réelles ne sont pas très compliquées, cela s'explique en quelques minutes. Mais en appliquant les Options Réelles sur les projets informatiques et sur l'architecture des logiciels j'ai découvert que plein de choses que je croyais vraies ou qui me semblaient intuitivement correctes étaient fausses.
J'illustre chaque technique avec des exemples qui viennent de projets auxquels j'ai participé les dernières années, ou bien de la vie de tous les jours.
Découvrez une autre façon de voir les décisions, des techniques simples pour gérer des projets ou définir une architecture de logiciel. Vous découvrirez peut-être que vous aussi croyez des choses qui sont fausses.
Au minimum vous entendrez quelques histoires belges... :-)
Javascript pour les javaistes
Présenté par
Votre chef a décidé que vous allez développer la partie présentation de votre application en utilisant le dernier framework JavaScript à la mode. Comme vous connaissez Java cela devrait bien se passer.
De votre côté, vous cauchemardez encore en repensant à vos nuits de debuggage à grand coup d’alert.
Au cours de cette présentation, je vous propose d’abord un tour du langage JavaScript en comparaison à Java. Quelles sont les différences ? Quels sont les pièges ? Qu’est ce qui est bien voir mieux qu’en Java ?
Ensuite nous verrons comment vous allez pouvoir intégrer tout ce JavaScript dans votre intégration continue et métriques de code pour faire un travail de qualité comme vous en avez l’habitude en Java.
Cloud - Monitoring & Management
Présenté par
Même si la classification IaaS vs. PaaS est quelque peu éculée elle nous permettra de comprendre, en utilisant la plate-forme Cloud de Google, la répartition des responsabilités de Monitoring et de Management entre utilisateur et fournisseur de Cloud. Entre administration et monitoring de machines virtuelles, orchestration de service de load balancing, gestion de (base de) données, update transparent de stack technique et A/B testing nous allons parcourir les plus et les moins des approches orientées infrastructure et plate-forme tout en terminant sur une approche qui tente de combiner le meilleur des deux mondes
Implémenter la qualité sur un projet java
Présenté par
A partir de l'example du projet open source XWiki (http://xwiki.org) cette session proposera un certain nombre de pratiques pour améliorer la qualité d'un projet Java et montrera comment les implémenter afin qu'elles soient vérifiées automatiquement.
Quelques exemples (non complets et sujets à modification):
- Comment vérifier que votre projet ne casse pas la compatibilité binaire involontairement et plus généralement comment réussir à faire évoluer une API sans casser vos utilisateurs
- Comment arriver à gérer le JAR hell et éviter les duplications de classes dans votre application au runtime
- Comment contrôler automatiquement la couverture de tests et quelle stratégie associée mettre en place
- Comment automatiser les tests fonctionnels d'applications web et surtout pratiques d'exécution et comment éviter les faux-positifs qui sont la plaie de tout projet
Table ronde sur la qualité web
Présenté par
Discussion animée à propos de la manière de promouvoir la qualité web dans ses projets
Software craftmanship
Présenté par
Quelque part au coeur du processus de création d'un projet, existe des gens qui lisent, écrivent et se bagarrent avec du code. Ces gens, appelés "programmeurs", ont une culture directement issue de cette bataille entre l'homme et la machine.
Qu'est-ce qui les frustre, les exalte, les freine ?
Quels sont les biais cognitifs avec lesquels ils travaillent ? Quel est l'environnement et les processus qui permettent qu'ils donnent le meilleur d'eux même ?
Comprendre cette culture est un facteur clé de réussite d'un projet à court terme et d'une entreprise à moyen terme.
Dans cette session nous allons explorer la culture de ceux qui programment efficacement afin que vous puissiez adapter environnement, processus et organisation pour transformer vos programmeurs lambdas en véritables craftmen.
Qu'est-ce qui rends Groovy groovy ?
Présenté par
Groovy n'est pas un nouveau venu dans l'arène des langages alternatifs pour la JVM, mais avec plus d'1.7 millions de téléchargements par an, c'est clairement le plus utilisé aujourd'hui !
Mais pourquoi choisir Groovy pour vos projets ? Que peut-il vous apporter ?
- une courbe d'apprentissage minime
- son intégration transparente avec Java pour mixer Groovy et Java ensemble
- une syntax malléable, concise et lisible adaptée aux Domain-Specific Languages
- une approche pragmatique sur le typage
- un riche écosystème de projets, comme Grails, Gradle, GPars, Spock, Geb, etc...
Dans cette session, vous découvrirez comment tout s'articule dans l'univers Groovy, ainsi que où, quand, comment vous pourrez tirer avantage de Groovy pour améliorer votre productivité.
Cloud - Architecture Pattern
Présenté par
Les "Platform as a Service" nous promettent une migration sans douleur des applications dans le Cloud, mais les choses ne sont pas si simple et votre appli legacy à base d'EJB 1.0 ne passera pas l'étape du Cloud sans un sérieux refactoring.
Pendant cette session, je vais expliquer quelques patterns d'architecture à application à vos développements, et les refacroring ou services qui pourront vous aider à migrer vos applications sans dommages, pour une transition vers le Cloud en douceur.
Pour éviter de la pure théorie, je partagerais l'expérience des applications de Devoxx, migrées d'un hébergement sur hardware dédié vers CloudBees.
Android, passons au niveau supérieur
Présenté par
Tentons ensemble une expérience folle, prenons la place de l'utilisateur ! Cette présentation vous permettra de mesurer les frustrations que nos chers users peuvent endurer, afin d'en déduire des guidelines qui nous permettrons, en tant que développeur, de leur rendre la vie meilleure.
Enregistrement podcast Nip Dev
Présenté par
Fabrice nous fait l'honneur de cloturer la conférence par l'enregistrement du prochain numéro de Nip Dev.