Archives de l'auteur

Initiation à la Programmation Orientée Aspect

Par Mikaël 15 sept, 2008

Introduction
Le but de cet article est de vous donner un aperçu des possibilités offertes par la Programmation Orientée Aspect, ou Aspect Oriented Programming (AOP). En partant d’un exemple concret, nous définirons les concepts de Weaver, PointCut, JoinPoint, Advice, inter-type declaration, … Nous parlerons ensuite des usages possibles de cette technologie dans vos projets, pour terminer [...]

Introduction

Le but de cet article est de vous donner un aperçu des possibilités offertes par la Programmation Orientée Aspect, ou Aspect Oriented Programming (AOP). En partant d’un exemple concret, nous définirons les concepts de Weaver, PointCut, JoinPoint, Advice, inter-type declaration, … Nous parlerons ensuite des usages possibles de cette technologie dans vos projets, pour terminer par quelques réflexions sur les paradigmes de programmation.

Problèmes

Imaginons que vous arrivez sur un projet Java avec un lourd passé, comportant plusieurs dizaines de milliers de lignes de code pas ou peu commentées, des styles de codes hétérogènes, des dizaines de classes de plus de 3000 lignes, des interactions alambiquées entre le client, le serveur, la base de données, les applications exernes, le tout avec des traitements multithreads. Les “développeurs” coupables de ces méfaits ne sont évidemment plus là, et vous êtes chargé de la maintenance de cette magnifique application qui est part ailleurs critique pour ses utilisateurs. Cette situation périlleuse (toute ressemblance avec des personnes ou des faits ayant existé ne serait que pure coïncidence) vous impose de

  1. Ne surtout toucher à rien tant que ça fonctionne
  2. Tracer. Les développeurs précédents n’ayant évidemment pas pris le soin d’utiliser un framework de logging tel que Log4J, vous n’avez pas la moindre idée de ce qui se passe lorsque vous lancez cette &%°@ d’application.
  3. Analyser les performances. Vous aimeriez bien savoir quelles portions de code la font tant ramer, car vos utilisateurs réclament depuis longtemps des améliorations à ce niveau.
  4. Mettre de l’ordre. Pour cela, il serait utile de trouver toutes les violations des règles d’architecture. (par exemple, ne pas appeler de DAO depuis une Servlet)
  5. Refaire votre CV pour pour pouvoir quitter ce traquenard au plus vite. Ca fera toujours bien de pouvoir mettre “AOP” dedans.

Voir les solutions dans la suite…

(8) Commentaires Catégories : apple, article, games, high-tech

Bientôt plus de chargeurs grâce à Intel ?

Par Mikaël 22 août, 2008

Vous qui lisez ce blog, vous êtes sûrement friands de tous ces gadgets mobiles et autres geekeries qui vous facilitent la vie au quotidien. Et comme tout le monde, vous en avez assez de partir en vacances avec votre chargeur de téléphone, de nintendo DS, de PSP, d’ordinateur portable, d’appareil photo, de disque externe, de [...]

Vous qui lisez ce blog, vous êtes sûrement friands de tous ces gadgets mobiles et autres geekeries qui vous facilitent la vie au quotidien. Et comme tout le monde, vous en avez assez de partir en vacances avec votre chargeur de téléphone, de nintendo DS, de PSP, d’ordinateur portable, d’appareil photo, de disque externe, de GPS, … tous incompatibles entre eux et qui prennent autant de place dans une valise que les gadgets pour lesquels ils sont destinés.

Et bien sachez que la science travaille pour vous. Intel vient en effet de progresser dans une technologie qui pourrait bien sonner le glas des chargeurs de batteries et autres câbles d’alimentation. Ils disent qu’ils ont amélioré une technique qui pourrait permettre à quelqu’un de charger un appareil simplement en le posant sur un bureau.

Ce Jeudi, durant l’Intel Developer Forum (IDF pour les intimes), Intel prévoit de démontrer l’utilisation d’un champ magnétique pour diffuser une puissance de 60 Watts à 50 cm, en perdant seulement 25 % de la puissance initiale. Ce projet de recherche est basé sur le projet “WiTricity” du MIT, qui exploite un phénomène connu sous le nom de “resonant induction”.

witricity Bientôt plus de chargeurs grâce à Intel ?

Intel pourrait bientôt produire un prototype d’ordinateur portable utilisant cette technologie, et pourrait ensuite développer des chipsets pour les fabricants d’ordinateur.

Les applications possibles sont énormes : imaginez un plan de travail de cuisine sans prises pour brancher votre cafetière et votre grille pain, une applique que vous accrocheriez où bon vous semble comme un tableau, un ordinateur sans aucun fils ni chargeurs…

Source : The New York Times

(2) Commentaires Catégories : news

Spring RCP 1.0 est sorti

Par Mikaël 20 mar, 2008

Le framework Java Spring Rich Client Platform est enfin arrivé à une version stable 1.0.
Cette release était fortement attendue par tous les utilisateurs de ce magnifique framework d’écriture de clients riches Swing. En effet, la précédente version stable 0.2.1 datait de Septembre 2006.
Si vous avez à développer un nouveau projet en client riche, je vous [...]

Spring Framwork

Le framework Java Spring Rich Client Platform est enfin arrivé à une version stable 1.0.

Cette release était fortement attendue par tous les utilisateurs de ce magnifique framework d’écriture de clients riches Swing. En effet, la précédente version stable 0.2.1 datait de Septembre 2006.

Si vous avez à développer un nouveau projet en client riche, je vous conseille fortement d’étudier ce framework avant de vous jeter dans les bras d’Eclipse RCP ou de Netbeans RCP, ou pire d’essayer de réécrire un framework maison.

