Navigation

Espace Techno

Un article de ODcWiki.

Jump to: navigation, search

Bienvenue !

Les 120 spécialistes d’Objet Direct sont heureux de vous accueillir dans leur Espace Techno ! Nous vous proposons de prendre connaissance d'une partie des contenus disponibles sur le Wiki de capitalisation technique d'Objet Direct.

Qu’est-ce que ce Wiki ?

C’est le site où Objet Direct capitalise 10 années de réalisation de projets avec les méthodes et technologies modernes de développement logiciel. Une vraie mine d'informations et de références pour les consultants en mission, qui s’enrichit en permanence grâce à de bons réflexes acquis dès le démarrage de la société : le partage d’expérience, le foisonnement.

Aujourd’hui cet espace de capitalisation offre une jolie vitrine de nos savoir-faire et de l'esprit technologique qui anime Objet Direct. Découvrez les derniers articles publiés (sur Java EE, .NET, AJAX, UP/UML).

Participerez-vous avec nous à l'aventure au pays de l’objet ?

Bonne visite – L’équipe Objet Direct.

En savoir plus sur les auteurs

Les derniers articles publiés

  1. ‎Introduction à la programmation sur iPhone - Partie 1

Mars 2010

Langage, interface & contrôles standards : Avec l’App Store, première boutique d’applications tierces sur mobile, l’iPhone d’Apple a donné un joli coup de pied dans la fourmilière de la mobilité. Bien que faisant partie du paysage depuis 2 ans et 100000 applications, son retentissement ne semble pas vouloir s’estomper. Cela est du, en partie, à la pertinence des choix techniques et des outils – Objective-C et Cocoa Touch – retenus pour son développement. Conscients de l’impact avec lequel il a durablement changé la donne, nous consacrerons ici une série d’articles techniques permettant de s’y acclimater progressivement.

  1. Patterns GoF : Structuraux

Janvier 2010

L'objet de cet article est de présenter rapidement les patterns structuraux et quelques exemples d'utilisation. Les patterns présentés sont les suivants : Adapter (Adaptateur), Bridge (Pont), Composite, Decorator (Decorateur), Facade, Flyweight et Proxy.

  1. Agile Tour : The invisible project manager

Décembre 2009

Voici un retour d’une conférence orientée « Managers » qui a eu lieu lors de l’Agile Tour Paris 2009, intitulée " The invisible project manager ".

Marc Adams positionne son discours à un certain niveau d’abstraction. Il concerne des agilistes ayant quelques bases concernant le métier de coach...

  1. Agile Tour : Illusions et désillusions

Novembre 2009

Quatrième étape de l’agile tour 2009 dans le thème Recherche & Méthode auprès de Patrice Petit dans " Illusions et désillusions ".

"Quand les équipes de développement atteignent la performance, nous ne sommes pas au bout de nos peines..."

  1. Struts2, Spring 2 sans XML

Novembre 2009

Autrefois Struts et Spring nécessitaient des fichiers de configuration XML qui avaient tendance à rapidement prendre de l'embonpoint. Nous verrons dans cet article comment tirer partie des progrès réalisés dans Struts 2.1 et Spring 2.5 pour remplacer le XML par des annotations.

  1. Agile Tour : Projet agile et gestion des coûts

Novembre 2009

La deuxième session que j’ai choisie lors de l’Agile Tour 2009 à Paris s’intitulait : Projet agile et Gestion des coûts dans le thème Coaching & Equipes.

Lorsque l’on parle d’agilité à un chef de projet qui a une vision plus classique de son métier, la gestion des coûts est un argument à défendre. Selon Renaud Chomé (créateur d’entreprise), la création d’une entreprise est, en soi, un projet agile...

  1. Agile Tour : Planification agile par la pratique

Octobre 2009

Voici un retour d’expérience réalisée lors d’un atelier durant l’agile tour Paris 2009 : Planification agile par la pratique : Kanban, Burndown, Burnup (1h30).

Le but était de manipuler les outils d’un projet agile par la réalisation d’un projet fictif itératif et incrémental avec la mise en place d’un radiateur d’informations, (post’it ou kanban (petite fiche cartonnée), BurnDown et BurnUp charts) en appliquant certains des quelques principes agiles (Prioriser / Planifier / Estimer les délais / Collaborer / Visualiser / Auto organiser).

  1. Hibernate : Héritage

