• Du SIG à Google Maps

    Dans un projet sur lequel je travaille actuellement, chez Rtone, nous devons récupérer des coordonnées d’un Système d’Information Géographique pour afficher les points sur Google Maps.

    Le problème, c’est que le SIG et Google Maps n’utilisent pas le même système de coordonnées. Dans mon cas, je dois récupérer des points en coordonnées Lambert 93 et je dois les envoyer à l’API de Maps en coordonnées géographiques, c’est-à-dire longitude et latitude. Je dois donc transformer les coordonnées, vérifier leur exactitude et soumettre au client la nouvelle carte des points

  • Authentification WildFly avec OpenDJ

    Une fois de plus j’ai tatonné pour mettre en place une authentification LDAP dans JBoss AS / WildFly. Je trouve que la configuration des security domains LDAP est peu intuitive, peut-être tout simplement parce que je ne suis pas très à l’aise avec LDAP.

    Dans ce billet, je récapitule la configuration de mon serveur WildFly pour gérer l’authentification de ses applications dans un serveur OpenDJ.

  • JBoss EAP est-il Open Source ?

    JBoss EAP est un serveur d’applications dérivé de JBoss AS. Plus précisément, c’est ce que RedHat fournit lorsque vous souscrivez à leur support technique. Mais ça, vous le savez probablement, du moins j’en ai déjà parlé. Je voulais revenir ici sur l’aspect Open Source de JBoss EAP, parce que le cas est étrange : les binaires de JBoss EAP ne sont accessibles qu’aux clients de RedHat, sur leur portail client. Si vous n’êtes pas client, vous pouvez télécharger une version d’évaluation, utilisable pendant 30 jours seulement. Ça ressemble très peu à du logiciel Open Source et pourtant le code est sous licence LPGL. Je ne vais pas revenir sur le montage qui permet à un logiciel LGPL de ne pas être redistribuable, c’est plus une affaire de juriste que de développeur. Je ne vais pas non plus contester la légitimité de RedHat à gagner de l’argent grâce à JBoss. Je vais plutôt me concentrer sur le code.

  • Attention aux parenthèses dans Logback

    J’ai perdu une soirée à cause de ça. Et j’ai perdu un peu de crédibilité aussi, en ouvrant un ticket sans fondement. Et tout ça parce que j’avais mal lu la documentation.

    L’histoire a commencé quand j’ai voulu ajouter l’adresse IP des clients de mon application Web dans les logs. J’avais déjà configuré mon MDCInsertingServletFilter, il ne me restait qu’à utiliser ses informations. J’ai donc configuré le pattern dans le appender, avec un %X{…​} et un peu de mise en forme. C’est ici que la parenthèse arrive, et les problèmes avec.

    %d{HH:mm:ss.SSS} (%X{req.remoteHost}) [%thread] %-5level %logger - %msg%n
  • Accéder à la console de JBoss AS 7 via Apache Web Server

    Dernièrement, j’ai eu besoin d’exposer la console d’administration de JBoss AS 7.1 sur un serveur Web Apache. Le choix de la technique à utiliser a été rapide : puisque l’interface de management ne propose pas d’accès AJP, il faut utiliser Apache en reverse proxy HTTP.

    Dans un premier temps, j’ai exposé le contexte http://localhost:9990/console via mod_proxy. Je me suis rapidement rendu compte que c’était insuffisant car l’application fait des requêtes AJAX sur le contexte management. La configuration suivante de mod_proxy semblait raisonnable :

    ProxyPass /console http://localhost:9990/console
    ProxyPassReverse /console http://localhost:9990/console
    
    ProxyPass /management http://localhost:9990/management
    ProxyPassReverse /management http://localhost:9990/management

    Ça fonctionnait sans problème sous Firefox, mais sous Chrome, j’avais une erreur 403. N’étant pas certain que tous les administrateurs de mes clients utilisent Firefox, je me suis mis en quête d’une meilleure solution.