Category Archives: Lien

Tester l’expédition d’emails en Java

Lorsqu’on développe un programme qui expédie des emails, plutôt que d’utiliser un vrai serveur de mails, il peut être avantageux d’utiliser un faux serveur. L’avantage c’est que cela est intégrable à des tests unitaires et qu’on évite l’erreur de manipulation qui envoie un email à tous les contacts de la base de données.

Il existe plusieurs bibliothèque pour réaliser cela :

  • devnull smtp : faire un “java -jar DevNullSmtp.jar” pour lancer une interface graphique simple qui permet de lancer un fake serveur sur le port désiré. Il ne peut pas être intégré à des tests unitaires, mais on peut visualiser en direct les messages reçus dans l’interface. Gratuit mais non libre.
  • Wiser : Bibliothèque Java qui peut être intégrée à des tests unitaires. Licence Apache 2.0
  • Dumbster : Bibliothèque Java qui peut être intégrée à des tests unitaires. Licence Apache 2.0. Projet sans mise-à-jour depuis 2005.

Faire un site e-commerce

Pour créer un site e-commerce, voici quelques outils open-source :

  • Thelia : Projet mené par une société française de Clermont-Ferrand (Licence GPL, PHP)
  • TomatoCart : C’est un nouveau projet qui est parti d’OSCommerce pour apparemment tout refaire (Licence GPL,  PHP)
  • Prestashop : Produit d’origine française (Licence OSL, PHP)
  • Magento : Une solution réputée  (Licence OSL, PHP)
  • KonaKart : Une des rares solutions en Java (Licence LGPL, Java)
  • JadaSite : Une autre solution en Java (Licence GPL, Java)
  • ReOS : Un peut particulier puisqu’il s’agit de faire un site d’annonces immobilières (Licence GPL, PHP)
  • OXID eSales : Solution en double licence (Licence GPL, PHP)

Wikipedia propose une liste de produits Open-source d’e-commerce, elle n’est pas plus complète que celle-ci, mais propose d’autres outils.

Java et les fuites mémoires

Petite série d’article sur les fuites mémoire (memory leak) en Java :

Les outils :

  • MAT qui se base sur Eclipse, mais dispose d’un client indépendant pour ceux qui n’utilisent pas Eclipse
  • VisualVM qui se base sur Netbeans, mais dispose d’un client indépendant pour ceux qui n’utilisent pas Netbeans

Ne pas croire que parce-qu’il y a un garbage collector la gestion de la mémoire doit être ignorée. Surtout dans un contexte d’applications web où l’empilement des class-loaders rend difficile d’avoir une vision claire.

Hébergement mercurial

Voici une liste de service proposant un hébergement Mercurial (Hg) :

  • Repository Hosting : 6$ par mois, projets et utilisateurs illimités. 2go d’espace,
  • Google Project Hosting : Uniquement des projets OpenSource. Gratuit.
  • Bitbucket : Autant de projets publiques que l’espace autorisé le permet (1Go en gratuit, 2.5Go pour $5/m, etc…). Nombre de projets privés est fonction du plan choisi.
  • Indefero : 49£/an pour 1Go. Projets privés et publiques illimités.
  • CodeBase.

Persistence avec Prevayler ou JOAFIP

Pour persister un modèle d’objets sur un fichier, voici deux API qui s’en occupent sans se prendre la tête :

  • Prevayler (BSD) supporte des transactions
  • JOAFIP (LGPL) permet de manipuler de gros volumes

Et NoDB qui mélange Prevlayer avec Lucène

Il est aussi possible d’utiliser des outils comme xstream ou une implémentation de l’API JAXB pour utiliser des fichiers xml.