Archives de la Catégorie ‘Productivité’

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 Jérémie • 28 jan, 2013 • Catégorie: Agilité, Productivité, populaire

L’engouement pour les “serious games” est de plus en plus vivace. Pris séparément, ces ateliers ludiques sont déjà très efficaces, mais on peut obtenir des résultats carrément étonnants en les combinant. Voici comment j’ai organisé la journée de lancement annuelle d’une équipe de 40 personnes… en exploitant les “serious games”.



Par Pierre Parrend • 4 juin, 2012 • Catégorie: Agilité, Productivité, Qualité, news

L’agilité est souvent mise en œuvre par les équipes, avant d’être adoptée par le management. Les premiers pas peuvent être effectués sous l’impulsion de développeurs motivés, ou de chefs de projets conscients de la force des équipes auto-organisées.

Mais rendre agile une organisation nécessite, au delà du charisme des agilitateurs – et des solutions efficaces qu’ils proposent – de former les équipes, d’abord les intervenants techniques, puis les interlocuteurs métiers. La communication ouverte et l’approche transdisciplinaire de l’agilité doivent alors être mise en place dès la genèse du projet. Mais comment former à la gestion de projets informatiques des participants de cultures techniques et professionnelles différentes ?

Le constat: rien de tel qu’une approche ludique et interactive pour mobiliser les équipes, surtout si elles sont hétérogènes et ne connaissent pas encore bien les principes de Scrum.

Une réponse: une journée d’initiation à SCRUM, animée comme un projet agile. La journée commence par un état des lieux permettant d’orienter la formation selon l’expérience des participants et les besoins métiers. Elle est ponctuée d’un ‘half-daily Scrum’ qui illustre la mêlée quotidienne et se conclue par une ‘démonstration’ maison et une rétrospective en bonne et due …




Par Jérémie • 30 avr, 2012 • Catégorie: Agilité, Productivité, Test

2011 a été une année particulière, vous avez certainement vu vos twitters s’agiter sur le tag #codeRetreat ! En apogée, le 3 décembre 2011, près de 80 villes ont contribué au Global day of Code Retreat.

En quelques mots, le code retreat a pour objectif de “lever la tête du guidon” et de poser la réflexion sur nos pratiques de codage. Le but est d’explorer des voies, des techniques, et non le livrable développé.

En complément des différents retours de la blogosphère et en prémisse du legacy code retreat du 12 mai à ProxiAD, je vous propose de découvrir l’événement, du point de vue du facilitateur. Je remercie Adrian Bolbocoa, de m’avoir offert cette possibilité !

Première session

La première session constitue l’échauffement. Aucune contrainte.
L’idée est de se plonger dans le problème : le Jeu de la vie (GameOfLife).

Après 45 minutes, un “delete your code now” résonne dans la salle, il est temps d’effacer son code.

Les réactions se font vives “Quoi !” “Comment ?”, “Mais on ne va jamais avancer si on efface tout à chaque fois”.
Les frustrations sont logiques, mais l’objectif n’est pas de terminer l’exercice. Il s’agit d’identifier ce …




Par Thomas Huguerre • 19 sept, 2011 • Catégorie: Productivité, Test

Les utilisateurs réguliers des applications Google s’en seront peut-être rendu compte, le géant de Mountain View a récemment mis en place un nouveau système de FeedBack consommateur pour bon nombre de ses outils. La plateforme sociale Google+ en a par exemple bénéficié directement à sa sortie et la dernière mouture de Blogger l’intègre également, suite au rachat de la société TalkBin en avril 2011, âgée alors d’à peine 5 mois.

L’objectif du système ?

Donner la possibilité à n’importe quel utilisateur d’envoyer un commentaire sur l’application qu’il est en train d’utiliser. Jusque-là rien de bien innovant, toutes les grandes applications disposent de ce genre d’outillage, généralement sous la forme d’un formulaire de contact.

Un peu plus intéressant, le commentaire peut être saisi par n’importe qui depuis n’importe quel écran de l’application, à travers un formulaire s’affichant en superposition à la demande. Là où le système devient génial, c’est que non seulement il donne la possibilité à l’utilisateur de mettre en surbrillance ou de masquer des zones de l’écran à l’aide de la souris (la capture du résultat final étant  expédiée aux équipes en charge de la maintenance de l’applicatif), mais en plus il intègre automatiquement un ensemble de paramètres techniques …




Par Pierre Parrend • 16 juin, 2011 • Catégorie: Agilité, Productivité, Qualité, news

L’Elsass JUG s’est réuni le jeudi 19 Mai pour une soirée ‘Atelier Agile‘, avec Oana Juncu, scrum master et membre du board de l’Agile Tour. La soirée est à guichet fermé: le format ‘atelier’ ne permet d’accueillir que 35 personnes.

Agile c’est agile