Juillet 2009

L'héritage est une des notions fondamentales de la programmation orientée objet. La plupart des bases de données relationnelles ne connaissent pas cette notion. Nous allons voir dans cet article comment Hibernate essaye de faire le grand écart entre le monde objet et monde relationnel.

  1. Vendre SCRUM à une équipe qui pratique le cycle en V

Juin 2009

Passer en mode SCRUM une équipe de développement de logiciel qui applique une méthode classique (de type cycle en V) est un challenge en vue d'une bien meilleure efficacité, mais nécessite de grands changements organisationnels et une remise en question des pratiques de l'équipe. Nous présentons dans cet article un bref résumé de la méthode, ses avantages, ses difficultés, et quelques recettes simples pour aider à franchir le pas.

  1. Hibernate Survival Guide Partie 3

Mai 2009

Après avoir expliqué ce qu’était le cache de premier niveau et son rôle fondamental dans le fonctionnement d’Hibernate (HSG partie I) et la manière dont est gérée la persistance des relations (HSG partie II), nous allons nous attaquer, dans cet article au système de requêtage, aux pièges qu’il présente, ainsi qu’aux solutions pour les éviter.

  1. Hibernate Survival Guide Partie 2

Mars 2009

Ceci est la seconde pièce de la série d’articles qui explique comment fonctionne Hibernate et comment l’utiliser au mieux. Le précédant article expliquait ce qu’était le cache de premier niveau et combien il était fondamental. Cet article s’attaque à un autre point épineux : la gestion des liens inverses dans une relation.

  1. Hibernate Survival Guide Partie 1

Février 2009

Ceci est la première pièce d’une série d’articles qui vise à donner les clés cachées d’Hibernate. Hibernate est en effet un framework de mapping objet-relationnel très populaire mais en fait, mal connu. Pour beaucoup de développeurs, son fonctionnement reste un mystère dangereux, source d’exceptions difficilement maîtrisables, générateur d’une activité SQL débordante. Il semble erratique, peu performant.

Cette image est fausse. C’est en fait un outil puissant et sûr. Mais comme toutes les belles mécaniques, il faut en connaître les principes fondamentaux pour l’utiliser correctement. Derrière une API simple et une configuration aisément accessible, se cache un moteur complexe que nous allons explorer.

Commençons par l’aspect le plus fondamental : la gestion interne des entités.

  1. Pourquoi tout le monde ne fait-il pas du MDA ?

Décembre 2008

Le MDA apporte des réponses à pratiquement tous les maux liés au développement informatique (au moins dans le monde de la gestion). La question se pose donc naturellement : pourquoi, aujourd'hui, une part significative des projets n'est-elle pas développée selon les préceptes et avec les outils du MDA ? Et pourquoi ne voit-on toujours pas émerger de grand mouvement de fond qui amènerait les acteurs du marché à se tourner vers ces technos ?

Les raisons sont à la fois multiples et profondes, nous allons le voir. Mais, si vous avez le courage de me lire jusqu'au bout, vous le verrez, aucune n'est rédhibitoire ! L'avenir du développement centré sur les modèles reste ouvert, et, à mon avis, riche de perspectives. Et son présent est déjà plein de succès, à condition d'éviter les écueils que je vais détailler.

  1. Annotation Processing Tool

Novembre 2008

Les annotations ont été introduites avec Java 5 pour pouvoir placer des méta-données sur les classes, attributs, méthodes.... Ces annotations peuvent par la suite être exploitées à l'exécution ou bien à la compilation. C'est cette dernière façon de faire qui motive cet article: Nous allons voir comment traiter les sources Java pour en extraire les (méta-)informations, puis générer du code, de la documentation ou autre ...

  1. Configurer des EJB3 avec le fichier ejb-jar.xml

Octobre 2008

L'objet du présent article est de présenter, pour les EJB3, quelques-unes des possibilités de paramétrage. (…)

Le confort apporté au développeur par les annotations n’annihile pas pour autant la possibilité de paramétrer au moment du déploiement, et sans recompiler, les EJB. Les fichiers XML sont maintenant réduits au minimum en ne comportant que les écarts entre la configuration par défaut et la configuration installée.

  1. Tests automatisés et productivité

Octobre 2008

