Archives de la Catégorie ‘Java’
Par Grégory Levilain • 25 fév, 2013 • Catégorie: Java, Productivité, Spring
Par Anthony Lopes Barata.
L’objectif de ce tutoriel est de remplacer les tableaux générés par Spring ROO par des composants dynamiques dhtmlxGrid et ainsi permettre d’y ajouter des fonctionnalités en utilisant l’API dhtmlx ou des fonctions Javascript diverses. Nous nous appuierons sur le tutoriel de création d’une application Spring Roo (Pizza Shop) avec Jetty intégré (facultatif).
Le composant dhtmlxGrid intégré à l'application Spring ROO Pizza Shop
- Il faut tout d’abord ajouter les fichiers nécessaires au chargement de la dhtmlxGrid dans le répertoire src/main/webapp de l’application (disponibles sur http://dhtmlx.com/docs/products/dhtmlxGrid/index.shtml ).
- Puis créer un fichier alternatif de génération de tableau: dupliquer src/main/webapp/WEB-INF/tags/form/fields/table.tagx et renommer la copie en table_dhtmlxGrid.tagx, dans le même répertoire.
- Dans ce fichier alternatif, supprimer le contenu entre les balises html <table> et </table> (incluses) qui sert à créer une table html classique (que l’on cherche donc à remplacer), et remplacer par le script de la dhtmlxGrid.
Ici:
<link rel=”STYLESHEET” type=”text/css” href=”/Pizza/dhtmlxGrid/codebase/dhtmlxgrid.css”></link>
<link rel=”stylesheet” type=”text/css” href=”/Pizza/dhtmlxGrid/codebase/skins/dhtmlxgrid_dhx_skyblue.css”></link>
<script type=”text/javascript” src=”/Pizza/dhtmlxGrid/codebase/dhtmlxcommon.js”>
<!–Placez ici le code de votre script// –>
</script>
<script type=”text/javascript” src=”/Pizza/dhtmlxGrid/codebase/dhtmlxgrid.js”>
<!–Placez ici le code de votre script// –>
</script>
<script type=”text/javascript” src=”/Pizza/dhtmlxGrid/codebase/dhtmlxgridcell.js”>
<!–Placez …
Par Grégory Levilain • 1 fév, 2013 • Catégorie: Java, Spring, Test
Dans ce billet, je vais mettre en œuvre un serveur Jetty Embedded sur une application Spring, afin d’obtenir les fondations d’un système de tests automatisés et semi-automatisés.
En effet, l’objectif, en ce qui me concerne, est de faciliter la recette d’applications via les deux méthodes suivantes :
Tests automatisés pour vérifier la conformité aux spécifications,
Automatisation de la phase d’initialisation des données pour réaliser la partie “manuelle” de la recette. Cela permet de dérouler de multiples scénarios de recette basés sur des pré-requis différents en termes de données, sans avoir à réaliser cette initialisation de façon “artisanale”, généralement laborieuse.
Spring apporte, entre autres, deux avantages appréciables :
Les applications Spring peuvent s’exécuter dans un simple container Web, tel que Jetty ou Tomcat,
L’outillage Spring fournit des outils de mise en route rapide tels que Spring Fuse et Spring ROO.
Je vais m’appuyer sur le tutoriel Beginning With Roo, qui consiste à créer une application de gestion pour une pizzeria, nommée Pizza Shop. L’application permet de confectionner des pizzas et de gérer des commandes.
L’objectif est de mettre en place les fondations pour les deux types de tests décrits ci-dessus. En l’occurrence la partie initialisation des données …
Par Loïc Fournial • 15 mai, 2012 • Catégorie: Java, news
Pour faire suite à mon précédent article centré sur les tests, vous trouverez dans ce post les sessions de ce DevoxxFR qui ont retenu mon attention autour du thème java et son écosystème.
Les 3 A pour Java EE 6
Cet atelier est animé par Alexis Hassler (@AlexisHassler), Antoine Sabot-Durand (@antoine_sd), Yann Blazart (@yblazart). Il permet d’avancer pas à pas dans la mise en œuvre des principales spécifications de Java EE 6. Par le biais d’instructions fournies sous forme d’un fichier PDF, chacun avance à son rythme et fait évoluer une application existante en y intégrant différents éléments de la spécification. Ainsi, JSF2.0, JAX-RS 1.0, CDI 1.0 mais aussi Arquillian sont abordés. Ce dernier ne fait pas partie de la spécification mais est très utile pour réaliser des tests d’intégration directement dans le conteneur.
Au final, une session “les mains dans le cambouis” intéressante, qui permet d’aborder JEE6 concrètement. Le public en sort avec un exemple complet et fonctionnel.
Vous pouvez retrouver l’atelier à l’adresse suivante : https://github.com/antoinesd/Labs-Java-EE-6.
Developing, Deploying and Scaling in the Cloud with Play par James Ward (@_JamesWard) et Nicolas …
Par Loïc Fournial • 9 mai, 2012 • Catégorie: Java, Test, news
Dans mon billet précédent, je relatais les sessions de ce DevoxxFR qui m’ont le plus marqué par leur originalité. Je vais maintenant revenir sur les quelques sessions qui concernaient les outils de tests.
Le dernier article de cette série traitera des sessions liées à Java et à son écosystème.
Selenium 2, Selenium Grid et TestNG par Mathilde Lemee (@MathildeLemee)
Mathilde nous présente l’intérêt de Selenium2 pour automatiser les tests IHM. Elle déconseille l’utilisation de Selenium IDE, mais encourage à écrire directement les scénarios en Java, la syntaxe étant relativement simple. Après une présentation des avantages de TestNG comparé à Junit (groupes de tests, dépendances de tests, listeners, tests paramétrés), Mathilde met le doigt sur le point noir des tests sous Selenium : la lenteur d’exécution.
Une solution pour pallier à ce problème est de mettre en place Selenium Grid. Cet outil permet de lancer les tests en parallèle, pourquoi pas sur des VM différentes, avec des OS et browser différents voir même sur le cloud avec Azamon EC2 par exemple.
Une présentation de 30 minutes rondement menée, le tiercé Selenium 2, Test NG et Selenium grid semble pertinent pour maintenir une …
Par Loïc Fournial • 9 mai, 2012 • Catégorie: Java, news
Les 18, 19 et 20 Avril dernier j’ai eu la chance de participer à DevoxxFR (déclinaison francophone de Devoxx).
Avec plus de 1200 inscrits, 199 intervenants et 133 sessions, c’est la conférence pour développeurs de ce début d’année.
Cette cuvée 2012 se décline sur 4 grands thèmes, Web, Mobile et le Cloud, Langages alternatifs sur la JVM, Entreprises et pratiques, Java, Java EE et Architectures.
En quelques mots, ce cru DevoxxFR 2012 fût vraiment excellent !
Si vous avez l’occasion d’assister à ce genre d’évènement, foncez sans hésitez.
A travers une série de 3 articles, je vais tenter de vous transmettre l’intérêt et le plaisir que j’ai eu à assister à cette conférence.
Pour ce premier billet, je reviendrai sur les sessions qui ont attiré mon attention par leur originalité.
Le second article sera centré sur le thème des tests.
Pour le troisième et dernier je reviendrai sur les sessions touchant à java et son écosystème.
Fier d’être développeur par Pierre Pezziardi (@ppezziardi)
Je retiens de cette keynote les points suivants (pas forcément dans l’ordre) : egoless programming manifesto; un développeur n’est pas son code et un avis critique sur son code n’est …
Par Bastien Colmard • 14 juin, 2011 • Catégorie: Java, news
Le Paris JUG, c’est 200 passionnés qui se réunissent une soirée par mois pour assister à une présentation technique gratuite, dans une ambiance décontractée. Le succès est tel qu’il ne faut que quelques heures pour que la totalité des places soit réservée.
A l’occasion de ses 3 ans d’existence, l’association organisait lundi 28 février dernier une soirée à la cité universitaire de Paris, dans un amphithéâtre qui lui permettait d’accueillir 500 personnes. Cette fois-ci, la soirée se voulait non technique, mais tout aussi sympathique. Le thème “Siffler en travaillant”, retenu pour l’occasion, fût repris dans l’ensemble des présentations, c’est à dire la keynote d’ouverture, d’une durée de 45 minutes, et 8 talks de 15 minutes chacun.
Keynote : “Siffler en télétravaillant”
Le discours d’ouverture était présenté par Nicole Turbé-Suetens, expert télétravail auprès de la commission européenne, et fondatrice de Distance Expert, un réseau d’experts en management à distance et télétravail. Elle a écrit plusieurs livres sur le sujet et intervient régulièrement en conférence, notamment lors du dernier TEDx Paris. Autant dire qu’elle connait le sujet.
Le constat est simple et unanime : les transports domicile - travail amputent nos journées, accentuent la fatigue et le stress, et surtout, …
Par Bastien Colmard • 14 juin, 2011 • Catégorie: Java EE, news
Dans le développement des applications de gestion, de gros efforts sont axés sur la sécurité, la robustesse, et les performances. Hélas, un point essentiel est parfois délaissé : l’interface.
Au quotidien, j’interviens sur le développement des différents aspects d’application n-tiers (présentation, métier, accès aux données), au moyen des technologies Java usuelles. C’est cependant la couche présentation que je prends le plus de plaisir à développer, notamment l’interface à proprement parler.
Soigner l’interface, c’est offrir à l’utilisateur final la meilleure expérience possible, lui permettre de réaliser l’action qu’il souhaite rapidement et de manière quasi-instinctive. C’est aussi lui garantir qu’il pourra utiliser l’application quelque soit son navigateur, sa configuration, mais aussi sa condition physique. On parle alors d’ergonomie, de sémantique, de standards, de rétrocompatibilité, d’amélioration progressive, et d’accessibilité. Tout ceci constitue ou contribue à l’expérience utilisateur.
J’aborderai ce vaste thème lors de mes prochains articles sur ce blog, en partageant avec vous mon expérience et mon enthousiasme pour les interfaces utilisateur soignées.
Par Pierre Parrend • 25 mar, 2011 • Catégorie: Agilité, Build, Industrialisation, Java, news
L’Elsass JUG s’est retrouvé le 24 Février au CPPlex pour le premier JavaCamp organisé en Alsace. Vous connaissez le principe ?
Sur le modèle des BarCamps, les JavaCamps sont des ‘non-conférences’, dans lesquelles les speakers sont les participants. Les thèmes de la soirée ? Ceux qui motivent les présents: l’intégration continue, les serveurs Web avec JSF, l’agilité et la lazyness avec Google Guava.
La soirée JavaCamp commence par un tour de présentation: chacun est invité à se présenter en trois tags: agilité et web sont les mots clés qui reviennent.
Les Jugers sont ensuite invités à écrire sur des posts-it les thèmes qui leur tiennent à coeur. JSF et l’intégration continue sont les grands vainqueurs de ce premier sondage.
Préparation de la première session du JavaCamp
Session 1: Intégration continue, JSF
Je ne peux vous parler que de la session à laquelle j’ai participé: l’intégration continue consiste à construire régulièrement les builds des applications développées, pour s’assurer que la chaine de compilation, tests unitaires, tests d’intégration et packaging est stable. Une implémentation légère consiste en l’utilisation de Maven, qui …
Par Jérémie • 22 fév, 2011 • Catégorie: Agilité, Java, Qualité, Test
On le sait, une opération de développement ou de maintenance se décompose en deux phases : la compréhension du sujet et son implémentation.
Des études démontrent que la phase de compréhension peut prendre jusqu’à 90% du temps de l’opération !
Cette phase de compréhension est complexe et les connaissances en jeux peuvent difficilement être transmises par un tiers. La raison en est simple : chacun construit ses représentations du monde et ses cheminements cognitifs en fonction de ses expériences, de sa culture, de son entourage et des connaissances qu’il possède. Par exemple, le discours doit être adapté si l’on s’adresse à un consultant junior ou à un architecte expérimenté !
Ces dernières années, cette conviction est devenu mon cheval de bataille, et j’ai trouvé dans le développement dirigé par les tests un catalyseur pour expliciter les représentations entre les différents intervenants d’un projet.
Je cherche aujourd’hui les moyens de faire “passer le message” autour des pratiques de codage, des méthodes agiles et d’évangéliser le TDD ! Ma participation à ce blog s’inscrit dans cette logique de partage et de retour sur ces principes.
Keep the bar green !
Par Cédric Vidal • 15 jan, 2011 • Catégorie: Java, Test, news
Mardi, David Gageot a la dure tâche d’animer toute la soirée, dédiée aux tests et en particulier aux moyens d’accélérer l’exécution et le développement des tests. Voici un petit récapitulatif de la présentation de David.
Pourquoi rendre les tests plus rapides ? Pour accélérer le développement ! En gagnant du temps, je vais livrer plus souvent, vérifier la qualité plus souvent. L’intuition de David est que penser en avance à écrire des tests simples abouti à une application plus simple et de meilleure qualité. On suppose bien sûr que l’on es dans un contexte TDD où on lance les tests avant de commiter et qu’un serveur d’intégration continue build le projet et exécute les tests en continue.
Quoi ? tu testes pas ? t’es so 2010 ! On est en 2011, maintenant tu testes !
Dans ce contexte, s’il faut attendre des heures que les tests aient terminé de s’exécuter avant de pouvoir commiter alors la lenteur des tests devient un frein à la productivité. En plus, mécaniquement, chaque jour, la suite de tests est plus lente que la veille. Normal, le nombre de lignes de code et de lignes de tests augmente donc logiquement, ça prend …
|