Entries Tagged 'Technique' ↓

WordPress NextGEN : navigation avec les flèches de direction

Sous WordPress, avec une galerie NextGEN qui utilise l’effet thickbox, pour faire défiler les images à l’aide des touches directionnelles du clavier (les flèches gauche et droite il faut procéder comme suit :

Dans le fichier “wp-includes/js/thickbox/thickbox.js“, trouver ce bloc de code :

if(keycode == 27){ // close
 tb_remove();
} else if(keycode == 190){ // display previous image
 if(!(TB_NextHTML == "")){
  document.onkeydown = "";
  goNext();
 }
} else if(keycode == 188){ // display next image
 if(!(TB_PrevHTML == "")){
  document.onkeydown = "";
  goPrev();
 }
}

Et remplacer le keycode :

  • 190 par 39
  • 188 par 37

Attention : comme ce fichier fait partie de la distribution WordPress, à chaque mise-à-jour il faut refaire la modification.

Installation de Tomcat et variable d’environment BASEDIR

Si vous installez Tomcat sur un GNU/Linux depuis une archive binaire récupérée d’Apache et lancez tomcat via “./startup.sh” vous risquez d’avoir le message suivant :

The BASEDIR environment variable is not defined correctly
This environment variable is needed to run this program

Pour éviter cela, il faut d’abord vérifier que “JAVA_HOME” et “CATALINA_HOME” soeint bien définis comme cela est spécifié dans le fichier “RUNNING.txt” livré avec l’archive de Tomcat.

Ensuite il faut surtout vérifier que les fichiers “bin/startup.sh” “bin/shutdown.sh” et “bin/setclasspath.sh” soient bien exécutables. Quelque chose du genre :

chmod +x bin/startup.sh
chmod +x bin/shutdown.sh
chmod +x bin/setclasspath.sh

Après cela Tomcat devrait s’exécuter via “./startup.sh“.

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.

Membase.org

Base de données NoSQL : Membase.org. C’est memcached avec de la persistence.

Moyosoft – Java Bridge to Exchange

API Java commerciale pour s’interfacer avec des serveur MS-Exchange

Moyosoft – Java Bridge to Exchange.

Load Impact – Free web site load test

Service en ligne permettant de simuler des visites pour faire des tests de montée en charge d’un site/application.

Il est possible de l’essayer gratuitement avec un teste de moins de “50 visiteurs“.

Load Impact – Free web site load test.

SlimStat: Simple web analytics

Logiciel simple pour gérer ses statistiques de visites.

SlimStat: Simple web analytics.

Piwik – Web analytics – Open source

Logiciel GPL pour faire de l’analyse de trafic de votre site. Se présente comme une alternative à Google Analytics.

Piwik – Web analytics – Open source.

Project OpenPTK – User Provisioning Toolkit

Project OpenPTK – User Provisioning Toolkit  – wikis.sun.com.

EMMA: a free Java code coverage tool

EMMA: a free Java code coverage tool.