Productivité et tests automatisés sont-ils compatibles ? L'automatisation des tests engendre nécessairement un coût sur un projet informatique, et se trouve de ce fait susceptible de ralentir le développeur. Un tel examen superficiel conduit à la conclusion que l'automatisation des tests a tendance à diminuer la productivité. (avec illustrations de Ludivine Alligier)

  1. Les promesses de Java 7

Août 2008

La prochaine version de Java – nom de code « dolphin » – sera la septième selon la numérotation « produit » de SUN. Le moins que l’on puisse dire est que pas grand-chose n’a été fixé pour cette nouvelle version. Il n’existe même pas de JSR la concernant ! Quand pourrons-nous en disposer ? Mystère … Et pourtant, l’information serait très appréciée, car il semblerait bien qu’il s’agisse d’une « grosse » version, à l’instar de ce que fut, en 2005, le JDK 5.0 avec les annotations et les generics.

  1. Test Swing

Août 2008

L'objectif de cet article est de recenser et de comparer les outils pour automatiser les tests d'interfaces utilisateur basées sur Swing.

  1. La vertu des architectures simples

Juillet 2008

Question : combien de lignes Java sont-elles nécessaires pour animer un écran web affichant une liste d’entités persistantes et permettant de créer, modifier et supprimer ces entités ? Réponse : 24. Vingt-quatre lignes seulement, si l’on fait abstraction de la définition de l’entité elle-même. Ces vingt-quatre lignes représentent l’ensemble du code nécessaire pour que l’information fasse l’aller et le retour entre la base de données et l’utilisateur...

  1. Struts et le Web 2.0

Mai 2008

Dans cet article nous verrons comment mettre une pincée de Web 2.0 dans une application basée sur Struts. La plupart des outils et méthodes présentés ici s'appliquent aussi à des applications JSP/Servlet classiques ou basées sur d'autres framework orientés requête comme Stripes, Spring MVC, Beehive...

  1. Le cache de 2nd niveau d'Hibernate

Mars 2008

Cet article décrit la mise en place et la configuration d'un cache de second niveau dans une application utilisant Hibernate...

  1. Choisir une solution RIA

Novembre 2007

Comme l’indique un article apparu sur Ajaxian et datant déjà de plus de six mois, le panel de solutions permettant de réaliser des applications AJAX/RIA est pléthorique : à l’époque, plus de 210 outils étaient proposés, soit 80 de plus que l’année précédente. Et le phénomène n’est pas prêt de s’arrêter.

Confronté à un tel bouillon de culture, le chef de projet, le directeur de projet, le responsable informatique sont désemparés : comment choisir LA solution qui convient le mieux, quels sont les critères qui doivent guider leur choix, quels sont les risques qu’ils prennent.

  1. JavaFX

Octobre 2007

Annoncé en fanfare lors du dernier JavaOne (mai 2007), JavaFX a suscité, depuis, moult commentaires, une controverse sur sa pertinence et quelques espoirs. JavaFX a été présenté comme l’alternative Java aux solutions Flex d’Adobe ou Silverlight de Microsoft .NET. En moins abouti. D’où la controverse. Cette vision de JavaFX n’est que partiellement juste : JavaFX n’est pas à proprement parler une solution RIA, c’est à dire un outil pour projeter des appliquettes sur un navigateur client, à l’instar de Flex/Flash. Fondamentalement, JavaFX est un nouvel outil pour construire des applications Swing. Quelles qu’elles soient.

  1. Donner une dimension locale à une application Web avec Google Gears

Septembre 2007

Google est décidément une entreprise très prolifique en API de toutes sortes pour enrichir nos applications Web de demain. Une de ses dernières œuvres – et qui fait beaucoup parler d’elle – est Gears. De quoi s’agit-il exactement ? En quoi cela peut-il nous être réellement utile ? Explications.

Gears (« Mécanismes » en anglais) est un plugin qui étend les fonctionnalités de nos navigateurs préférés. Ces fonctionnalités sont accessibles via une API JavaScript. Elles permettent de donner davantage d’autonomie à des applications Ajax. Il y a, pour l’essentiel, deux mécanismes nouveaux apportés par Gears : un mécanisme de cache de ressources diverses, et l’installation d’une base de données embarquée.

  1. Construire un composant « glissez déposez » avec le Google Web Toolkit (2ème Partie)

