Thursday, December 06, 2007

Best Free Web Developer Tool for Debugging

Voici un lien vraiment très intéressant, concernant un panel ( et non une fulltitude ) d'outils pour debugger des applications Web. Safari, Firefox, Opera et même Internet Explorer possèdent des outils permettant à nos amis web developer de se faciliter la vie.Bonne lecture

read more | digg story

Wednesday, December 05, 2007

à la SOAP: le dessert

Vous souvenez-vous, dans mon précédent billet, j'indiquais que j'allais devoir utiliser mouseHole afin de vérifier le bon fonctionnement d'un connecteur SOAP.

J'étais prêt à mettre la main à la pate, quand tout à coup, j'ai trouvé soapUI.

Il s'agit d'un outil de test pour WebServices. A première vue, il avait l'air simple, mais j'ai pû constater qu'il était génial. Importer mon WSDL, générer un mock webservice et tester mon connecteur en quelques minutes, sans écrire une seule ligne.
Je ne vous dis pas la joie que j'ai pû ressentir en me disant que j'avais gagné quelques jours de développement à cause d'un manque d'outil pour debugger mes messages SOAP.

La chose vraiment intéressante, il est possible de scripter cet outil via Groovy afin de modifier les responses à la volée.
Sincèrement, j'avais la bouche ouverte :d

Tuesday, December 04, 2007

à la SOAP

Voilà, pour le boulot, je vais devoir créer un connecteur SOAP. La partie la plus marrante, c'est que je ne dispose pas d'outils pour vérifier mes messages. Donc, je me suis entrain de penser à écrire un proxy http écrit en ruby, et qui fera intermédiaire entre moi et le webservice que je dois attaquer.

Je vais essayer tout à l'heure cet outil : mouseHole
J'espère que son utilisation m'aidera, car de cette manière, il m'aidera à valider mon code plus rapidement.

Pour ne pas oublier, je développe principalement en C++ Builder 6 et Delphi 7. Je n'ai pas le choix, c'est les choix technologiques de mon employeur.

Monday, December 03, 2007

WIN32OLE Le retour :-)

Je viens de découvrir une méthode de classe très intéressante, surtout qu'elle appartient à la classe WIN32OLE. Il s'agit de la méthode

WIN32OLE::const_load( ole_object, module_or_class )
Vous souvenez-vous du code de mon précédent article ? J'avais défini un ensemble de constantes hiérarchisées à l'aide de modules.
module Word 
  module PageSetup
    module Orientation
      Portrait = 0
      Landscape = 1
    end
  end
  .....
end
En découvrant cette méthode, j'ai pû refactoriser mon code, afin de le rendre plus lisible et d'utiliser directement les constantes définies par la couche OLE. Voici donc, un peu de refactorisation de mon précédent code.
# Définition d'un module qui va servir à agréger les différentes constantes 
# qui sont définie dans le composant OLE de Word.
module Word
end

begin
    word = WIN32OLE.new( "Word.Application" )
    # Lé méthode WIN32OLE::const_load charge les différentes constantes 
    # qui peuvent être chargées depuis l'instance Word.
    # De cette manière, il n'est pas nécessaire que je crée un ensemble 
    # de constantes pour représenter toutes les valeus possibles.
    WIN32OLE.const_load( word, Word )

    document = word.Documents.Add()
    document.PageSetup.PaperSize = Word::WdPaperA4
    document.PageSetup.Orientation = Word::WdOrientLandscape
ensure
    word.Quit()
end
Je vous donne un avis, je n'ai pas pû complètement la documentation lors de l'article précédent, ce qui m'a fait perdre du temps. Un conseil, lisez les exemples, la documentation et tout ce qui peut aider. Références