Nous avons commencé par une présentation de quelques principes fondateurs de l’agilité, que je vous présente librement:

  • le client c’est le client: l’objectif est de livrer un produit fonctionnel correspondant aux besoins. Ceci ne peut se faire que par une communication régulière avec le client du produit.
  • le développeur développe: une communication régulière permet de maximiser le temps de développement efficace. De plus, seul le développeur sait quelle est la complexité des fonctionnalités à réaliser, il est donc associé pleinement à la planification du projet.
  • l’heure c’est l’heure: chaque ’sprint’, c’est à dire chaque étape du projet telle que définies par Scrum, est définie par son ‘backlog‘, l’ensemble des fonctionnalités à implémenter, et par une date de livraison. Les fonctionnalités livrées peuvent être réduites, mais les délais sont toujours respectés.
  • fini c’est fini: un produit livré ne doit plus être modifié. S’il est nécessaire de …




Par Grégory Levilain • 13 avr, 2010 • Catégorie: Java, Java EE, Non classé, Productivité, Test, news

Un ch’ti Mockito ?

C’est avec grand plaisir que nous vous convions à la prochaine session du CH’TI JUG, qui se déroulera le mardi 20 avril prochain, à 18h30 à la Maison des Associations de Lille.

David Gageot, directeur technique d’Algodeal, nous présentera deux sujet lors de cette session : GIT et Mockito.

De nouveaux paradigmes de développement collaboratif émergent ces temps-ci et GIT constitue l’une des avancées techniques les plus remarquables dans ce domaine.

Mockito, quant à lui, parvient à s’imposer, dans un écosystème pourtant déjà richement fourni en frameworks de mocking, par la simplicité qu’il confère en matière de développement de tests unitaires.

Tous les détails concernant cette soirée sont sur chtijug.org.



Par Arnaud Buisine • 10 fév, 2010 • Catégorie: .Net, Build, Cloud, Java, Microsoft, PHP, Productivité, Qualité

Voici comme promis hier un focus sur les thématiques que j’ai privilégiées lors de mon passage aux TechDays 2010.

En fait, je ne m’attarderai pas sur Office 2010. Cela fait maintenant 2 mois que j’utilise la version beta et cela marche plutôt bien. Sharepoint 2010 ammène également son lot de nouveautés avec en particulier un support avancé des ressources multimédia (videos notamment). Mais je m’écarte de mon sujet.

Il y a vraiment deux sujets que je veux mettre en valeur cette année.

Même pour un œil peu averti, il apparait évident que Microsoft continue son rapprochement vers les autres plateformes de développement. Ainsi n’ai je pas été le seul à relever hier les nombreuses références à PHP et à Java.

C’est d’abord avec le support souligné de PHP et Java sur Windows Azure dès la plénière du matin que le sujet est venu sur le tapis. Puis, dans l’après midi, une session, notamment, dédiée à l’industrialisation en environnements de développement hétérogènes a confirmé la tendance.

L’événement significatif en ce sens est le rachat par Microsoft fin 2009 de Teamprise de SourceGear. Teamprise est une suite d’outils qui permet à …




Par Grégory Levilain • 8 fév, 2010 • Catégorie: Agilité, Java, Productivité, Qualité, Test

1) Introduction
2) Développement “piloté par les tests” vs “assisté par les tests”
3) Tests unitaires “en isolation” ou “contextuels” ?
4) Gestion des données de tests et choix des outils
5) Conclusion

Il va de soit que les tests représentent un gage de qualité pour un projet. Leur adoption dépend à mon avis de deux aspects :

  • une bonne méthodologie ;
  • une infrastructure adaptée.

Si les méthodes agiles et le TDD représentent un facteur de motivation, il serait dommage de ne pas les mettre en œuvre. Si ce n’est pas le cas, ou que le projet ne s’y prête pas, l’important à mon sens est de créer un besoin. L’un des aspects essentiels du développement assisté par les tests est de fournir un maximum de confort et de possibilités aux développeurs, afin de faire du test unitaire un outil de développement apprécié et indispensable.

Quelque soit la solution choisie, sa pérennité dépend fortement de la mise en place de l’infrastructure et de l’outillage nécessaires. L’intégration continue, notamment, est capitale.

Enfin, une solution de tests fonctionnels complètera efficacement l’une ou l’autre des méthodes citées.



Par Grégory Levilain • 8 fév, 2010 • Catégorie: Agilité, Java, Productivité, Qualité, Test

1) Introduction
2) Développement “piloté par les tests” vs “assisté par les tests”
3) Tests unitaires “en isolation” ou “contextuels” ?
4) Gestion des données de tests et choix des outils
5) Conclusion

Gestion des données

Pour résumer, l’objectif est ici de placer la BDD dans un état prédéfini avant le test, de façon automatique, afin d’assurer sa reproductibilité. De plus, cette initialisation doit se faire :

  • de façon suffisamment rapide pour que la durée d’exécution des tests ne devienne pas une contrainte ;
  • de façon suffisamment souple pour injecter facilement toutes sortes de données. En outre, une méthode d’insertion dynamique permettra par exemple de créer des listes volumineuses pour tester un composant de pagination ou de tri.

Les tests contextuels nécessitent des jeux de données plus conséquents que les tests en isolation. Malgré tout, il est important que ceux-ci restent suffisamment légers pour conserver des performances acceptables.

Pour organiser ces jeux de données de façon optimale, nous distinguerons :

  • La structure de la BDD ;
  • Les données de référence, qui se trouvent dans des tables qui ne sont jamais modifiées lors de l’utilisation habituelle de l’application. Exemples: Table “CIVILITE” (Mr, Mme, Mlle), …