Juin 2007

Nous avons vu dans la première partie de l’article : comment intégrer des scripts JavaScript au sein d’un module Google Web Toolkit (GWT), et comment introduire du code JavaScript au sein des classes Java à l’aide de JSNI.

Cela nous a permis de construire un composant panel accueillant des widgets glissantes et des widgets cibles : les widgets glissantes devant être déposées sur des widgets cibles compatibles pour que l’opération de « glissez déposer » soit acceptée par notre composant.

Dans cette seconde partie, nous allons enrichir notre composant. Cela nous permettra de montrer comment rajouter un mécanisme événementiel à un composant GWT. Nous verrons aussi des fonctionnalités avancées de JSNI comme l’appel de méthodes Java à partir du code JavaScript.

  1. Navigation avec Seam

Mai 2007

Seam est un framework proposé par le groupe JBoss et dont la conception est dirigée par Gavin King, le « père » d’hibernate. Rappelons que ce framework permet d’abord d’intégrer aisément JavaServer Faces (JSF) avec les EJB 3.0 (sessions et entités). Cet article présente un principe de navigation entre pages d’une application écrite avec Seam (et donc avec JSF et les EJB 3.0).

Trois points – correspondant aux besoins les plus courants – sont abordés : Comment ouvrir une page et permettre de revenir ensuite à la page initiale à l’aide d’un bouton « retour ». Comment passer un paramètre d’une page vers un autre, pour, par exemple, passer d’une liste vers le détail de l’élément sélectionné. Comment permettre la sélection d’une entité à partir d’une page liste et l’affecter à un lien édité par une page formulaire.

  1. Construire un composant « glissez déposez » avec le Google Web Toolkit (1ère Partie)

Avril 2007

Le Google Web Toolkit (GWT) est la plateforme de développement d’applications Ajax proposée par Google. Elle repose sur un principe simple et révolutionnaire : développer, tester, déboguer une application que l’on écrit en Java, et la déployer ensuite, en la traduisant – pour sa partie cliente – en JavaScript.

Mais ce n’est pas tout. Le paradigme de programmation du Google Web Toolkit est proche de celui utilisé traditionnellement dans des applications clients lourds : on construit l’interface en combinant des objets d’IHM appelés « Widget ». Ces « Widgets » émettent des événements (clic, sélection, modification, etc) qui peuvent être interceptées et traités par des méthodes réflexes. GWT propose un jeu de Widgets standard, assez frustre au demeurant. Il permet surtout de construire facilement de nouveaux types de Widgets.

Autre point : le GWT ne répudie pas JavaScript. Il est possible – et même facile - d’intégrer du JavaScript dans une application GWT. Ce code n’aura pas, bien sûr, besoin d’être ensuite traduit. Inconvénient : en phase de développement, il échappe à la sagacité du compilateur et du débogueur de votre IDE préféré. Nous allons voir que cette faculté est particulièrement intéressante pour intégrer des bibliothèques JavaScript telles que Dojo, Prototype, Script.aculo.us.

  1. Introduction à Seam

Février 2007

Java Enterprise Edition 5 propose deux technologies de « haut niveau » pour développer des applications Web : JavaServer Faces pour la partie présentation et EJB 3.0/JPA pour la partie métier. Aujourd’hui, ces deux technologies coexistent plus qu’elles ne coopèrent : il n’existe aucune API permettant de les coupler aisément. Conséquence : les bonnes pratiques pour écrire, en Java, les applications Web JSF/EJB 3.0 de demain restent à inventer.

C’est à cet exercice que s’est livré une équipe de JBoss dirigée par Gavin King, le célébrissime père d’Hibernate. Le résultat est un produit spécifique JBoss appelé « seam » (couture en anglais) que l’équipe de G. King aimerait normaliser via le JCP (Java Community Process) sous le JSR (Java Specification Request) 299.

L’objectif de cet article est de vous présenter concrètement ce qu’est « seam », quels sont ces principes fondamentaux, ses avantages, ses limites. Comme il y a une réelle probabilité que « seam » (appelé « WebBeans » dans le JSR 299 en cours d’élaboration) soit la base des développements Java/Web de demain, il est utile de savoir dès aujourd’hui de quoi il s’agit.

 
Boîte à outils
Dernière modification de cette page le 11 mars 2010 à 14:02