Les principales fonctionnalités sont :

  • Binding bidirectionnel de composants graphiques sur vos objets métier
  • Gestion de formulaires avec validation de contraintes, affichage des erreurs de validation sur les champs, commit et rollback
  • Modèle de commandes
  • Configuration de tous les labels, commandes, icônes par fichiers de ressources
  • Sécurisation des commandes par Acegi (un autre sous-projet Spring)
  • Intégration par simple paramétrage avec plusieurs gestionnaires de vues : docking avec Jide ou VLDocking, fenêtre Mdi classiques, vues fixes, …
  • Aucun lien avec un IDE quelconque
  • Extrêmement configurable. Vous n’êtes absolument pas obligé de prendre tout le framework, mais juste les parties qui vous intéressent.

Et vous bénéficiez bien sûr du framework Spring pour gérer vos services métier et configurer le comportement de votre application.

Le gros point noir est le manque de documentation, mais avec cette release on peut espérer qu’elle va rapidement s’étoffer.

J’utilise ce framework en version 0.2.1 depuis plus d’un an sur un projet important (plus de 1000 j.h, 300 utilisateurs) et je dois dire que je suis extrêmement satisfait des services qu’il me rend.

(5) Commentaires Catégories : article, high-tech, logiciel, news

SparkAngels, dépannez vos amis à distance

Par Mikaël 7 mar, 2008

En bon passionné de technologies, vous êtes souvent sollicités par votre entourage pour toute sorte de problèmes informatiques (NDLR : en effet, notre entourage croit qu’on a appris à dépanner une imprimante à distance ou un modem à l’école…).
Si comme moi vous avez déjà fait l’expérience de dépanner votre maman ou votre beau frère par téléphone, [...]

En bon passionné de technologies, vous êtes souvent sollicités par votre entourage pour toute sorte de problèmes informatiques (NDLR : en effet, notre entourage croit qu’on a appris à dépanner une imprimante à distance ou un modem à l’école…).

Si comme moi vous avez déjà fait l’expérience de dépanner votre maman ou votre beau frère par téléphone, sans voir l’écran du PC distant et en étant sous Mac alors que l’autre est sous Windows, vous vous êtes sûrement déjà dit :

Haaa… si seulement je pouvais prendre le contrôle du PC à distance. Seulement voilà, il faut faire installer un logiciel (VNC ou autres) sur le PC distant (en anglais bien souvent), configurer la box de votre maman pour rediriger les ports, lui faire modifier les paramètres de firewall, …
Bref, vous préférez encore essayer de lui faire décrire les menus de Windows par téléphone.

C’est donc suite à ce constat que je me suis mis en quête d’un outil qui me permettrait de prendre le contrôle d’un PC à distance et ayant les caractéristiques suivantes :

  • en Français
  • traverse sans configuration les routeurs, firewalls et autres proxys
  • installation et utilisation la plus simple possible
  • disponible sur Mac, Windows, et Linux pour le PC distant et pour le contrôleur.

Je vous conseille donc http://www.spark-angels.com qui réunit toutes ces caractéristiques. Le mode de fonctionnement est le suivant :

  1. L’ “accompagné” se connecte sur le site et lance l’application Java Web Start
  2. Il clique sur “Je suis accompagné”
  3. L’application lui donne un mot de passe
  4. Il vous communique ce mot de passe par téléphone ou chat ou pigeon voyageur (NDLR : s’il n’a pas été mangé par le chat précédent ?)
  5. Vous, l’ “accompagnant”, lancez l’application par Java Web Start
  6. Vous cliquez sur “Je suis accompagnant”
  7. Vous donnez le mot de passe que votre accompagné vous a donné
  8. Ca y est, vous avez accès au PC !

On ne peut pas faire plus simple, non ?

(2) Commentaires Catégories : article, high-tech, logiciel

Les étonnantes possibilités de la WiiMote

Par Mikaël 15 fév, 2008

Connaissez-vous toutes les possibilités de la WiiMote ?
Même si vous n’avez pas de Wii, sachez que vous pouvez acheter une WiiMote et la connecter à votre PC ou votre Mac via bluetooth. Ensuite, avec quelques logiciels bien sympathiques vous pourrez :

l’utiliser comme télécommande multimédia, grâce à Remote Buddy sous Mac
l’utiliser comme manette de jeu ou [...]

WiiMoteConnaissez-vous toutes les possibilités de la WiiMote ?

Même si vous n’avez pas de Wii, sachez que vous pouvez acheter une WiiMote et la connecter à votre PC ou votre Mac via bluetooth. Ensuite, avec quelques logiciels bien sympathiques vous pourrez :

  • l’utiliser comme télécommande multimédia, grâce à Remote Buddy sous Mac
  • l’utiliser comme manette de jeu ou pour remplacer le couple clavier/souris grâce à DarwinRemote ou GlovePIE sur PC
  • Epater vos collègues lors de vos présentations PowerPoint : avec les mêmes logiciels, vous pourrez faire avancer/reculer vos diapositives et pointer / cliquer comme avec une souris. La classe !
  • créer un Tableau Noir Interactif en fabriquant un stylo infrarouge à 1 euro (voir PRTICE)

La WiiMote est en effet un périphérique trés intéressant pour un Geek : giroscopes, accéléromètres, caméra infrarouge. La détection de la position du pointeur se fait grâce à la caméra infrarouge. Vous pouvez remplacer la “Sensor Bar” par 2 bougies ou par des lampes halogènes, cela fonctionnera toujours.

Un super Geek nommé Johnny Chung Lee a exploité ces possibilités avec des bidouillages très ingénieux, qui préfigurent peut être ce que seront les IHM du futur. Regardez les vidéos, ça vaut le détour.

(0) Commentaire Catégories : article, games, logiciel, matériel