Archives de catégorie : Technique

Serveur Exim – commandes de bases

Voici quelques commandes à utiliser avec un serveur de mail Exim. Les serveurs que j’utilise sont souvent sous Ubuntu Linux.

Voir le fichier de log d’exim

Les logs sont situés ici :

/var/log/exim4/mainlog

Voir les mails qui sont en attente dans la file d’attente

Utiliser la commande suivante pour voir les mails qui sont encore dans la file d’attente et donc en attente d’être expédiés :

%> mailq

Forcer le traitement de la file d’attente

Pour forcer exim à traiter la file d’attente et donc à essayer de délivrer les mails :

%> exim4 -qff

Relancer la configuration d’exim

%> dpkg-reconfigure exim4-config

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.

CDN – Content Delivery Network

Un CDN permet d’améliorer la réactivité du chargement d’une page web en déléguant l’hébergement de certains contenus à des serveurs spécialisés qui sont souvent répartis à travers le globe pour être au plus prêt des utilisateurs.

Voici un projet intéressant qui permet de se construire un CDN en utilisant GoogleAppEngine : Cirrux-Cache.

Sinon voici quelques fournisseurs de service CDN :

  1. CacheFly
  2. Amazon Cloudfront
  3. Rackspace Cloudfile
  4. Cloudlayer

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.